@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: #661111;--color-danger-medium: #aa3333;--color-danger-light: #ff6666;--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 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--box-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--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}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary)}body:before{content:"";position:fixed;inset:0;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");background-size:auto,120px 120px;z-index:-2}.stone-texture{position:fixed;inset:0;opacity:.1;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(212,175,55,.03) 2px,rgba(212,175,55,.03) 4px);z-index:-1}.page-wrapper{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-md);min-height:100vh}.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);box-shadow:0 4px 20px #000c;background:linear-gradient(180deg,#000000e6,#000000b3)}.header-content{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.header-with-actions{display:flex;justify-content:space-between;align-items:center}.header-actions-container{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.header-separator{width:2px;height:32px;background:linear-gradient(180deg,transparent 0%,var(--border-color) 50%,transparent 100%);margin:0 var(--spacing-xs)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl);padding:var(--spacing-lg) 0;border-bottom:var(--border-width-thicker) solid var(--border-color);box-shadow:0 4px 20px #000c;background:linear-gradient(180deg,#000000e6,#000000b3)}.header:after{content:"";position:absolute;bottom:calc(-1 * var(--border-width-thicker));left:0;right:0;height:var(--border-width);background:linear-gradient(90deg,transparent,var(--primary-color),transparent);animation:shimmer 3s infinite}.header h1,.header-content h1{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:600;text-shadow:2px 2px 4px #000,0 0 20px rgba(212,175,55,.5);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-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.description{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-md)}.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);font-weight:600;letter-spacing:.5px;min-width:8.125rem}.form-label{font-family:var(--font-family-heading);color:var(--primary-color);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);display:block;text-transform:uppercase;letter-spacing:1px}.form-input,.form-textarea,.form-select{width:100%;background:var(--bg-secondary);border:var(--border-width-thick) solid var(--border-color-dark);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{outline:none;border-color:var(--border-color);box-shadow:0 0 10px #d4af3733}.form-textarea{resize:vertical;line-height:1.6}.textarea-char-count{font-size:.75rem;color:var(--text-muted);pointer-events:none}.textarea-char-count.near-limit{color:var(--color-warning-medium, #e6a23c)}.textarea-char-count.over-limit{color:var(--color-danger-medium, #dc3545);font-weight:600}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.form-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--spacing-md)}.editor-form{background:var(--bg-primary);border-radius:var(--border-radius);padding:var(--spacing-lg);max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:var(--box-shadow-lg);width:100%}.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{display:flex;flex-direction:column}.login-form .form-group{margin-bottom:var(--spacing-lg)}.login-form label{display:block;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.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{outline:none;border-color:var(--border-color);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{background:#dc262626;border:var(--border-width) solid var(--color-danger-dark);color:var(--color-danger-light)}.alert-success{background:#05966926;border:var(--border-width) solid var(--success-color);color:#6ee7b7}.alert-warning{background:#d9770626;border:var(--border-width) solid var(--warning-color);color:#fbbf24}.user-widget{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-base)}.btn.btn-login{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:600;box-shadow:0 2px 8px #d4af374d;border-width:var(--border-width-thick)}.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{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:var(--color-danger-primary);border-radius:50%;border:2px solid var(--color-bg-brown-dark);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.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{font-weight:600;color:var(--text-primary)}.markdown-content em{font-style:italic;color:var(--text-secondary)}.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);background:linear-gradient(90deg,rgba(212,175,55,.05) 0%,transparent 100%);font-style:italic;color:var(--text-secondary);position:relative}.markdown-content blockquote:before{content:'"';position:absolute;left:var(--spacing-xs);top:0;font-size:var(--font-size-3xl);color:var(--border-color);opacity:.3;font-family:var(--font-family-heading);line-height:1}.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);overflow:hidden;margin-bottom:var(--spacing-md)}.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 ease}.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{display:flex;justify-content:center;align-items:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.error{padding:var(--spacing-lg);background:#dc26261a;border:1px solid var(--danger-color);border-radius:var(--border-radius);color:var(--danger-color);margin-bottom:var(--spacing-lg)}.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);background:none;border:none;padding:0;font:inherit;cursor:pointer;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{max-width:600px;max-height:90vh;display:flex;flex-direction:column}.user-settings-modal .modal-body{overflow-y:auto;flex:1;min-height:0}.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{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.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{display:block;font-size:var(--font-size-xs);color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.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);font-weight:600;background:#0000004d;padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-xs)}.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{display:flex;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)}.action-item.danger-zone{border-color:var(--color-danger-dark);background:linear-gradient(135deg,rgba(68,8,8,.3) 0%,var(--bg-secondary) 100%)}.action-item.confirm-delete{flex-direction:column;align-items:flex-start}.action-description{flex:1}.action-description strong{display:block;color:var(--text-primary);font-size:var(--font-size-md);margin-bottom:var(--spacing-xs)}.action-description p{color:var(--text-light);font-size:var(--font-size-sm);margin:0}.confirm-actions{display:flex;gap:var(--spacing-sm);width:100%;margin-top:var(--spacing-md)}.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(180deg,transparent 0%,rgba(0,0,0,.5) 100%)}.footer-content{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);text-align:center}.footer-links{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.footer-link{background:none;border:none;color:var(--text-light);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);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{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color)}.queue-header h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);color:var(--primary-color);margin:0}.queue-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.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{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.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{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);color:var(--text-light);font-size:var(--font-size-sm)}.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{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.empty-queue{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.user-management-toolbar{display:flex;align-items:center;gap:var(--spacing-md)}.user-search-input{min-width:300px;flex:1}.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{display:flex;justify-content:space-between;align-items:center}.flex-center-gap{display:flex;align-items:center;gap:var(--spacing-xs)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}@media(max-width:768px){.container{padding:var(--spacing-sm)}.header{flex-direction:column;gap:var(--spacing-lg);align-items:stretch;padding:var(--spacing-md) 0}.header-full-width{padding:var(--spacing-md) 0}.header-content h1,.header h1{font-size:var(--font-size-2xl)}.header-with-actions{flex-direction:column;gap:var(--spacing-md);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{flex-direction:column;gap:var(--spacing-sm)}.form-actions{flex-direction:column}.card-actions{flex-direction:column;gap:var(--spacing-xs)}.flex.gap-md{flex-direction:column;gap:var(--spacing-sm)}.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{flex-direction:column;gap:var(--spacing-xs)}.footer-separator{display:none}.user-management-toolbar{flex-direction:column;align-items:stretch}.user-search-input{min-width:unset;width:100%}.queue-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}}.markdown-renderer-wrapper{position:relative}.btn-expand-text{display:inline-block;margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--color-gold-dark);color:var(--color-gold-primary);font-size:.875rem;cursor:pointer;border-radius:var(--border-radius);transition:all .2s ease;font-family:var(--font-primary)}.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 ease}.markdown-content table{width:100%;border-collapse:collapse;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(max-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{max-width:650px;max-height:90vh;display:flex;flex-direction:column}.ai-settings-modal .modal-body{overflow-y:auto;flex:1;min-height:0}.ai-settings-info{background:#d4af371a;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-xl)}.ai-settings-info .info-text{color:var(--text-light);font-size:var(--font-size-sm);margin:0;line-height:1.5}.advanced-options-section{padding:0;border-bottom:none;margin-bottom:var(--spacing-lg)}.advanced-toggle{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:#0003;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);color:var(--text-normal);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .2s ease}.advanced-toggle:hover{background:#0000004d}.advanced-toggle .toggle-icon{font-size:var(--font-size-sm);color:var(--text-muted)}.advanced-toggle .custom-badge{margin-left:auto;padding:2px 8px;font-size:var(--font-size-xs);background:var(--color-gold-dark);color:var(--text-on-primary);border-radius:var(--border-radius-sm)}.advanced-content{margin-top:var(--spacing-md);padding:var(--spacing-lg);background:#00000026;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius)}.auto-settings-note{background:#d4af3714;border:var(--border-width) solid rgba(212,175,55,.2);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.auto-settings-note p{color:var(--text-light);font-size:var(--font-size-sm);margin:0;line-height:1.5}.checkbox-label{display:flex!important;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.ai-attribution{display:flex;align-items:center;justify-content:flex-end;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)}.ai-attribution .model-name{font-weight:500;color:var(--text-light)}.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{display:block;color:var(--text-normal);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-xs)}.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{outline:none;border-color:var(--primary-color);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{display:block;color:#dc3545;font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-hint{display:block;color:var(--text-dim);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}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;background-size:16px;padding-right:calc(var(--spacing-md) + 24px);cursor:pointer}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);text-decoration:none;font-weight:500;transition:all .2s}.form-help a:hover{color:var(--primary-hover);text-decoration:underline}.form-range{width:100%;height:6px;background:var(--bg-input);border-radius:var(--border-radius);outline:none;-webkit-appearance:none;margin:var(--spacing-sm) 0}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:pointer;transition:all .2s}.form-range::-webkit-slider-thumb:hover{background:var(--primary-hover);transform:scale(1.1)}.form-range::-moz-range-thumb{width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none;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{background:linear-gradient(135deg,#8a2be21a,#4b00821a);border:var(--border-width-thick) solid rgba(138,43,226,.3);border-radius:var(--border-radius-lg);margin:var(--spacing-lg) 0;overflow:hidden;transition:all .3s ease}.ai-assistant-panel.ai-assistant-disabled{background:#8080801a;border-color:var(--border-color)}.ai-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:#8a2be226;cursor:pointer;transition:background .2s}.ai-panel-header:hover{background:#8a2be233}.ai-panel-header h4{margin:0;color:var(--text-normal);font-size:var(--font-size-lg);font-weight:600}.ai-panel-toggle{background:none;border:none;color:var(--text-light);font-size:var(--font-size-lg);cursor:pointer;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);text-decoration:none;font-weight:500}.ai-settings-prompt a:hover{text-decoration:underline}.ai-operations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.btn.btn-ai{background:linear-gradient(135deg,#8a2be2cc,#4b0082cc);border:var(--border-width) solid rgba(138,43,226,.5);color:var(--text-normal);padding:var(--spacing-md);border-radius:var(--border-radius);font-weight:500;transition:all .2s;cursor:pointer;text-align:left;font-size:var(--font-size-sm);box-shadow:0 0 8px #8a2be233}.btn-ai.btn-loading:disabled:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(255,255,255,.3);border-top-color:#fffc;border-radius:50%;animation:ai-spinner-rotate .6s linear infinite}@keyframes ai-spinner-rotate{to{transform:rotate(360deg)}}.ai-loading{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.ai-spinner{width:40px;height:40px;border:4px solid rgba(138,43,226,.2);border-top-color:#8a2be2;border-radius:50%;animation:ai-spin 1s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-loading p{color:var(--text-light);margin:0;font-size:var(--font-size-sm)}.btn-ai-corner{position:absolute;top:0;right:0;background:linear-gradient(135deg,#8a2be2f2,#4b0082f2);border:var(--border-width) solid rgba(138,43,226,.6);border-radius:var(--border-radius);color:var(--text-normal);padding:6px 10px;min-width:32px;min-height:32px;font-size:14px;cursor:pointer;transition:all .2s;z-index:1;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:ai-button-pulse 3s ease-in-out infinite}.btn-ai-corner:hover{background:linear-gradient(135deg,#8a2be2,indigo);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 16px #8a2be280;animation:none}.btn-ai-corner:focus-visible{outline:2px solid rgba(138,43,226,1);outline-offset:2px}.btn-ai-inline{background:linear-gradient(135deg,#8a2be2e6,#4b0082e6);border:var(--border-width) solid rgba(138,43,226,.5);border-radius:var(--border-radius);color:var(--text-normal);padding:6px 12px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 0 6px #8a2be233}.btn-ai-inline:hover{background:linear-gradient(135deg,#8a2be2,indigo);transform:translateY(-1px);box-shadow:0 2px 10px #8a2be266}.btn-ai-inline:focus-visible{outline:2px solid rgba(138,43,226,1);outline-offset:2px}@media(prefers-reduced-motion:reduce){.btn-ai-corner{animation:none!important}.btn-ai.btn-loading:disabled:after{animation:none!important;border:2px solid rgba(255,255,255,.5)}.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{display:flex;gap:var(--spacing-sm);align-items:center}.input-with-ai-button .form-input{flex:1}.subsection-actions{display:flex;gap:var(--spacing-sm);align-items:center}.ai-assistant-modal{max-width:800px;max-height:90vh;overflow-y:auto}.ai-context-preview{background:#0003;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.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{background:linear-gradient(135deg,#2a2416cc,#3a332299);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)}.waypoint-goal{margin-top:var(--spacing-xs);color:var(--text-secondary);font-style:italic;padding-left:var(--spacing-md)}.ai-customize-section{margin-bottom:var(--spacing-lg)}.customize-toggle{background:#0003;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;width:100%;text-align:left;font-size:var(--font-size-sm);font-weight:500;transition:all .2s;margin-bottom:var(--spacing-md)}.customize-toggle:hover{background:#0000004d;border-color:var(--primary-color)}.customize-content{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-generate-section{margin-bottom:var(--spacing-lg)}.btn-block{width:100%;text-align:center}.ai-result-section{background:#0003;border:var(--border-width) solid rgba(138,43,226,.3);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.ai-result-section h4{margin-top:0;margin-bottom:var(--spacing-md);color:var(--text-normal);display:flex;align-items:center;gap:var(--spacing-sm)}.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}.ai-result-preview ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.ai-result-preview li{margin-bottom:var(--spacing-xs)}.suggestion-card{background:#0003;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.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{background:#0003;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)}.ai-result{background:#0000004d;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.ai-result-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:#8a2be21a;border-bottom:var(--border-width) solid var(--border-color)}.ai-result-header h5{margin:0;color:var(--text-normal);font-size:var(--font-size-base);font-weight:600}.ai-result-content{padding:var(--spacing-lg)}.ai-result-preview{background:#0003;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);max-height:400px;overflow-y:auto;color:var(--text-light);line-height:1.6}.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);background:#0003;border-top:var(--border-width) solid var(--border-color-dark);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.alert-close{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-xl);line-height:1;cursor:pointer;padding:0;margin-left:var(--spacing-md);transition:color .2s}.alert-close:hover{color:var(--text-normal)}@media(max-width:768px){.ai-operations-grid{grid-template-columns:1fr}.btn-ai{padding:var(--spacing-sm)}.ai-result-preview{max-height:300px}.btn-ai-corner{padding:8px 12px;min-width:44px;min-height:44px;font-size:16px}.form-group-with-ai .form-label{padding-right:60px}}.autocomplete-container{position:relative;width:100%}.confirm-dialog-icon.danger{color:var(--color-danger-primary, #dc2626)}.confirm-dialog-icon.warning{color:var(--warning-color, #d97706)}.confirm-dialog-icon.info{color:var(--primary-color, #d4af37)}.confirm-dialog-title{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary, #f9fafb)}.confirm-dialog-message{color:var(--text-secondary, #9ca3af);margin-bottom:1.5rem;line-height:1.5}.confirm-dialog-actions{display:flex;gap:.75rem;justify-content:center}.confirm-dialog-actions .btn{min-width:100px}.confirm-dialog-input-group{margin:1.5rem 0;text-align:left}.confirm-dialog-input-label{display:block;color:var(--text-secondary, #9ca3af);margin-bottom:.5rem;font-size:.875rem}.confirm-dialog-input-label strong{color:var(--color-danger-primary, #dc2626);font-weight:600}.confirm-dialog-input{width:100%;padding:.5rem;background:var(--bg-secondary, #1f2937);border:1px solid var(--border-color, #374151);border-radius:4px;color:var(--text-primary, #f9fafb);font-size:.875rem}.confirm-dialog-input:focus{outline:none;border-color:var(--color-danger-primary, #dc2626)}.confirm-dialog-actions .btn:disabled{opacity:.5;cursor:not-allowed}.conversation-modal{max-width:1400px;width:90vw;height:85vh;display:flex;flex-direction:column;padding:0}.conversation-modal .modal-header{margin-bottom:0;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}.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 rgba(0,0,0,.5);margin:0}.conversation-modal-body{flex:1;display:flex;gap:1px;overflow:hidden;background:var(--border-color-dark);margin-bottom:0}.conversation-panel{flex:0 0 40%;background:linear-gradient(135deg,var(--bg-card-gradient-start) 0%,var(--bg-card-gradient-end) 100%);display:flex;flex-direction:column;overflow:hidden}.messages-container{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.message{display:flex;flex-direction:column;gap:var(--spacing-xs)}.message-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.message-user{align-items:flex-end}.message-user .message-label{color:var(--primary-color)}.message-user .message-content{background:#d4af371a;border:var(--border-width) solid rgba(212,175,55,.3);margin-left:3rem}.message-assistant{align-items:flex-start}.message-assistant .message-label{color:var(--text-secondary)}.message-assistant .message-content{background:#0000004d;border:var(--border-width) solid var(--border-color-dark);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{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) 0}.typing-indicator span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite}.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);background:#0003;display:flex;gap:var(--spacing-md)}.message-input{flex:1;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;min-height:60px;transition:all .3s}.message-input:focus{outline:none;border-color:var(--border-color);box-shadow:0 0 10px #d4af3733}.message-input:disabled{opacity:.5;cursor:not-allowed}.preview-panel{flex:0 0 60%;background:linear-gradient(135deg,var(--bg-card-gradient-start) 0%,var(--bg-card-gradient-end) 100%);padding:var(--spacing-lg) var(--spacing-xl);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{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-style:italic}.preview-field{margin-bottom:var(--spacing-lg)}.preview-field label{display:block;font-weight:600;color:var(--primary-color);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.preview-value{color:var(--text-secondary);line-height:1.6}.preview-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.preview-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tag{padding:var(--spacing-xs) var(--spacing-md);background:#d4af3726;border:var(--border-width) solid var(--border-color);border-radius:16px;font-size:var(--font-size-sm);color:var(--text-secondary)}.preview-sections{display:flex;flex-direction:column;gap:var(--spacing-md)}.preview-section{padding:var(--spacing-md);background:#0003;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius)}.preview-section strong{display:block;color:var(--primary-color);margin-bottom:var(--spacing-sm)}.preview-section p{margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.preview-connections{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.connection-badge{padding:var(--spacing-xs) var(--spacing-md);background:#8a2be233;border:var(--border-width) solid rgba(138,43,226,.4);color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-xs);font-weight:600}.preview-encounter{padding:var(--spacing-md);background:#0000004d;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.preview-encounter strong{display:block;color:#c93;margin-bottom:var(--spacing-sm)}.preview-encounter p{margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.creatures-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.creature-badge{padding:var(--spacing-xs) var(--spacing-md);background:#dc262633;border:var(--border-width) solid rgba(220,38,38,.4);color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-xs);font-weight:600}.preview-items{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.item-badge{padding:var(--spacing-xs) var(--spacing-md);background:#d9770633;border:var(--border-width) solid rgba(217,119,6,.4);color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-xs);font-weight:600}.editable-field{position:relative}.editable-field label{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.btn-edit-field{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:1rem;padding:var(--spacing-xs);opacity:.6;transition:all .2s}.btn-edit-field:hover{opacity:1;transform:scale(1.1)}.preview-value.editing{background:#0000004d;border:var(--border-width) solid var(--primary-color);border-radius:var(--border-radius);padding:var(--spacing-sm)}.edit-controls{display:flex;flex-direction:column;gap:var(--spacing-sm)}.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{outline:none;border-color:var(--border-color);box-shadow:0 0 10px #d4af3733}.edit-buttons{display:flex;gap:var(--spacing-sm)}.edit-hint{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic;margin-top:var(--spacing-xs)}.editable-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.tag-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 var(--spacing-xs);opacity:.7;transition:opacity .2s}.tag-remove:hover{opacity:1}.read-only{opacity:.9}.conversation-modal .modal-footer{padding:var(--spacing-md) var(--spacing-xl);margin-top:0;border-top:var(--border-width) solid var(--border-color);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);background:#0000004d}.wizard-modal-overlay{padding:var(--spacing-lg)}.wizard-modal{max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.wizard-header{flex-shrink:0}.wizard-steps{display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:#0003;border-bottom:var(--border-width) solid var(--border-color);gap:var(--spacing-sm);flex-shrink:0}.wizard-step{display:flex;align-items:center;gap:var(--spacing-sm);opacity:.5;transition:opacity .2s;flex:1}.wizard-step.active{opacity:1}.wizard-step.completed{opacity:.8}.wizard-step-number{width:28px;height:28px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-sm);flex-shrink:0}.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{display:flex;flex-direction:column}.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{flex:1;overflow-y:auto;padding:var(--spacing-xl)}.wizard-error{margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.wizard-error .alert-dismiss{background:none;border:none;color:inherit;font-size:var(--font-size-lg);cursor:pointer;padding:0;margin-left:var(--spacing-md)}.wizard-actions{display:flex;justify-content:space-between;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color)}.wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-lg);color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wizard-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-lg);text-align:center}.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{display:flex;flex-direction:column;gap:var(--spacing-lg)}.wizard-form-section{background:#00000026;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.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{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.premise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.premise-textarea{min-height:100px;resize:vertical}.premise-suggestions{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:#0000001a;border-radius:var(--border-radius-md)}.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{display:flex;flex-direction:column;gap:var(--spacing-sm)}.suggestion-card{background:#ffffff0d;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);text-align:left;cursor:pointer;transition:all .2s;color:var(--text-primary);font-size:var(--font-size-sm);line-height:1.5}.suggestion-card:hover{background:#ffffff1a;border-color:var(--primary-color)}.wizard-plot-step,.wizard-generate-step,.wizard-review-step{display:flex;flex-direction:column;gap:var(--spacing-lg)}.wizard-step-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.step-header-info h3{margin:0;color:var(--primary-color)}.step-description{margin:var(--spacing-xs) 0 0 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.step-header-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.refine-input-section{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:#00000026;border-radius:var(--border-radius-md)}.refine-input-section textarea{flex:1;resize:none}.plot-points-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.plot-point-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:#00000026;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);transition:border-color .2s}.plot-point-card:hover{border-color:var(--primary-color)}.plot-point-card.editing{border-color:var(--primary-color);background:#00000040}.plot-point-number{width:32px;height:32px;border-radius:50%;background:var(--primary-color);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.plot-point-content{flex:1;min-width:0}.plot-point-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.plot-point-title{margin:0;font-size:var(--font-size-md);color:var(--text-primary)}.plot-point-actions{display:flex;gap:var(--spacing-xs)}.plot-point-summary{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);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{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.add-plot-point-btn{align-self:center}.generate-start-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-xl);text-align:center}.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{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-sm)}.progress-bar{height:100%;background:var(--primary-color);transition:width .3s ease}.progress-stats{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--text-secondary)}.batches-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.batch-card{padding:var(--spacing-md);background:#00000026;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md)}.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{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.batch-status-icon{font-size:var(--font-size-lg)}.batch-generating .batch-status-icon{animation:pulse 1s infinite}.batch-label{font-weight:600;flex:1}.batch-status{font-size:var(--font-size-sm);color:var(--text-secondary)}.batch-plot-points{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.batch-plot-point{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);background:#0003;border-radius:var(--border-radius-sm)}.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{background:#0000001a;border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-sm)}.section-preview-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .2s}.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{margin:0;padding-left:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary)}.encounter-creatures{color:var(--text-muted)}.review-summary{background:#00000026;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.review-summary h4{margin:0 0 var(--spacing-md) 0;color:var(--primary-color)}.summary-stats{display:flex;gap:var(--spacing-xl);flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--primary-color)}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.connections-section{background:#00000026;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.connections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.connections-header h4{margin:0;color:var(--primary-color)}.connections-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.connection-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#0000001a;border-radius:var(--border-radius-sm)}.connection-card.editing{flex-direction:column;align-items:stretch}.connection-flow{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;flex-shrink:0}.connection-arrow{color:var(--primary-color)}.connection-details{flex:1;font-size:var(--font-size-sm)}.connection-condition{color:var(--text-primary);font-style:italic}.connection-description{color:var(--text-secondary);margin-left:var(--spacing-sm)}.connection-actions{display:flex;gap:var(--spacing-xs)}.connection-edit-form{width:100%}.connection-edit-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.add-connection-form{background:#0000001a;border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.add-connection-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.no-connections{color:var(--text-secondary);font-style:italic;text-align:center;padding:var(--spacing-lg)}@media(max-width:768px){.wizard-steps{flex-direction:column;gap:var(--spacing-sm)}.wizard-step-info{display:none}.form-row{grid-template-columns:1fr}.wizard-step-header{flex-direction:column}.step-header-actions{width:100%;justify-content:flex-end}.summary-stats{justify-content:space-around}.connection-card{flex-direction:column;align-items:flex-start}.connection-actions{width:100%;justify-content:flex-end}}.printable-adventure{padding-top:0;margin-top:0}.print-controls{padding:1rem;margin-bottom:1rem;background:var(--surface-color);border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;max-width:1200px;margin-left:auto;margin-right:auto}.print-waypoint-title{font-family:Cinzel,serif;color:var(--primary-color);margin-top:2rem;margin-bottom:.5rem;border-bottom:2px solid var(--secondary-color);padding-bottom:.5rem}.print-waypoint-group:first-child .print-waypoint-title{margin-top:0}.print-waypoint-goal{font-style:italic;color:var(--text-secondary);margin-bottom:1.5rem;font-size:var(--font-size-md)}.creature-statblock{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;margin:1rem 0}.creature-header{font-size:1.2em;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.creature-description{margin:.5rem 0;font-style:italic}.creature-stats{display:flex;gap:1rem;flex-wrap:wrap;margin:.5rem 0;padding:.5rem 0;border-top:1px dotted var(--border-color);border-bottom:1px dotted var(--border-color)}.creature-abilities{margin:.5rem 0}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-top:.25rem}.creature-actions{margin-top:.5rem;padding-top:.5rem;border-top:1px dotted var(--border-color)}.action-item{margin:.25rem 0 .25rem 1rem}@media print{@page{margin:2cm}body{background:#fff!important;color:#000!important;font-size:12pt;line-height:1.5}.no-print,.header-full-width,.header,.stone-texture,body:before,.footer,button,.btn,.modal-overlay{display:none!important}.container{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;min-height:auto!important}h1{font-size:24pt;color:#000!important;background:none!important;-webkit-text-fill-color:black!important;text-shadow:none!important;margin-bottom:.5cm;page-break-after:avoid}h2{font-size:18pt;color:#000!important;border-bottom:2px solid black;padding-bottom:.2cm;margin-top:1cm;page-break-after:avoid}h3{font-size:14pt;color:#000!important;margin-top:.5cm;page-break-after:avoid}p,li{color:#000!important}.print-header{text-align:center;margin-bottom:1cm}.print-meta{margin-bottom:1cm;border:1px solid #ccc;padding:.5cm;display:flex;flex-wrap:wrap;gap:1cm;justify-content:center}.print-divider{margin:1cm 0;border-top:1px solid black}.print-section{margin-bottom:1cm;page-break-inside:avoid;border:1px solid #eee;padding:.5cm}.print-waypoint-group.page-break{page-break-before:always}.print-waypoint-title{font-size:20pt;color:#000!important;border-bottom:3px solid black;padding-bottom:.2cm;margin-top:0;margin-bottom:.3cm}.print-waypoint-goal{font-style:italic;color:#444!important;margin-bottom:.5cm;font-size:11pt}.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{margin-top:.5cm;padding-top:.5cm;border-top:1px dotted #ccc}.creature-statblock{background:#fff!important;border:1px solid #333!important;padding:.3cm;margin:.3cm 0;page-break-inside:avoid}.creature-header{font-size:11pt;color:#000!important;border-bottom:2px solid #333!important;margin-bottom:.2cm;padding-bottom:.1cm}.creature-description{font-size:9pt;color:#333!important;margin:.2cm 0}.creature-stats{display:flex;gap:.5cm;flex-wrap:wrap;border-top:1px dotted #666!important;border-bottom:1px dotted #666!important;padding:.2cm 0;margin:.2cm 0}.creature-stats div{color:#000!important;font-size:9pt}.creature-abilities{margin:.2cm 0;font-size:9pt}.abilities-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.2cm;margin-top:.1cm}.abilities-grid span{color:#000!important;font-size:8pt}.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{font-size:11pt;color:#000!important;margin:.3cm 0 .2cm}.print-footer{margin-top:2cm;text-align:center;font-size:9pt;color:#666!important;border-top:1px solid #ccc;padding-top:.5cm}}.spell-level{margin:6px 0}.spell-name.interactive{color:#1976d2;cursor:help;text-decoration:underline dotted}.spell-name.interactive:hover{color:#1565c0}.spell-name.print sup{font-size:10px;color:#666}.special-abilities-section,.actions-section,.legendary-actions-section{margin:20px 0;padding:var(--spacing-md);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color)}.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{display:flex;justify-content:space-between;align-items:center}.ability-actions,.action-actions{display:flex;gap:8px}.ability-description,.action-description{margin-top:8px;white-space:pre-wrap}.spell-appendix{margin-top:32px;padding-top:24px;border-top:var(--border-width-thick) solid #333}.spell-appendix h2{margin-bottom:16px}.spell-entry{display:flex;gap:12px;margin:16px 0;page-break-inside:avoid}.spell-number{font-weight:700;min-width:30px}.spell-title{margin:0 0 6px;font-size:18px}.spellcasting-stats{margin-top:8px;padding:8px;border-radius:4px;display:flex;flex-wrap:wrap;gap:12px}.spellcasting-stats .stat-item{font-size:13px}.spell-slots{margin-top:8px;font-size:13px;color:#555}.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{text-decoration:none;cursor:default}.spell-name.interactive{text-decoration:none;color:inherit}.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{font-size:10pt;margin-bottom:.1cm}.spell-stats p{margin:.05cm 0;color:#000!important}}.entry-editor{margin-top:var(--spacing-md);padding:var(--spacing-md);background:#2a24164d;border:1px solid var(--border-color);border-radius:var(--border-radius)}.entry-editor h6{margin-top:0;margin-bottom:var(--spacing-md);color:var(--color-gold-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-header h5{margin:0;color:var(--color-gold-primary)}.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);font-size:2.5rem;color:var(--text-light);margin-bottom:var(--spacing-sm)}.page-subtitle{color:var(--text-secondary);font-size:var(--font-size-md)}.creation-steps{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:#0003;border-radius:var(--border-radius-lg)}.step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.step-number{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary);transition:all .3s ease}.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{width:60px;height:2px;background:var(--border-color)}.creation-step-content{background:#0000004d;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius-lg);padding:var(--spacing-xl)}.creation-step-content h2{font-family:var(--font-heading);font-size:1.75rem;color:var(--text-light);margin-bottom:var(--spacing-sm)}.step-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.waypoints-setup{margin:var(--spacing-lg) 0}.waypoints-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.waypoint-card{background:linear-gradient(135deg,#2a241699,#3a332266);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);transition:all .3s ease}.waypoint-card:hover{border-color:var(--color-gold-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.waypoint-card-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.waypoint-order{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--color-gold-dark);color:var(--text-light);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm)}.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{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic}.waypoint-card-actions{display:flex;gap:var(--spacing-xs)}.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);background:#0003;border-radius:var(--border-radius);text-align:center}.skip-option p{margin:0;font-size:var(--font-size-sm)}@media(max-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{background:linear-gradient(135deg,#d4af3726,#b8860b26);border:var(--border-width) solid rgba(212,175,55,.4);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);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{background:none;border:none;color:var(--primary-color);font-family:var(--font-family);font-size:inherit;cursor:pointer;text-decoration:underline;padding:0 var(--spacing-xs);transition:color .2s}.btn-link:hover{color:var(--secondary-color)}.adventures-toolbar{display:flex;gap:var(--spacing-md);align-items:center;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);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{position:relative;background:linear-gradient(135deg,var(--color-bg-brown-dark) 0%,var(--bg-secondary) 100%);padding:3px;border-radius:var(--border-radius-lg);box-shadow:inset 0 2px 5px #00000080,0 4px 15px #000000b3}.search-wrapper:before{content:"";position:absolute;inset:0;border-radius:var(--border-radius-lg);padding:2px;background:linear-gradient(135deg,var(--secondary-color),var(--primary-color),var(--secondary-color));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.search-box{width:100%;padding:var(--spacing-md) var(--spacing-2xl) var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:none;color:var(--primary-color);font-size:var(--font-size-lg);font-family:var(--font-family);border-radius:var(--border-radius);transition:all .3s}.search-box::placeholder{color:var(--text-muted)}.search-box:focus{outline:none;background:var(--color-bg-brown-lighter);box-shadow:0 0 20px #d4af374d}.search-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--secondary-color);pointer-events:none}.adventures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.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);position:relative;overflow:hidden;transition:all .3s;cursor:pointer;box-shadow:0 4px 15px #000000b3,inset 0 1px #d4af371a}.adventure-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:0;transition:opacity .3s}.adventure-card:hover{transform:translateY(-5px);border-color:var(--border-color-light);box-shadow:0 8px 25px #d4af374d,inset 0 1px #d4af3733}.adventure-card:hover:before{opacity:1}.adventure-card:after{content:"";position:absolute;top:4px;left:4px;width:30px;height:30px;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-size:contain;background-repeat:no-repeat;opacity:.6;transition:opacity .3s;pointer-events:none}.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 rgba(0,0,0,.5)}.card-btn{flex:1;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);transition:all .3s;text-transform:uppercase;letter-spacing:1px}.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-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.card-content{margin-bottom:var(--spacing-md)}.card-content .description{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--spacing-sm)}.card-content .author{color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic}.card-meta,.card-meta-secondary{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.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);font-weight:600;letter-spacing:.5px;white-space:nowrap;border:var(--border-width) solid}.card-meta .system{background:linear-gradient(135deg,#d4af3726,#b8860b26);border-color:var(--border-color);color:var(--primary-color)}.card-meta .difficulty{background:linear-gradient(135deg,#05966926,#04785726);border-color:#05966966;color:#10b981}.card-meta .duration{background:linear-gradient(135deg,#d9770626,#b4530926);border-color:#d9770666;color:#f59e0b}.card-meta-secondary .party,.card-meta-secondary .style{background:linear-gradient(135deg,#8b5cf626,#6d28d926);border-color:#8b5cf666;color:#a78bfa}.card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.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{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}@media(max-width:768px){.adventures-toolbar{flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.search-box{margin-left:0;max-width:none}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.image-preview-img{max-width:200px;max-height:150px;object-fit:contain}.input-narrow{max-width:80px}.form-tip{color:var(--text-secondary);font-size:var(--font-size-sm)}.image-preview-large{max-width:100%;max-height:300px;object-fit:contain;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius)}.image-preview-error{display:none;padding:var(--spacing-md);text-align:center;color:var(--text-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius)}.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);background:#0003;border-radius:var(--border-radius);border-left:3px solid var(--primary-color);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);background:#0003;border-radius:var(--border-radius-sm)}.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 ease}.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{max-width:100%;height:auto;border-radius:var(--border-radius);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{display:flex;flex-direction:column;gap:var(--spacing-md)}.item-editor-modal{max-width:900px;max-height:90vh;overflow-y:auto}.item-editor-modal .form-row-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-md)}.inventory-search-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.creatures-grid,.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.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{display:flex;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)}.pagination-info{color:var(--text-secondary);font-size:var(--font-size-sm)}.button-group{display:flex;gap:var(--spacing-sm)}@media(max-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(max-width:768px){.creatures-grid,.items-grid,.item-editor-modal .form-row-three{grid-template-columns:1fr}.pagination-controls{flex-direction:column;gap:var(--spacing-sm)}.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{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);margin:var(--spacing-lg) 0 var(--spacing-md) 0;background:linear-gradient(135deg,#1a1611cc,#2a241699);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-size:var(--font-size-md);font-weight:500;border-left:var(--border-width-thicker) solid var(--color-gold-dark)}.advanced-options-toggle:hover{background:linear-gradient(135deg,#2a2416e6,#3a3322b3);border-left-color:var(--primary-color);transform:translate(2px)}.advanced-options-toggle .toggle-icon{font-size:.8em;transition:transform .2s;display:inline-block;width:16px;text-align:center}.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;background:linear-gradient(135deg,#1a161199,#2a241666);border:2px dashed var(--border-color-dark);border-radius:var(--border-radius)}.btn-create-section{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);font-weight:600;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);border:var(--border-width) solid var(--primary-color);box-shadow:0 4px 12px #d4af3766;transition:all .3s ease}.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{display:flex;flex-direction:column;gap:var(--spacing-sm)}.snapshot-item{display:flex;justify-content:space-between;align-items:center;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 .3s ease}.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{display:flex;flex-direction:column;gap:var(--spacing-xs)}.snapshot-time-relative{font-size:.95em;color:var(--text-primary);font-weight:500}.snapshot-type{display:flex;gap:var(--spacing-xs)}.badge-auto{background:#64646433;color:var(--text-muted);border:var(--border-width) solid var(--border-color)}.badge-manual{background:#d4af3733;color:var(--primary-color);border:var(--border-width) solid var(--primary-color)}.badge-autosave{background:#4682b433;color:#4682b4;border:var(--border-width) solid #4682b4}.snapshot-actions{display:flex;gap:var(--spacing-xs)}.snapshot-actions-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color)}@media(max-width:768px){.editor-actions{flex-wrap:wrap}}.spell-card.selected{border-color:var(--color-gold-primary);background:#daa5201a}.spell-card-header{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.spell-card-checkbox{flex-shrink:0}.spell-card-title{display:flex;justify-content:space-between;align-items:flex-start;flex:1;gap:var(--spacing-sm)}.spell-card-title h4{margin:0;font-size:var(--font-size-md)}.spell-card-body{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.spell-school,.spell-casting-time{font-size:var(--font-size-xs);padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary)}.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);display:flex;justify-content:flex-end}.selected-count{color:var(--color-gold-primary);font-weight:500}.badge.concentration{background:#3b82f633;color:#3b82f6;font-size:var(--font-size-xs);padding:2px 4px;border-radius:4px}.badge.ritual{background:#a855f733;color:#a855f7;font-size:var(--font-size-xs);padding:2px 4px;border-radius:4px}.encounter-form-modal{max-width:900px;max-height:90vh;overflow-y:auto}.encounter-form-modal .modal-header{display:flex;align-items:center;gap:var(--spacing-md)}.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);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);background:#eab3081a;border:1px solid var(--warning-color);border-radius:var(--border-radius)}.encounter-form-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color);margin-top:var(--spacing-lg)}@media(max-width:768px){.encounter-form-modal{max-width:95%}.encounter-form-modal .modal-footer{flex-direction:column-reverse;gap:var(--spacing-md)}.encounter-form-modal .modal-footer .btn{width:100%}}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-empty{padding:var(--spacing-md);text-align:center;color:var(--text-muted)}.form-row{display:flex;gap:var(--spacing-md);align-items:flex-start}.form-row .flex-1{flex:1}.waypoint-selector-group{min-width:200px;max-width:250px}.waypoint-selector-group select{width:100%}@media(max-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 ease}.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{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color)}.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;transition:all .2s ease;font-size:var(--font-size-sm)}.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{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.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 ease}.premise-card:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.premise-card.selected{background:#d4af371a;border-color:var(--primary-color);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{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-color);color:var(--bg-secondary);border-radius:50%;font-size:var(--font-size-sm);font-weight:600}.result-instruction{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.result-actions{display:flex;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)}.refine-explanation{padding:var(--spacing-md);background:#d4af371a;border:var(--border-width) solid var(--color-gold-dark);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}@media(max-width:768px){.plot-ai-modal,.waypoint-ai-modal{max-width:95%}.ai-modal-tabs{flex-wrap:wrap}.ai-modal-tab{flex:1;min-width:calc(50% - var(--spacing-xs));text-align:center}.result-actions{flex-direction:column}.result-actions .btn{width:100%}}.add-outline-btn{width:100%;margin-bottom:var(--spacing-md)}@media(max-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{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);line-height:1;border-radius:var(--border-radius);transition:all .2s ease}.btn-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.player-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--spacing-lg);min-height:80vh}.player-main{background:linear-gradient(135deg,#1a1611e6,#0f0d0ae6);border:2px solid var(--secondary-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);position:relative;box-shadow:var(--box-shadow)}.player-main:before,.player-main:after{content:"✦";position:absolute;color:var(--secondary-color);font-size:var(--font-size-2xl)}.player-main:before{top:1rem;left:1rem}.player-main:after{bottom:1rem;right:1rem}.player-sidebar{display:flex;flex-direction:column;gap:var(--spacing-md)}.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{display:flex;gap:var(--spacing-sm)}.section-jump-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.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;transition:all .3s;min-width:200px}.section-jump-select:focus{outline:none;border-color:var(--border-color);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{font-family:Cinzel,serif;color:var(--primary-color);margin:var(--spacing-lg) 0 1rem 0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.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);margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.connection-buttons{display:flex;flex-wrap:wrap;gap:1rem}.connection-btn:before{content:"➤";margin-right:.5rem;display:inline-block;transition:transform .3s}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.creature-name{font-weight:600;color:var(--primary-color);font-size:var(--font-size-md)}.creature-count{background:var(--secondary-color);color:var(--bg-secondary);padding:.2rem .5rem;border-radius:var(--border-radius-sm);font-weight:700;font-size:var(--font-size-sm)}.creature-count-badge{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:var(--bg-secondary);padding:.3rem .6rem;border-radius:var(--border-radius-sm);font-weight:700;font-size:var(--font-size-sm);box-shadow:0 2px 4px #0000004d}.creature-stats{display:flex;gap:1rem;margin-bottom:.3rem;font-size:.95rem}.creature-stats .stat{color:var(--text-secondary)}.creature-stats-grid{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);background:#0003;border-radius:var(--border-radius-sm)}.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);background:#0003;border-radius:var(--border-radius-sm);border-left:var(--border-width-thick) solid var(--secondary-color)}.abilities-section>strong{display:block;color:var(--primary-color);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm)}.abilities-grid .ability{font-size:var(--font-size-sm);color:var(--text-secondary);padding:.25rem;background:#0000004d;border-radius:calc(var(--border-radius) / 2);text-align:center}.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);line-height:1.5;font-style:italic}.creature-abilities{font-size:.85rem;color:var(--text-light);font-style:italic}.encounter-chance{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border-color-dark);color:var(--text-light);font-size:var(--font-size-sm);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{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.item-name{font-weight:600;color:var(--primary-color)}.item-chance-text{color:var(--text-light)}.items-grid{display:grid;gap:var(--spacing-md)}.item-card-modern{background:linear-gradient(135deg,#0000004d,#0003);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);transition:all .3s ease;position:relative;overflow:hidden}.item-card-modern:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));opacity:0;transition:opacity .3s ease}.item-card-modern:hover{border-color:var(--border-color);background:linear-gradient(135deg,#0006,#0000004d);transform:translateY(-2px);box-shadow:0 4px 12px #d4af3733}.item-card-modern:hover:before{opacity:1}.item-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap}.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{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(135deg,#d4af3726,#8b691426);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);font-weight:500;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.item-amount-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#d4af371a;border:var(--border-width) solid var(--border-color-dark);border-radius:999px;margin-bottom:var(--spacing-sm);width:fit-content}.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);line-height:1.6;margin-bottom:var(--spacing-sm)}.item-description-modern p:last-child{margin-bottom:0}.item-chance-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(135deg,#d9770626,#b4530926);border:var(--border-width) solid var(--warning-color);border-radius:calc(var(--border-radius) / 2);margin-top:var(--spacing-sm);width:fit-content}.chance-icon{font-size:var(--font-size-sm);line-height:1}.chance-text{color:#fbbf24;font-size:var(--font-size-xs);font-weight:500;letter-spacing:.3px}.section-image{width:100%;max-height:200px;object-fit:contain;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);cursor:pointer}.creature-actions>strong{display:block;margin-bottom:var(--spacing-sm);color:var(--color-gold-primary)}.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);font-size:.85em;margin-left:var(--spacing-xs)}.creature-actions .action-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:.9em}.creature-actions .attack-bonus,.creature-actions .attack-damage,.creature-actions .attack-save{padding:2px 6px;background:#daa52026;border-radius:3px;border:1px solid var(--color-gold-dark);color:var(--text-primary)}.creature-actions .action-description{font-size:.85em;line-height:1.4}@media(max-width:1024px){.player-layout{grid-template-columns:1fr;gap:var(--spacing-md)}.player-sidebar{order:-1}.player-actions{flex-direction:column;align-items:stretch}}@media(max-width:768px){.section-jump-controls{width:100%}.section-jump-select{flex:1;min-width:0}}.creature-special-abilities,.creature-legendary-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(191,166,124,.2)}.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;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.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{background:linear-gradient(135deg,#8a2be2cc,#4b0082cc);border:var(--border-width) solid rgba(138,43,226,.5);color:var(--text-normal);padding:var(--spacing-md);border-radius:var(--border-radius);font-weight:500;transition:all .2s;cursor:pointer;text-align:left;font-size:var(--font-size-sm)}.btn-ai:hover:not(:disabled){background:linear-gradient(135deg,#8a2be2,indigo);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:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(255,255,255,.3);border-top-color:#fffc;border-radius:50%;animation:spinner .8s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.btn-ai:focus-visible{outline:2px solid rgba(138,43,226,1);outline-offset:2px}.btn-xs{padding:2px 6px;font-size:var(--font-size-xs)}.btn-sm{padding:4px 8px;font-size:var(--font-size-xs)}.btn-lg{white-space:nowrap;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md);font-weight:600;letter-spacing:.5px;min-width:8.125rem}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}.btn-ai.btn-loading:disabled:after{animation:none!important}}.btn-icon{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-md);border-radius:var(--border-radius-sm);transition:all .2s ease;line-height:1}.btn-icon:hover:not(:disabled){color:var(--primary-color);background:#ffffff1a}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon-content{display:inline-flex;align-items:center;justify-content:center}.btn-icon-sm{padding:2px;font-size:var(--font-size-sm)}.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{background:none;border:none;color:var(--text-secondary)}.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{background:none;border:none;color:var(--danger-color)}.btn-icon-danger:hover:not(:disabled){background:#dc35451a;color:var(--danger-color)}.btn-icon-ghost-danger{background:none;border:none;color:var(--text-secondary)}.btn-icon-ghost-danger:hover:not(:disabled){background:#dc35451a;color:var(--danger-color)}.card{background:linear-gradient(135deg,#1a1611f2,#0f0d0af2);border:2px solid var(--secondary-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);position:relative;transition:all .3s}.card-header{font-family:Cinzel,serif;font-size:1rem;color:var(--primary-color);margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color-dark);text-transform:uppercase;letter-spacing:1px}.card-header h3{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm)}.card-title{font-size:var(--font-size-lg);font-weight:600;color:var(--primary-color);margin:0}.card-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.card-meta{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;color:var(--text-light);font-size:var(--font-size-sm);letter-spacing:1px}.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{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-lg);margin-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color-dark)}.card-header-top{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--primary-color);box-shadow:0 4px 16px #d4af3733;transform:translateY(-2px)}@media(max-width:768px){.card-actions{flex-direction:column}.card-actions .btn{width:100%}}@media(max-width:640px){.card-actions{gap:var(--spacing-xs)}}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.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);width:100%;box-shadow:0 20px 60px #000000e6,inset 0 1px #d4af3733;position:relative;display:flex;flex-direction:column;max-height:90vh}.modal-small{max-width:400px}.modal-medium{max-width:500px}.modal-large{max-width:900px}.modal-full{max-width:95vw;width:95vw}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color)}.modal-header h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);color:var(--primary-color);text-shadow:2px 2px 4px rgba(0,0,0,.5);margin:0}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-3xl);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.modal-close-btn:hover{color:var(--primary-color);transform:rotate(90deg)}.modal-body{flex:1;overflow-y:auto;overflow-x:hidden;margin-bottom:var(--spacing-lg);min-height:0}.modal-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color-dark)}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-xl)}@media(max-width:768px){.modal-content,.modal-small,.modal-medium,.modal-large{padding:var(--spacing-lg);max-width:95%}.modal-full{max-width:98vw;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(max-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{display:block;color:var(--text-normal);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-xs);font-family:var(--font-family);text-transform:none;letter-spacing:normal}.required-mark{color:var(--color-danger-medium);margin-left:2px}.form-control-wrapper{position:relative}.form-error-message{display:block;color:var(--color-danger-medium);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.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);text-decoration:none;font-weight:500;transition:color .2s}.form-help-text a:hover{color:var(--primary-hover);text-decoration:underline}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color)}.form-checkbox-label{display:flex;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}.form-checkbox-label input[type=checkbox]{width:auto;cursor:pointer;accent-color:var(--primary-color)}@media(max-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{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--border-radius, 4px);font-size:.875rem;font-weight:500;line-height:1.2;white-space:nowrap;transition:all .2s ease}.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{display:inline-flex;align-items:center;font-size:1em}.tag{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #1f2937);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--border-radius, 4px);font-size:.875rem;font-weight:500;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--border-radius, 4px);font-size:.875rem;font-weight:500;white-space:nowrap}.status-badge-pending{background-color:#fef3c7;color:#92400e;border:1px solid #fbbf24}.status-badge-draft{background-color:#dbeafe;color:#1e40af;border:1px solid #60a5fa}.status-badge-success,.status-badge-approved{background-color:#d1fae5;color:#065f46;border:1px solid #34d399}.checkbox-wrapper{display:inline-flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-wrapper.checkbox-disabled{cursor:not-allowed;opacity:.5}.checkbox-input-wrapper{position:relative;flex-shrink:0}.checkbox-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox-custom{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--bg-secondary);border:var(--border-width-thick) solid var(--border-color);border-radius:var(--border-radius-sm);transition:border-color .15s ease,background .15s ease}.checkbox-icon{width:12px;height:12px;color:transparent;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{display:flex;flex-direction:column;gap:2px;padding-top:1px}.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{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-wrapper.toggle-disabled{cursor:not-allowed;opacity:.5}.toggle-input-wrapper{position:relative;flex-shrink:0;align-self:center}.toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle-track{display:flex;align-items:center;width:40px;height:22px;background:var(--bg-tertiary);border:var(--border-width) solid var(--border-color);border-radius:11px;padding:2px;transition:all .2s ease}.toggle-thumb{width:16px;height:16px;background:var(--text-muted);border-radius:50%;transition:all .2s ease;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);line-height:1.4;align-self:center}.toggle-description{width:100%;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4;margin-top:calc(var(--spacing-xs) * -1)}.toggle-sm .toggle-track{width:32px;height:18px;border-radius:9px}.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{width:50px;height:28px;border-radius:14px;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{outline:none;border-color:var(--primary-color);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{position:relative;width:100%}.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{outline:none;border-color:var(--primary-color);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{position:absolute;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);padding:2px 4px;border-radius:var(--border-radius-sm)}.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{display:inline-block;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spinner-rotate .8s linear infinite}.spinner-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner-xs{width:16px;height:16px;border-width:2px}.spinner-sm{width:24px;height:24px;border-width:2px}.spinner-md{width:40px;height:40px;border-width:3px}.spinner-lg{width:56px;height:56px;border-width:4px}.spinner-xl{width:72px;height:72px;border-width:5px}.spinner-container{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center}.loading-message{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spinner-rotate .8s linear infinite;vertical-align:middle;margin-right:var(--spacing-xs)}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner,.spinner-inline{animation:none;border-top-color:var(--primary-color);border-right-color:var(--primary-color);opacity:.7}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.8}.empty-state-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.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{font-size:2rem;margin-bottom:var(--spacing-sm)}.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{font-size:4rem;margin-bottom:var(--spacing-lg)}.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{display:flex;gap:var(--spacing-sm);align-items:stretch;width:100%}.search-bar-input-wrapper{position:relative;flex:1;display:flex;align-items:center}.search-bar-icon{position:absolute;left:var(--spacing-md);pointer-events:none;font-size:var(--font-size-sm);opacity:.6}.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{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #d4af371a}.search-bar-input:disabled{opacity:.6;cursor:not-allowed}.search-bar-clear{position:absolute;right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background-color .2s,color .2s}.search-bar-clear:hover{background:var(--bg-tertiary);color:var(--text-primary)}.search-bar-spinner{position:absolute;right:var(--spacing-sm);width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:search-bar-spin .8s linear infinite}@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{border-top-left-radius:0;border-bottom-left-radius:0;white-space:nowrap}.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(max-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{animation:none;opacity:.7}}.confirm-dialog{max-width:400px;text-align:center;padding:2rem}.confirm-dialog-icon{font-size:3rem;margin-bottom:1rem}.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{justify-content:center;margin-top:var(--spacing-lg)}.dropdown-container{position:relative;display:inline-block}.dropdown-trigger{cursor:pointer}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000004d;min-width:200px;z-index:1000;overflow:hidden}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{right:0;left:auto}.dropdown-item{display:block;width:100%;padding:var(--spacing-md);background:none;border:none;border-bottom:var(--border-width) solid var(--border-color);color:var(--text-primary);text-align:left;cursor:pointer;transition:background .2s ease;font-size:var(--font-size-md)}.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{min-width:180px;background:linear-gradient(135deg,var(--color-bg-brown-dark) 0%,var(--bg-secondary) 100%);border:var(--border-width-thick) solid var(--border-color);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);font-weight:500;border-bottom:var(--border-width) solid var(--border-color-dark)}.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{height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);margin:var(--spacing-xs) 0}.dropdown-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;background:var(--color-danger-primary);color:var(--text-primary);border-radius:999px;margin-left:var(--spacing-sm)}.split-button-container{position:relative;display:inline-flex}.split-button-group{display:flex;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--box-shadow)}.split-button-main{position:relative;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 rgba(0,0,0,.2);font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100px;flex-shrink:0;transition:all .2s ease;border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}.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 rgba(0,0,0,.2);border-left:1px solid rgba(0,0,0,.3);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:32px;transition:all .2s ease;border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.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{display:flex;align-items:center;justify-content:center;pointer-events:none}.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:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.split-button-container .dropdown-menu{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:150px;background:var(--color-bg-brown-black);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);z-index:1000;overflow:hidden;animation:slideDown .15s ease-out}.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;display:flex;align-items:center;gap:var(--spacing-sm);transition:all .2s ease;border:none;background:none;width:100%;text-align:left}.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{height:1px;background:var(--border-color);margin:var(--spacing-xs) 0}.split-button-container .chevron-down{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.collapsible-section{margin:var(--spacing-md) 0}.collapsible-header{display:flex;align-items:center;gap:var(--spacing-sm);background:linear-gradient(135deg,#1a1611cc,#2a241699);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);transition:all .3s ease}.collapsible-header:hover{background:linear-gradient(135deg,#2a2416e6,#3a3322b3);border-left-color:var(--primary-color)}.collapsible-toggle{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-md);font-weight:500;text-align:left}.collapsible-toggle .toggle-icon{font-size:.8em;transition:transform .2s;display:inline-block;width:16px;text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0}.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{position:relative;width:100%}.autocomplete-input{width:100%}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 8px #00000080;margin-top:var(--spacing-xs);z-index:2100}.autocomplete-option{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color .2s;border-bottom:var(--border-width) solid var(--border-color-dark)}.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{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.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);padding:1px 4px;border-radius:3px;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{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:var(--font-size-lg)}.creature-type-badge,.rarity-badge{font-size:var(--font-size-xs);padding:2px 6px;border-radius:3px;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-color)}.rarity-common{background:#80808033;border-color:#888}.rarity-uncommon{background:#1eff0033;border-color:#1eff00;color:#1eff00}.rarity-rare{background:#0070dd33;border-color:#0070dd;color:#0070dd}.rarity-very-rare{background:#a335ee33;border-color:#a335ee;color:#a335ee}.rarity-legendary{background:#ff800033;border-color:#ff8000;color:#ff8000}.rarity-artifact{background:#e6cc8033;border-color:#e6cc80;color:#e6cc80}.quick-search-container{margin-bottom:var(--spacing-md)}.quick-search-input{width:100%;padding-right:40px}.quick-search-row{display:flex;gap:var(--spacing-sm);align-items:stretch}.quick-search-row .autocomplete-wrapper{flex:1;display:flex;flex-direction:column}.quick-search-row .quick-search-input{height:100%;min-height:42px}.quick-search-row .btn{white-space:nowrap;margin-top:0;height:auto;min-height:42px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md)}.chips-input-container{width:100%}.chips-input-wrapper{display:flex;flex-wrap:wrap;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);min-height:45px;transition:all .3s}.chips-input-wrapper:focus-within{border-color:var(--border-color);box-shadow:0 0 10px #d4af3733}.chip{display:inline-flex;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}.chip-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:var(--font-size-lg);line-height:1;transition:color .2s}.chip-remove:hover{color:var(--color-danger-light)}.chips-input{flex:1;min-width:120px;border:none;background:none;padding:4px;color:var(--text-primary);font-size:var(--font-size-base);outline:none}.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{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);margin-top:var(--spacing-xs);box-shadow:0 4px 8px #00000080;z-index:2100}.chips-input-item{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .2s;border-bottom:var(--border-width) solid var(--border-color-dark)}.chips-input-item:hover,.chips-input-item.selected{background:var(--hover-color)}.chips-input-item.chips-input-custom{font-style:italic;color:var(--text-secondary);border-top:var(--border-width) solid var(--border-color)}.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{padding:4px 8px;border-radius:var(--border-radius-sm);border:1px solid transparent;transition:all .2s ease;cursor:pointer;min-height:1.5em;position:relative;margin:-5px -8px}.inline-editor.display:hover{background:#ffffff0d;border-color:#fff3}.inline-editor.display:after{content:"✎";position:absolute;right:4px;top:50%;transform:translateY(-50%);opacity:0;font-size:.8em;color:var(--text-secondary);transition:opacity .2s}.inline-editor.display:hover:after{opacity:.5}.inline-editor.display.empty{font-style:italic;color:var(--text-secondary);background:#ffffff05;border:1px dashed var(--border-color);margin:0}.inline-editor.editing textarea,.inline-editor.editing input{width:100%;resize:vertical;min-height:60px;background:var(--bg-tertiary);border:1px solid var(--primary-color);border-radius:var(--border-radius-sm);padding:6px 8px;color:var(--text-primary);font-family:inherit;font-size:inherit;line-height:inherit}.inline-editor.editing textarea{box-sizing:content-box}.inline-editor.editing input{min-height:auto;height:auto}.inline-editor-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.tooltip-portal{position:absolute;left:0;top:100%;margin-top:4px;z-index:1001}.tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding-bottom:8px;border-bottom:var(--border-width) solid var(--border-color-dark)}.tooltip-header h4{margin:0;font-size:15px;font-weight:600}.tooltip-header .close-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:0;color:var(--text-muted);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{font-weight:600;color:var(--text-primary)}.info-modal{max-width:700px}.info-modal-body{max-height:60vh;overflow-y:auto;padding-right:var(--spacing-sm)}.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(max-width:768px){.info-modal{max-width:95%}.info-modal-body{max-height:70vh}}.entry-card{padding:var(--spacing-md);background:#1a161180;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)}.entry-card:first-child{margin-top:var(--spacing-md)}.entry-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.entry-card-header strong{color:var(--color-gold-primary);font-size:1.1em}.entry-card-actions{display:flex;gap:var(--spacing-xs)}.entry-card-description{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:.9em;line-height:1.5}.action-details{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.attack-bonus,.attack-damage,.attack-save,.attack-usage{font-size:.9em;padding:2px 8px;background:#daa52026;border-radius:4px;border:1px solid var(--color-gold-dark)}.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{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs);transition:color .2s}.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(max-width:768px){.create-adventure-modal{max-width:95%}}.breadcrumb{margin-bottom:var(--spacing-md);position:relative}.breadcrumb:after{content:"";display:block;height:1px;margin-top:var(--spacing-sm);background:linear-gradient(90deg,var(--color-gold-dark),transparent 70%);opacity:.25}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:0;list-style:none;margin:0;padding:0}.breadcrumb-item{display:flex;align-items:center;gap:0;animation:breadcrumb-item-enter .35s ease-out backwards}.breadcrumb-item:nth-child(1){animation-delay:0ms}.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{background:none;border:none;color:var(--color-beige-medium);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:color .25s ease,background .25s ease,text-shadow .25s ease;text-decoration:none;position:relative;white-space:nowrap}.breadcrumb-link:hover{color:var(--primary-color);background:linear-gradient(135deg,#d4af371a,#8b691414);text-shadow:0 0 12px rgba(212,175,55,.2)}.breadcrumb-link:focus-visible{outline:1px solid var(--secondary-color);outline-offset:2px}.breadcrumb-link:after{content:"";position:absolute;bottom:2px;left:var(--spacing-sm);right:var(--spacing-sm);height:1px;background:linear-gradient(90deg,var(--primary-color),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.breadcrumb-link:hover:after{transform:scaleX(1)}.breadcrumb-link-current{color:var(--primary-color);font-weight:600;background:linear-gradient(135deg,#d4af3714,#8b69140f);border:var(--border-width) solid rgba(139,105,20,.5);text-shadow:0 0 10px rgba(212,175,55,.15)}.breadcrumb-link-current:hover{border-color:var(--secondary-color);background:linear-gradient(135deg,#d4af3724,#8b69141a)}.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);font-weight:600;background:linear-gradient(135deg,#d4af3714,#8b69140f);border:var(--border-width) solid rgba(139,105,20,.5);border-radius:var(--border-radius-sm);text-shadow:0 0 10px rgba(212,175,55,.15)}.breadcrumb-separator{display:inline-block;width:5px;height:5px;background:var(--color-gold-dark);transform:rotate(45deg);font-size:0;line-height:0;color:transparent;overflow:hidden;opacity:.4;margin:0 var(--spacing-sm);flex-shrink:0}.breadcrumb-chevron{font-size:.6em;margin-left:.35em;opacity:.55;transition:transform .2s ease,opacity .2s ease;display:inline-block}.breadcrumb-link:hover .breadcrumb-chevron{opacity:.85}.breadcrumb-dropdown{display:flex;align-items:center}.breadcrumb-dropdown-menu{min-width:230px;max-height:340px;overflow-y:auto;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);box-shadow:0 12px 32px #000000b3,0 0 1px #d4af374d,inset 0 1px #d4af370d;animation:breadcrumb-dropdown-enter .2s ease-out;padding:var(--spacing-xs) 0}@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:transparent}.breadcrumb-dropdown-menu::-webkit-scrollbar-thumb{background:var(--color-gold-dark);border-radius:2px;opacity:.5}.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 ease,background .2s ease,padding-left .2s ease;position:relative}.breadcrumb-dropdown-item:hover{background:linear-gradient(90deg,rgba(212,175,55,.1),transparent 90%);color:var(--primary-color);padding-left:calc(var(--spacing-md) + 4px)}.breadcrumb-dropdown-item-active{color:var(--primary-color);font-weight:600}.breadcrumb-dropdown-item-active:before{content:"";position:absolute;left:var(--spacing-sm);top:50%;transform:translateY(-50%) rotate(45deg);width:4px;height:4px;background:var(--primary-color)}.breadcrumb-dropdown-item-active,.breadcrumb-dropdown-item-active:hover{padding-left:calc(var(--spacing-md) + 8px)}@media(max-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{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.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{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.waypoint-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-color);color:var(--bg-secondary);border-radius:50%;font-size:var(--font-size-sm);font-weight:600;flex-shrink:0}.waypoint-preview-header h5{margin:0;color:var(--text-primary);font-size:var(--font-size-md)}.waypoint-goal{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);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{margin:0;padding-left:var(--spacing-lg);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);background:#d4af371a;border:var(--border-width) solid var(--color-gold-dark);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}.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(max-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);background:linear-gradient(135deg,#1a1611cc,#2a241699);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)}.waypoint-context-header{margin-bottom:var(--spacing-sm)}.waypoint-badge{display:inline-block;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--border-radius);margin-bottom:var(--spacing-xs)}.waypoint-context-card h3{margin:0;color:var(--primary-color);font-size:var(--font-size-lg)}.waypoint-goal-text{margin:0;color:var(--text-secondary);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{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.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{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.content-badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--border-radius);background:var(--bg-tertiary);color:var(--text-secondary)}.content-badge.encounters{background:#dc26261a;color:#dc2626;border:1px solid rgba(220,38,38,.3)}.content-badge.items{background:#2563eb1a;color:#3b82f6;border:1px solid rgba(37,99,235,.3)}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.outlines-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.outlines-header-left h4{margin:0}.outlines-header-right{display:flex;gap:var(--spacing-sm)}.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{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);max-height:400px;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{width:100%;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease}@media(max-width:768px){.waypoint-ai-modal,.waypoint-ai-modal-large{max-width:95%}.scene-outlines-list{max-height:300px}}.scene-outline-card{display:flex;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}.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, rgba(79, 70, 229, .05))}.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]{width:18px;height:18px;cursor:pointer}.scene-outline-number{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:50%;font-size:var(--font-size-sm);font-weight:600}.scene-outline-content{flex:1;min-width:0}.scene-outline-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.scene-outline-title{margin:0;font-size:var(--font-size-base);font-weight:600;word-break:break-word}.scene-outline-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.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{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.scene-outline-tag{display:inline-block;padding:2px 8px;background:var(--color-surface-elevated, #f0f0f0);border-radius:12px;font-size:var(--font-size-xs);color:var(--text-secondary)}.scene-outline-tag.tag-combat{background:#fee2e2;color:#991b1b}.scene-outline-tag.tag-puzzle{background:#dbeafe;color:#1e40af}.scene-outline-tag.tag-social,.scene-outline-tag.tag-NPC{background:#fef3c7;color:#92400e}.scene-outline-tag.tag-trap{background:#fce7f3;color:#9d174d}.scene-outline-tag.tag-lore,.scene-outline-tag.tag-exploration{background:#d1fae5;color:#065f46}.scene-outline-tag.tag-stealth{background:#e0e7ff;color:#3730a3}.scene-outline-tag.tag-chase{background:#ffedd5;color:#c2410c}.scene-outline-role{margin-top:var(--spacing-xs)}.role-badge{display:inline-block;padding:2px 8px;background:var(--color-primary-bg, rgba(79, 70, 229, .1));color:var(--color-primary);border-radius:4px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.scene-outline-title-input{width:100%;margin-bottom:var(--spacing-xs);font-weight:600}.scene-outline-summary-input{width:100%;resize:vertical;min-height:60px}.scene-outline-edit-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}@media(max-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);display:flex;flex-direction:column;gap:var(--spacing-md);transition:all .3s ease;height:100%}.creature-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb33;transform:translateY(-2px)}.creature-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.creature-card .card-title-section{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.creature-card .card-title{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.creature-card .card-source{font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;display:inline-block;width:fit-content}.creature-card .card-cr{font-weight:700;color:var(--primary-color);font-size:var(--font-size-md);background:#2563eb1a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;white-space:nowrap}.creature-card .card-body{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1}.creature-card .creature-metadata{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.creature-card .meta-item{background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;color:var(--text-secondary)}.creature-card .creature-stats{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.creature-card .stat-row{display:flex;justify-content:space-between}.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{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.creature-card .ability-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xs);background:var(--bg-tertiary);border-radius:4px;font-size:var(--font-size-xs);text-align:center}.creature-card .ability-label{font-weight:600;color:var(--text-secondary);font-size:10px;text-transform:uppercase}.creature-card .ability-value{font-weight:700;color:var(--primary-color);font-size:var(--font-size-sm)}.creature-card .ability-modifier{font-size:10px;color:var(--text-secondary);font-weight:500}.creature-card .card-footer{display:flex;gap:var(--spacing-sm);border-top:var(--border-width) solid var(--border-color);padding-top:var(--spacing-md)}.item-card{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);background:var(--bg-secondary);display:flex;flex-direction:column;gap:var(--spacing-md);transition:all .2s ease}.item-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb33;transform:translateY(-2px)}.item-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.item-card .card-title{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.item-card .item-rarity{font-size:var(--font-size-xs);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.item-card .rarity-common{background:#64748b33;color:#64748b}.item-card .rarity-uncommon{background:#22c55e33;color:#22c55e}.item-card .rarity-rare{background:#3b82f633;color:#3b82f6}.item-card .rarity-very-rare{background:#a855f733;color:#a855f7}.item-card .rarity-legendary{background:#eab30833;color:#eab308}.item-card .card-body{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1}.item-card .item-metadata{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.item-card .meta-item{background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;color:var(--text-secondary)}.item-card .attunement-required{background:#ef444433;color:#ef4444;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{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.item-card .property-badge{font-size:var(--font-size-xs);background:var(--bg-tertiary);color:var(--text-secondary);padding:2px 6px;border-radius:4px}.item-card .card-footer{display:flex;gap:var(--spacing-sm);border-top:var(--border-width) solid var(--border-color);padding-top:var(--spacing-md)}.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{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-md)}.spell-search-results{min-height:300px}.spells-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-md)}.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 ease}.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{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.spell-card-checkbox{display:flex;align-items:center}.spell-card-title{flex:1}.spell-card-title h4{margin:0;font-size:var(--font-size-base);font-weight:600}.spell-card-body{margin-bottom:var(--spacing-sm)}.spell-card-description{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.spell-card-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}@media(max-width:1024px){.spell-search-filters .form-row{grid-template-columns:1fr}}@media(max-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);background:#1a161180;border:1px solid var(--border-color);border-radius:var(--border-radius);border-left:3px solid var(--color-gold-dark)}.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{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.component-checkboxes{display:flex;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm) 0}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-weight:500}.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{display:block;margin-bottom:var(--spacing-md);font-weight:600;color:var(--text-secondary)}.spell-slots-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:var(--spacing-sm)}.spell-slot-input{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.slot-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase}.slot-input{width:50px;text-align:center;padding:var(--spacing-xs);font-weight:600}.spells-by-level{display:flex;flex-direction:column;gap:var(--spacing-md)}.spell-level-group{padding:var(--spacing-md);background:#2a24164d;border:1px solid var(--border-color);border-radius:var(--border-radius)}.spell-level-header{margin-bottom:var(--spacing-sm)}.spell-level-name{font-weight:600;color:var(--color-gold-primary)}.spell-level-content{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.spell-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.chip-gold{background:#daa52026;border-color:var(--color-gold-dark)}.chip-gold:hover{background:#daa52033}.spell-add-controls{display:flex;gap:var(--spacing-sm);align-items:center;flex:1;min-width:200px}.spell-browse-btn{white-space:nowrap}.spell-autocomplete{position:relative;flex:1;min-width:150px}.spell-autocomplete-input{width:100%}.spell-autocomplete-loading{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:var(--font-size-sm)}.spell-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000004d;max-height:300px;overflow-y:auto;z-index:1000}.spell-autocomplete-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .2s ease}.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);padding:2px 6px;background:#daa52026;border:1px solid var(--color-gold-dark);border-radius:4px;color:var(--color-gold-primary)}@media(max-width:1024px){.spellcasting-stats .form-row{grid-template-columns:repeat(2,1fr)}.spell-slots-grid{grid-template-columns:repeat(5,1fr)}}@media(max-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{position:relative;display:inline-block;margin-left:4px;vertical-align:middle}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);cursor:help;font-size:12px;padding:0;line-height:1;transition:all .2s ease;font-family:sans-serif}.help-icon:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.help-tooltip-content{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);box-shadow:0 4px 12px #0000004d;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}.help-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border-color)}.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{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.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{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md)}.encounter-editor-form .ability-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.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);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-weight:600;text-align:center;font-size:var(--font-size-md)}.encounter-editor-form .form-row-text{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color)}.creatures-management .creatures-header h5,.loot-management .creatures-header h5{margin:0;font-size:var(--font-size-md)}.creatures-management .creatures-list,.loot-management .loot-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.creatures-management .creature-entry,.loot-management .loot-entry{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:4px;transition:all .2s ease}.creatures-management .creature-entry>:first-child,.loot-management .loot-entry>:first-child{display:flex;justify-content:space-between;align-items:center;width:100%}.creatures-management .creature-entry:hover,.loot-management .loot-entry:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2563eb26}.creatures-management .creature-info,.loot-management .loot-info{display:flex;gap:var(--spacing-md);align-items:center;flex:1}.creatures-management .creature-name,.loot-management .loot-name{font-weight:600;color:var(--text-primary)}.creature-count-wrapper{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.creature-count-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin:0}.creature-count-input{width:100px;padding:4px 8px;text-align:center;border:var(--border-width) solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm);transition:border-color .2s ease}.creature-count-input:focus{outline:none;border-color:var(--primary-color);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);padding:2px 8px;border-radius:4px}.loot-management .markdown-content{margin:0;padding:0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.creature-action-buttons{display:flex;gap:var(--spacing-sm)}.creatures-management .creature-no-match{display:flex;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:#d977061a;border:1px solid rgba(217,119,6,.3);border-radius:4px;font-size:var(--font-size-sm)}.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{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md)}.creature-editor-modal .ability-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.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);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-weight:600;text-align:center;font-size:var(--font-size-md)}.creature-editor-modal .form-row-text{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-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(max-width:768px){.creatures-management .creature-entry,.loot-management .loot-entry{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.creatures-management .creature-action-buttons,.creature-action-buttons{width:100%;flex-wrap:wrap}.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);background:#0000004d;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}.storage-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.storage-count{color:var(--text-secondary)}.storage-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.storage-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .3s ease}.radio-group{display:flex;gap:var(--spacing-md)}.radio-option{display:flex;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 ease}.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;transition:all .3s ease;min-height:200px;display:flex;align-items:center;justify-content:center}.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{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.dropzone-icon{font-size:48px;opacity:.6}.dropzone-text{margin:0;color:var(--text-primary);font-size:var(--font-size-md)}.dropzone-or{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.dropzone-button{cursor:pointer}.upload-progress-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md)}.upload-filename{margin:0;color:var(--text-primary);font-size:var(--font-size-md);word-break:break-all}.upload-progress-bar{width:100%;height:24px;background:var(--bg-tertiary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.upload-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .3s ease;display:flex;align-items:center;justify-content:center}.upload-progress-text{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600}.upload-success{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)}.success-icon{font-size:48px;color:var(--success-color, #22c55e)}.success-text{margin:0;color:var(--success-color, #22c55e);font-size:var(--font-size-md);font-weight:600}@media(max-width:768px){.image-form-modal{max-width:95%}.radio-group{flex-direction:column}.storage-label{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.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);background:#0000004d;border:1px solid var(--border-color-dark);border-radius:var(--border-radius)}.section-subsection h4{font-family:Cinzel,serif;color:var(--primary-color);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.subsection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.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{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.editor-card .card-header h5{margin:0;font-size:var(--font-size-base);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}@media(max-width:768px){.section-subsection{padding:var(--spacing-md)}}.editor-sidebar .section-tabs{display:flex;flex-direction:column;gap:var(--spacing-sm)}.editor-sidebar .section-tab{padding:var(--spacing-md);border-radius:var(--border-radius);background:linear-gradient(135deg,#1a1611cc,#2a241699);border:var(--border-width) solid var(--border-color-dark);cursor:pointer;transition:all .3s ease;border-left:var(--border-width-thicker) solid var(--color-gold-dark);box-shadow:0 2px 4px #0000004d}.editor-sidebar .section-tab:hover{background:linear-gradient(135deg,#2a2416e6,#3a3322b3);border-left-color:var(--primary-color);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{font-weight:600;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)}.editor-sidebar .adventure-details-tab.active{box-shadow:0 4px 12px #d4af3780}.editor-sidebar .adventure-details-tab:hover{transform:translate(2px);color:var(--primary-hover)}.editor-sidebar .section-tab-container{margin-bottom:var(--spacing-sm)}.editor-sidebar .expand-arrow{display:inline-block;transition:transform .2s;font-size:.7em;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.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{font-size:.85em;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.editor-sidebar .subsection-item{font-size:.85em;padding:4px 8px;margin-bottom:2px;cursor:pointer;border-radius:var(--border-radius-sm);transition:background .2s;color:var(--text-primary)}.editor-sidebar .subsection-item:hover{background:var(--bg-secondary);color:var(--primary-color)}.editor-sidebar .subsection-count{font-size:.85em;padding:4px 8px;margin-bottom:4px;color:var(--text-secondary)}.editor-sidebar .waypoint-group{margin-bottom:var(--spacing-md)}.editor-sidebar .waypoint-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:linear-gradient(135deg,#2a2416e6,#3a3322b3);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;transition:all .3s ease;box-shadow:0 2px 4px #0000004d}.editor-sidebar .waypoint-header:hover{background:linear-gradient(135deg,#3a3322f2,#4a422cbf);border-left-color:var(--primary-color);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{background:#0003;color:var(--bg-secondary)}.editor-sidebar .waypoint-title{flex:1;font-weight:600;color:var(--primary-color);cursor:pointer;transition:color .2s ease}.editor-sidebar .waypoint-title:hover{color:var(--secondary-color)}.editor-sidebar .waypoint-count{font-size:.85em;color:var(--text-secondary);padding:2px 8px;background:var(--bg-tertiary);border-radius:var(--border-radius-sm)}.editor-sidebar .waypoint-actions{display:flex;gap:var(--spacing-xs)}.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);font-style:italic;text-align:center}.editor-sidebar .sections-header{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center}.editor-sidebar .sections-header strong{font-size:.9em;color:var(--text-secondary)}.editor-sidebar .btn.waypoint-add-section{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px dashed var(--border-color);color:var(--text-secondary);transition:all .2s ease}.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{display:flex;gap:var(--spacing-md);align-items:center;padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.memory-count-badge{margin-left:auto;background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-sm);padding:4px 10px;border-radius:12px;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{background:#dc35451a;color:var(--color-danger);border:1px solid rgba(220,53,69,.3)}.memory-alert-success{background:#28a7451a;color:var(--color-success);border:1px solid rgba(40,167,69,.3)}.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{display:flex;flex-direction:column;gap:var(--spacing-sm)}.memory-item{transition:all .2s ease}.memory-item .card-content{padding:0;margin-bottom:0;width:100%}.memory-item:hover{border-color:var(--color-gold)}.memory-item.locked{background:linear-gradient(135deg,#ffc10714,#ffc10708);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{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.memory-lock-btn{flex-shrink:0;background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--text-tertiary);font-size:1.2em;line-height:1;transition:all .2s ease}.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;min-width:0;width:100%}.memory-item-content{width:100%;display:block}.memory-item-content .inline-editor{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5;word-break:break-word;width:100%;display:block}.memory-item-content .inline-editor.display{margin:0;padding:4px 8px;width:100%}.memory-item-content.inline-editor.editing{width:100%;display:block}.memory-item-content .inline-editor.editing textarea{width:100%;box-sizing:border-box;display:block}textarea.inline-editor-input{width:100%;resize:none}.memory-delete-btn{flex-shrink:0;min-width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.5em;line-height:1}.memory-delete-btn:disabled{opacity:.4;cursor:not-allowed}.btn-icon{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--text-tertiary);font-size:1em;border-radius:var(--border-radius);transition:all .2s ease}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-icon.active{color:var(--color-warning)}.btn-icon-danger:hover{background:#dc35451a;color:var(--color-danger)}.memory-item-form{width:100%;display:flex;flex-direction:column;gap:var(--spacing-md)}.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);font-family:inherit;resize:vertical;min-height:60px}.memory-item-input:focus{outline:none;border-color:var(--color-gold)}.memory-item-input::placeholder{color:var(--text-tertiary)}.memory-item-form-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.memory-item-form-meta{display:flex;align-items:center;gap:var(--spacing-md)}.memory-lock-toggle{display:flex;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}.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{display:flex;gap:var(--spacing-sm)}.memory-form-error{color:var(--color-danger);font-size:var(--font-size-sm)}.btn-ghost{background:transparent;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);transition:all .2s ease}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}@media(max-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{margin-left:0;align-self:center}.memory-item-row{gap:var(--spacing-sm)}.memory-item-form-footer{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.memory-item-form-actions{justify-content:flex-end}}.overview-main{background:linear-gradient(135deg,#1a1611e6,#0f0d0ae6);border:2px solid var(--secondary-color);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);position:relative;box-shadow:var(--box-shadow)}.overview-main:before,.overview-main:after{content:"✦";position:absolute;color:var(--secondary-color);font-size:var(--font-size-2xl)}.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{font-family:Cinzel,serif;font-size:2.5rem;color:var(--primary-color);margin:0 0 var(--spacing-sm) 0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.overview-author{font-size:var(--font-size-lg);color:var(--text-secondary);font-style:italic;margin:0}.overview-description{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:#0003;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)}.overview-description p{margin-bottom:1rem}.overview-description p:last-child{margin-bottom:0}.overview-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:#0003;border-radius:var(--border-radius)}.metadata-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.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 rgba(0,0,0,.5)}.overview-tags,.overview-warnings{margin-bottom:var(--spacing-xl)}.tags-container,.warnings-container{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.overview-tag{background:linear-gradient(135deg,#d4af3733,#daa52033);border:1px solid var(--secondary-color);color:var(--text-secondary);padding:.4rem .8rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);transition:all .3s}.overview-warning{background:#8b000033;border:1px solid rgba(139,0,0,.5);color:var(--text-secondary);padding:.4rem .8rem;border-radius:var(--border-radius);font-size:var(--font-size-sm)}.overview-legal{margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background:#0003;border-radius:var(--border-radius);border:1px solid var(--border-color-dark)}.legal-item{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.legal-item:last-child{margin-bottom:0}.legal-label{font-weight:600;color:var(--text-primary)}.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{display:flex;justify-content:center;padding-top:var(--spacing-lg);border-top:2px solid var(--border-color)}.btn-large{padding:1rem 3rem;font-size:var(--font-size-lg);font-weight:600;min-width:250px}.overview-sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}.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 rgba(0,0,0,.5)}.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{display:flex;flex-direction:column;gap:var(--spacing-xs)}.section-list-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#0003;border-radius:var(--border-radius-sm);border-left:2px solid var(--border-color-dark);transition:all .3s}.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{display:flex;flex-direction:column;gap:var(--spacing-md)}.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{width:100%;border-radius:var(--border-radius);cursor:pointer;transition:all .3s}.overview-image:hover{box-shadow:0 0 15px #d4af374d}.image-title{font-weight:600;color:var(--text-primary);margin:var(--spacing-sm) 0 var(--spacing-xs) 0}.image-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}@media(max-width:1024px){.overview-sidebar{order:-1}.overview-title{font-size:2rem}.overview-metadata{grid-template-columns:1fr}}@media(max-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{display:grid;grid-template-columns:1fr 300px;gap:var(--spacing-lg);min-height:80vh}.editor-main,.editor-sidebar{background:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:var(--spacing-lg)}.editor-actions{display:flex;gap:var(--spacing-sm)}@keyframes highlight-pulse{0%{box-shadow:0 0 #2563ebb3;border-color:var(--primary-color)}50%{box-shadow:0 0 20px 10px #2563eb4d;border-color:var(--primary-color)}to{box-shadow:0 0 #2563eb00;border-color:var(--border-color)}}.highlight{animation:highlight-pulse 2s ease-out}@media(max-width:1024px){.editor-layout{grid-template-columns:1fr;gap:var(--spacing-md)}.editor-sidebar{order:-1}.editor-actions{flex-direction:column;align-items:stretch}}.expandable-text{margin:.25rem 0}.expand-toggle-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.85rem;padding:.25rem .5rem;margin-left:.5rem;text-decoration:underline;transition:color .2s ease}.expand-toggle-btn:hover{color:var(--accent-color)}.expand-toggle-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.spell-tooltip{position:relative;background:#fff;border:1px solid #ccc;border-radius:4px;padding:16px;box-shadow:0 4px 12px #00000026;max-width:400px;font-size:14px;z-index:1000}.spell-tooltip.loading,.spell-tooltip.error{padding:8px 12px;font-style:italic;color:#666}.spell-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;border-bottom:1px solid #eee;padding-bottom:8px}.spell-header h4{margin:0;font-size:16px}.spell-tooltip .close-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:0;color:#666}.spell-tooltip .close-btn:hover{color:#d32f2f}.spell-meta,.spell-casting{display:flex;gap:12px;margin:8px 0;flex-wrap:wrap;font-size:13px}.spell-meta .badge{background:#e3f2fd;padding:2px 8px;border-radius:12px;font-size:11px}.spell-components,.spell-description,.spell-higher-level{margin:12px 0;line-height:1.6}.spell-higher-level{padding-top:12px;border-top:1px solid #eee;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-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.defense-segment.has-tooltip:hover{text-decoration-color:var(--primary-color)}.defense-segment.active{font-weight:500}.damage-type-tooltip{position:relative;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);padding:12px;box-shadow:0 4px 12px #0006;min-width:250px;max-width:350px;font-size:14px;z-index:1002;color:var(--text-secondary)}.damage-type-tooltip.error{padding:8px 12px;font-style:italic;color:#d32f2f}.condition-tooltip{position:relative;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);padding:12px;box-shadow:0 4px 12px #0006;min-width:280px;max-width:400px;font-size:14px;z-index:1002;color:var(--text-secondary)}.condition-tooltip.error{padding:8px 12px;font-style:italic;color:#d32f2f}.complex-defense-tooltip{position:relative;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);padding:12px;box-shadow:0 4px 12px #0000004d;min-width:300px;max-width:450px;font-size:14px;z-index:1002;color:var(--text-secondary)}.condition-icon{font-size:18px;margin-right:4px}.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{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.journal-form-header h2{font-size:1.5rem;margin:0;color:var(--text-primary)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.journal-entries{display:flex;flex-direction:column;gap:1.5rem}.journal-entry-card{padding:1.5rem;transition:box-shadow .2s}.journal-entry-card:hover{box-shadow:0 4px 12px #00000026}.journal-entry-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.journal-entry-header h3{font-size:1.25rem;margin:0;color:var(--text-primary);flex:1}.journal-entry-actions{display:flex;gap:.5rem}.journal-entry-content{margin-bottom:1rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.journal-entry-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.journal-entry-footer{padding-top:1rem;border-top:1px solid var(--border-color)}.journal-entry-footer small{color:var(--text-secondary);font-size:.875rem}@media(max-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%}}
