﻿@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Cormorant+Garamond:wght@400;500&display=swap");:root{--primary-gold: #d4af37;--secondary-gold: #ffd700;--gold-dark: #b8941f;--gold-light: #ffd700;--deep-crimson: #0d0510;--obsidian-black: #000000;--shadow-lilac: #1a0a1a;--crimson-dark: #050205;--crimson-light: #2a0a1a;--lilac-dark: #0d0510;--lilac-light: #3a0a2a;--pale-ivory: #e8e8e8;--text-light: #e0e0e0;--text-medium: #b8b8b8;--ivory-dark: #cccccc;--accent-green: #2d5016;--accent-red: #8b0000;--shadow-color: rgba(0, 0, 0, 0.9);--glow-gold: rgba(212, 175, 55, 0.3);--glow-gold-strong: rgba(255, 215, 0, 0.5);--font-primary: 'Cinzel', 'Georgia', serif;--font-secondary: 'Cormorant Garamond', serif;--font-decorative: 'Cinzel Decorative', serif;--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 0.5rem;--spacing-lg: 0.5rem;--spacing-xl: 0.5rem;--spacing-xxl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--transition-fast: 0.2s ease;--transition-normal: 0.3s ease;--transition-slow: 0.4s ease;--z-dropdown: 100;--z-modal: 200;--z-tooltip: 300;--z-navbar: 1000}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:14px;line-height:1.5}body{font-family:var(--font-primary);line-height:1.5;overflow-x:hidden;background:linear-gradient(135deg, var(--deep-crimson) 0%, var(--shadow-lilac) 50%, var(--crimson-light) 100%);background-attachment:fixed;color:var(--text-light);min-height:100vh}ul,ol{list-style:none}button{background:none;border:none;font:inherit;cursor:pointer}a{color:inherit;text-decoration:none;transition:color 0.1s ease}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font:inherit}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--primary-gold);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;line-height:1.2;margin-bottom:0.75rem;color:var(--primary-gold)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:0.75rem;color:var(--text-medium);line-height:1.6}a{color:var(--primary-gold);text-decoration:none;transition:all var(--transition-normal)}a:hover,a:focus{color:var(--secondary-gold);text-shadow:0 0 8px var(--glow-gold-strong)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary-gold)}.text-secondary{color:var(--text-medium)}.text-light{color:var(--text-light)}.text-small{font-size:0.875rem}.text-large{font-size:1.125rem}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-primary{font-family:var(--font-primary)}.font-secondary{font-family:var(--font-secondary)}.font-decorative{font-family:var(--font-decorative)}:root{--deep-crimson: #0d0510;--obsidian-black: #000000;--burnt-gold: #d4af37;--pale-ivory: #e8e8e8;--shadow-lilac: #1a0a1a;--crimson-dark: #050205;--crimson-light: #2a0a1a;--gold-dark: #b8941f;--gold-light: #ffd700;--ivory-dark: #cccccc;--lilac-dark: #0d0510;--lilac-light: #3a0a2a;--shadow-color: rgba(0, 0, 0, 0.9);--glow-gold: rgba(212, 175, 55, 0.3);--glow-gold-strong: rgba(255, 215, 0, 0.5);--accent-green: #2d5016;--accent-red: #8b0000;--primary-gold: #d4af37;--secondary-gold: #ffd700;--text-light: #e0e0e0;--text-medium: #b8b8b8}body.dark-fantasy-body{background:linear-gradient(135deg, #0d0510 0%, #1a0a1a 50%, #2a0a1a 100%);background-attachment:fixed;position:relative;font-family:'Cormorant Garamond', serif;color:var(--pale-ivory);line-height:1.6;min-height:100vh}.main-content{max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:2}.page-header{text-align:center;margin-bottom:3rem}.page-subtitle{font-family:'Cormorant Garamond', serif;font-style:italic;color:var(--pale-ivory);font-size:1.2rem;margin-top:0.5rem;text-shadow:0 0 10px rgba(0,0,0,0.8)}.filter-section{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;margin-bottom:2rem;position:relative}.filter-group{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.filter-group-horizontal{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.filter-item{display:flex;align-items:center;gap:0.5rem}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.filter-label{color:var(--primary-gold);font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.25rem}.section-toggles{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem}.section-toggle{background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);color:var(--primary-gold);padding:0.5rem 1rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px}.section-toggle:hover{background:rgba(212,175,55,0.2);border-color:var(--primary-gold);transform:translateY(-1px)}.section-toggle.inactive{opacity:0.5;background:rgba(139,0,0,0.1);border-color:rgba(139,0,0,0.3);color:#8b0000}.clear-filters-btn{background:linear-gradient(135deg, darkred, brown);border:1px solid #8b0000;color:white;padding:0.5rem 1rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;margin-left:auto}.clear-filters-btn:hover{background:linear-gradient(135deg, brown, darkred);transform:translateY(-1px);box-shadow:0 4px 12px rgba(139,0,0,0.4)}.category-section{margin-bottom:3rem}.section-header{position:relative;border-bottom:2px solid rgba(212,175,55,0.3);padding:2rem 0 1.5rem;margin-bottom:2.5rem;text-align:center;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(13,5,16,0.8) 100%);border-radius:12px 12px 0 0;border:1px solid rgba(212,175,55,0.2);border-bottom:2px solid rgba(212,175,55,0.4);backdrop-filter:blur(10px)}.section-header::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg, transparent, var(--primary-gold), transparent);border-radius:2px}.section-header h2{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin:0;text-shadow:0 2px 4px rgba(0,0,0,0.5)}.section-icon{font-size:2.5rem;margin-bottom:0.75rem;display:inline-block;padding:0.5rem;background:rgba(212,175,55,0.1);border-radius:50%;border:1px solid rgba(212,175,55,0.3);transition:all 0.3s ease}.section-header:hover .section-icon{transform:scale(1.1);background:rgba(212,175,55,0.2);border-color:var(--primary-gold)}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem}.lore-sections{display:block}.lore-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem;padding:0 2rem}.spells-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:1.5rem;padding:0 2rem}.spell-card{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;transition:all 0.3s ease;position:relative;height:fit-content}.spell-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.spell-title{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.2rem;font-weight:600;margin-bottom:1rem;line-height:1.3;text-shadow:0 0 8px rgba(212,175,55,0.3)}.spell-link{color:var(--primary-gold);text-decoration:none;font-weight:600;transition:all 0.3s ease;display:block;margin-bottom:1rem}.spell-link:hover{color:var(--gold-light);text-shadow:0 0 8px rgba(255,215,0,0.5);transform:translateX(5px)}.spell-excerpt{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.spell-effects-preview{margin-top:1rem}.spell-effects-preview .effect-level{margin-bottom:0.75rem;padding:0.5rem;background:rgba(13,5,16,0.4);border-radius:4px;border-left:3px solid transparent}.spell-effects-preview .effect-level:last-child{margin-bottom:0}.spell-effects-preview .effect-label{font-weight:700;font-size:0.9rem;margin-right:0.5rem;text-transform:uppercase;letter-spacing:0.5px}.spell-effects-preview .effect-level .effect-label-novice{border-left-color:#4ade80}.spell-effects-preview .effect-level .effect-label-adept{border-left-color:#fb923c}.spell-effects-preview .effect-level .effect-label-master{border-left-color:#f87171}.spell-meta-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:0.75rem;margin-top:1rem;padding:1rem;background:rgba(13,5,16,0.6);border:1px solid rgba(212,175,55,0.2);border-radius:6px;backdrop-filter:blur(10px)}.spell-meta-grid .meta-item{display:flex;flex-direction:column;gap:0.25rem;padding:0.5rem;background:rgba(212,175,55,0.05);border-radius:4px;border:1px solid rgba(212,175,55,0.1);transition:all 0.3s ease}.spell-meta-grid .meta-item:hover{background:rgba(212,175,55,0.1);border-color:rgba(212,175,55,0.3);transform:translateY(-1px)}.traits-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:1.5rem;padding:0 2rem}.trait-card{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;transition:all 0.3s ease;position:relative;height:fit-content}.trait-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.trait-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.trait-category-badge{background:rgba(212,175,55,0.2);color:var(--primary-gold);padding:0.25rem 0.75rem;border-radius:4px;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.5px;border:1px solid rgba(212,175,55,0.3)}.trait-title{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.2rem;font-weight:600;margin-bottom:1rem;line-height:1.3;text-shadow:0 0 8px rgba(212,175,55,0.3)}.trait-link{color:var(--primary-gold);text-decoration:none;font-weight:600;transition:all 0.3s ease;display:block;margin-bottom:1rem}.trait-link:hover{color:var(--gold-light);text-shadow:0 0 8px rgba(255,215,0,0.5);transform:translateX(5px)}.trait-excerpt{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.trait-meta-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:0.75rem;margin-top:1rem;padding:1rem;background:rgba(13,5,16,0.6);border:1px solid rgba(212,175,55,0.2);border-radius:6px;backdrop-filter:blur(10px)}.trait-meta-grid .meta-item{display:flex;flex-direction:column;gap:0.25rem;padding:0.5rem;background:rgba(212,175,55,0.05);border-radius:4px;border:1px solid rgba(212,175,55,0.1);transition:all 0.3s ease}.trait-meta-grid .meta-item:hover{background:rgba(212,175,55,0.1);border-color:rgba(212,175,55,0.3);transform:translateY(-1px)}.professions-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:1.5rem;padding:0 2rem}.profession-card{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;transition:all 0.3s ease;position:relative;height:fit-content}.profession-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.profession-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.profession-category-badge{background:rgba(212,175,55,0.2);color:var(--primary-gold);padding:0.25rem 0.75rem;border-radius:4px;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.5px;border:1px solid rgba(212,175,55,0.3)}.profession-title{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.2rem;font-weight:600;margin-bottom:1rem;line-height:1.3;text-shadow:0 0 8px rgba(212,175,55,0.3)}.profession-link{color:var(--primary-gold);text-decoration:none;font-weight:600;transition:all 0.3s ease;display:block;margin-bottom:1rem}.profession-link:hover{color:var(--gold-light);text-shadow:0 0 8px rgba(255,215,0,0.5);transform:translateX(5px)}.profession-excerpt{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.profession-meta-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:0.75rem;margin-top:1rem;padding:1rem;background:rgba(13,5,16,0.6);border:1px solid rgba(212,175,55,0.2);border-radius:6px;backdrop-filter:blur(10px)}.profession-meta-grid .meta-item{display:flex;flex-direction:column;gap:0.25rem;padding:0.5rem;background:rgba(212,175,55,0.05);border-radius:4px;border:1px solid rgba(212,175,55,0.1);transition:all 0.3s ease}.profession-meta-grid .meta-item:hover{background:rgba(212,175,55,0.1);border-color:rgba(212,175,55,0.3);transform:translateY(-1px)}.boons-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1rem;padding:0 1rem}.boon-card{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1rem;transition:all 0.3s ease;position:relative;display:flex;flex-direction:column;height:100%;min-height:200px}.boon-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.boon-card.boon{border-left:4px solid #4CAF50}.boon-card.bane{border-left:4px solid #f44336}.boon-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.75rem}.boon-type-badge{padding:0.2rem 0.6rem;border-radius:4px;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.5px;border:1px solid}.boon-badge{background:rgba(76,175,80,0.2);color:#4CAF50;border-color:rgba(76,175,80,0.3)}.bane-badge{background:rgba(244,67,54,0.2);color:#f44336;border-color:rgba(244,67,54,0.3)}.boon-title{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.1rem;font-weight:600;margin-bottom:0.75rem;line-height:1.3;text-shadow:0 0 8px rgba(212,175,55,0.3)}.boon-link{color:var(--primary-gold);text-decoration:none;font-weight:600;transition:all 0.3s ease;display:block;margin-bottom:1rem}.boon-link:hover{color:var(--gold-light);text-shadow:0 0 8px rgba(255,215,0,0.5);transform:translateX(5px)}.boon-description-full{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-top:0.75rem;flex-grow:1;overflow-y:auto}.section{display:block;margin-bottom:4rem;background:rgba(13,5,16,0.4);border:1px solid rgba(212,175,55,0.2);border-radius:12px;padding:0 0 2rem 0;backdrop-filter:blur(5px);transition:all 0.3s ease}.section:hover{border-color:rgba(212,175,55,0.4);box-shadow:0 8px 25px rgba(0,0,0,0.2)}.section.hidden{display:none}.rule-card,.lore-card{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;transition:all 0.3s ease;position:relative}.rule-card:hover,.lore-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.rule-category,.lore-category{display:inline-block;background:rgba(212,175,55,0.2);color:var(--primary-gold);padding:0.25rem 0.75rem;border-radius:4px;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:1rem}.boon-badge{background:rgba(45,80,22,0.3);color:#4CAF50}.bane-badge{background:rgba(139,0,0,0.3);color:#f44336}.spell-badges{display:flex;gap:0.5rem;margin-bottom:1rem}.spell-school{background:rgba(212,175,55,0.2);color:var(--primary-gold)}.spell-level{background:rgba(139,0,0,0.3);color:#f44336}.spell-corruption{background:rgba(75,0,130,0.3);color:#9c27b0}.attribute-test{font-family:'Cinzel', serif;font-weight:600;text-shadow:0 0 4px rgba(255,255,255,0.3)}.attribute-test .attribute{transition:all 0.3s ease;text-shadow:0 0 6px currentColor}.attribute-test .attribute:hover{text-shadow:0 0 8px currentColor;transform:scale(1.05)}.boon-badges{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem}.rule-title,.lore-title{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.2rem;font-weight:600;margin-bottom:1rem;line-height:1.3;text-shadow:0 0 8px rgba(212,175,55,0.3)}.rule-link,.lore-link{color:var(--primary-gold);text-decoration:none;font-weight:600;transition:all 0.3s ease;display:block;margin-bottom:1rem}.rule-link:hover,.lore-link:hover{color:var(--gold-light);text-shadow:0 0 8px rgba(255,215,0,0.5);transform:translateX(5px)}.rule-excerpt,.lore-excerpt{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.lore-tags{display:flex;flex-wrap:wrap;gap:0.5rem}.tag{background:rgba(212,175,55,0.1);color:var(--primary-gold);padding:0.25rem 0.5rem;border-radius:4px;font-size:0.75rem;border:1px solid rgba(212,175,55,0.3)}.rule-meta,.lore-meta{display:flex;justify-content:space-between;align-items:center;font-size:0.8rem;color:var(--text-medium);margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(212,175,55,0.2)}.rule-meta-grid,.lore-meta-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin-top:1.5rem;padding:1.5rem;background:rgba(13,5,16,0.6);border:1px solid rgba(212,175,55,0.2);border-radius:8px;backdrop-filter:blur(10px)}.rule-meta-grid .meta-item,.lore-meta-grid .meta-item{display:flex;flex-direction:column;gap:0.25rem;padding:0.75rem;background:rgba(212,175,55,0.05);border-radius:6px;border:1px solid rgba(212,175,55,0.1);transition:all 0.3s ease}.rule-meta-grid .meta-item:hover,.lore-meta-grid .meta-item:hover{background:rgba(212,175,55,0.1);border-color:rgba(212,175,55,0.3);transform:translateY(-1px)}.meta-label{font-size:0.75rem;font-weight:600;color:var(--primary-gold);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.25rem}.meta-value{font-size:0.9rem;color:var(--text-light);font-weight:500;line-height:1.4}.no-content{text-align:center;padding:3rem;color:var(--text-medium)}.no-content-icon{font-size:3rem;margin-bottom:1rem;opacity:0.5}.no-content-title{font-size:1.5rem;margin-bottom:1rem;color:var(--primary-gold)}.no-content-message{font-size:1rem;line-height:1.6}.spell-detail,.rule-detail{background:rgba(13,5,16,0.9);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:2rem;margin-bottom:2rem}.summary-title{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.1rem;font-weight:600;margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.5px}.summary-text{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-bottom:1rem}.meta-item{display:flex;justify-content:space-between;margin-bottom:0.5rem}.meta-item strong{color:var(--primary-gold);font-weight:600}.navigation-card{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.nav-buttons{display:flex;justify-content:space-between;align-items:center;gap:1rem}.school-section,.type-section{margin-bottom:2rem}.mystical-particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0.3}.fantasy-card{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;transition:all 0.3s ease;position:relative;overflow:hidden}.fantasy-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.gothic-header{text-align:center;margin-bottom:3rem;position:relative}.gothic-header h1{font-family:'Cinzel', serif;font-size:2.5rem;font-weight:600;color:var(--primary-gold);margin-bottom:1rem;text-shadow:0 0 10px rgba(212,175,55,0.3)}.gothic-header p{font-family:'Cormorant Garamond', serif;font-size:1.1rem;color:var(--text-medium);font-style:italic}.mystical-btn{background:linear-gradient(135deg, #2a1f0f, #3d2b1a);border:1px solid var(--primary-gold);color:var(--primary-gold);padding:0.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;font-size:0.9rem;text-decoration:none;display:inline-block;text-shadow:0 0 8px rgba(212,175,55,0.5)}.mystical-btn:hover{background:linear-gradient(135deg, #3d2b1a, #2a1f0f);transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,175,55,0.4);color:var(--secondary-gold);text-decoration:none;text-shadow:0 0 12px rgba(212,175,55,0.8)}.mystical-btn-secondary{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.5);color:var(--primary-gold);padding:0.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;font-size:0.9rem;text-decoration:none;display:inline-block;text-shadow:0 0 6px rgba(212,175,55,0.4)}.mystical-btn-secondary:hover{background:rgba(212,175,55,0.15);border-color:var(--primary-gold);transform:translateY(-2px);color:var(--secondary-gold);text-decoration:none;text-shadow:0 0 10px rgba(212,175,55,0.6)}.fantasy-form{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:2rem}.fantasy-input{background:rgba(0,0,0,0.3);border:1px solid rgba(212,175,55,0.3);color:var(--text-light);padding:0.75rem;border-radius:6px;width:100%;font-family:'Cormorant Garamond', serif;transition:all 0.3s ease}select.fantasy-input{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23d4af37' viewBox='0 0 16 16'%3e%3cpath d='m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px;appearance:none;-webkit-appearance:none;-moz-appearance:none}.fantasy-input:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 10px rgba(212,175,55,0.3)}.fantasy-input::placeholder{color:var(--text-medium);opacity:0.7}.filter-select{background:rgba(0,0,0,0.3);border:1px solid rgba(212,175,55,0.3);color:var(--text-light);padding:0.5rem;border-radius:4px;font-family:'Cormorant Garamond', serif;transition:all 0.3s ease;min-width:150px}.filter-select:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 10px rgba(212,175,55,0.3)}.filter-select option{background:var(--deep-crimson) !important;color:var(--text-light) !important}.fantasy-input option{background:var(--deep-crimson) !important;color:var(--text-light) !important}select option{background:var(--deep-crimson) !important;color:var(--text-light) !important}select.form-control option{background:var(--deep-crimson) !important;color:var(--text-light) !important}select option:checked{background:var(--primary-gold) !important;color:var(--deep-crimson) !important}select option:hover{background:rgba(212,175,55,0.2) !important;color:var(--text-light) !important}.fantasy-nav{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.fantasy-nav-link{color:var(--primary-gold);text-decoration:none;padding:0.5rem 1rem;border-radius:6px;transition:all 0.3s ease;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;font-size:0.85rem}.fantasy-nav-link:hover{background:rgba(212,175,55,0.1);color:var(--gold-light);text-decoration:none}.mystical-divider{height:2px;background:linear-gradient(90deg, transparent, var(--primary-gold), transparent);margin:2rem 0;position:relative}.fantasy-table{width:100%;border-collapse:collapse;background:rgba(13,5,16,0.8);border-radius:8px;overflow:hidden}.fantasy-table th{background:rgba(212,175,55,0.2);color:var(--primary-gold);padding:1rem;text-align:left;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;font-size:0.85rem}.fantasy-table td{padding:1rem;border-bottom:1px solid rgba(212,175,55,0.2);color:var(--text-light)}.fantasy-table tr:hover td{background:rgba(212,175,55,0.05)}.mystical-spinner{width:40px;height:40px;border:3px solid rgba(212,175,55,0.3);border-top:3px solid var(--primary-gold);border-radius:50%;animation:spin 1s linear infinite}.fantasy-tooltip{position:relative;cursor:help}.fantasy-tooltip::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:rgba(13,5,16,0.95);color:var(--text-light);padding:0.5rem;border-radius:4px;font-size:0.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease;z-index:1000;border:1px solid rgba(212,175,55,0.3)}.fantasy-tooltip:hover::after{opacity:1}.flavor-text{font-family:'Cormorant Garamond', serif;font-style:italic;color:var(--text-medium);font-size:0.9rem;line-height:1.6;margin:1rem 0;padding:1rem;border-left:3px solid var(--primary-gold);background:rgba(212,175,55,0.05)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.gothic-header h1{font-size:2rem}.fantasy-card{padding:1rem}.mystical-btn,.mystical-btn-secondary{padding:0.6rem 1.2rem;font-size:0.8rem}.fantasy-nav-link{padding:0.4rem 0.8rem;font-size:0.8rem}.filter-section{padding:1rem}.filter-group{flex-direction:column;gap:0.5rem}.filter-group-horizontal{flex-direction:column;gap:0.5rem}.filter-item{flex-direction:column;align-items:flex-start}.section-toggles{justify-content:center}.clear-filters-btn{margin-left:0;margin-top:1rem}.filter-group{flex-direction:column}.rules-grid,.lore-sections{grid-template-columns:1fr}.section-header{font-size:1.5rem;padding:1.5rem 0 1rem;margin-bottom:2rem}.section-header h2{font-size:1.4rem}.section{margin-bottom:3rem;padding:0 0 1.5rem 0}.lore-grid{padding:0 1rem;gap:1rem}.spells-grid{grid-template-columns:1fr;gap:1rem;padding:0 1rem}.spell-meta-grid{grid-template-columns:1fr;gap:0.5rem;padding:0.75rem}.spell-meta-grid .meta-item{padding:0.4rem}.traits-grid{grid-template-columns:1fr;gap:1rem;padding:0 1rem}.trait-meta-grid{grid-template-columns:1fr;gap:0.5rem;padding:0.75rem}.trait-meta-grid .meta-item{padding:0.4rem}.professions-grid{grid-template-columns:1fr;gap:1rem;padding:0 1rem}.profession-meta-grid{grid-template-columns:1fr;gap:0.5rem;padding:0.75rem}.profession-meta-grid .meta-item{padding:0.4rem}.boons-grid{grid-template-columns:1fr;gap:1rem;padding:0 1rem}.boon-card{min-height:180px}.boon-description-full{font-size:0.85rem}.main-content{padding:1rem}.nav-buttons{flex-direction:column;gap:0.5rem}.rule-meta-grid,.lore-meta-grid{grid-template-columns:1fr;gap:0.75rem;padding:1rem;margin-top:1rem}.rule-meta-grid .meta-item{padding:0.5rem}.meta-label{font-size:0.7rem}.meta-value{font-size:0.85rem}}select option,select.fantasy-input option,select.form-control option,select.filter-select option{background-color:var(--deep-crimson) !important;color:var(--text-light) !important;padding:8px 12px !important}@-moz-document url-prefix(){select option{background-color:#0d0510 !important;color:#e0e0e0 !important}}@media screen and (-webkit-min-device-pixel-ratio: 0){select option{background-color:#0d0510 !important;color:#e0e0e0 !important}select option:checked{background-color:#d4af37 !important;color:#0d0510 !important}}select{background-color:rgba(0,0,0,0.3) !important;color:var(--text-light) !important}*{margin:0;padding:0;box-sizing:border-box}*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:14px}body{font-family:'Cinzel', 'Georgia', serif;line-height:1.5;overflow-x:hidden;background:linear-gradient(135deg, #0d0510 0%, #1a0a1a 50%, #2a0a1a 100%);color:#e0e0e0;transition:all 0.3s ease}.page-transition{opacity:1;transform:translateY(0);animation:fadeInUp 0.4s ease-out;padding-top:60px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(13,5,16,0.8)}::-webkit-scrollbar-thumb{background:linear-gradient(135deg, #d4af37, gold);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg, gold, #d4af37)}::selection{background:rgba(212,175,55,0.3);color:#fff}::-moz-selection{background:rgba(212,175,55,0.3);color:#fff}*:focus{outline:2px solid #d4af37;outline-offset:2px}.container{max-width:1000px;margin:0 auto;padding:0 15px;padding-top:15px}h1,h2,h3,h4,h5,h6{font-family:'Cinzel', 'Georgia', serif;font-weight:600;line-height:1.2;margin-bottom:0.75rem;color:#d4af37}p{margin-bottom:0.75rem;color:#b8b8b8}a{color:#d4af37;text-decoration:none;transition:all 0.3s ease}a:hover{color:#ffd700;text-shadow:0 0 8px rgba(255,215,0,0.5)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%,100%{text-shadow:0 0 5px rgba(212,175,55,0.3)}50%{text-shadow:0 0 10px rgba(212,175,55,0.5)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}.animate-fade-in{opacity:1;animation:fadeIn 0.4s ease-out}.animate-fade-in-up{opacity:1;transform:translateY(0);animation:fadeInUp 0.4s ease-out}.animate-fade-in-down{opacity:1;transform:translateY(0);animation:fadeInDown 0.4s ease-out}.animate-scale-in{opacity:1;transform:scale(1);animation:scaleIn 0.4s ease-out}.animate-glow{animation:glow 2s ease-in-out infinite alternate}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.hover-lift{transition:transform 0.3s ease, box-shadow 0.3s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.hover-glow{transition:text-shadow 0.3s ease}.hover-glow:hover{text-shadow:0 0 10px rgba(212,175,55,0.5)}.hover-scale{transition:transform 0.3s ease}.hover-scale:hover{transform:scale(1.02)}.stagger-animation>*{opacity:1;transform:translateY(0);animation:fadeInUp 0.4s ease-out}.stagger-animation>*:nth-child(1){animation-delay:0.1s}.stagger-animation>*:nth-child(2){animation-delay:0.2s}.stagger-animation>*:nth-child(3){animation-delay:0.3s}.stagger-animation>*:nth-child(4){animation-delay:0.4s}.stagger-animation>*:nth-child(5){animation-delay:0.5s}.animate-delay-1{animation-delay:0.1s}.animate-delay-2{animation-delay:0.2s}.animate-delay-3{animation-delay:0.3s}.animate-delay-4{animation-delay:0.4s}.animate-delay-5{animation-delay:0.5s}.container{max-width:1000px;margin:0 auto;padding:0 var(--spacing-md);padding-top:var(--spacing-md)}.container-wide{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-fluid{width:100%;padding:0 var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1, 1fr)}.grid-cols-2{grid-template-columns:repeat(2, 1fr)}.grid-cols-3{grid-template-columns:repeat(3, 1fr)}.grid-cols-4{grid-template-columns:repeat(4, 1fr)}.grid-auto-fit{grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.m-6{margin:var(--spacing-xxl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mt-6{margin-top:var(--spacing-xxl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.mb-6{margin-bottom:var(--spacing-xxl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.p-6{padding:var(--spacing-xxl)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes glow{0%{text-shadow:0 0 10px var(--glow-gold),0 0 20px var(--glow-gold),0 0 30px var(--glow-gold)}100%{text-shadow:0 0 20px var(--glow-gold-strong),0 0 30px var(--glow-gold-strong),0 0 40px var(--glow-gold-strong)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,100%{transform:translateY(0)}40%,43%{transform:translateY(-10px)}70%{transform:translateY(-5px)}90%{transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}.animate-fade-in{animation:fadeIn 0.6s ease-out}.animate-fade-in-up{animation:fadeInUp 0.6s ease-out}.animate-fade-in-down{animation:fadeInDown 0.6s ease-out}.animate-slide-in-left{animation:slideInLeft 0.6s ease-out}.animate-slide-in-right{animation:slideInRight 0.6s ease-out}.animate-glow{animation:glow 2s ease-in-out infinite alternate}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.stagger-animation{animation:fadeInUp 0.6s ease-out}.stagger-animation:nth-child(1){animation-delay:0.1s}.stagger-animation:nth-child(2){animation-delay:0.2s}.stagger-animation:nth-child(3){animation-delay:0.3s}.stagger-animation:nth-child(4){animation-delay:0.4s}.stagger-animation:nth-child(5){animation-delay:0.5s}.stagger-animation:nth-child(6){animation-delay:0.6s}.hover-lift{transition:transform var(--transition-normal)}.hover-lift:hover{transform:translateY(-5px)}.hover-scale{transition:transform var(--transition-normal)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:all var(--transition-normal)}.hover-glow:hover{box-shadow:0 0 20px var(--glow-gold)}.js-hover-elevated{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.js-hover-normal{transform:translateY(0);box-shadow:none}.js-hover-subtle{transform:translateY(-1px)}.js-fade-in-visible{opacity:1;transform:translateY(0)}.js-fade-in-hidden{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.js-arrow-rotated{transform:rotate(180deg)}.js-arrow-normal{transform:rotate(0deg)}.page-transition{animation:fadeIn 0.5s ease-out}.loading-spinner{width:40px;height:40px;border:4px solid rgba(212,175,55,0.3);border-top:4px solid var(--primary-gold);border-radius:50%;animation:spin 1s linear infinite;margin:20px auto}.loading-dots{display:inline-block}.loading-dots::after{content:'';animation:loadingDots 2s infinite}@keyframes loadingDots{0%,20%{content:''}40%{content:'.'}60%{content:'..'}80%,100%{content:'...'}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}.animate-glow,.animate-pulse,.animate-bounce,.animate-float{animation:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-navbar);background:rgba(13,5,16,0.98);backdrop-filter:blur(20px);border-bottom:2px solid rgba(212,175,55,0.3);transition:all var(--transition-normal);animation:fadeInDown 0.6s ease-out;box-shadow:0 2px 20px var(--shadow-color)}.nav-container{max-width:1000px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-between;align-items:center;height:60px;position:relative}.nav-logo{display:flex;align-items:center;margin-right:24px}.nav-logo .logo-link{display:block;text-decoration:none}.nav-logo .logo-image{height:40px;width:auto;transition:all var(--transition-normal);filter:drop-shadow(2px 2px 4px var(--shadow-color))}.nav-logo .logo-image:hover{transform:scale(1.05);filter:drop-shadow(2px 2px 8px var(--glow-gold))}.nav-links{display:flex;gap:20px;align-items:center;position:relative;z-index:var(--z-navbar)}.nav-link{color:var(--primary-gold);text-decoration:none;font-weight:600;font-family:var(--font-decorative);transition:all var(--transition-normal);position:relative;padding:0.6rem 1.2rem;border-radius:var(--radius-md);text-shadow:0 0 8px var(--glow-gold-strong);background:rgba(212,175,55,0.15);border:1px solid rgba(212,175,55,0.4);white-space:nowrap;font-size:0.95rem;letter-spacing:0.5px}.nav-link::after{content:'';position:absolute;bottom:-5px;left:50%;width:0;height:2px;background:var(--primary-gold);transition:all var(--transition-normal);transform:translateX(-50%)}.nav-link:hover,.nav-link:focus{color:var(--primary-gold);transform:translateY(-2px);text-shadow:0 0 12px var(--glow-gold);background:rgba(212,175,55,0.25);border-color:var(--primary-gold);box-shadow:0 6px 20px var(--glow-gold)}.nav-link:hover::after,.nav-link:focus::after{width:80%}.nav-dropdown{position:relative}.nav-dropdown-btn{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.nav-dropdown-content{position:absolute;top:100%;left:0;background:rgba(13,5,16,0.98);backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-md);min-width:200px;box-shadow:0 8px 32px var(--shadow-color);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-normal);z-index:var(--z-dropdown)}.nav-dropdown.active .nav-dropdown-content{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-link{display:block;padding:0.75rem 1rem;color:var(--text-light);text-decoration:none;transition:all var(--transition-normal);border-bottom:1px solid rgba(212,175,55,0.1)}.dropdown-link:hover,.dropdown-link:focus{background:rgba(212,175,55,0.1);color:var(--primary-gold);transform:translateX(5px)}.dropdown-link:last-child{border-bottom:none}.mobile-menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:5px}.hamburger-line{width:25px;height:3px;background:var(--primary-gold);margin:3px 0;transition:all var(--transition-normal);border-radius:2px}.mobile-menu-btn.active .hamburger-line:nth-child(1){transform:rotate(-45deg) translate(-5px, 6px)}.mobile-menu-btn.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:rotate(45deg) translate(-5px, -6px)}@media (max-width: 768px){.nav-container{padding:0 10px}.nav-logo{margin-right:15px}.nav-logo .logo-image{height:35px}.mobile-menu-btn{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:88vw;height:100vh;background:rgba(13,5,16,0.98);backdrop-filter:blur(10px);border-left:1px solid rgba(212,175,55,0.25);box-shadow:-5px 0 20px var(--shadow-color);display:flex;flex-direction:column;gap:0;padding:72px 16px 16px;transition:right var(--transition-normal);z-index:999;overflow-y:auto}.nav-links.active{right:0}.nav-link{display:block;width:100%;padding:12px 12px;margin:6px 0;border:1px solid rgba(212,175,55,0.25);border-radius:10px;background:rgba(212,175,55,0.08);text-shadow:none;box-shadow:none;font-size:1rem}.nav-link:last-child{border-bottom:none}.nav-dropdown{position:static;width:100%;margin:0}.nav-dropdown-btn{width:100%;justify-content:space-between;padding:12px 12px;margin:6px 0;border:1px solid rgba(212,175,55,0.25);border-radius:10px;background:rgba(212,175,55,0.08)}.nav-dropdown-content{position:static;top:auto;left:auto;background:transparent;border:none;box-shadow:none;padding-left:8px}.dropdown-link{padding:10px 12px;border:none}}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:12px 24px;border:none;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:0.9rem;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;transition:all var(--transition-slow);position:relative;overflow:hidden;justify-content:center;cursor:pointer;min-width:150px}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);transition:left 0.5s}.btn:hover::before{left:100%}.btn-primary{background:linear-gradient(135deg, #2a1f0f 0%, #3d2b1a 100%);color:var(--primary-gold);box-shadow:0 4px 15px var(--glow-gold);text-shadow:0 0 8px rgba(212,175,55,0.5)}.btn-primary:hover,.btn-primary:focus{transform:translateY(-3px);box-shadow:0 8px 25px var(--glow-gold);color:var(--secondary-gold);text-shadow:0 0 12px rgba(212,175,55,0.8)}.btn-secondary{background:transparent;color:var(--primary-gold);border:2px solid var(--primary-gold);backdrop-filter:blur(10px)}.btn-secondary:hover,.btn-secondary:focus{background:var(--primary-gold);color:#2a1f0f;transform:translateY(-3px);box-shadow:0 8px 25px var(--glow-gold)}.btn-outline{background:transparent;color:var(--text-light);border:1px solid var(--text-medium)}.btn-outline:hover,.btn-outline:focus{background:var(--text-light);color:#2a1f0f;border-color:var(--text-light)}.btn-danger{background:linear-gradient(135deg, var(--accent-red), brown);color:white;border:1px solid var(--accent-red)}.btn-danger:hover,.btn-danger:focus{background:linear-gradient(135deg, brown, var(--accent-red));transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,0,0,0.4)}.btn-success{background:linear-gradient(135deg, var(--accent-green), #4CAF50);color:white;border:1px solid var(--accent-green)}.btn-success:hover,.btn-success:focus{background:linear-gradient(135deg, #4CAF50, var(--accent-green));transform:translateY(-2px);box-shadow:0 4px 12px rgba(45,80,22,0.4)}.btn-sm{padding:8px 16px;font-size:0.8rem;min-width:120px}.btn-lg{padding:16px 32px;font-size:1rem;min-width:180px}.btn-xl{padding:20px 40px;font-size:1.1rem;min-width:220px}.btn-icon{font-size:1.2rem;transition:transform var(--transition-normal)}.btn:hover .btn-icon{transform:translateX(5px)}.mystical-btn{background:linear-gradient(135deg, rgba(212,175,55,0.2) 0%, rgba(212,175,55,0.1) 100%);border:1px solid rgba(212,175,55,0.4);color:var(--primary-gold);backdrop-filter:blur(10px);text-shadow:0 0 10px var(--glow-gold)}.mystical-btn:hover,.mystical-btn:focus{background:rgba(212,175,55,0.3);border-color:var(--primary-gold);color:var(--secondary-gold);text-shadow:0 0 15px var(--glow-gold-strong);transform:translateY(-2px);box-shadow:0 8px 20px var(--glow-gold)}.feature-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-xl);color:var(--primary-gold);text-decoration:none;font-family:var(--font-primary);font-weight:600;font-size:0.8rem;text-transform:uppercase;letter-spacing:1px;transition:all var(--transition-normal);backdrop-filter:blur(10px)}.feature-btn:hover,.feature-btn:focus{background:rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.5);transform:translateY(-2px);box-shadow:0 8px 20px var(--glow-gold);color:var(--secondary-gold)}.btn-arrow{transition:transform var(--transition-normal)}.feature-btn:hover .btn-arrow,.feature-btn:focus .btn-arrow{transform:translateX(3px)}.btn:disabled,.btn.disabled{opacity:0.6;cursor:not-allowed;transform:none !important;box-shadow:none !important}.btn:disabled:hover,.btn.disabled:hover{transform:none;box-shadow:none}.btn.loading{position:relative;color:transparent}.btn.loading::after{content:'';position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:linear-gradient(145deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.05) 100%);border:1px solid rgba(212,175,55,0.15);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-slow);position:relative;overflow:hidden;backdrop-filter:blur(15px);box-shadow:0 8px 32px var(--shadow-color)}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, var(--primary-gold), transparent);transform:scaleX(0);transition:transform var(--transition-slow)}.card:hover{transform:translateY(-8px);border-color:rgba(212,175,55,0.4);box-shadow:0 20px 40px var(--shadow-color)}.card:hover::before{transform:scaleX(1)}.feature-card{background:linear-gradient(145deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.05) 100%);padding:20px 18px;border-radius:var(--radius-lg);border:1px solid rgba(212,175,55,0.15);transition:all var(--transition-slow);position:relative;overflow:hidden;backdrop-filter:blur(15px);animation:fadeInUp 1s ease-out 0.4s both;box-shadow:0 8px 32px var(--shadow-color)}.feature-card.feature-primary{border-color:rgba(212,175,55,0.25);background:linear-gradient(145deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 50%, rgba(212,175,55,0.08) 100%)}.feature-card.feature-secondary{border-color:rgba(232,232,232,0.15);background:linear-gradient(145deg, rgba(232,232,232,0.05) 0%, rgba(232,232,232,0.02) 50%, rgba(232,232,232,0.05) 100%)}.feature-card.feature-accent{border-color:rgba(139,69,19,0.3);background:linear-gradient(145deg, rgba(139,69,19,0.08) 0%, rgba(139,69,19,0.03) 50%, rgba(139,69,19,0.08) 100%)}.fantasy-card{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin:var(--spacing-xl) 0;backdrop-filter:blur(10px);animation:fadeInUp 0.6s ease-out}.rule-card,.lore-card{background:linear-gradient(145deg, rgba(13,5,16,0.9), rgba(26,10,26,0.8));border:1px solid rgba(212,175,55,0.2);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-slow);backdrop-filter:blur(10px);box-shadow:0 4px 20px var(--shadow-color)}.rule-card:hover,.lore-card:hover{transform:translateY(-5px);border-color:rgba(212,175,55,0.4);box-shadow:0 8px 30px var(--shadow-color)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(212,175,55,0.2)}.card-title{color:var(--primary-gold);font-size:1.1rem;margin-bottom:var(--spacing-sm);font-weight:600;font-family:var(--font-primary)}.card-subtitle{color:var(--text-medium);font-size:0.9rem;margin-bottom:0}.card-body{margin-bottom:var(--spacing-lg)}.card-text{color:rgba(232,232,232,0.85);line-height:1.5;margin-bottom:var(--spacing-md);text-shadow:0 0 8px rgba(0,0,0,0.8);font-size:0.85rem;font-family:var(--font-secondary)}.card-footer{margin-top:auto}.card-icon,.feature-icon{font-size:2rem;margin-bottom:12px;display:block;transition:transform var(--transition-normal)}.card:hover .card-icon,.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.session-sheet{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-lg);padding:var(--spacing-xl);backdrop-filter:blur(10px);animation:fadeInUp 0.6s ease-out}.character-sheet{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin:var(--spacing-xl) 0;backdrop-filter:blur(10px);animation:fadeInUp 0.6s ease-out}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:20px;margin:var(--spacing-xl) 0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:20px;max-width:1000px;margin:0 auto;padding:0 var(--spacing-md)}.feature-card:nth-child(2){animation-delay:0.6s}.feature-card:nth-child(3){animation-delay:0.8s}.feature-card:nth-child(4){animation-delay:1.0s}.feature-card:nth-child(5){animation-delay:1.2s}.feature-card:nth-child(6){animation-delay:1.4s}.pbp-session{border-color:rgba(138,43,226,0.3) !important;background:linear-gradient(145deg, rgba(138,43,226,0.08) 0%, rgba(138,43,226,0.03) 50%, rgba(138,43,226,0.08) 100%) !important}.pbp-session:hover{border-color:rgba(138,43,226,0.5) !important;box-shadow:0 20px 40px rgba(138,43,226,0.2) !important}.pbp-badge{display:inline-block;background:linear-gradient(135deg, rgba(138,43,226,0.8) 0%, rgba(138,43,226,0.6) 100%);color:white;font-size:0.7rem;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);margin-left:8px;text-transform:uppercase;letter-spacing:0.5px;font-family:var(--font-primary);box-shadow:0 0 10px rgba(138,43,226,0.5)}.pbp-indicator{color:rgba(138,43,226,0.9);font-size:0.8rem;font-weight:500;font-family:var(--font-primary);text-shadow:0 0 5px rgba(138,43,226,0.5)}@media (max-width: 768px){.features-grid,.cards-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.card,.feature-card,.fantasy-card{padding:var(--spacing-md)}}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);color:var(--primary-gold);font-weight:600;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:0.5px;font-size:0.9rem}.form-control{width:100%;padding:12px 16px;background:rgba(255,255,255,0.05);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-md);color:var(--text-light);font-family:var(--font-secondary);font-size:1rem;transition:all var(--transition-normal);backdrop-filter:blur(10px)}.form-control:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 0 2px var(--glow-gold);background:rgba(255,255,255,0.08)}.form-control::placeholder{color:var(--text-medium);opacity:0.7}.form-control-sm{padding:8px 12px;font-size:0.875rem}.form-control-lg{padding:16px 20px;font-size:1.125rem}textarea.form-control{resize:vertical;min-height:120px}select.form-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23d4af37' viewBox='0 0 16 16'%3e%3cpath d='m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px;appearance:none}select.form-control option{background:var(--deep-crimson);color:var(--text-light);padding:8px 12px}select.form-control option:checked{background:var(--primary-gold);color:var(--deep-crimson)}.form-check{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-check-input{width:18px;height:18px;margin:0;background:rgba(255,255,255,0.05);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-sm);transition:all var(--transition-normal)}.form-check-input:checked{background:var(--primary-gold);border-color:var(--primary-gold)}.form-check-input[type="radio"]{border-radius:50%}.form-check-label{color:var(--text-light);font-family:var(--font-secondary);margin:0;cursor:pointer}.form-control.is-valid{border-color:var(--accent-green);box-shadow:0 0 0 2px rgba(45,80,22,0.3)}.form-control.is-invalid{border-color:var(--accent-red);box-shadow:0 0 0 2px rgba(139,0,0,0.3)}.valid-feedback{display:block;color:var(--accent-green);font-size:0.875rem;margin-top:var(--spacing-xs)}.invalid-feedback{display:block;color:var(--accent-red);font-size:0.875rem;margin-top:var(--spacing-xs)}.form-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-col{flex:1}.form-col-auto{flex:0 0 auto}.input-group{display:flex;align-items:stretch}.input-group .form-control{border-radius:0}.input-group .form-control:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.input-group .form-control:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.input-group-text{display:flex;align-items:center;padding:12px 16px;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);color:var(--primary-gold);font-weight:600}.filter-section{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);position:relative}.filter-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.filter-item{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-label{color:var(--primary-gold);font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:var(--spacing-xs)}.ability-error-message{background:rgba(139,0,0,0.2);border:1px solid var(--accent-red);color:var(--accent-red);padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.ability-error-message-hidden{display:none}.form-text{font-size:0.875rem;color:var(--text-medium);margin-top:var(--spacing-xs)}@media (max-width: 768px){.form-row{flex-direction:column;gap:var(--spacing-md)}.filter-group{flex-direction:column;gap:var(--spacing-md)}.input-group{flex-direction:column}.input-group .form-control{border-radius:var(--radius-md)}}:root{--admin-bg-primary: rgba(25, 25, 25, 0.95);--admin-bg-secondary: rgba(35, 35, 35, 0.9);--admin-bg-card: rgba(45, 45, 45, 0.95);--admin-border: rgba(212, 175, 55, 0.3);--admin-border-hover: rgba(212, 175, 55, 0.6);--admin-text-primary: #ffffff;--admin-text-secondary: #e0e0e0;--admin-text-muted: #b0b0b0;--admin-gold: #d4af37;--admin-gold-hover: #f4cf67;--admin-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);--admin-shadow-hover: 0 8px 30px rgba(212, 175, 55, 0.2)}.npc-management-container{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.npc-section{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:20px}.npc-section h3{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.3rem;margin-bottom:20px;border-bottom:1px solid rgba(212,175,55,0.2);padding-bottom:10px}.npc-grid{display:grid;gap:15px}.npc-card{background:rgba(30,30,30,0.9);border:1px solid rgba(212,175,55,0.2);border-radius:8px;padding:15px;transition:all 0.3s ease}.npc-card:hover{border-color:var(--primary-gold);transform:translateY(-1px);box-shadow:0 4px 15px rgba(212,175,55,0.1)}.npc-card.available-npc{border-color:rgba(34,197,94,0.3)}.npc-card.available-npc:hover{border-color:var(--success-green)}.npc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.npc-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-light)}.npc-link{color:var(--primary-gold);text-decoration:none;transition:color 0.3s ease}.npc-link:hover{color:var(--text-light);text-decoration:underline}.npc-actions{display:flex;gap:8px}.npc-notes{background:rgba(212,175,55,0.1);border-left:3px solid var(--primary-gold);padding:8px 12px;margin:10px 0;border-radius:4px;font-size:0.9rem;color:var(--text-medium)}.npc-excerpt{color:var(--text-medium);font-size:0.9rem;line-height:1.4;margin-top:10px}.npc-add-form{margin-top:15px;padding-top:15px;border-top:1px solid rgba(212,175,55,0.1)}.npc-form{display:flex;flex-direction:column;gap:10px}.npc-form .form-group{margin-bottom:0}.npc-form .form-label{font-size:0.9rem;margin-bottom:5px}.npc-form .form-textarea{font-size:0.85rem;min-height:60px}.npc-count{font-size:0.9rem;color:var(--text-medium)}.npc-list{margin-top:5px}.npc-tag{display:inline-block;background:rgba(212,175,55,0.2);color:var(--primary-gold);padding:2px 8px;border-radius:12px;font-size:0.8rem;margin:2px}.no-content{color:var(--text-medium);font-style:italic;text-align:center;padding:20px}@media (max-width: 768px){.npc-management-container{grid-template-columns:1fr;gap:20px}.npc-header{flex-direction:column;align-items:flex-start;gap:10px}.npc-actions{width:100%;justify-content:flex-end}}.admin-link{background:linear-gradient(135deg, #2a1f0f 0%, #3d2b1a 100%) !important;color:var(--primary-gold) !important;border:1px solid var(--primary-gold) !important;text-shadow:0 0 8px var(--glow-gold) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:0.5px !important}.admin-link:hover{background:linear-gradient(135deg, #3d2b1a 0%, #2a1f0f 100%) !important;color:var(--secondary-gold) !important;border-color:var(--secondary-gold) !important;text-shadow:0 0 12px var(--glow-gold-strong) !important;transform:translateY(-1px) !important;box-shadow:0 4px 15px rgba(212,175,55,0.3) !important}.admin-section{margin:40px 0;padding-top:20px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:25px;margin-bottom:40px}.admin-card{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;overflow:hidden;transition:all 0.3s ease}.admin-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.1)}.admin-card-header{background:rgba(212,175,55,0.1);border-bottom:1px solid rgba(212,175,55,0.2);padding:20px}.admin-card-title{font-size:1.2rem;font-weight:700;color:var(--text-light);margin-bottom:5px;font-family:'Cinzel', serif;letter-spacing:1px}.admin-card-subtitle{color:var(--text-medium);font-size:0.9rem}.admin-card-content{padding:20px}.admin-links{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.admin-link{color:var(--primary-gold);text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(212,175,55,0.1);transition:all 0.3s ease;font-weight:500}.admin-link:hover{color:var(--text-light);border-bottom-color:var(--primary-gold);padding-left:10px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(212,175,55,0.2)}.admin-title{font-size:1.5rem;font-weight:700;color:var(--text-light);font-family:'Cinzel', serif;letter-spacing:1px}.admin-actions{display:flex;gap:10px}.admin-table-container{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:rgba(212,175,55,0.1);color:var(--primary-gold);font-weight:600;text-align:left;padding:15px;border-bottom:1px solid rgba(212,175,55,0.2);text-transform:uppercase;letter-spacing:1px;font-size:0.9rem}.admin-table td{padding:15px;border-bottom:1px solid rgba(212,175,55,0.1);color:var(--text-light)}.admin-table tr:hover{background:rgba(212,175,55,0.05)}.admin-table tr.admin-row{background:rgba(139,0,0,0.1)}.admin-table tr.admin-row:hover{background:rgba(139,0,0,0.15)}.admin-badge{background:var(--accent-red);color:white;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;text-transform:uppercase}.admin-badge.draft{background:linear-gradient(135deg, #8b4513, #d2691e);color:white;padding:4px 8px;border-radius:6px;font-size:0.8rem;font-weight:600}.admin-badge.complete{background:linear-gradient(135deg, #228b22, #32cd32);color:white;padding:4px 8px;border-radius:6px;font-size:0.8rem;font-weight:600}.admin-form-container{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:30px;max-width:600px}.admin-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{color:var(--text-light);font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:1px}.form-input,.form-textarea{background:rgba(40,40,40,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:6px;padding:12px 15px;color:var(--text-light);font-size:1rem;transition:all 0.3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 10px rgba(212,175,55,0.2)}.form-textarea{resize:vertical;min-height:120px}.form-actions{display:flex;gap:15px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(212,175,55,0.2)}.checkbox-group{display:flex;align-items:flex-start;gap:0.5rem}.form-checkbox{margin-top:0.25rem}.form-help{color:var(--text-medium);font-size:0.875rem;margin-top:0.25rem;display:block}.weapon-damage-display,.protection-display{display:flex;flex-direction:column;gap:0.25rem}.weapon-damage-display strong,.protection-display strong{color:var(--admin-gold);font-size:1.1rem}.damage-explanation,.protection-explanation{color:var(--admin-text-muted);font-size:0.8rem;font-style:italic}.equipment-stats{display:flex;flex-direction:column;gap:0.25rem}.equipment-stats .stat{display:flex;align-items:center;gap:0.5rem;font-size:0.85rem;font-weight:600}.equipment-stats .stat.damage{color:#ff6b6b}.equipment-stats .stat.range{color:#4ecdc4}.equipment-stats .stat.protection{color:#45b7d1}.equipment-stats .stat i{font-size:0.8rem}.no-stats{color:var(--admin-text-muted);font-style:italic}.form-input-static{background:rgba(50,50,50,0.5);border:1px solid var(--gold-light);border-radius:6px;padding:0.75rem 1rem;color:#e0e0e0;font-family:inherit;min-height:2.5rem;display:flex;align-items:center}.admin-body{background:linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #1d1d1d 100%);background-attachment:fixed;min-height:100vh;font-family:'Crimson Text', serif;color:#e0e0e0;margin:0;padding:0}.admin-body .navbar,.admin-body .nav-container,.admin-body .nav-links{display:none !important}.admin-body .admin-nav{display:flex !important;visibility:visible !important}.admin-nav{background:rgba(26,26,26,0.98);backdrop-filter:blur(15px);border-bottom:2px solid var(--primary-gold);box-shadow:0 4px 20px rgba(0,0,0,0.6);position:fixed;top:0;left:0;right:0;z-index:1000}.admin-nav-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;min-height:70px}.admin-nav-left{display:flex;align-items:center;gap:2rem}.admin-logo{display:flex;align-items:center;gap:1rem}.admin-logo-img{height:40px;width:auto}.admin-logo-text{color:var(--primary-gold);font-family:'Cinzel Decorative', serif;font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px var(--glow-gold)}.back-to-site-btn{color:#e0e0e0;text-decoration:none;font-weight:600;padding:0.5rem 1rem;border:1px solid var(--gold-light);border-radius:6px;transition:all 0.3s ease;background:rgba(212,175,55,0.1)}.back-to-site-btn:hover{color:var(--primary-gold);background:rgba(212,175,55,0.2);border-color:var(--primary-gold);text-shadow:0 0 10px var(--glow-gold)}.admin-nav-links{display:flex;align-items:center;gap:1.5rem}.admin-nav-link{color:#e0e0e0;text-decoration:none;font-weight:600;padding:0.5rem 1rem;border-radius:6px;transition:all 0.3s ease;border:1px solid transparent}.admin-nav-link:hover,.admin-nav-link.active{color:var(--primary-gold);background:rgba(212,175,55,0.1);border-color:var(--gold-light);text-shadow:0 0 10px var(--glow-gold)}.admin-nav-dropdown{position:relative;z-index:1001}.admin-nav-dropdown-btn{background:none;border:1px solid var(--gold-light);color:#e0e0e0;font-weight:600;padding:0.5rem 1rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:0.5rem;font-family:inherit;user-select:none;pointer-events:auto;z-index:1002}.admin-nav-dropdown-btn:hover{color:var(--primary-gold);background:rgba(212,175,55,0.1);border-color:var(--primary-gold);text-shadow:0 0 10px var(--glow-gold)}.admin-nav-dropdown-btn.active{color:var(--primary-gold);background:rgba(212,175,55,0.2);border-color:var(--primary-gold)}.dropdown-arrow{font-size:0.8rem;transition:transform 0.3s ease}.admin-nav-dropdown-btn.active .dropdown-arrow{transform:rotate(180deg)}.admin-nav-dropdown-content{position:absolute;top:100%;left:0;background:rgba(50,50,50,0.95);backdrop-filter:blur(10px);border:1px solid var(--gold-light);border-radius:6px;min-width:200px;box-shadow:0 8px 25px rgba(0,0,0,0.5);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.3s ease;z-index:1001}.admin-nav-dropdown-content.active{opacity:1;visibility:visible;transform:translateY(0)}.admin-dropdown-link{display:block;color:#e0e0e0;text-decoration:none;padding:0.75rem 1rem;transition:all 0.3s ease;border-bottom:1px solid rgba(212,175,55,0.1)}.admin-dropdown-link:hover{color:var(--primary-gold);background:rgba(212,175,55,0.1);text-shadow:0 0 10px var(--glow-gold)}.admin-dropdown-link:last-child{border-bottom:none}.admin-dropdown-link.disabled{color:var(--text-medium);cursor:not-allowed;opacity:0.6}.admin-dropdown-link.disabled:hover{color:var(--text-medium);background:none;text-shadow:none}.admin-nav-right{display:flex;align-items:center;gap:1rem}.admin-user-info{display:flex;align-items:center;gap:0.75rem;padding:0.5rem 1rem;background:rgba(45,45,45,0.8);border-radius:8px;border:1px solid rgba(212,175,55,0.2)}.admin-user-name{color:var(--admin-text-primary);font-weight:600;font-size:0.95rem;text-shadow:0 1px 2px rgba(0,0,0,0.5)}.admin-badge{color:var(--admin-gold);font-size:0.8rem;font-weight:700;text-shadow:0 0 8px var(--admin-gold);background:rgba(212,175,55,0.1);padding:0.25rem 0.5rem;border-radius:4px;border:1px solid rgba(212,175,55,0.3)}.admin-logout-btn{background:linear-gradient(135deg, var(--admin-gold), #b8941f);border:1px solid var(--admin-gold);color:#1a1a1a;font-weight:600;padding:0.5rem 1rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;font-family:inherit;font-size:0.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;box-shadow:0 2px 8px rgba(212,175,55,0.3);text-shadow:0 1px 2px rgba(0,0,0,0.2)}.admin-logout-btn:hover{color:#1a1a1a;background:linear-gradient(135deg, #f4cf67, var(--admin-gold));border-color:#f4cf67;text-shadow:0 0 8px rgba(26,26,26,0.3);box-shadow:0 4px 12px rgba(212,175,55,0.4);transform:translateY(-1px)}.admin-main{padding:2rem 0;min-height:calc(100vh - 70px)}.admin-container{max-width:1400px;margin:0 auto;padding:0 2rem}.admin-notice{background:rgba(40,167,69,0.15);border:2px solid #28a745;color:#28a745;padding:1.25rem;border-radius:12px;margin-bottom:2rem;text-align:center;font-weight:600;box-shadow:0 4px 15px rgba(40,167,69,0.2);backdrop-filter:blur(10px)}.admin-alert{background:rgba(220,53,69,0.15);border:2px solid #dc3545;color:#dc3545;padding:1.25rem;border-radius:12px;margin-bottom:2rem;text-align:center;font-weight:600;box-shadow:0 4px 15px rgba(220,53,69,0.2);backdrop-filter:blur(10px)}.admin-dashboard{background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:16px;padding:2.5rem;margin-bottom:2rem;box-shadow:var(--admin-shadow);backdrop-filter:blur(10px)}.admin-dashboard-header{text-align:center;margin-bottom:3.5rem;padding-bottom:2rem;border-bottom:1px solid var(--admin-border)}.admin-dashboard-title{color:var(--admin-gold);font-family:'Cinzel', serif;font-size:3rem;font-weight:700;text-transform:uppercase;letter-spacing:4px;text-shadow:0 0 25px rgba(212,175,55,0.5);margin-bottom:1rem;line-height:1.2}.admin-dashboard-subtitle{color:var(--admin-text-secondary);font-size:1.2rem;font-style:italic;font-weight:400;opacity:0.9}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:2rem;margin-bottom:4rem}.admin-stat-card{background:var(--admin-bg-card);border:2px solid var(--admin-border);border-radius:12px;padding:2rem 1.5rem;text-align:center;transition:all 0.3s ease;position:relative;overflow:hidden}.admin-stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--admin-gold), var(--admin-gold-hover));transform:scaleX(0);transition:transform 0.3s ease}.admin-stat-card:hover{border-color:var(--admin-border-hover);transform:translateY(-4px);box-shadow:var(--admin-shadow-hover)}.admin-stat-card:hover::before{transform:scaleX(1)}.admin-stat-number{color:var(--admin-gold);font-size:3rem;font-weight:700;font-family:'Cinzel', serif;text-shadow:0 0 20px rgba(212,175,55,0.4);margin-bottom:0.75rem;line-height:1}.admin-stat-label{color:var(--admin-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:0.9rem}.admin-actions{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin-bottom:3rem}.admin-action-btn{background:linear-gradient(135deg, var(--primary-gold) 0%, #b8941f 100%);color:#000;text-decoration:none;font-weight:700;padding:1rem 1.5rem;border-radius:8px;text-align:center;transition:all 0.3s ease;border:none;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:1px}.admin-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.4);text-shadow:0 0 10px rgba(0,0,0,0.5)}.admin-recent-section{background:rgba(50,50,50,0.9);border:1px solid var(--gold-light);border-radius:8px;padding:2rem}.admin-recent-title{color:var(--primary-gold);font-family:'Cinzel Decorative', serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:1.5rem;border-bottom:2px solid var(--gold-light);padding-bottom:0.5rem}.admin-recent-item{background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:8px;padding:1.25rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;transition:all 0.3s ease}.admin-recent-item:hover{border-color:var(--admin-border-hover);background:rgba(45,45,45,0.95);transform:translateX(4px)}.admin-recent-item:last-child{margin-bottom:0}.admin-recent-info{flex:1;margin-right:1rem}.admin-recent-name{color:var(--admin-text-primary);font-weight:600;margin-bottom:0.5rem;font-size:1.1rem}.admin-recent-meta{color:var(--admin-text-muted);font-size:0.9rem;line-height:1.4}.admin-recent-actions{display:flex;gap:0.75rem;flex-shrink:0}.admin-btn{padding:0.75rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:0.9rem;transition:all 0.3s ease;border:2px solid;display:inline-flex;align-items:center;justify-content:center;min-width:80px;position:relative;overflow:hidden}.admin-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);transition:left 0.5s ease}.admin-btn:hover::before{left:100%}.admin-btn-primary{background:linear-gradient(135deg, var(--admin-gold), var(--admin-gold-hover));border-color:var(--admin-gold);color:#000;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.admin-btn-primary:hover{background:linear-gradient(135deg, var(--admin-gold-hover), var(--admin-gold));border-color:var(--admin-gold-hover);color:#000;transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,175,55,0.4)}.admin-btn-secondary{background:var(--admin-bg-secondary);border-color:var(--admin-border);color:var(--admin-text-secondary)}.admin-btn-secondary:hover{background:var(--admin-bg-primary);border-color:var(--admin-border-hover);color:var(--admin-text-primary);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.3)}.admin-table{background:rgba(50,50,50,0.9);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,0.3);border:1px solid var(--gold-light);margin-top:24px}.admin-table table{width:100%;border-collapse:collapse}.admin-table th{background:linear-gradient(135deg, var(--dark-gold), var(--gold-light));color:var(--dark-bg);padding:16px 12px;text-align:left;font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px;border-bottom:2px solid var(--gold-light)}.admin-table td{padding:12px;border-bottom:1px solid rgba(212,175,55,0.2);color:#e0e0e0;font-size:0.9rem}.admin-table tr:hover{background:rgba(212,175,55,0.05)}.admin-table tr:last-child td{border-bottom:none}.admin-content{margin-top:24px}.admin-empty-state{text-align:center;padding:48px 24px;color:#b0b0b0;background:rgba(50,50,50,0.9);border-radius:12px;border:1px solid var(--gold-light);margin-top:24px}.admin-empty-state p{font-size:1.1rem;margin:0}.admin-management-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(450px, 1fr));gap:2.5rem;margin-bottom:4rem}.admin-management-section{background:var(--admin-bg-card);border:2px solid var(--admin-border);border-radius:16px;padding:2.5rem;box-shadow:var(--admin-shadow);transition:all 0.3s ease}.admin-management-section:hover{border-color:var(--admin-border-hover);box-shadow:var(--admin-shadow-hover)}.admin-section-title{color:var(--admin-gold);font-family:'Cinzel', serif;font-size:1.8rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:2rem;text-align:center;border-bottom:2px solid var(--admin-border);padding-bottom:1rem;position:relative}.admin-section-title::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:60px;height:2px;background:var(--admin-gold)}.admin-links-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1.5rem}.admin-link-card{background:var(--admin-bg-secondary);border:2px solid var(--admin-border);border-radius:12px;padding:1.75rem 1.5rem;text-align:center;transition:all 0.3s ease;text-decoration:none;color:var(--admin-text-secondary);font-weight:600;font-size:1rem;position:relative;overflow:hidden}.admin-link-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(212,175,55,0.1), transparent);transition:left 0.5s ease}.admin-link-card:hover{border-color:var(--admin-border-hover);transform:translateY(-3px);box-shadow:var(--admin-shadow-hover);color:var(--admin-gold);text-shadow:0 0 8px rgba(212,175,55,0.3)}.admin-link-card:hover::before{left:100%}.admin-recent-activity{background:var(--admin-bg-card);border:2px solid var(--admin-border);border-radius:16px;padding:2.5rem;box-shadow:var(--admin-shadow)}.admin-recent-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:2rem}.admin-recent-section{background:var(--admin-bg-secondary);border:2px solid var(--admin-border);border-radius:12px;padding:2rem;transition:all 0.3s ease}.admin-recent-section:hover{border-color:var(--admin-border-hover);box-shadow:var(--admin-shadow-hover)}.admin-recent-title{color:var(--admin-gold);font-family:'Cinzel', serif;font-size:1.4rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.5rem;text-align:center;border-bottom:2px solid var(--admin-border);padding-bottom:1rem;position:relative}.admin-recent-title::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:40px;height:2px;background:var(--admin-gold)}.admin-empty-text{color:var(--admin-text-muted);font-style:italic;text-align:center;padding:2rem;font-size:1.1rem;background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:8px;margin:1rem 0}.admin-filters{background:rgba(50,50,50,0.9);border:1px solid var(--gold-light);border-radius:12px;padding:2rem;margin-bottom:2rem}.admin-filter-form{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column;gap:0.5rem}.admin-input,.admin-select{background:rgba(40,40,40,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:6px;padding:0.75rem 1rem;color:#e0e0e0;font-size:1rem;transition:all 0.3s ease}.admin-input:focus,.admin-select:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 10px rgba(212,175,55,0.2)}.admin-input::placeholder{color:var(--text-medium)}.category-badge,.status-badge{display:inline-block;padding:0.25rem 0.75rem;border-radius:4px;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.status-badge{background:rgba(212,175,55,0.2);color:var(--primary-gold);border:1px solid rgba(212,175,55,0.3)}.status-badge.published{background:rgba(40,167,69,0.2);color:#28a745;border-color:#28a745}.status-badge.draft{background:rgba(108,117,125,0.2);color:#6c757d;border-color:#6c757d}.resource-name{font-weight:600;color:var(--text-light)}.resource-description{color:var(--text-medium);font-size:0.9rem;line-height:1.4}.admin-actions{display:flex;gap:1rem;margin-top:1rem}@media (max-width: 768px){.admin-grid{grid-template-columns:1fr}.admin-header{flex-direction:column;gap:15px;align-items:flex-start}.admin-table{font-size:0.8rem}.admin-table th,.admin-table td{padding:10px}.action-buttons{flex-direction:column;gap:3px}.btn-small{padding:4px 8px;font-size:0.7rem}.admin-nav-container{padding:0 1rem}.admin-nav-links{gap:1rem}.admin-nav-link,.admin-nav-dropdown-btn{padding:0.4rem 0.8rem;font-size:0.9rem}.admin-container{padding:0 1rem}.admin-management-grid{grid-template-columns:1fr}.admin-links-grid{grid-template-columns:1fr}.admin-recent-grid{grid-template-columns:1fr}.admin-stats-grid{grid-template-columns:repeat(2, 1fr)}.admin-recent-item{flex-direction:column;gap:0.5rem;align-items:flex-start}.admin-recent-actions{width:100%;justify-content:flex-end}.admin-filter-form{grid-template-columns:1fr}.filter-group{margin-bottom:1rem}.admin-input,.admin-select{width:100%}.admin-actions{flex-direction:column}.admin-actions .admin-btn{width:100%;text-align:center}}@media (max-width: 480px){.admin-stats-grid{grid-template-columns:1fr}.admin-recent-item{padding:0.75rem 0}.admin-recent-name{font-size:0.9rem}.admin-recent-meta{font-size:0.8rem}.admin-btn{padding:0.4rem 0.8rem;font-size:0.8rem}}.unified-filters-container{background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(212,175,55,0.02) 50%, rgba(212,175,55,0.05) 100%);border-radius:12px;border:1px solid rgba(212,175,55,0.2);backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,0.2);margin-bottom:2rem;overflow:hidden}.filters-header{background:linear-gradient(135deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border-bottom:1px solid rgba(212,175,55,0.2);padding:1rem 1.5rem}.filters-title{display:flex;align-items:center;gap:0.5rem;color:var(--primary-gold);font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:0.5px}.filter-icon{width:18px;height:18px;color:var(--primary-gold)}.filters-content{padding:1.5rem}.filters-main-row{margin-bottom:1.5rem}.filter-section-group{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1.5rem;align-items:end}.filter-group-item{display:flex;flex-direction:column;gap:0.5rem}.filter-section-label{color:var(--primary-gold);font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px}.unified-filter-select,.unified-filter-input{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:0.75rem 1rem;color:var(--text-light);font-size:0.95rem;transition:all 0.3s ease;min-height:44px}.unified-filter-select:focus,.unified-filter-input:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 0 2px rgba(212,175,55,0.2)}.unified-filter-select:hover,.unified-filter-input:hover{border-color:rgba(212,175,55,0.5)}.unified-filter-select option{background:var(--bg-dark);color:var(--text-light);padding:0.5rem}.quick-filters-section{border-top:1px solid rgba(212,175,55,0.1);padding-top:1.5rem}.clear-filters-section{border-top:1px solid rgba(212,175,55,0.1);padding-top:1.5rem;text-align:center}.quick-filters-label{display:block;color:var(--primary-gold);font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.75rem}.quick-filters-buttons{display:flex;flex-wrap:wrap;gap:0.75rem}.quick-filter-btn{background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:0.5rem 1rem;color:var(--primary-gold);font-size:0.85rem;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;cursor:pointer;transition:all 0.3s ease;background-clip:padding-box}.quick-filter-btn:hover{background:rgba(212,175,55,0.2);border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,175,55,0.2)}.quick-filter-btn:active,.quick-filter-btn.active{background:linear-gradient(135deg, rgba(212,175,55,0.3), rgba(212,175,55,0.2));border-color:var(--primary-gold);transform:translateY(0);box-shadow:inset 0 2px 4px rgba(0,0,0,0.2)}.clear-all-filters-btn{background:linear-gradient(135deg, darkred, brown);border:1px solid #8b0000;border-radius:8px;padding:0.5rem 1rem;color:white;font-size:0.85rem;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;cursor:pointer;transition:all 0.3s ease;margin-left:auto}.clear-all-filters-btn:hover{background:linear-gradient(135deg, brown, darkred);transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,0,0,0.4)}@media (max-width: 768px){.filter-section-group{grid-template-columns:1fr;gap:1rem}.filters-content{padding:1rem}.quick-filters-buttons{gap:0.5rem}.quick-filter-btn{padding:0.4rem 0.8rem;font-size:0.8rem}}@media (max-width: 480px){.filters-header{padding:0.75rem 1rem}.filters-title{font-size:1rem}.filter-icon{width:16px;height:16px}.unified-filter-select,.unified-filter-input{padding:0.6rem 0.8rem;font-size:0.9rem}}.combat-map-container{position:relative;width:100%;height:70vh;background:#111;border:1px solid rgba(212,175,55,0.3);border-radius:8px;overflow:hidden;touch-action:none;box-shadow:0 10px 30px rgba(0,0,0,0.35),inset 0 0 60px rgba(0,0,0,0.25)}.combat-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.12) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.12) 1px, transparent 1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);z-index:1}.combat-map-canvas{position:absolute;inset:0;pointer-events:auto;z-index:2}.combat-map-background{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.9;z-index:0}.combat-token{position:absolute;width:56px;height:56px;border-radius:50%;border:3px solid #d4af37;box-shadow:0 2px 8px rgba(0,0,0,0.5);background-color:#222;color:#f4f1e8;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;user-select:none;cursor:grab;touch-action:none;z-index:4;transition:transform 0.08s ease, box-shadow 0.12s ease}.combat-token.dragging{cursor:grabbing;opacity:0.8}.combat-token img{width:100%;height:100%;border-radius:50%;object-fit:cover}.combat-token .label{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.7);padding:2px 6px;border-radius:4px;font-size:11px}.combat-token .combat-stat{position:absolute;background:rgba(0,0,0,0.8);color:#f4f1e8;padding:1px 4px;border-radius:3px;font-size:10px;font-weight:bold;min-width:16px;text-align:center;border:1px solid rgba(212,175,55,0.6)}.combat-token .combat-stat.toughness{top:-12px;left:50%;transform:translateX(-50%);background:rgba(139,69,19,0.9);border-color:#8b4513}.combat-token .combat-stat.defense{left:-12px;top:50%;transform:translateY(-50%);background:rgba(70,130,180,0.9);border-color:#4682b4}.combat-token .combat-stat.armor{right:-12px;top:50%;transform:translateY(-50%);background:rgba(128,128,128,0.9);border-color:#808080}.combat-toolbar{display:flex;gap:20px;margin-bottom:20px;align-items:stretch;flex-wrap:wrap;background:linear-gradient(135deg, rgba(22,15,22,0.98), rgba(12,8,12,0.98));border:1px solid rgba(212,175,55,0.2);border-radius:16px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.05);backdrop-filter:blur(15px)}.combat-toolbar .divider{width:1px;height:24px;background:rgba(255,255,255,0.15)}.toolbar-group{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(212,175,55,0.3);background:linear-gradient(180deg, rgba(22,15,22,0.95), rgba(12,8,12,0.95));border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.05);backdrop-filter:blur(10px);transition:all 0.3s ease}.toolbar-group:hover{border-color:rgba(212,175,55,0.4);box-shadow:0 10px 25px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.08)}.toolbar-group label{font-size:12px;color:#d4c8a7;display:flex;align-items:center;gap:8px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,0.5)}.toolbar-group .input{height:36px;padding:8px 12px;background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.3);border-radius:6px;color:#f4f1e8;transition:all 0.2s ease}.toolbar-group .input:focus{outline:none;border-color:#d4af37;background:rgba(0,0,0,0.6);box-shadow:0 0 0 2px rgba(212,175,55,0.2)}.toolbar-group input[type="file"]{max-width:220px;background:rgba(0,0,0,0.3);border:1px solid rgba(212,175,55,0.3);border-radius:6px;padding:6px 10px;color:#f4f1e8}.toolbar-group input[type="range"]{width:160px;background:transparent;border:none;height:6px;border-radius:3px;outline:none;-webkit-appearance:none;appearance:none}.toolbar-group input[type="range"]::-webkit-slider-track{background:rgba(0,0,0,0.4);border-radius:3px;height:6px;border:1px solid rgba(212,175,55,0.3)}.toolbar-group input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:linear-gradient(135deg, #d4af37, #b8860b);border-radius:50%;cursor:pointer;border:2px solid rgba(0,0,0,0.3);box-shadow:0 2px 4px rgba(0,0,0,0.3);transition:all 0.2s ease}.toolbar-group input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0,0,0,0.4)}.toolbar-group input[type="range"]::-moz-range-track{background:rgba(0,0,0,0.4);border-radius:3px;height:6px;border:1px solid rgba(212,175,55,0.3)}.toolbar-group input[type="range"]::-moz-range-thumb{width:18px;height:18px;background:linear-gradient(135deg, #d4af37, #b8860b);border-radius:50%;cursor:pointer;border:2px solid rgba(0,0,0,0.3);box-shadow:0 2px 4px rgba(0,0,0,0.3);transition:all 0.2s ease}.toolbar-group input[type="range"]::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0,0,0,0.4)}.toolbar-group input[type="color"]{width:44px;height:32px;padding:0;border:2px solid rgba(212,175,55,0.4);background:#222;border-radius:6px;cursor:pointer;transition:all 0.2s ease}.toolbar-group input[type="color"]:hover{border-color:#d4af37;transform:scale(1.05)}.toolbar-group .btn{height:36px;line-height:1;padding:8px 16px;border-radius:6px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.2s ease;border:1px solid transparent;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.toolbar-group .btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,0.3)}.toolbar-group .btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.combat-color-option{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,0.3);cursor:pointer;transition:all 0.2s ease;box-shadow:0 2px 4px rgba(0,0,0,0.3)}.combat-color-option:hover{transform:scale(1.1);border-color:rgba(255,255,255,0.6);box-shadow:0 4px 8px rgba(0,0,0,0.4)}.combat-color-option:checked{border-color:#d4af37;box-shadow:0 0 0 2px rgba(212,175,55,0.3);transform:scale(1.15)}.combat-form-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.combat-stats-mini{display:flex;align-items:center;background:linear-gradient(135deg, rgba(22,15,22,0.95), rgba(12,8,12,0.95));border:1px solid rgba(212,175,55,0.4);border-radius:12px;padding:8px 12px;margin:0 12px;box-shadow:0 4px 12px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.05),0 0 0 1px rgba(212,175,55,0.1);position:relative;backdrop-filter:blur(10px)}.combat-stats-mini::before{content:"⚔️";font-size:14px;margin-right:8px;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.5))}.combat-stats-mini::after{content:"COMBAT STATS";position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg, #d4af37, #b8860b);color:#000;font-size:9px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:0.5px;box-shadow:0 2px 4px rgba(0,0,0,0.3)}.combat-stats-mini input[type="number"]{width:50px;height:32px;text-align:center;font-size:12px;font-weight:700;padding:6px 4px;background:linear-gradient(135deg, rgba(0,0,0,0.6), rgba(0,0,0,0.4));border:1px solid rgba(212,175,55,0.3);border-radius:8px;color:#f4f1e8;transition:all 0.3s ease;box-shadow:0 2px 4px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.1);margin:0 3px;position:relative}.combat-stats-mini input[type="number"]:focus{outline:none;border-color:#d4af37;background:linear-gradient(135deg, rgba(0,0,0,0.8), rgba(0,0,0,0.6));box-shadow:0 0 0 3px rgba(212,175,55,0.3),0 4px 12px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.15);transform:translateY(-1px)}.combat-stats-mini input[type="number"]::placeholder{color:rgba(244,241,232,0.4);font-weight:500}.combat-stats-mini input[type="number"]:hover{border-color:rgba(212,175,55,0.6);box-shadow:0 3px 8px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.1)}.combat-stats-mini input[name="token[toughness]"]{border-left:4px solid #8b4513;background:linear-gradient(135deg, rgba(139,69,19,0.1), rgba(0,0,0,0.4))}.combat-stats-mini input[name="token[toughness]"]:focus{border-left:4px solid #a0522d;background:linear-gradient(135deg, rgba(139,69,19,0.2), rgba(0,0,0,0.6))}.combat-stats-mini input[name="token[defense]"]{border-left:4px solid #4682b4;background:linear-gradient(135deg, rgba(70,130,180,0.1), rgba(0,0,0,0.4))}.combat-stats-mini input[name="token[defense]"]:focus{border-left:4px solid #5f9ea0;background:linear-gradient(135deg, rgba(70,130,180,0.2), rgba(0,0,0,0.6))}.combat-stats-mini input[name="token[armor]"]{border-left:4px solid #808080;background:linear-gradient(135deg, rgba(128,128,128,0.1), rgba(0,0,0,0.4))}.combat-stats-mini input[name="token[armor]"]:focus{border-left:4px solid #a9a9a9;background:linear-gradient(135deg, rgba(128,128,128,0.2), rgba(0,0,0,0.6))}.combat-stats-mini input[name="token[toughness]"]::before{content:"TOUGH";position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:8px;color:#8b4513;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.combat-stats-mini input[name="token[defense]"]::before{content:"DEF";position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:8px;color:#4682b4;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.combat-stats-mini input[name="token[armor]"]::before{content:"ARMOR";position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:8px;color:#808080;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.toolbar-toggle-container{display:flex;justify-content:flex-end;margin-bottom:0.25rem}.toolbar-toggle-btn{display:flex;align-items:center;gap:0.3rem;padding:0.3rem 0.6rem;background:linear-gradient(135deg, rgba(212,175,55,0.9), rgba(184,134,11,0.9));color:#000;border:none;border-radius:15px;font-size:0.65rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(212,175,55,0.3);line-height:1}.toolbar-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,0.4)}.toolbar-toggle-btn.collapsed{background:linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));color:#d4af37}.toggle-arrow{transition:transform 0.3s ease}.toolbar-toggle-btn.collapsed .toggle-arrow{transform:rotate(180deg)}.combat-toolbar-enhanced{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0.5rem;margin-bottom:0.5rem;padding:0.4rem;background:linear-gradient(135deg, rgba(13,5,16,0.95), rgba(22,15,22,0.9));border:2px solid rgba(212,175,55,0.3);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.6);transition:all 0.3s ease}.combat-toolbar-horizontal{margin-bottom:0.5rem;background:linear-gradient(135deg, rgba(13,5,16,0.95), rgba(22,15,22,0.9));border:2px solid rgba(212,175,55,0.3);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.6);transition:all 0.3s ease}.toolbar-row-horizontal{display:flex;align-items:center;gap:1.5rem;padding:0.75rem 1rem;flex-wrap:wrap}.toolbar-section-horizontal{display:flex;align-items:center;gap:1rem;padding:8px 0;position:relative}.toolbar-section-horizontal:not(:last-child)::after{content:'';position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:1px;height:60%;background:linear-gradient(180deg, transparent, rgba(212,175,55,0.3), transparent)}.section-title{display:flex;align-items:center;gap:0.5rem;color:#d4af37;font-family:'Cinzel', serif;font-weight:700;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.8px;min-width:fit-content;white-space:nowrap;text-shadow:0 2px 4px rgba(0,0,0,0.5);position:relative;padding-bottom:4px}.section-title::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(212,175,55,0.5), transparent)}.section-title i{color:#d4af37;font-size:1rem}.combat-tokens .token-form-horizontal{display:flex;align-items:center}.form-controls-horizontal{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;padding:4px 0}.input-compact{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.3);border-radius:6px;color:#f4f1e8;padding:0.5rem 0.8rem;font-size:0.85rem;font-weight:500;width:120px;transition:all 0.2s ease;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.input-compact:focus{border-color:#d4af37;box-shadow:0 0 0 2px rgba(212,175,55,0.2),0 4px 8px rgba(0,0,0,0.3);outline:none;background:rgba(0,0,0,0.6)}.input-compact::placeholder{color:rgba(244,241,232,0.5);font-weight:normal}.file-input-compact{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.3);border-radius:6px;color:#f4f1e8;padding:0.4rem 0.6rem;font-size:0.8rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;width:140px;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.file-input-compact:hover{border-color:#d4af37;background:rgba(0,0,0,0.6);box-shadow:0 4px 8px rgba(0,0,0,0.3)}.color-selection-horizontal{display:flex;gap:0.3rem;align-items:center}.color-radio-compact{display:none}.color-dot{width:24px;height:24px;border-radius:50%;border:2px solid rgba(212,175,55,0.3);cursor:pointer;transition:all 0.2s ease;box-shadow:0 2px 4px rgba(0,0,0,0.3)}.color-dot:hover{transform:scale(1.1);border-color:rgba(212,175,55,0.6);box-shadow:0 4px 8px rgba(0,0,0,0.4)}.color-radio-compact:checked+.color-dot{border-color:#d4af37;box-shadow:0 0 0 2px rgba(212,175,55,0.3),0 4px 8px rgba(0,0,0,0.4);transform:scale(1.15)}.color-dot:hover{transform:scale(1.05);border-color:#d4af37}.btn-compact{background:linear-gradient(135deg, #8b4513, peru);border:1px solid rgba(212,175,55,0.5);border-radius:6px;color:#FFF8DC;padding:0.5rem 0.8rem;font-size:0.8rem;font-weight:700;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;gap:0.3rem;text-transform:uppercase;letter-spacing:0.8px;white-space:nowrap;box-shadow:0 3px 6px rgba(0,0,0,0.3);position:relative;overflow:hidden}.btn-compact::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);transition:left 0.5s ease}.btn-compact:hover::before{left:100%}.btn-compact:hover{background:linear-gradient(135deg, sienna, #deb887);border-color:#FFD700;transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,0.4)}.btn-compact:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,0.3)}.btn-compact.btn-primary{background:linear-gradient(135deg, #2e7d32, #43a047);border-color:rgba(76,175,80,0.5)}.btn-compact.btn-primary:hover{background:linear-gradient(135deg, #43a047, #66bb6a);border-color:#4caf50}.btn-compact.btn-warning{background:linear-gradient(135deg, #ef6c00, #ff9800);border-color:rgba(255,152,0,0.5)}.btn-compact.btn-warning:hover{background:linear-gradient(135deg, #ff9800, #ffb74d);border-color:#ff9800}.btn-compact.btn-secondary{background:linear-gradient(135deg, #5d4037, #8d6e63);border-color:rgba(141,110,99,0.5)}.btn-compact.btn-secondary:hover{background:linear-gradient(135deg, #8d6e63, #a1887f);border-color:#8d6e63}.btn-compact.btn-danger{background:linear-gradient(135deg, #c62828, #e53935);border-color:rgba(229,57,53,0.5)}.btn-compact.btn-danger:hover{background:linear-gradient(135deg, #e53935, #ef5350);border-color:#e53935}.login-prompt-compact{display:flex;align-items:center;gap:0.5rem;color:rgba(255,248,220,0.6);font-size:0.8rem;font-style:italic}.form-controls-horizontal .error-message{background:linear-gradient(135deg, rgba(220,53,69,0.1), rgba(220,53,69,0.05));border:1px solid rgba(220,53,69,0.3);border-radius:8px;padding:8px 12px;color:#dc3545;font-size:11px;font-weight:500;margin-top:4px;box-shadow:0 2px 4px rgba(220,53,69,0.1);backdrop-filter:blur(5px);position:relative}.form-controls-horizontal .error-message::before{content:"⚠️";margin-right:6px;font-size:10px}.drawing-controls-horizontal{display:flex;align-items:center;gap:0.75rem}.grid-opacity-control label,.grid-size-control label{color:#FFF8DC;font-size:0.8rem;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:0.3rem}.grid-size-control{position:relative}.grid-size-control::before{content:"📐";font-size:10px;margin-right:2px}.grid-info{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border:1px solid rgba(212,175,55,0.3);border-radius:6px;padding:4px 8px;min-width:50px;font-size:11px;font-weight:600;color:#d4af37;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.grid-info span{font-family:'Courier New', monospace;letter-spacing:0.5px}.brush-size-control,.brush-color-control,.grid-opacity-control,.grid-size-control{display:flex;align-items:center;gap:0.4rem}.brush-size-control label,.brush-color-control label{color:#FFF8DC;font-size:0.8rem;font-weight:500;white-space:nowrap}.range-compact{width:80px;height:4px;background:rgba(212,175,55,0.3);border-radius:2px;outline:none;cursor:pointer}.range-compact::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:linear-gradient(135deg, #d4af37, #f4d03f);border-radius:50%;cursor:pointer;border:2px solid rgba(13,5,16,0.8);box-shadow:0 2px 4px rgba(0,0,0,0.3)}.range-compact::-webkit-slider-thumb:hover{background:linear-gradient(135deg, #f4d03f, #d4af37);transform:scale(1.1)}.color-input-compact{width:32px;height:24px;border:1px solid rgba(212,175,55,0.3);border-radius:4px;cursor:pointer;background:none;padding:0;transition:all 0.3s ease}.color-input-compact:hover{border-color:#d4af37;box-shadow:0 0 8px rgba(212,175,55,0.3)}.gm-controls-horizontal{display:flex;align-items:center;gap:0.75rem}.background-form-horizontal{display:flex;align-items:center;gap:0.5rem}.toolbar-section{background:rgba(255,255,255,0.05);border:1px solid rgba(212,175,55,0.2);border-radius:6px;padding:0.3rem;transition:all 0.3s ease}.toolbar-section:hover{background:rgba(255,255,255,0.08);border-color:rgba(212,175,55,0.3)}.admin-section{border-color:rgba(255,99,71,0.3);background:rgba(255,99,71,0.05)}.admin-section:hover{border-color:rgba(255,99,71,0.4);background:rgba(255,99,71,0.08)}.section-header{display:flex;align-items:center;gap:0.3rem;margin-bottom:0.25rem;padding-bottom:0.15rem;border-bottom:1px solid rgba(212,175,55,0.2)}.section-header i{color:#d4af37;font-size:0.75rem}.section-header span{color:#f4f1e8;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.3px}.toolbar-group-enhanced{display:flex;flex-direction:column;gap:0.25rem}.token-form-enhanced .form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.3rem;margin-bottom:0.25rem}.toolbar-section[data-section="combat"] .token-form-enhanced .form-row{grid-template-columns:2fr 1.5fr 1fr}.toolbar-section[data-section="combat"] .color-picker-group{justify-content:flex-start;flex-wrap:wrap;max-height:40px;overflow:hidden}.input-group{display:flex;flex-direction:column;gap:0.15rem}.input-group label{display:flex;align-items:center;gap:0.2rem;color:#d4c8a7;font-size:0.65rem;font-weight:500;line-height:1}.input-group label i{color:#d4af37;width:16px;text-align:center}.input-enhanced{padding:0.25rem;background:rgba(0,0,0,0.3);border:1px solid rgba(212,175,55,0.3);border-radius:4px;color:#f4f1e8;font-size:0.7rem;transition:all 0.3s ease;line-height:1.2}.input-enhanced:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 2px rgba(212,175,55,0.2)}.input-enhanced::placeholder{color:rgba(244,241,232,0.5)}.file-input{cursor:pointer;position:relative}.color-picker-group{display:flex;gap:0.5rem;flex-wrap:wrap}.color-radio{display:none}.color-option{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,0.3);cursor:pointer;transition:all 0.3s ease;position:relative}.color-option:hover{transform:scale(1.1);border-color:rgba(212,175,55,0.8)}.color-radio:checked+.color-option{border-color:#d4af37;box-shadow:0 0 0 2px rgba(212,175,55,0.3);transform:scale(1.1)}.color-radio:checked+.color-option::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:white;font-size:10px;font-weight:bold;text-shadow:1px 1px 2px rgba(0,0,0,0.8)}.drawing-controls{display:grid;grid-template-columns:1fr 1fr;gap:0.3rem}.range-input{width:100%;height:6px;background:rgba(212,175,55,0.3);border-radius:3px;outline:none;appearance:none}.range-input::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:#d4af37;cursor:pointer;border:2px solid #f4f1e8;box-shadow:0 2px 6px rgba(0,0,0,0.3)}.range-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#d4af37;cursor:pointer;border:2px solid #f4f1e8;box-shadow:0 2px 6px rgba(0,0,0,0.3)}.color-input{width:30px;height:20px;border:1px solid rgba(212,175,55,0.3);border-radius:4px;cursor:pointer;transition:all 0.3s ease}.color-input:hover{border-color:#d4af37}.btn-enhanced{display:flex;align-items:center;justify-content:center;gap:0.2rem;padding:0.25rem 0.5rem;border:none;border-radius:4px;font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;cursor:pointer;transition:all 0.3s ease;text-decoration:none;line-height:1}.btn-primary{background:linear-gradient(135deg, #d4af37, #b8860b);color:#000;box-shadow:0 4px 12px rgba(212,175,55,0.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(212,175,55,0.4)}.btn-secondary{background:linear-gradient(135deg, #4a90e2, #357abd);color:#fff;box-shadow:0 4px 12px rgba(74,144,226,0.3)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(74,144,226,0.4)}.btn-warning{background:linear-gradient(135deg, #ff9500, #e68900);color:#fff;box-shadow:0 4px 12px rgba(255,149,0,0.3)}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,149,0,0.4)}.btn-danger{background:linear-gradient(135deg, #ff4757, #ff3838);color:#fff;box-shadow:0 4px 12px rgba(255,71,87,0.3)}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,71,87,0.4)}.login-prompt{display:flex;align-items:center;gap:0.3rem;padding:0.3rem;background:rgba(255,255,255,0.05);border:1px dashed rgba(212,175,55,0.3);border-radius:4px;color:#b8b3a0;font-style:italic;font-size:0.65rem;line-height:1}.login-prompt i{color:#d4af37}.background-form{display:flex;flex-direction:column;gap:0.25rem}@media (max-width: 1200px){.combat-toolbar-enhanced{grid-template-columns:1fr 1fr}.toolbar-section[data-section="combat"]{grid-column:1 / -1}.toolbar-section[data-section="combat"] .token-form-enhanced .form-row{grid-template-columns:1fr 1fr 1fr}.toolbar-row-horizontal{gap:1rem;flex-wrap:wrap}.toolbar-section-horizontal{gap:0.5rem}.input-compact{width:100px}.file-input-compact{width:120px}}@media (max-width: 1024px){.combat-toolbar-enhanced{grid-template-columns:1fr}.toolbar-section[data-section="combat"]{grid-column:1}.token-form-enhanced .form-row{grid-template-columns:1fr 1fr}.drawing-controls{grid-template-columns:1fr}.toolbar-row-horizontal{flex-direction:column;align-items:flex-start;gap:1rem}.toolbar-section-horizontal{width:100%;flex-wrap:wrap}.form-controls-horizontal,.drawing-controls-horizontal,.gm-controls-horizontal{flex-wrap:wrap;gap:0.5rem}}@media (max-width: 768px){.combat-toolbar-enhanced{padding:0.5rem;gap:0.5rem}.token-form-enhanced .form-row{grid-template-columns:1fr}.toolbar-section{padding:0.4rem}.toolbar-row-horizontal{padding:0.5rem;gap:0.75rem}.section-title{font-size:0.8rem}.input-compact{width:90px;font-size:0.8rem}.file-input-compact{width:100px;font-size:0.75rem}.btn-compact{padding:0.3rem 0.5rem;font-size:0.75rem}.color-dot{width:18px;height:18px}.section-header{margin-bottom:0.4rem}.toolbar-toggle-container{justify-content:center}}.combat-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.55);display:none;align-items:center;justify-content:center;z-index:10050;backdrop-filter:blur(2px);animation:fadeInBackdrop 150ms ease-out forwards}.combat-modal{background:linear-gradient(180deg, #121212, #1b1b1b);color:#f4f1e8;border:1px solid rgba(212,175,55,0.35);border-radius:12px;padding:18px 18px 14px;width:92vw;max-width:680px;box-shadow:0 18px 48px rgba(0,0,0,0.45),inset 0 0 0 1px rgba(255,255,255,0.03);transform:translateY(-6px);animation:modalIn 180ms ease-out forwards}.combat-modal .modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.combat-modal .input,.combat-modal select{width:100%}.combat-modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.combat-modal header h3{margin:0;font-family:"Cinzel", serif;color:#d4af37;letter-spacing:0.5px;font-size:26px}.combat-modal .close-x{background:transparent;border:0;color:#f4f1e8;font-size:22px;cursor:pointer;opacity:0.7}.combat-modal .close-x:hover{opacity:1}.combat-modal label{display:block;margin:10px 0 6px;color:#d4c8a7;font-size:14px}.combat-modal .field{margin-bottom:10px}.combat-modal .combat-stats-section{margin:20px 0;padding:16px;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:8px}.combat-modal .combat-stats-section h4{margin:0 0 12px 0;color:#d4af37;font-size:14px;font-weight:600}.combat-modal .combat-stats-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}.combat-modal .combat-stats-grid .field{margin-bottom:0}.combat-modal .combat-stats-grid .field label{font-size:12px;margin-bottom:2px}.combat-modal .combat-stats-grid .field input{width:100%;padding:6px 8px;font-size:12px}@keyframes fadeInBackdrop{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(13,5,16,0.98);backdrop-filter:blur(20px);border-bottom:2px solid rgba(212,175,55,0.3);transition:all 0.3s ease;animation:fadeInDown 0.6s ease-out;box-shadow:0 2px 20px rgba(0,0,0,0.5)}.nav-container{max-width:1000px;margin:0 auto;padding:0 15px;display:flex;justify-content:space-between;align-items:center;height:60px;position:relative}.nav-links{display:flex;gap:20px;align-items:center;position:relative;z-index:1000}.nav-link{color:var(--primary-gold);text-decoration:none;font-weight:600;font-family:'Cinzel Decorative', serif;transition:all 0.3s ease;position:relative;padding:0.6rem 1.2rem;border-radius:8px;text-shadow:0 0 8px var(--glow-gold-strong);background:rgba(212,175,55,0.15);border:1px solid rgba(212,175,55,0.4);white-space:nowrap;font-size:0.95rem;letter-spacing:0.5px}.nav-link::after{content:'';position:absolute;bottom:-5px;left:50%;width:0;height:2px;background:var(--primary-gold);transition:all 0.3s ease;transform:translateX(-50%)}.nav-link:hover{color:var(--primary-gold);transform:translateY(-2px);text-shadow:0 0 12px var(--glow-gold);background:rgba(212,175,55,0.25);border-color:var(--primary-gold);box-shadow:0 6px 20px rgba(212,175,55,0.4)}.nav-link:hover::after{width:80%}.nav-dropdown{position:relative;display:inline-block}.nav-dropdown-btn{background:linear-gradient(145deg, rgba(212,175,55,0.15) 0%, rgba(212,175,55,0.1) 50%, rgba(212,175,55,0.15) 100%);color:var(--primary-gold);border:1px solid var(--gold-light);padding:0.75rem 1.25rem;font-family:'Cinzel Decorative', serif;font-size:0.95rem;font-weight:600;cursor:pointer;transition:all 0.4s ease;display:flex;align-items:center;gap:0.5rem;border-radius:8px;text-shadow:0 0 10px var(--glow-gold-strong),0 0 20px var(--glow-gold-strong);position:relative;overflow:hidden;z-index:1000;pointer-events:auto;user-select:none}.nav-dropdown-btn:hover{color:var(--primary-gold);transform:translateY(-1px);text-shadow:0 0 15px var(--glow-gold);background:rgba(212,175,55,0.2);border-color:var(--primary-gold);box-shadow:0 4px 15px rgba(212,175,55,0.3)}.dropdown-arrow{font-size:0.7rem;transition:transform 0.3s ease}.nav-dropdown.active .dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-content{display:none;position:absolute;top:100%;left:0;background:linear-gradient(145deg, rgba(13,5,16,0.98) 0%, rgba(26,10,26,0.95) 50%, rgba(13,5,16,0.98) 100%);backdrop-filter:blur(15px);border:2px solid var(--gold-light);border-radius:15px;min-width:220px;box-shadow:0 12px 35px rgba(0,0,0,0.6),0 0 25px var(--glow-gold),0 0 50px rgba(255,215,0,0.3);z-index:10001;overflow:hidden;margin-top:8px;padding:0.5rem}.nav-dropdown.active .nav-dropdown-content{display:block;animation:dropdownFadeIn 0.3s ease}@keyframes dropdownFadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-link{display:block;padding:0.875rem 1.25rem;color:var(--pale-ivory);text-decoration:none;font-family:'Cinzel Decorative', serif;font-size:0.9rem;font-weight:500;transition:all 0.3s ease;border-radius:10px;margin:0.25rem 0;text-shadow:0 0 5px rgba(0,0,0,0.8),1px 1px 2px rgba(0,0,0,0.9);position:relative;overflow:hidden}.dropdown-link:last-child{border-bottom:none}.dropdown-link:hover{background:rgba(212,175,55,0.15);color:var(--gold-light);text-shadow:0 0 10px var(--glow-gold-strong),0 0 20px var(--glow-gold-strong);transform:translateX(8px) scale(1.02);box-shadow:0 4px 15px rgba(0,0,0,0.3),0 0 10px rgba(255,215,0,0.2)}.hero-background-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center, rgba(212,175,55,0.08) 0%, transparent 70%),linear-gradient(135deg, rgba(13,5,16,0.3) 0%, rgba(26,10,26,0.5) 100%);z-index:1}.hero-badge{display:inline-block;background:linear-gradient(135deg, rgba(212,175,55,0.2) 0%, rgba(212,175,55,0.1) 100%);border:1px solid rgba(212,175,55,0.4);border-radius:20px;padding:4px 12px;margin-bottom:15px;backdrop-filter:blur(10px);animation:fadeInUp 1s ease-out 0.1s both}.badge-text{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:0.9rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px rgba(212,175,55,0.3)}.hero-content{max-width:700px;margin:0 auto;position:relative;z-index:2;animation:fadeInUp 1s ease-out 0.3s both}.main-title{margin-bottom:15px;display:flex;flex-direction:column;align-items:center;gap:5px}.title-line{font-size:2.8rem;font-weight:800;font-family:'Cinzel', serif;background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);-webkit-background-clip:text;background-clip:text;text-shadow:0 0 30px rgba(212,175,55,0.5);animation:glow 3s ease-in-out infinite alternate}.title-subtitle{font-size:1.4rem;color:var(--pale-ivory);font-weight:400;letter-spacing:2px;text-transform:uppercase;font-family:'Cinzel', serif;text-shadow:0 0 15px rgba(0,0,0,0.8),0 0 30px rgba(0,0,0,0.6),2px 2px 4px rgba(0,0,0,0.9)}.subtitle{font-size:1rem;color:rgba(232,232,232,0.9);margin-bottom:20px;line-height:1.5;max-width:600px;margin-left:auto;margin-right:auto;text-shadow:0 0 15px rgba(0,0,0,0.9),0 0 30px rgba(0,0,0,0.7),2px 2px 4px rgba(0,0,0,0.9);font-weight:400;letter-spacing:0.5px;font-family:'Cormorant Garamond', serif}.hero-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.btn{padding:12px 24px;border:none;border-radius:6px;text-decoration:none;font-weight:600;font-size:0.9rem;font-family:'Cinzel', serif;text-transform:uppercase;letter-spacing:1px;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);position:relative;overflow:hidden;display:flex;align-items:center;gap:8px;min-width:150px;justify-content:center;cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2L15.09 8.26L22 9L17 14L18.18 21L12 17.77L5.82 21L7 14L2 9L8.91 8.26L12 2Z" fill="%23d4af37" stroke="%23d4af37" stroke-width="1"/></svg>'),pointer}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);transition:left 0.5s}.btn:hover::before{left:100%}.btn-primary{background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);color:var(--dark-bg);box-shadow:0 4px 15px rgba(212,175,55,0.3)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.4)}.btn-secondary{background:transparent;color:var(--primary-gold);border:2px solid var(--primary-gold);backdrop-filter:blur(10px)}.btn-secondary:hover{background:var(--primary-gold);color:var(--dark-bg);transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.3)}.btn-icon{font-size:1.2rem;transition:transform 0.3s ease}.btn:hover .btn-icon{transform:translateX(5px)}.btn-large{padding:16px 32px;font-size:1rem;min-width:180px}.hero-stats{display:flex;justify-content:center;gap:30px;margin-top:25px;padding:20px;border-top:1px solid rgba(212,175,55,0.2);animation:fadeInUp 1s ease-out 0.8s both;background:rgba(212,175,55,0.05);border-radius:15px;border:1px solid var(--gold-light);backdrop-filter:blur(10px);box-shadow:0 0 30px rgba(212,175,55,0.1)}.hero-stat{text-align:center;position:relative}.hero-stat .stat-number{display:block;font-size:1.8rem;font-weight:800;color:var(--primary-gold);font-family:'Cinzel Decorative', serif;margin-bottom:6px;background:rgba(212,175,55,0.15);padding:0.4rem 0.8rem;border-radius:12px;border:1px solid var(--gold-light);backdrop-filter:blur(5px);text-shadow:0 0 10px var(--glow-gold),0 0 20px var(--glow-gold);box-shadow:0 0 20px rgba(212,175,55,0.2)}.hero-stat .stat-label{color:var(--pale-ivory);font-size:0.9rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;font-family:'Cinzel', serif;opacity:0.8}.features-section{padding:30px 0;position:relative}.section-header{text-align:center;margin-bottom:30px;animation:fadeInUp 1s ease-out 0.2s both}.section-title{font-size:2.2rem;color:var(--primary-gold);margin-bottom:10px;font-weight:700;font-family:'Cinzel', serif;text-shadow:2px 2px 4px var(--shadow-color)}.section-subtitle{font-size:1rem;color:var(--pale-ivory);font-weight:300;text-shadow:0 0 8px rgba(0,0,0,0.8),0 0 15px rgba(0,0,0,0.6),1px 1px 2px rgba(0,0,0,0.9)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:20px;max-width:1000px;margin:0 auto;padding:0 15px}.feature-card{background:linear-gradient(145deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.05) 100%);padding:20px 18px;border-radius:15px;border:1px solid rgba(212,175,55,0.15);transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);position:relative;overflow:hidden;backdrop-filter:blur(15px);animation:fadeInUp 1s ease-out 0.4s both;box-shadow:0 8px 32px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.1)}.feature-card.feature-primary{border-color:rgba(212,175,55,0.25);background:linear-gradient(145deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 50%, rgba(212,175,55,0.08) 100%)}.feature-card.feature-secondary{border-color:rgba(232,232,232,0.15);background:linear-gradient(145deg, rgba(232,232,232,0.05) 0%, rgba(232,232,232,0.02) 50%, rgba(232,232,232,0.05) 100%)}.feature-card.feature-accent{border-color:rgba(139,69,19,0.3);background:linear-gradient(145deg, rgba(139,69,19,0.08) 0%, rgba(139,69,19,0.03) 50%, rgba(139,69,19,0.08) 100%)}.feature-card:nth-child(2){animation-delay:0.6s}.feature-card:nth-child(3){animation-delay:0.8s}.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, var(--primary-gold), transparent);transform:scaleX(0);transition:transform 0.4s ease}.feature-card:hover{transform:translateY(-8px);border-color:rgba(212,175,55,0.4);box-shadow:0 20px 40px rgba(0,0,0,0.4),0 0 30px rgba(212,175,55,0.1),inset 0 1px 0 rgba(255,255,255,0.2)}.feature-card.feature-primary:hover{border-color:rgba(212,175,55,0.5);box-shadow:0 25px 50px rgba(0,0,0,0.4),0 0 40px rgba(212,175,55,0.2)}.feature-card.feature-secondary:hover{border-color:rgba(232,232,232,0.3);box-shadow:0 25px 50px rgba(0,0,0,0.4),0 0 30px rgba(232,232,232,0.1)}.feature-card.feature-accent:hover{border-color:rgba(139,69,19,0.5);box-shadow:0 25px 50px rgba(0,0,0,0.4),0 0 30px rgba(139,69,19,0.2)}.feature-card:hover::before{transform:scaleX(1)}.feature-icon{font-size:2rem;margin-bottom:12px;display:block;transition:transform 0.3s ease}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.feature-title{color:var(--primary-gold);font-size:1.1rem;margin-bottom:8px;font-weight:600;font-family:'Cinzel', serif}.feature-description{color:rgba(232,232,232,0.85);line-height:1.5;margin-bottom:15px;text-shadow:0 0 8px rgba(0,0,0,0.8),1px 1px 3px rgba(0,0,0,0.9);font-size:0.85rem;font-family:'Cormorant Garamond', serif}.feature-cta{margin-top:auto}.feature-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:20px;color:var(--primary-gold);text-decoration:none;font-family:'Cinzel', serif;font-weight:600;font-size:0.8rem;text-transform:uppercase;letter-spacing:1px;transition:all 0.3s ease;backdrop-filter:blur(10px)}.feature-btn:hover{background:rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.5);transform:translateY(-2px);box-shadow:0 8px 20px rgba(212,175,55,0.2);color:var(--gold-light)}.btn-arrow{transition:transform 0.3s ease}.feature-btn:hover .btn-arrow{transform:translateX(3px)}.cta-section{padding:40px 0;background:linear-gradient(135deg, rgba(0,0,0,0.4) 0%, rgba(13,5,16,0.6) 50%, rgba(0,0,0,0.4) 100%);border-top:1px solid rgba(212,175,55,0.2);border-bottom:1px solid rgba(212,175,55,0.2);position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 50%, rgba(212,175,55,0.05) 0%, transparent 70%),radial-gradient(ellipse at 70% 50%, rgba(212,175,55,0.03) 0%, transparent 70%);z-index:1}.cta-content{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:2;animation:fadeInUp 1s ease-out 0.2s both}.cta-header{margin-bottom:20px}.cta-title{font-size:2.4rem;color:var(--primary-gold);font-family:'Cinzel', serif;font-weight:700;margin-bottom:15px;background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);-webkit-background-clip:text;background-clip:text;text-shadow:0 0 30px rgba(212,175,55,0.3);line-height:1.2}.cta-subtitle{font-size:1.1rem;color:rgba(232,232,232,0.9);font-family:'Cormorant Garamond', serif;font-weight:400;line-height:1.5;text-shadow:0 0 15px rgba(0,0,0,0.8),2px 2px 4px rgba(0,0,0,0.9)}.cta-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.character-sheet{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:2rem;margin:2rem 0;backdrop-filter:blur(10px);animation:fadeInUp 0.6s ease-out}.character-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(212,175,55,0.2)}.character-name{font-size:2.5rem;color:var(--primary-gold);font-family:'Cinzel', serif;font-weight:700;margin-bottom:0.5rem;text-shadow:2px 2px 4px var(--shadow-color)}.character-details{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1.5rem;margin-bottom:2rem}.detail-group{background:rgba(255,255,255,0.02);padding:1rem;border-radius:8px;border:1px solid rgba(212,175,55,0.1)}.detail-label{color:var(--primary-gold);font-weight:600;font-family:'Cinzel', serif;text-transform:uppercase;letter-spacing:1px;font-size:0.9rem;margin-bottom:0.5rem}.detail-value{color:var(--text-light);font-size:1.1rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;color:var(--primary-gold);font-weight:600;font-family:'Cinzel', serif;margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:1px;font-size:0.9rem}.form-input{width:100%;padding:12px 16px;background:rgba(255,255,255,0.05);border:1px solid rgba(212,175,55,0.3);border-radius:6px;color:var(--text-light);font-family:inherit;transition:all 0.3s ease}.form-input:focus{border-color:var(--primary-gold);box-shadow:0 0 15px var(--glow-color);background:rgba(255,255,255,0.08);outline:none}.form-textarea{min-height:120px;resize:vertical}.mobile-menu-btn{display:none;flex-direction:column;justify-content:space-around;width:35px;height:35px;background:rgba(212,175,55,0.15);border:1px solid var(--gold-light);border-radius:6px;cursor:pointer;padding:5px;z-index:1000;transition:all 0.3s ease}.mobile-menu-btn:hover{background:rgba(212,175,55,0.25);border-color:var(--primary-gold);transform:scale(1.05)}.hamburger-line{width:100%;height:3px;background:linear-gradient(90deg, #d4af37, #8b4513);border-radius:2px;transition:all 0.3s ease;transform-origin:center}.mobile-menu-btn.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(6px, 6px)}.mobile-menu-btn.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(6px, -6px)}@media (max-width: 768px){.nav-container{position:relative;padding:0 10px}.nav-logo{margin-right:15px}.nav-logo .logo-image{height:35px;object-fit:contain}.mobile-menu-btn{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:linear-gradient(135deg, rgba(13,5,16,0.98), rgba(20,20,20,0.98));backdrop-filter:blur(10px);border-left:2px solid #8b4513;box-shadow:-5px 0 20px rgba(0,0,0,0.5);display:flex;flex-direction:column;gap:0;padding:80px 20px 20px;transition:right 0.3s ease;z-index:999;overflow-y:auto}.nav-links.active{right:0}.nav-link{padding:15px 0;border-bottom:1px solid rgba(139,69,19,0.3);font-size:1.1rem;text-align:left}.nav-link:last-child{border-bottom:none}.nav-dropdown{position:static;width:100%;margin:0}.nav-dropdown-btn{width:100%;justify-content:space-between;padding:15px 0;border-bottom:1px solid rgba(139,69,19,0.3);font-size:1.1rem;background:transparent;border-radius:0}.nav-dropdown-content{position:static;background:rgba(13,5,16,0.8);border:none;border-radius:0;margin:0;box-shadow:none;width:100%;padding:0;max-height:0;overflow:hidden;transition:max-height 0.3s ease}.nav-dropdown.active .nav-dropdown-content{max-height:500px}.dropdown-link{padding:12px 20px;font-size:1rem;border-bottom:1px solid rgba(139,69,19,0.2)}.nav-welcome{padding:15px 0;border-bottom:1px solid rgba(139,69,19,0.3);font-size:0.9rem;text-align:left;line-height:1.4}.nav-welcome .admin-badge{display:inline-block;margin-top:5px;font-size:0.75rem;padding:3px 8px}.logout-btn{margin-top:20px;background:linear-gradient(145deg, #b71c1c, #d32f2f);border:none;border-radius:6px;padding:12px 20px;color:white;font-weight:bold;text-align:center}.logout-btn:hover{background:linear-gradient(145deg, #d32f2f, #b71c1c)}.title-line{font-size:2.2rem}.title-subtitle{font-size:1.1rem}.subtitle{font-size:0.95rem;max-width:90%}.hero-buttons{flex-direction:column;align-items:center;gap:15px}.btn{min-width:200px}.hero-stats{flex-direction:column;gap:15px;margin-top:20px}.features-grid{grid-template-columns:1fr;gap:15px}.section-title{font-size:1.8rem}.cta-title{font-size:1.8rem}.cta-subtitle{font-size:0.95rem}.cta-actions{flex-direction:column;align-items:center;gap:10px}.character-details{grid-template-columns:1fr}}@media (max-width: 480px){.nav-container{padding:0 5px}.nav-logo .logo-image{height:30px;object-fit:contain}.nav-links{width:100%;right:-100%}.nav-links.active{right:0}.nav-link{padding:15px 0;font-size:1.1rem}.nav-dropdown-btn{padding:15px 0;font-size:1.1rem}.dropdown-link{padding:12px 20px;font-size:1rem}.nav-welcome{padding:15px 0;font-size:1rem}.nav-welcome .admin-badge{font-size:0.75rem;padding:2px 6px}.logout-btn{padding:12px 20px;font-size:1rem}.title-line{font-size:1.8rem}.title-subtitle{font-size:0.95rem}.subtitle{font-size:0.85rem}.hero-stats{margin-top:20px}.hero-stat .stat-number{font-size:1.5rem}.hero-stat .stat-label{font-size:0.7rem}.feature-card{padding:20px 15px}.features-grid{grid-template-columns:1fr;gap:15px}.section-title{font-size:1.5rem}.cta-title{font-size:1.5rem}.cta-subtitle{font-size:0.85rem}.btn{min-width:200px;padding:16px 28px}.character-sheet{padding:1.5rem}}.character-listing-header{text-align:center;padding:2.5rem 2rem 2rem;margin-bottom:2rem;background:linear-gradient(145deg, rgba(26,15,10,0.95) 0%, rgba(13,5,16,0.98) 50%, rgba(26,15,10,0.95) 100%);border-radius:20px;border:2px solid rgba(212,175,55,0.3);position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,0.4),0 0 0 1px rgba(212,175,55,0.1) inset;backdrop-filter:blur(10px)}.character-listing-header.compact{padding:0.75rem 0 0.5rem;margin-bottom:0.75rem}.character-listing-header.compact .gothic-header{font-size:1.8rem;margin-bottom:0.25rem}.character-listing-header.compact .subtitle{font-size:0.9rem;margin-bottom:0.5rem}.character-listing-header.compact .header-badge{margin-bottom:0.5rem;padding:0.25rem 0.75rem;font-size:0.8rem}.character-listing-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 20%, rgba(212,175,55,0.08) 0%, transparent 50%),radial-gradient(ellipse at 70% 80%, rgba(212,175,55,0.05) 0%, transparent 50%),linear-gradient(45deg, transparent 30%, rgba(212,175,55,0.03) 50%, transparent 70%);animation:shimmer 4s ease-in-out infinite}.header-badge{display:inline-flex;align-items:center;gap:0.75rem;padding:0.75rem 1.25rem;background:linear-gradient(135deg, rgba(212,175,55,0.25) 0%, rgba(212,175,55,0.15) 100%);border:2px solid rgba(212,175,55,0.4);border-radius:30px;margin-bottom:1.5rem;font-size:0.95rem;font-weight:700;color:var(--primary-gold);text-transform:uppercase;letter-spacing:0.8px;box-shadow:0 4px 15px rgba(212,175,55,0.2),0 0 0 1px rgba(212,175,55,0.1) inset;backdrop-filter:blur(5px);transition:all 0.3s ease}.header-badge:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,175,55,0.3),0 0 0 1px rgba(212,175,55,0.2) inset;border-color:rgba(212,175,55,0.6)}.badge-icon{font-size:1.2rem;filter:drop-shadow(0 0 5px rgba(212,175,55,0.5))}.badge-text{font-family:'Cinzel', serif;text-shadow:0 0 8px rgba(212,175,55,0.3)}.header-content{max-width:600px;margin:0 auto}.create-character-section{margin-top:1rem}.create-character-btn{font-size:1.1rem;font-weight:700;padding:1rem 2rem;border-radius:30px;background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 50%, var(--primary-gold) 100%);border:2px solid rgba(212,175,55,0.4);box-shadow:0 6px 20px rgba(212,175,55,0.3),0 0 0 1px rgba(212,175,55,0.1) inset;transition:all 0.3s ease;text-transform:uppercase;letter-spacing:0.5px;position:relative;overflow:hidden}.create-character-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);transition:left 0.5s ease}.create-character-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.4),0 0 0 1px rgba(212,175,55,0.2) inset;border-color:rgba(212,175,55,0.6)}.create-character-btn:hover::before{left:100%}.character-stats-summary{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:1rem;margin-bottom:2rem;padding:1.5rem;background:rgba(212,175,55,0.05);border:1px solid rgba(212,175,55,0.2);border-radius:12px}.character-stats-summary .stat-item{text-align:center;padding:1rem;background:rgba(212,175,55,0.1);border-radius:8px;transition:all 0.3s ease}.character-stats-summary .stat-item:hover{background:rgba(212,175,55,0.15);transform:translateY(-2px)}.character-stats-summary .stat-number{display:block;font-size:2rem;font-weight:700;color:var(--primary-gold);font-family:'Cinzel', serif;margin-bottom:0.25rem}.character-stats-summary .stat-label{font-size:0.85rem;color:var(--text-medium);text-transform:uppercase;letter-spacing:0.5px;font-weight:600}.character-stats-summary.compact{display:flex;justify-content:space-around;padding:1.5rem 2rem;margin-bottom:1.5rem;background:linear-gradient(145deg, rgba(26,15,10,0.9) 0%, rgba(13,5,16,0.95) 50%, rgba(26,15,10,0.9) 100%);border-radius:15px;border:2px solid rgba(212,175,55,0.2);gap:1.5rem;box-shadow:0 6px 25px rgba(0,0,0,0.3),0 0 0 1px rgba(212,175,55,0.05) inset;backdrop-filter:blur(8px)}.character-stats-summary.compact .stat-item{text-align:center;padding:1rem 1.5rem;border-radius:12px;background:linear-gradient(135deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 100%);border:1px solid rgba(212,175,55,0.15);transition:all 0.3s ease;position:relative;overflow:hidden}.character-stats-summary.compact .stat-item::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg, transparent 30%, rgba(212,175,55,0.05) 50%, transparent 70%);opacity:0;transition:opacity 0.3s ease}.character-stats-summary.compact .stat-item:hover{background:linear-gradient(135deg, rgba(212,175,55,0.12) 0%, rgba(212,175,55,0.06) 100%);border-color:rgba(212,175,55,0.25);transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,175,55,0.15)}.character-stats-summary.compact .stat-item:hover::before{opacity:1}.character-stats-summary.compact .stat-number{font-size:1.8rem;font-weight:800;color:var(--primary-gold);margin-bottom:0.3rem;display:block;font-family:'Cinzel', serif;text-shadow:0 0 10px rgba(212,175,55,0.3);filter:drop-shadow(0 0 5px rgba(212,175,55,0.2))}.character-stats-summary.compact .stat-label{font-size:0.75rem;color:var(--text-medium);text-transform:uppercase;letter-spacing:0.8px;font-weight:700;text-shadow:0 0 5px rgba(0,0,0,0.5)}.characters-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1.5rem;margin-top:1rem}.characters-grid.compact{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem;margin-top:1rem;padding:0 1rem}.character-card{background:linear-gradient(145deg, rgba(26,15,10,0.8), rgba(13,5,16,0.9));border:2px solid rgba(212,175,55,0.3);border-radius:15px;padding:0;position:relative;overflow:hidden;transition:all 0.3s ease;backdrop-filter:blur(10px);display:flex;flex-direction:column}.character-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, transparent 50%);opacity:0;transition:opacity 0.3s ease;pointer-events:none}.character-card:hover{transform:translateY(-4px);border-color:rgba(212,175,55,0.5);box-shadow:0 8px 25px rgba(212,175,55,0.2)}.character-card:hover::before{opacity:1}.character-card.compact{background:linear-gradient(145deg, rgba(26,15,10,0.95), rgba(13,5,16,0.98));border:1px solid rgba(212,175,55,0.2);border-radius:12px;padding:0;position:relative;overflow:hidden;transition:all 0.3s ease;backdrop-filter:blur(10px);display:flex;flex-direction:column;min-height:280px;max-width:none;box-shadow:0 4px 20px rgba(0,0,0,0.3)}.character-card.compact:hover{transform:translateY(-2px);border-color:rgba(212,175,55,0.4);box-shadow:0 8px 30px rgba(212,175,55,0.15)}.character-image-container{width:100%;height:200px;overflow:hidden;position:relative;background:linear-gradient(135deg, rgba(212,175,55,0.1) 0%, rgba(139,69,19,0.1) 100%)}.character-image-container.compact{height:140px;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(139,69,19,0.05) 100%);position:relative;overflow:hidden}.character-image-container.compact::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg, rgba(212,175,55,0.1) 0%, transparent 50%);z-index:1}.character-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.7) 100%);opacity:0;transition:opacity 0.3s ease;display:flex;align-items:flex-end;padding:1rem}.character-card:hover .character-overlay{opacity:1}.character-quick-info{display:flex;gap:0.5rem;flex-wrap:wrap}.character-race,.character-archetype{padding:0.25rem 0.5rem;background:rgba(212,175,55,0.9);color:#2a1f0f;border-radius:12px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.character-image{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.character-card:hover .character-image{transform:scale(1.05)}.character-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.character-content.compact{padding:1rem;flex:1;display:flex;flex-direction:column;gap:0.5rem}.character-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.5rem}.character-gender{font-size:0.8rem;color:var(--text-medium);font-style:italic;padding:0.25rem 0.5rem;background:rgba(212,175,55,0.1);border-radius:8px;border:1px solid rgba(212,175,55,0.2)}.character-name{font-size:1.25rem;font-weight:700;color:var(--primary-gold);margin-bottom:0.75rem;font-family:'Cinzel', serif;text-shadow:0 0 15px rgba(212,175,55,0.3)}.character-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;gap:0.5rem}.character-name{font-size:1.1rem;font-weight:700;color:var(--primary-gold);margin-bottom:0;font-family:'Cinzel', serif;text-shadow:0 0 10px rgba(212,175,55,0.3);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;max-width:100%}.character-gender{font-size:0.65rem;color:var(--text-medium);font-style:italic;padding:0.15rem 0.3rem;background:rgba(212,175,55,0.1);border-radius:4px;border:1px solid rgba(212,175,55,0.2);text-transform:uppercase;letter-spacing:0.3px;font-weight:600;flex-shrink:0}.character-description{color:var(--text-light);font-size:0.9rem;line-height:1.5;margin-bottom:1rem;opacity:0.9}.character-description{color:var(--text-light);font-size:0.75rem;line-height:1.3;margin-bottom:0;opacity:0.9;font-style:italic}.character-details{margin-bottom:1rem;padding:0.75rem;background:rgba(212,175,55,0.05);border-radius:8px;border:1px solid rgba(212,175,55,0.1)}.character-details .detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem;font-size:0.85rem}.character-details .detail-item:last-child{margin-bottom:0}.character-details .detail-label{color:var(--text-medium);font-weight:600;text-transform:uppercase;letter-spacing:0.5px;font-size:0.75rem}.character-details .detail-value{color:var(--primary-gold);font-weight:600}.character-details.compact{margin-bottom:0;padding:0.5rem;background:rgba(212,175,55,0.03);border-radius:6px;border:1px solid rgba(212,175,55,0.1)}.character-details.compact .detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.25rem;font-size:0.7rem}.character-details.compact .detail-item:last-child{margin-bottom:0}.character-details.compact .detail-label{color:var(--text-medium);font-weight:600;text-transform:uppercase;letter-spacing:0.3px;font-size:0.6rem;min-width:60px}.character-details.compact .detail-value{color:var(--primary-gold);font-weight:600;font-size:0.7rem;text-align:right;flex:1;margin-left:0.5rem}.character-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:0.75rem;border-top:1px solid rgba(212,175,55,0.2)}.creator-info{display:flex;flex-direction:column;gap:0.25rem}.creator-label{font-size:0.7rem;color:var(--text-medium);text-transform:uppercase;letter-spacing:0.5px;font-weight:600}.creator-name{font-size:0.85rem;color:var(--primary-gold);font-weight:600}.creation-date{font-size:0.75rem;color:var(--text-medium);font-style:italic}.character-meta.compact{margin-top:auto;padding-top:0.75rem;border-top:1px solid rgba(212,175,55,0.15);display:flex;justify-content:space-between;align-items:center}.character-meta.compact .creator-info{display:flex;flex-direction:column;gap:0.2rem}.character-meta.compact .creator-name{font-size:0.7rem;color:var(--primary-gold);font-weight:600}.character-meta.compact .creation-date{font-size:0.6rem;color:var(--text-medium);font-style:italic}.view-character-link{color:var(--primary-gold);text-decoration:none;font-size:0.9rem;font-weight:600;padding:0.25rem 0.75rem;border-radius:15px;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);transition:all 0.3s ease}.view-character-link:hover{background:rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.5);transform:translateY(-1px)}.view-character-link.compact{font-size:0.7rem;padding:0.3rem 0.8rem;border-radius:8px;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.2);color:var(--primary-gold);text-decoration:none;font-weight:600;transition:all 0.3s ease;text-transform:uppercase;letter-spacing:0.5px}.view-character-link.compact:hover{background:rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.4);transform:translateY(-1px);box-shadow:0 2px 8px rgba(212,175,55,0.2)}.empty-characters{text-align:center;padding:3rem 1rem;grid-column:1 / -1;background:rgba(212,175,55,0.05);border:2px dashed rgba(212,175,55,0.3);border-radius:15px;margin:2rem 0}.empty-characters .empty-icon{font-size:3rem;color:var(--text-medium);margin-bottom:1rem;opacity:0.5}.empty-characters.compact{padding:2rem 1rem;margin:1rem 0}.empty-characters.compact .empty-icon{font-size:2rem;margin-bottom:0.75rem}.empty-characters h3{color:var(--text-medium);margin-bottom:0.5rem;font-size:1.25rem}.empty-characters p{color:var(--text-light);font-size:1rem}input[type="file"]{background:rgba(26,15,10,0.8);border:2px solid rgba(212,175,55,0.3);border-radius:8px;padding:0.75rem;color:var(--text-light);font-size:0.9rem;transition:all 0.3s ease}input[type="file"]:focus{border-color:var(--primary-gold);box-shadow:0 0 10px rgba(212,175,55,0.2);outline:none}input[type="file"]:hover{border-color:rgba(212,175,55,0.5)}.current-image{margin-top:1rem;padding:1rem;background:rgba(26,15,10,0.5);border:1px solid rgba(212,175,55,0.2);border-radius:8px}.current-image p{color:var(--text-medium);font-size:0.9rem;margin-bottom:0.5rem}.current-character-image{max-width:150px;max-height:200px;border-radius:8px;border:2px solid rgba(212,175,55,0.3)}.character-creation-section{padding:40px 0;max-width:1000px;margin:0 auto;padding-top:20px}.character-progress{display:flex;justify-content:center;margin-bottom:40px;padding:20px;background:rgba(20,20,20,0.6);border-radius:12px;border:1px solid rgba(212,175,55,0.2)}.progress-step{display:flex;align-items:center;margin:0 15px;color:var(--text-medium);font-family:'Cinzel', serif;font-size:0.9rem;transition:all 0.3s ease}.progress-step.active{color:var(--primary-gold);text-shadow:0 0 10px rgba(212,175,55,0.5)}.progress-step.completed{color:var(--text-light)}.progress-step-number{width:30px;height:30px;border-radius:50%;background:rgba(212,175,55,0.1);border:2px solid rgba(212,175,55,0.3);display:flex;align-items:center;justify-content:center;margin-right:10px;font-weight:bold;transition:all 0.3s ease}.progress-step.active .progress-step-number{background:var(--primary-gold);border-color:var(--primary-gold);color:var(--dark-bg);box-shadow:0 0 15px rgba(212,175,55,0.5)}.progress-step.completed .progress-step-number{background:var(--text-light);border-color:var(--text-light);color:var(--dark-bg)}.progress-step:not(:last-child)::after{content:'';position:absolute;top:15px;left:100%;width:30px;height:2px;background:rgba(212,175,55,0.2);transition:all 0.3s ease}.progress-step.completed:not(:last-child)::after{background:var(--text-light)}.progress-step.active:not(:last-child)::after{background:var(--primary-gold);box-shadow:0 0 10px rgba(212,175,55,0.3)}.attributes-section{margin-bottom:30px}.attributes-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px;margin-bottom:30px}.attribute-card{background:rgba(30,30,30,0.6);border:2px solid rgba(212,175,55,0.2);border-radius:8px;padding:20px;text-align:center;transition:all 0.3s ease}.attribute-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.2)}.attribute-name{font-size:1.1rem;font-weight:700;color:var(--primary-gold);margin-bottom:15px;font-family:'Cinzel', serif;letter-spacing:1px}.attribute-controls{display:flex;align-items:center;justify-content:center;gap:15px}.attribute-btn{width:40px;height:40px;border:2px solid var(--primary-gold);background:rgba(212,175,55,0.1);color:var(--primary-gold);border-radius:50%;font-size:1.2rem;font-weight:bold;cursor:pointer;transition:all 0.3s ease}.attribute-btn:hover{background:var(--primary-gold);color:var(--dark-bg);box-shadow:0 0 15px rgba(212,175,55,0.5)}.attribute-btn:disabled{opacity:0.5;cursor:not-allowed}.attribute-value{font-size:2rem;font-weight:bold;color:var(--text-light);min-width:50px;text-align:center}.attribute-summary{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:20px;margin-top:20px}.summary-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.summary-label{color:var(--text-medium);font-weight:500;min-width:120px}.summary-value{color:var(--primary-gold);font-weight:bold;font-size:1.1rem}.summary-target{color:var(--text-light);font-size:0.9rem}.traits-section{margin-bottom:30px}.traits-group{margin-bottom:30px}.traits-title{font-size:1.3rem;font-weight:700;color:var(--primary-gold);margin-bottom:10px;font-family:'Cinzel', serif;letter-spacing:1px}.traits-description{color:var(--text-medium);margin-bottom:20px;font-style:italic}.traits-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:20px}.trait-card{background:rgba(30,30,30,0.6);border:2px solid rgba(212,175,55,0.2);border-radius:8px;padding:20px;transition:all 0.3s ease;position:relative}.trait-card.racial{border-color:var(--primary-gold);background:rgba(212,175,55,0.05)}.trait-card.burden{border-color:rgba(139,69,19,0.5);background:rgba(139,69,19,0.05)}.trait-card.disabled{opacity:0.5;border-color:rgba(128,128,128,0.3)}.trait-card.no-traits{background:linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.1));border-color:#666;border-style:dashed}.trait-card.no-traits .trait-content{text-align:center;padding:1rem}.trait-card.no-traits .trait-icon{font-size:2rem;margin-bottom:0.5rem}.trait-card.no-traits .trait-name{color:#999;margin-bottom:0.5rem}.trait-card.no-traits .trait-description{color:#777;margin-bottom:1rem}.no-traits-message{background:rgba(52,152,219,0.1);border:1px solid rgba(52,152,219,0.3);border-radius:6px;padding:0.75rem}.no-traits-info{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem}.no-traits-icon{font-size:1.1rem}.no-traits-text{font-weight:600;color:#3498db}.no-traits-benefit{font-size:0.85rem;color:#bbb;margin:0;font-style:italic}.trait-list{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}.trait-badge{background:rgba(212,175,55,0.2);border:1px solid rgba(212,175,55,0.5);color:#d4af37;padding:0.25rem 0.5rem;border-radius:4px;font-size:0.8rem;font-weight:600}.no-traits-message{display:flex;align-items:center;gap:0.5rem;margin-top:1rem;padding:0.75rem;background:rgba(100,100,100,0.2);border:1px solid rgba(100,100,100,0.3);border-radius:6px}.no-traits-icon{font-size:1rem}.no-traits-text{color:#ccc;font-size:0.85rem;font-style:italic}@media (max-width: 768px){.trait-list{gap:0.4rem;margin-top:0.75rem}.trait-badge{font-size:0.75rem;padding:0.2rem 0.4rem}.no-traits-message{padding:0.5rem;margin-top:0.75rem}.no-traits-text{font-size:0.8rem}}@media (max-width: 480px){.trait-list{gap:0.3rem;margin-top:0.5rem}.trait-badge{font-size:0.7rem;padding:0.15rem 0.3rem}.no-traits-message{padding:0.4rem;margin-top:0.5rem}.no-traits-text{font-size:0.75rem}.ability-level{flex-direction:column;gap:0.4rem}.ability-level-btn{min-width:70px;padding:0.4rem 0.6rem}.level-text{font-size:0.7rem}.level-cost{font-size:0.6rem}.ability-error-message{padding:0.75rem}.error-text{font-size:0.8rem}.traditions-grid{grid-template-columns:1fr}.tradition-card{padding:1rem}.no-powers-section{padding:2rem}.no-powers-icon{font-size:3rem}.no-powers-title{font-size:1.3rem}.archetype-info{padding:1rem}.boons-grid,.burdens-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:1rem;align-items:flex-start}.section-summary{align-self:flex-end}.xp-summary-content{flex-direction:column;gap:1rem}.xp-item{flex-direction:row;justify-content:space-between;width:100%}}.trait-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.2)}.trait-checkbox{position:relative}.trait-checkbox-input{position:absolute;opacity:0;cursor:pointer}.trait-checkbox-label{display:block;cursor:pointer;padding:10px;border-radius:6px;transition:all 0.3s ease}.trait-checkbox-input:checked+.trait-checkbox-label{background:rgba(212,175,55,0.1);border:1px solid var(--primary-gold)}.trait-content{text-align:center}.trait-icon{font-size:2rem;margin-bottom:10px}.trait-name{font-size:1rem;font-weight:700;color:var(--text-light);margin-bottom:8px;font-family:'Cinzel', serif;letter-spacing:1px}.trait-description{font-size:0.9rem;color:var(--text-medium);line-height:1.4;margin-bottom:10px}.trait-bonus{font-size:0.8rem;color:var(--primary-gold);font-weight:bold;background:rgba(212,175,55,0.1);padding:4px 8px;border-radius:4px;display:inline-block}.traits-summary{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:20px;margin-top:20px}.interactive-map-section{position:relative;width:100%;height:80vh;min-height:600px;background:var(--bg-dark);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,0.3);margin:2rem 0;padding-top:20px}.map-controls{position:absolute;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}.map-control-group{display:flex;gap:5px}.map-control-btn{width:40px;height:40px;border:none;border-radius:8px;background:rgba(0,0,0,0.8);color:var(--primary-gold);font-size:16px;font-weight:bold;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);border:1px solid rgba(212,175,55,0.3)}.map-control-btn:hover{background:rgba(212,175,55,0.2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,175,55,0.3)}.map-control-btn:active{transform:translateY(0)}.map-container{width:100%;height:100%;position:relative;overflow:hidden}.map-wrapper{width:100%;height:100%;position:relative}.map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center;color:var(--text-light);z-index:10}.loading-spinner{width:40px;height:40px;border:3px solid rgba(212,175,55,0.3);border-top:3px solid var(--primary-gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.map-sidebar{position:absolute;top:0;right:-400px;width:400px;height:100%;background:rgba(0,0,0,0.95);backdrop-filter:blur(20px);border-left:2px solid var(--primary-gold);transition:right 0.3s ease;z-index:1000;overflow-y:auto}.map-sidebar.active{right:0}.sidebar-header{padding:20px;border-bottom:1px solid rgba(212,175,55,0.3);position:relative}.sidebar-title{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.5rem;font-weight:700;margin:0 0 5px 0}.sidebar-subtitle{color:var(--text-medium);font-size:0.9rem;margin:0}.sidebar-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--text-medium);font-size:24px;cursor:pointer;transition:color 0.3s ease}.sidebar-close:hover{color:var(--primary-gold)}.location-details{padding:20px}.no-selection{text-align:center;color:var(--text-medium)}.no-selection-icon{font-size:3rem;margin-bottom:1rem;opacity:0.5}.no-selection h4{color:var(--text-light);margin-bottom:1rem;font-family:'Cinzel', serif}.map-tips{margin-top:2rem;padding:1rem;background:rgba(212,175,55,0.1);border-radius:8px;border:1px solid rgba(212,175,55,0.2)}.map-tips h5{color:var(--primary-gold);margin-bottom:0.5rem;font-family:'Cinzel', serif}.map-tips ul{list-style:none;padding:0;margin:0}.map-tips li{padding:0.25rem 0;color:var(--text-medium);font-size:0.9rem}.map-tips li:before{content:"•";color:var(--primary-gold);font-weight:bold;margin-right:0.5rem}.location-header{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(212,175,55,0.2)}.location-icon{width:50px;height:50px;background:rgba(212,175,55,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:2px solid rgba(212,175,55,0.3)}.location-info{flex:1}.location-name{color:var(--text-light);font-family:'Cinzel', serif;font-size:1.3rem;font-weight:700;margin:0 0 5px 0}.location-type{color:var(--primary-gold);font-size:0.9rem;margin:0;text-transform:uppercase;letter-spacing:1px}.location-description{margin-bottom:20px;padding:15px;background:rgba(255,255,255,0.02);border-radius:8px;border-left:3px solid var(--primary-gold)}.location-description p{color:var(--text-medium);margin:0;line-height:1.6}.location-details-grid{display:grid;gap:12px;margin-bottom:20px}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px;background:rgba(255,255,255,0.02);border-radius:6px;border:1px solid rgba(212,175,55,0.1)}.detail-label{color:var(--primary-gold);font-weight:600;font-size:0.9rem;min-width:80px}.detail-value{color:var(--text-medium);font-size:0.9rem;text-align:right;flex:1;margin-left:10px}.location-actions{display:flex;gap:10px;flex-wrap:wrap}.location-actions .btn{flex:1;min-width:120px;font-size:0.9rem;padding:8px 16px}.map-tooltip{background:rgba(0,0,0,0.9);color:var(--text-light);padding:8px 12px;border-radius:6px;font-size:0.9rem;border:1px solid var(--primary-gold);box-shadow:0 4px 12px rgba(0,0,0,0.5);pointer-events:none;z-index:10000;max-width:200px}.map-tooltip strong{color:var(--primary-gold);display:block;margin-bottom:2px}.map-tooltip small{color:var(--text-medium);font-size:0.8rem}@media (max-width: 1200px){.map-sidebar{width:350px;right:-350px}}@media (max-width: 768px){.interactive-map-section{height:60vh;min-height:400px}.map-sidebar{width:100%;right:-100%}.map-controls{top:10px;right:10px}.map-control-btn{width:35px;height:35px;font-size:14px}.sidebar-header{padding:15px}.location-details{padding:15px}.location-header{flex-direction:column;text-align:center;gap:10px}.location-actions{flex-direction:column}.location-actions .btn{width:100%}}@media (max-width: 480px){.interactive-map-section{height:50vh;min-height:300px}.map-controls{flex-direction:row;gap:5px}.map-control-group{flex-direction:column}}.interactive-map-section:fullscreen{border-radius:0;margin:0}.interactive-map-section:fullscreen .map-controls{top:30px;right:30px}.location-details>*{animation:slideInRight 0.3s ease-out}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.map-container iframe{transition:transform 0.3s ease}.map-container iframe:hover{cursor:grab}.map-container iframe:active{cursor:grabbing}#legend{transition:opacity 0.3s ease}#legend.hidden{opacity:0;pointer-events:none}.settlement{transition:all 0.3s ease}.settlement:hover{transform:scale(1.1)}.settlement:hover .marker-pulse{animation:none;opacity:1;filter:brightness(1.5)}.zoom-btn{transition:all 0.3s ease}.zoom-btn:hover{fill:rgba(255,255,255,0.4);transform:scale(1.1)}.zoom-btn:active{transform:scale(0.95)}.map-marker{position:absolute;width:40px;height:40px;cursor:pointer;transition:all 0.3s ease;z-index:10}.map-marker::before{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;background:rgba(212,175,55,0.8);border:2px solid var(--primary-gold);border-radius:50%;transform:translate(-50%, -50%);transition:all 0.3s ease}.map-marker.hover::before,.map-marker:hover::before{background:var(--primary-gold);box-shadow:0 0 20px rgba(212,175,55,0.6);transform:translate(-50%, -50%) scale(1.2)}.marker-icon{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-size:1.2rem;z-index:11;pointer-events:none}.marker-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:rgba(20,20,20,0.95);border:1px solid var(--primary-gold);border-radius:6px;padding:10px;color:var(--text-light);font-size:0.8rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all 0.3s ease;z-index:100;margin-bottom:10px}.marker-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--primary-gold)}.map-marker:hover .marker-tooltip{opacity:1;visibility:visible}.map-sidebar{flex:1;background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:20px;max-width:350px}.sidebar-header{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(212,175,55,0.2)}.sidebar-title{font-size:1.3rem;font-weight:700;color:var(--primary-gold);margin-bottom:5px;font-family:'Cinzel', serif;letter-spacing:1px}.sidebar-subtitle{color:var(--text-medium);font-size:0.9rem}.location-details{transition:all 0.3s ease}.no-selection{text-align:center;padding:40px 20px;color:var(--text-medium)}.no-selection-icon{font-size:3rem;margin-bottom:15px;opacity:0.5}.no-selection h4{color:var(--text-light);margin-bottom:10px;font-family:'Cinzel', serif}.location-header{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(212,175,55,0.2)}.location-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:rgba(212,175,55,0.1);border:1px solid var(--primary-gold);border-radius:8px}.location-info{flex:1}.location-name{font-size:1.2rem;font-weight:700;color:var(--text-light);margin-bottom:5px;font-family:'Cinzel', serif;letter-spacing:1px}.location-type{color:var(--primary-gold);font-size:0.9rem;text-transform:uppercase;letter-spacing:1px}.location-description{margin-bottom:20px;color:var(--text-medium);line-height:1.5}.location-details-grid{display:grid;gap:10px;margin-bottom:20px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(212,175,55,0.1)}.detail-label{color:var(--text-medium);font-weight:500}.detail-value{color:var(--text-light);font-weight:600}.location-actions{margin-top:20px}@media (max-width: 768px){.map-section{flex-direction:column;gap:20px}.map-sidebar{max-width:none}.map-background{height:400px}.map-marker{width:30px;height:30px}.marker-icon{font-size:1rem}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px;margin-bottom:40px}.stat-card{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:25px;display:flex;align-items:center;gap:20px;transition:all 0.3s ease}.stat-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.1)}.stat-icon{font-size:2.5rem;opacity:0.8}.stat-content{flex:1}.stat-number{font-size:2rem;font-weight:700;color:var(--primary-gold);margin-bottom:5px;font-family:'Cinzel', serif}.stat-label{color:var(--text-medium);font-size:0.9rem;text-transform:uppercase;letter-spacing:1px}.quick-actions{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:25px}.quick-actions-title{font-size:1.3rem;font-weight:700;color:var(--text-light);margin-bottom:20px;font-family:'Cinzel', serif;letter-spacing:1px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:15px}.quick-action-btn{background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:15px 20px;color:var(--text-light);text-decoration:none;text-align:center;transition:all 0.3s ease;font-weight:500}.quick-action-btn:hover{background:rgba(212,175,55,0.2);border-color:var(--primary-gold);color:var(--primary-gold);transform:translateY(-2px)}.user-info{display:flex;align-items:center;gap:10px}.username{font-weight:600;color:var(--text-light)}.gm-badge{background:var(--primary-gold);color:var(--bg-dark);padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;text-transform:uppercase}.role{padding:4px 12px;border-radius:6px;font-size:0.8rem;font-weight:600;text-transform:uppercase}.role.admin{background:rgba(139,0,0,0.2);color:var(--accent-red);border:1px solid var(--accent-red)}.role.gm{background:rgba(212,175,55,0.2);color:var(--primary-gold);border:1px solid var(--primary-gold)}.role.player{background:rgba(34,139,34,0.2);color:#228b22;border:1px solid #228b22}.action-buttons{display:flex;gap:5px}.btn-small{padding:6px 12px;font-size:0.8rem;border-radius:4px}.btn-danger{background:rgba(139,0,0,0.8);border:1px solid var(--accent-red);color:white}.btn-danger:hover{background:var(--accent-red);border-color:var(--accent-red)}.resource-name{font-weight:600;color:var(--text-light)}.resource-description{color:var(--text-medium);font-size:0.9rem;line-height:1.4}.count-badge{background:rgba(212,175,55,0.2);color:var(--primary-gold);padding:4px 8px;border-radius:4px;font-size:0.8rem;font-weight:600;border:1px solid rgba(212,175,55,0.3)}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2, 1fr)}.quick-actions-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column;gap:3px}.btn-small{padding:4px 8px;font-size:0.7rem}}.character-form{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:40px;backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3)}.race-selection-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:20px;margin-bottom:40px}.race-option-card{background:rgba(30,30,30,0.6);border:2px solid rgba(212,175,55,0.2);border-radius:8px;padding:20px;transition:all 0.3s ease;cursor:pointer;position:relative;overflow:hidden}.race-option-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(212,175,55,0.1), transparent);transition:left 0.5s ease}.race-option-card:hover::before{left:100%}.race-option-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.2)}.race-radio-wrapper{position:relative}.race-radio{position:absolute;opacity:0;cursor:pointer;z-index:20;pointer-events:auto;width:20px;height:20px;margin:0;padding:0;border:none;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;top:12px;right:12px}.race-label{cursor:pointer;display:block;position:relative;z-index:5;pointer-events:auto;padding:20px;border-radius:6px;transition:all 0.3s ease}.race-option-card::after{content:'';position:absolute;top:12px;right:12px;width:20px;height:20px;border:2px solid #666;border-radius:50%;background:rgba(20,20,20,0.8);transition:all 0.3s ease;z-index:10}.race-option-card.selected::after{border-color:#d4af37;background:linear-gradient(145deg, #d4af37, #8b4513);box-shadow:0 0 10px rgba(212,175,55,0.4)}.race-option-card.selected::before{content:'';position:absolute;top:16px;right:16px;width:12px;height:12px;background:#1a1a1a;border-radius:50%;z-index:11;box-shadow:inset 0 1px 3px rgba(0,0,0,0.3)}.race-option-card.selected{border-color:var(--primary-gold);background:rgba(212,175,55,0.1)}.race-option-card.selected .race-name{color:var(--primary-gold);text-shadow:0 0 10px rgba(212,175,55,0.5)}.race-content{text-align:center}.race-name{font-size:1.2rem;font-weight:700;color:var(--text-light);margin-bottom:10px;font-family:'Cinzel', serif;letter-spacing:1px;transition:all 0.3s ease}.race-description{font-size:0.9rem;color:var(--text-medium);font-style:italic;line-height:1.4;margin:0;font-family:'Inter', sans-serif}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:30px;border-top:1px solid rgba(212,175,55,0.2)}.form-actions .btn{min-width:120px;font-weight:600;letter-spacing:1px}@media (max-width: 768px){.race-selection-grid{grid-template-columns:1fr;gap:15px}.character-form{padding:20px;margin:0 10px}.form-actions{flex-direction:column;gap:15px}.form-actions .btn{width:100%}.character-progress{flex-direction:column;gap:10px}.progress-step{margin:5px 0}}.breadcrumb-nav{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;padding:1rem;background:linear-gradient(145deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border-radius:15px;border:1px solid var(--gold-light);box-shadow:0 0 20px rgba(212,175,55,0.2)}.breadcrumb-link{color:var(--primary-gold);text-decoration:none;font-family:'Cinzel Decorative', serif;font-size:0.9rem;transition:all 0.3s ease;padding:0.5rem 1rem;border-radius:8px}.breadcrumb-link:hover{color:var(--glow-gold);text-shadow:0 0 10px var(--glow-gold);background:rgba(212,175,55,0.1)}.lore-detail-header{margin-bottom:2rem;text-align:center;padding:2rem;background:linear-gradient(145deg, rgba(13,5,16,0.8), rgba(26,10,26,0.6));border-radius:20px;border:2px solid var(--gold-light);box-shadow:0 0 30px rgba(212,175,55,0.3),0 0 60px rgba(212,175,55,0.1);backdrop-filter:blur(10px)}.lore-detail-title{font-family:'Cinzel Decorative', serif;font-size:2.5rem;font-weight:700;color:var(--primary-gold);margin:1rem 0;text-shadow:0 0 20px var(--glow-gold),0 0 40px var(--glow-gold);line-height:1.2}.lore-detail-content{margin-bottom:2rem;padding:2rem;background:linear-gradient(145deg, rgba(13,5,16,0.9), rgba(26,10,26,0.7));border-radius:20px;border:2px solid var(--gold-light);box-shadow:0 0 30px rgba(212,175,55,0.2),0 0 60px rgba(212,175,55,0.1);backdrop-filter:blur(10px)}.lore-content{font-family:'Cormorant Garamond', serif;font-size:1.1rem;line-height:1.8;color:var(--pale-ivory)}.lore-content h1,.lore-content h2,.lore-content h3,.lore-content h4,.lore-content h5,.lore-content h6{font-family:'Cinzel Decorative', serif;color:var(--primary-gold);margin-top:2rem;margin-bottom:1rem;text-shadow:0 0 10px var(--glow-gold)}.lore-content h1{font-size:1.8rem;border-bottom:2px solid var(--gold-light);padding-bottom:0.5rem}.lore-content h2{font-size:1.5rem}.lore-content h3{font-size:1.3rem}.lore-content p{margin-bottom:1.5rem}.lore-content ul,.lore-content ol{margin-bottom:1.5rem;padding-left:2rem}.lore-content li{margin-bottom:0.5rem}.lore-content blockquote{background:linear-gradient(145deg, rgba(212,175,55,0.15), rgba(212,175,55,0.08));border-left:4px solid var(--primary-gold);padding:1.5rem 2rem;margin:2rem 0;font-style:italic;border-radius:0 10px 10px 0;box-shadow:0 0 20px rgba(212,175,55,0.3)}.lore-content code{background:rgba(212,175,55,0.15);color:var(--primary-gold);padding:0.2rem 0.5rem;border-radius:3px;font-family:'Courier New', monospace;border:1px solid var(--gold-light)}.lore-content pre{background:linear-gradient(145deg, rgba(13,5,16,0.95), rgba(26,10,26,0.85));border:1px solid var(--gold-light);padding:1.5rem;border-radius:10px;overflow-x:auto;margin:1.5rem 0;box-shadow:0 0 20px rgba(212,175,55,0.3)}.lore-navigation{display:flex;gap:1rem;justify-content:center;margin-top:3rem;flex-wrap:wrap;padding:1.5rem;background:linear-gradient(145deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border-radius:15px;border:1px solid var(--gold-light);box-shadow:0 0 20px rgba(212,175,55,0.2)}.lore-navigation .mystical-btn,.lore-navigation .mystical-btn-secondary{min-width:150px}.rule-detail-header{margin-bottom:2rem;text-align:center;padding:2rem;background:linear-gradient(145deg, rgba(13,5,16,0.8), rgba(26,10,26,0.6));border-radius:20px;border:2px solid var(--gold-light);box-shadow:0 0 30px rgba(212,175,55,0.3),0 0 60px rgba(212,175,55,0.1);backdrop-filter:blur(10px)}.rule-detail-title{font-family:'Cinzel Decorative', serif;font-size:2.5rem;font-weight:700;color:var(--primary-gold);margin:1rem 0;text-shadow:0 0 20px var(--glow-gold),0 0 40px var(--glow-gold);line-height:1.2}.rule-detail-content{margin-bottom:2rem;padding:2rem;background:linear-gradient(145deg, rgba(13,5,16,0.9), rgba(26,10,26,0.7));border-radius:20px;border:2px solid var(--gold-light);box-shadow:0 0 30px rgba(212,175,55,0.2),0 0 60px rgba(212,175,55,0.1);backdrop-filter:blur(10px)}.rule-content{font-family:'Cormorant Garamond', serif;font-size:1.1rem;line-height:1.8;color:var(--pale-ivory)}.rule-content h1,.rule-content h2,.rule-content h3,.rule-content h4,.rule-content h5,.rule-content h6{font-family:'Cinzel Decorative', serif;color:var(--primary-gold);margin-top:2rem;margin-bottom:1rem;text-shadow:0 0 10px var(--glow-gold)}.rule-content h1{font-size:1.8rem;border-bottom:2px solid var(--gold-light);padding-bottom:0.5rem}.rule-content h2{font-size:1.5rem}.rule-content h3{font-size:1.3rem}.rule-content p{margin-bottom:1.5rem}.rule-content ul,.rule-content ol{margin-bottom:1.5rem;padding-left:2rem}.rule-content li{margin-bottom:0.5rem}.rule-content blockquote{background:linear-gradient(145deg, rgba(212,175,55,0.15), rgba(212,175,55,0.08));border-left:4px solid var(--primary-gold);padding:1.5rem 2rem;margin:2rem 0;font-style:italic;border-radius:0 10px 10px 0;box-shadow:0 0 20px rgba(212,175,55,0.3)}.rule-content code{background:rgba(212,175,55,0.15);color:var(--primary-gold);padding:0.2rem 0.5rem;border-radius:3px;font-family:'Courier New', monospace;border:1px solid var(--gold-light)}.rule-content pre{background:linear-gradient(145deg, rgba(13,5,16,0.95), rgba(26,10,26,0.85));border:1px solid var(--gold-light);padding:1.5rem;border-radius:10px;overflow-x:auto;margin:1.5rem 0;box-shadow:0 0 20px rgba(212,175,55,0.3)}.login-page{background:linear-gradient(135deg, #0d0510 0%, #1a0a1a 50%, #2a0a1a 100%);background-attachment:fixed;position:relative;overflow-x:hidden;padding:20px}.login-container{display:flex;align-items:center;justify-content:center;padding:40px 10px;position:relative;z-index:10}.login-card{background:rgba(13,5,16,0.9);backdrop-filter:blur(10px);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:40px 30px;max-width:400px;width:100%;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,0.8),0 0 30px rgba(212,175,55,0.1);animation:slideInUp 0.8s ease-out}@keyframes slideInUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.login-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg, transparent, #d4af37, transparent);animation:borderSweep 3s ease-in-out infinite}@keyframes borderSweep{0%{left:-100%}50%{left:100%}100%{left:100%}}.login-header{text-align:center;margin-bottom:25px;position:relative}.login-title{font-size:2.4rem;font-weight:700;color:#d4af37;margin-bottom:20px;text-shadow:0 0 30px rgba(212,175,55,0.3);letter-spacing:1px;position:relative;text-align:center}@keyframes glow{from{text-shadow:0 0 10px rgba(212,175,55,0.5)}to{text-shadow:0 0 20px rgba(212,175,55,0.8)}}.login-form{position:relative}.login-form .form-group{margin-bottom:15px;position:relative}.login-form .form-label{display:block;color:#d4af37;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px;font-size:0.9rem}.login-form .form-input{width:100%;padding:15px 20px;background:rgba(255,255,255,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:8px;color:#e0e0e0;font-family:'Cormorant Garamond', serif;font-size:1rem;transition:all 0.3s ease;box-sizing:border-box}.login-form .form-input:focus{outline:none;border-color:#d4af37;background:rgba(255,255,255,0.08);box-shadow:0 0 20px rgba(212,175,55,0.3),inset 0 0 20px rgba(212,175,55,0.1);transform:translateY(-2px)}.login-form .form-input::placeholder{color:rgba(224,224,224,0.5);font-style:italic}.submit-button{width:100%;padding:18px;background:linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);border:none;border-radius:8px;color:#0a0a0a;font-family:'Cinzel', serif;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all 0.3s ease;position:relative;overflow:hidden;margin-top:20px;box-shadow:0 4px 12px rgba(212,175,55,0.3)}.submit-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);transition:left 0.5s}.submit-button:hover::before{left:100%}.submit-button:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(212,175,55,0.4),0 0 30px rgba(212,175,55,0.3)}.submit-button:active{transform:translateY(-1px)}.mystical-divider{height:1px;background:linear-gradient(90deg, transparent, #d4af37, transparent);margin:30px 0;position:relative}.mystical-divider::before{content:'◆';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(13,5,16,0.9);color:#d4af37;padding:0 15px;font-size:1rem}.create-account{text-align:center;margin-top:20px}.create-account p{color:#b8b8b8;margin-bottom:15px;font-size:0.95rem}.create-account-link{display:inline-block;color:#d4af37;text-decoration:none;font-weight:600;padding:12px 24px;border:1px solid #d4af37;border-radius:8px;transition:all 0.3s ease;text-transform:uppercase;letter-spacing:1px;font-size:0.9rem;position:relative;overflow:hidden;background:rgba(13,5,16,0.8)}.create-account-link::before{content:'';position:absolute;top:0;left:0;width:0;height:100%;background:#d4af37;transition:width 0.4s ease;z-index:-1}.create-account-link:hover::before{width:100%}.create-account-link:hover{color:#0a0a0a;transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,0.3)}.login-page .alert{background:rgba(139,0,0,0.2);border:2px solid #8b0000;color:#ff6b6b;padding:15px 20px;border-radius:10px;margin-bottom:25px;font-weight:500;text-align:center;backdrop-filter:blur(10px);animation:shake 0.5s ease-in-out}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.back-to-home{position:absolute;top:20px;left:20px;color:#e0e0e0;text-decoration:none;font-weight:500;font-size:0.9rem;transition:all 0.3s ease;z-index:100}.back-to-home:hover{color:#d4af37;transform:translateX(-3px)}@media (max-width: 768px){.login-card{padding:30px 25px;margin:15px}.login-title{font-size:2rem}.back-to-home{top:15px;left:15px}}@media (max-width: 480px){.login-card{padding:20px 15px}.login-title{font-size:1.6rem}.login-form .form-input{padding:10px 14px}.submit-button{padding:12px;font-size:0.9rem}}.nav-welcome{color:var(--primary-gold);font-family:'Cinzel Decorative', serif;font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:1px;padding:0.5rem 1rem;background:rgba(212,175,55,0.1);border:1px solid var(--gold-light);border-radius:8px;text-shadow:0 0 10px var(--glow-gold);white-space:nowrap}.nav-welcome .admin-badge{color:var(--primary-gold);font-size:0.8rem;margin-left:0.5rem;text-shadow:0 0 10px var(--glow-gold);background:rgba(212,175,55,0.2);padding:2px 6px;border-radius:4px;border:1px solid var(--gold-light)}.logout-btn{background:none !important;border:none !important;color:inherit !important;font:inherit !important;cursor:pointer !important;padding:0 !important;margin:0 !important;text-decoration:none !important;display:inline !important}.logout-btn:hover{color:var(--primary-gold) !important;text-shadow:0 0 10px var(--glow-gold) !important}.abilities-section{margin:2rem 0}.abilities-summary{display:flex;gap:2rem;margin-bottom:2rem;padding:1rem;background:rgba(212,175,55,0.1);border:1px solid var(--gold-light);border-radius:8px}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:1.5rem;margin-top:2rem}.ability-card{background:linear-gradient(135deg, rgba(20,20,20,0.9), rgba(30,30,30,0.9));border:2px solid rgba(212,175,55,0.2);border-radius:12px;padding:1.5rem;transition:all 0.3s ease;position:relative;overflow:hidden}.ability-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, var(--primary-gold), transparent);opacity:0;transition:opacity 0.3s ease}.ability-card:hover{border-color:var(--primary-gold);transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.15)}.ability-card:hover::before{opacity:1}.ability-card.selected{border-color:var(--primary-gold);background:linear-gradient(135deg, rgba(212,175,55,0.15), rgba(212,175,55,0.05));box-shadow:0 0 20px rgba(212,175,55,0.3);transform:translateY(-2px)}.ability-card.selected::before{content:'✓';position:absolute;top:1rem;right:1rem;background:var(--primary-gold);color:#0d0510;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:1rem;box-shadow:0 2px 8px rgba(212,175,55,0.4);animation:checkmark-appear 0.3s ease-out}.ability-checkbox{display:flex;align-items:flex-start;gap:1rem}.ability-checkbox-input{margin-top:0.5rem}.ability-name{color:var(--primary-gold);font-size:1.1rem;margin-bottom:0.5rem}.ability-description{color:var(--text-medium);font-size:0.9rem;margin-bottom:0.5rem}.ability-xp{color:var(--accent-red);font-weight:600;font-size:0.8rem}.ability-level{display:flex;gap:0.5rem;margin-top:1rem}.ability-level-btn{display:flex;flex-direction:column;align-items:center;padding:0.75rem 1rem;border:2px solid rgba(212,175,55,0.3);border-radius:8px;background:linear-gradient(135deg, rgba(30,30,30,0.9), rgba(40,40,40,0.9));color:#ccc;cursor:pointer;transition:all 0.3s ease;font-size:0.8rem;min-width:90px;position:relative;overflow:hidden}.ability-level-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(212,175,55,0.1), transparent);transition:left 0.5s ease}.ability-level-btn:hover:not(:disabled){border-color:var(--primary-gold);background:linear-gradient(135deg, rgba(212,175,55,0.15), rgba(212,175,55,0.05));color:var(--primary-gold);transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,0.2)}.ability-level-btn:hover:not(:disabled)::before{left:100%}.ability-level-btn.active{border-color:var(--primary-gold);background:linear-gradient(135deg, rgba(212,175,55,0.25), rgba(212,175,55,0.1));color:var(--primary-gold);box-shadow:0 0 15px rgba(212,175,55,0.4);transform:translateY(-1px)}.ability-level-btn:disabled{opacity:0.4;cursor:not-allowed;background:rgba(20,20,20,0.6);border-color:rgba(212,175,55,0.1)}.level-text{font-weight:600;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.5px}.level-cost{font-size:0.65rem;opacity:0.8;margin-top:0.2rem}.ability-error-message{background:rgba(220,53,69,0.1);border:1px solid rgba(220,53,69,0.3);border-radius:8px;padding:1rem;margin-top:1rem;animation:slideInDown 0.3s ease}.error-content{display:flex;align-items:center;gap:0.5rem}.error-icon{font-size:1.2rem}.error-text{color:#dc3545;font-size:0.9rem;font-weight:500}@keyframes slideInDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.powers-section{margin-bottom:2rem}.powers-content{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:2rem}.powers-title{color:var(--primary-gold);font-size:1.5rem;margin-bottom:1rem;font-family:'Cinzel', serif}.powers-description{color:var(--text-medium);margin-bottom:2rem}.traditions-section{margin-bottom:2rem}.tradition-title{color:var(--primary-gold);font-size:1.2rem;margin-bottom:0.5rem}.tradition-description{color:var(--text-medium);margin-bottom:1rem}.traditions-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1rem}.tradition-card{background:rgba(30,30,30,0.8);border:2px solid rgba(212,175,55,0.2);border-radius:8px;padding:1.5rem;transition:all 0.3s ease;cursor:pointer}.tradition-card:hover{border-color:var(--primary-gold);background:rgba(212,175,55,0.05)}.tradition-radio{position:relative}.tradition-radio-input{position:absolute;opacity:0;cursor:pointer}.tradition-radio-label{display:block;cursor:pointer}.tradition-content{text-align:center}.tradition-name{color:var(--primary-gold);font-size:1.1rem;margin-bottom:0.5rem;font-weight:600}.tradition-description{color:var(--text-medium);font-size:0.9rem;line-height:1.4;margin-bottom:1rem}.tradition-corruption{background:rgba(220,53,69,0.1);border:1px solid rgba(220,53,69,0.3);border-radius:4px;padding:0.5rem;display:flex;justify-content:space-between;align-items:center}.corruption-label{color:#dc3545;font-size:0.8rem;font-weight:600}.corruption-value{color:#dc3545;font-weight:bold}.tradition-radio-input:checked+.tradition-radio-label .tradition-card{border-color:var(--primary-gold);background:rgba(212,175,55,0.1);box-shadow:0 0 15px rgba(212,175,55,0.3)}.powers-selection{margin-top:2rem}.powers-selection-title{color:var(--primary-gold);font-size:1.2rem;margin-bottom:0.5rem}.powers-selection-description{color:var(--text-medium);margin-bottom:1rem}.powers-grid{min-height:200px}.powers-placeholder{background:rgba(30,30,30,0.6);border:2px dashed rgba(212,175,55,0.3);border-radius:8px;padding:3rem;text-align:center}.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.placeholder-icon{font-size:3rem;opacity:0.6}.placeholder-title{color:var(--primary-gold);font-size:1.2rem;margin:0}.placeholder-description{color:var(--text-medium);font-size:0.9rem;margin:0}.no-powers-section{background:rgba(20,20,20,0.8);border:1px solid rgba(128,128,128,0.3);border-radius:8px;padding:3rem;text-align:center}.no-powers-content{max-width:600px;margin:0 auto}.no-powers-icon{font-size:4rem;margin-bottom:1.5rem;opacity:0.7}.no-powers-title{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem;font-family:'Cinzel', serif}.no-powers-description{color:var(--text-medium);font-size:1rem;line-height:1.6;margin-bottom:2rem}.archetype-info{background:rgba(30,30,30,0.6);border:1px solid rgba(128,128,128,0.2);border-radius:8px;padding:1.5rem;text-align:left}.archetype-info-title{color:var(--primary-gold);font-size:1.1rem;margin-bottom:1rem;font-family:'Cinzel', serif}.archetype-info-description{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-bottom:1rem}.archetype-detail{color:var(--text-medium);font-size:0.85rem;margin-bottom:0.5rem}.archetype-detail strong{color:var(--text-primary)}.boons-burdens-section{margin-bottom:2rem}.boons-section,.burdens-section{margin-bottom:2rem;background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(212,175,55,0.2)}.section-title{color:var(--primary-gold);font-size:1.5rem;margin:0;font-family:'Cinzel', serif}.section-summary{display:flex;align-items:center;gap:0.5rem;background:rgba(30,30,30,0.6);padding:0.5rem 1rem;border-radius:6px;border:1px solid rgba(212,175,55,0.2)}.summary-label{color:var(--text-medium);font-size:0.9rem}.summary-value{color:var(--primary-gold);font-weight:bold;font-size:1.1rem}.summary-cost{color:#dc3545;font-weight:600;font-size:0.9rem}.summary-bonus{color:#28a745;font-weight:600;font-size:0.9rem}.section-description{color:var(--text-medium);margin-bottom:1.5rem;font-size:0.95rem}.boons-grid,.burdens-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:1rem}.boon-card,.burden-card{background:rgba(30,30,30,0.8);border:2px solid rgba(212,175,55,0.2);border-radius:8px;padding:1.5rem;transition:all 0.3s ease;cursor:pointer}.boon-card:hover{border-color:var(--primary-gold);background:rgba(212,175,55,0.05)}.burden-card{border-color:rgba(220,53,69,0.3)}.burden-card:hover{border-color:#dc3545;background:rgba(220,53,69,0.05)}.boon-checkbox,.burden-checkbox{position:relative}.boon-checkbox-input,.burden-checkbox-input{position:absolute;opacity:0;cursor:pointer}.boon-checkbox-label,.burden-checkbox-label{display:block;cursor:pointer}.boon-content,.burden-content{text-align:left}.boon-name,.burden-name{color:var(--primary-gold);font-size:1.1rem;margin-bottom:0.75rem;font-weight:600}.burden-name{color:#dc3545}.boon-description,.burden-description{color:var(--text-medium);font-size:0.9rem;line-height:1.4;margin-bottom:1rem}.boon-cost,.burden-bonus{display:flex;justify-content:space-between;align-items:center;padding:0.5rem;border-radius:4px;font-size:0.85rem;font-weight:600}.boon-cost{background:rgba(220,53,69,0.1);border:1px solid rgba(220,53,69,0.3)}.burden-bonus{background:rgba(40,167,69,0.1);border:1px solid rgba(40,167,69,0.3)}.cost-label,.bonus-label{color:var(--text-medium)}.cost-value{color:#dc3545}.bonus-value{color:#28a745}.boon-checkbox-input:checked+.boon-checkbox-label .boon-card{border-color:var(--primary-gold);background:rgba(212,175,55,0.1);box-shadow:0 0 15px rgba(212,175,55,0.3)}.burden-checkbox-input:checked+.burden-checkbox-label .burden-card{border-color:#dc3545;background:rgba(220,53,69,0.1);box-shadow:0 0 15px rgba(220,53,69,0.3)}.xp-summary{background:rgba(20,20,20,0.9);border:2px solid rgba(212,175,55,0.3);border-radius:8px;padding:1.5rem;margin-top:2rem;position:relative;overflow:hidden}.xp-summary::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, #8b4513, #d4af37, #8b4513)}.xp-summary-content{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:1rem}.xp-item{display:flex;flex-direction:column;align-items:center;gap:0.5rem;text-align:center}.xp-label{color:var(--text-medium);font-size:0.9rem;font-weight:600}.xp-value{font-size:1.2rem;font-weight:bold}.xp-cost{color:#dc3545}.xp-bonus{color:#28a745}.xp-net{background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:6px;padding:0.75rem 1rem;margin-top:0.5rem}.xp-net .xp-label{color:var(--primary-gold)}.xp-net .xp-value{font-size:1.3rem}.equipment-section{margin-top:1rem}.equipment-categories{display:flex;gap:0.5rem;margin-bottom:1rem;flex-wrap:wrap}.category-btn{padding:0.5rem 1rem;border:1px solid #444;border-radius:6px;background:linear-gradient(145deg, rgba(42,42,42,0.8), rgba(20,20,20,0.8));color:#ccc;cursor:pointer;transition:all 0.3s ease;font-size:0.9rem}.category-btn:hover{border-color:#8b4513;background:rgba(139,69,19,0.1);color:#fff}.category-btn.active{border-color:#d4af37;background:linear-gradient(145deg, #d4af37, #8b4513);color:#1a1a1a;font-weight:bold;box-shadow:0 0 10px rgba(212,175,55,0.4)}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:1rem;margin-top:1rem}.equipment-card{border:1px solid #444;border-radius:8px;padding:1rem;cursor:pointer;transition:all 0.3s ease;background:linear-gradient(145deg, rgba(42,42,42,0.8), rgba(20,20,20,0.8));display:flex;align-items:flex-start;gap:0.75rem;min-height:100px}.equipment-card:hover{border-color:#8b4513;background:rgba(139,69,19,0.1);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.3)}.equipment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.5rem}.equipment-header h4{margin:0;color:#d4af37;font-size:1.1rem;flex:1}.equipment-meta{display:flex;flex-direction:column;align-items:flex-end;gap:0.25rem}.equipment-category{background:linear-gradient(145deg, #4a148c, #7b1fa2);color:#fff;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.equipment-cost{background:linear-gradient(145deg, #d4af37, #b8941f);color:#1a1a1a;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.equipment-card.unaffordable .equipment-cost{background:linear-gradient(145deg, #666, #555);color:#999}.equipment-description{color:#ccc;font-size:0.9rem;margin-bottom:0.5rem;line-height:1.4}.equipment-stats{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.5rem}.equipment-stats .stat{background:linear-gradient(145deg, #2a2a2a, #1a1a1a);color:#fff;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px;border:1px solid #444}.equipment-stats .stat.damage{background:linear-gradient(145deg, #b71c1c, #d32f2f)}.equipment-stats .stat.protection{background:linear-gradient(145deg, #1b5e20, #388e3c)}.equipment-stats .stat.range{background:linear-gradient(145deg, #0d47a1, #1976d2)}.equipment-stats .stat.qualities{background:linear-gradient(145deg, #4a148c, #7b1fa2)}.equipment-stats .stat.effect{background:linear-gradient(145deg, #e65100, #ff9800)}.equipment-placeholder{grid-column:1 / -1;text-align:center;padding:2rem;color:#666;font-style:italic}.equipment-placeholder code{background:rgba(139,69,19,0.2);padding:0.2rem 0.5rem;border-radius:4px;font-family:monospace;color:#d4af37}.boons-burdens-section{margin:2rem 0}.boons-section,.burdens-section{margin-bottom:3rem}.boons-section h3,.burdens-section h3{color:var(--primary-gold);font-size:1.3rem;margin-bottom:1rem}.boons-grid,.burdens-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1rem}.boon-card,.burden-card{background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:1rem;transition:all 0.3s ease}.boon-card:hover{border-color:var(--primary-gold);transform:translateY(-2px)}.burden-card:hover{border-color:var(--accent-red);transform:translateY(-2px)}.boon-checkbox,.burden-checkbox{display:flex;align-items:flex-start;gap:1rem}.boon-checkbox-input,.burden-checkbox-input{margin-top:0.5rem}.boon-name,.burden-name{color:var(--primary-gold);font-size:1.1rem;margin-bottom:0.5rem}.boon-description,.burden-description{color:var(--text-medium);font-size:0.9rem}.background-section{margin:2rem 0}.background-section .form-group{margin-bottom:1.5rem}.background-section .form-label{color:var(--primary-gold);font-weight:600;margin-bottom:0.5rem;display:block}.background-section .form-input,.background-section .form-textarea{width:100%;background:rgba(20,20,20,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:8px;padding:0.75rem;color:var(--text-light);font-family:inherit}.background-section .form-input:focus,.background-section .form-textarea:focus{border-color:var(--primary-gold);outline:none;box-shadow:0 0 10px rgba(212,175,55,0.2)}.background-section .form-textarea{resize:vertical;min-height:100px}.character-sheet{max-width:1200px;margin:0 auto;padding:2rem 0}.character-header{text-align:center;margin-bottom:3rem;position:relative;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center}.character-portrait-section{flex-shrink:0}.character-portrait{width:150px;height:200px;object-fit:cover;border-radius:10px;border:3px solid rgba(212,175,55,0.3);box-shadow:0 4px 15px rgba(212,175,55,0.2);transition:all 0.3s ease}.character-portrait:hover{transform:scale(1.05);border-color:rgba(212,175,55,0.5);box-shadow:0 6px 20px rgba(212,175,55,0.3)}.character-title-section{margin-bottom:2rem}.character-name{font-size:4rem;font-weight:700;color:var(--primary-gold);margin-bottom:0.75rem;text-shadow:0 0 30px var(--glow-gold-strong);font-family:'Cinzel Decorative', serif;letter-spacing:2px}.character-subtitle{font-size:1.3rem;color:var(--text-medium);display:flex;justify-content:center;gap:1.5rem;align-items:center;font-weight:500}.character-gender,.character-race{color:var(--text-light);font-weight:500;padding:0.5rem 1rem;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.2);border-radius:20px}.character-overview{display:grid;grid-template-columns:repeat(2, 1fr);gap:2rem;margin-bottom:4rem}.overview-card{display:flex;align-items:flex-start;gap:1.5rem;padding:2rem;background:linear-gradient(135deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:15px;transition:all 0.4s ease;position:relative;overflow:hidden}.overview-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold));transform:scaleX(0);transition:transform 0.4s ease}.overview-card:hover::before{transform:scaleX(1)}.overview-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.4)}.overview-icon{font-size:2.5rem;flex-shrink:0;margin-top:0.5rem;filter:drop-shadow(0 0 10px rgba(212,175,55,0.5))}.overview-content{flex:1}.overview-title{font-size:1.1rem;font-weight:600;color:var(--primary-gold);margin-bottom:0.75rem;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 10px var(--glow-gold)}.overview-value{font-size:1.5rem;font-weight:700;color:var(--text-light);margin-bottom:0.75rem;text-shadow:0 0 15px var(--glow-gold)}.overview-description{font-size:1rem;color:var(--text-medium);line-height:1.6;font-style:italic}.character-section{margin-bottom:4rem;padding:3rem;background:linear-gradient(135deg, rgba(13,5,16,0.8) 0%, rgba(26,10,26,0.6) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:20px;backdrop-filter:blur(15px);position:relative;overflow:hidden}.character-section::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold), var(--primary-gold));background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.section-header{text-align:center;margin-bottom:3rem;position:relative}.section-title{font-size:2.5rem;font-weight:700;color:var(--primary-gold);margin-bottom:0.75rem;font-family:'Cinzel Decorative', serif;text-shadow:0 0 20px var(--glow-gold-strong);letter-spacing:1px}.section-subtitle{font-size:1.1rem;color:var(--text-medium);font-style:italic;text-shadow:0 0 10px var(--glow-gold)}.attributes-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:1.5rem}.attribute-card{text-align:center;padding:1.5rem 1rem;background:linear-gradient(135deg, rgba(212,175,55,0.1) 0%, rgba(212,175,55,0.05) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:12px;transition:all 0.4s ease;position:relative;overflow:hidden}.attribute-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg, transparent 30%, rgba(212,175,55,0.1) 50%, transparent 70%);transform:translateX(-100%);transition:transform 0.6s ease}.attribute-card:hover::before{transform:translateX(100%)}.attribute-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 30px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.4)}.attribute-name{font-size:0.9rem;font-weight:600;color:var(--primary-gold);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.75rem;text-shadow:0 0 10px var(--glow-gold)}.attribute-value{font-size:2rem;font-weight:800;color:var(--text-light);margin-bottom:1rem;text-shadow:0 0 20px var(--glow-gold-strong);position:relative}.attribute-bar{width:100%;height:8px;background:rgba(255,255,255,0.1);border-radius:4px;overflow:hidden;position:relative}.attribute-fill{height:100%;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold), var(--primary-gold));background-size:200% 100%;border-radius:4px;transition:width 1s ease;animation:shimmer 2s ease-in-out infinite}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:2rem}.ability-card{padding:2rem;background:linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);border:2px solid rgba(212,175,55,0.15);border-radius:15px;transition:all 0.4s ease;position:relative;overflow:hidden}.ability-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold));transform:scaleX(0);transition:transform 0.4s ease}.ability-card:hover::before{transform:scaleX(1)}.ability-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.3)}.ability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ability-name{font-size:1.2rem;font-weight:600;color:var(--primary-gold);text-shadow:0 0 10px var(--glow-gold)}.ability-level{font-size:0.9rem;font-weight:500;color:var(--accent-green);background:linear-gradient(135deg, rgba(45,80,22,0.3) 0%, rgba(45,80,22,0.1) 100%);padding:0.5rem 1rem;border-radius:15px;text-transform:uppercase;letter-spacing:0.5px;border:1px solid rgba(45,80,22,0.3)}.ability-description{font-size:1rem;color:var(--text-medium);line-height:1.7;font-style:italic}.boons-burdens-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.boons-section,.burdens-section{padding:2rem;border-radius:15px;position:relative;overflow:hidden}.boons-section{background:linear-gradient(135deg, rgba(45,80,22,0.15) 0%, rgba(45,80,22,0.05) 100%);border:2px solid rgba(45,80,22,0.3)}.burdens-section{background:linear-gradient(135deg, rgba(139,0,0,0.15) 0%, rgba(139,0,0,0.05) 100%);border:2px solid rgba(139,0,0,0.3)}.boons-section::before,.burdens-section::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;transition:transform 0.4s ease}.boons-section::before{background:linear-gradient(90deg, var(--accent-green), #4a7c59)}.burdens-section::before{background:linear-gradient(90deg, var(--accent-red), brown)}.boons-section:hover::before,.burdens-section:hover::before{transform:scaleX(1)}.subsection-title{font-size:1.8rem;font-weight:600;margin-bottom:2rem;text-align:center;text-shadow:0 0 15px var(--glow-gold)}.boon-title{color:var(--accent-green);text-shadow:0 0 15px rgba(45,80,22,0.5)}.burden-title{color:var(--accent-red);text-shadow:0 0 15px rgba(139,0,0,0.5)}.boons-list,.burdens-list{display:flex;flex-direction:column;gap:1.5rem}.boon-item,.burden-item{padding:1.5rem;border-radius:12px;transition:all 0.4s ease;position:relative;overflow:hidden}.boon-item{background:linear-gradient(135deg, rgba(45,80,22,0.2) 0%, rgba(45,80,22,0.1) 100%);border-left:4px solid var(--accent-green)}.burden-item{background:linear-gradient(135deg, rgba(139,0,0,0.2) 0%, rgba(139,0,0,0.1) 100%);border-left:4px solid var(--accent-red)}.boon-item:hover,.burden-item:hover{transform:translateX(8px);box-shadow:0 10px 30px rgba(0,0,0,0.3)}.boon-name,.burden-name{font-size:1.1rem;font-weight:600;margin-bottom:0.75rem;text-shadow:0 0 10px var(--glow-gold)}.boon-name{color:var(--accent-green)}.burden-name{color:var(--accent-red)}.boon-description,.burden-description{font-size:1rem;color:var(--text-medium);line-height:1.6;font-style:italic}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem}.equipment-card{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);border:2px solid rgba(212,175,55,0.15);border-radius:15px;transition:all 0.4s ease;position:relative;overflow:hidden}.equipment-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold));transform:scaleX(0);transition:transform 0.4s ease}.equipment-card:hover::before{transform:scaleX(1)}.equipment-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.3)}.equipment-icon{font-size:2rem;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(212,175,55,0.5))}.equipment-content{flex:1}.equipment-name{font-size:1.1rem;font-weight:600;color:var(--primary-gold);margin-bottom:0.75rem;text-shadow:0 0 10px var(--glow-gold)}.equipment-description{font-size:1rem;color:var(--text-medium);line-height:1.6;font-style:italic}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.story-card{padding:2rem;background:linear-gradient(135deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 100%);border:2px solid rgba(212,175,55,0.1);border-radius:15px;position:relative;overflow:hidden}.story-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold));transform:scaleX(0);transition:transform 0.4s ease}.story-card:hover::before{transform:scaleX(1)}.story-title{font-size:1.5rem;font-weight:600;color:var(--primary-gold);margin-bottom:1.5rem;text-align:center;text-shadow:0 0 15px var(--glow-gold)}.story-content{color:var(--text-light);line-height:1.8;font-size:1rem}.story-content p{margin-bottom:1.5rem}.story-content p:last-child{margin-bottom:0}.character-actions{text-align:center;margin-top:4rem;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.character-edit-sheet{max-width:1200px;margin:0 auto;padding:2rem 0}.character-edit-form{margin-top:2rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1.5rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:0.9rem;font-weight:600;color:var(--primary-gold);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.5rem;text-shadow:0 0 8px var(--glow-gold)}.fantasy-input{width:100%;padding:0.75rem 1rem;background:linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:8px;color:var(--text-light);font-size:1rem;transition:all 0.3s ease;backdrop-filter:blur(10px)}.fantasy-input:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 15px rgba(212,175,55,0.3);background:linear-gradient(135deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0.08) 100%)}.fantasy-input::placeholder{color:var(--text-medium);opacity:0.7}.attributes-edit-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem}.attribute-edit-card{text-align:center;padding:1rem;background:linear-gradient(135deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:10px;transition:all 0.3s ease}.attribute-edit-card:hover{border-color:rgba(212,175,55,0.4);transform:translateY(-2px)}.attribute-edit-label{display:block;font-size:0.9rem;font-weight:600;color:var(--primary-gold);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.5rem;text-shadow:0 0 8px var(--glow-gold)}.attribute-edit-input{width:80px;padding:0.5rem;text-align:center;background:linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:6px;color:var(--text-light);font-size:1.1rem;font-weight:700;transition:all 0.3s ease}.attribute-edit-input:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 10px rgba(212,175,55,0.3)}.checkbox-group{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem}.form-checkbox{width:18px;height:18px;accent-color:var(--primary-gold);cursor:pointer}.form-help{font-size:0.8rem;color:var(--text-medium);font-style:italic;margin-top:0.25rem}.edit-status{color:var(--text-medium);font-weight:500;padding:0.3rem 0.8rem;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.2);border-radius:15px;font-size:0.9rem}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-medium);font-style:italic;background:linear-gradient(135deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 100%);border:2px dashed rgba(212,175,55,0.2);border-radius:15px;font-size:1.1rem}.empty-text{color:var(--text-medium);font-style:italic;font-size:1rem}.session-sheet{max-width:1200px;margin:0 auto;padding:1rem 0}.session-header{text-align:center;margin-bottom:2rem;position:relative}.session-title-section{margin-bottom:1rem}.session-name{font-size:3rem;font-weight:700;color:var(--primary-gold);margin-bottom:0.5rem;text-shadow:0 0 30px var(--glow-gold-strong);font-family:'Cinzel Decorative', serif;letter-spacing:2px}.session-subtitle{font-size:1.1rem;color:var(--text-medium);display:flex;justify-content:center;gap:1rem;align-items:center;font-weight:500}.session-campaign,.session-date{color:var(--text-light);font-weight:500;padding:0.3rem 0.8rem;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.2);border-radius:15px;font-size:0.9rem}.session-overview{display:flex;flex-direction:row;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;justify-content:center}.overview-card{display:flex;align-items:flex-start;gap:0.75rem;padding:1rem;background:linear-gradient(135deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:12px;transition:all 0.4s ease;position:relative;overflow:hidden}.overview-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold));transform:scaleX(0);transition:transform 0.4s ease}.overview-card:hover::before{transform:scaleX(1)}.overview-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.4)}.overview-icon{font-size:1.8rem;flex-shrink:0;margin-top:0.25rem;filter:drop-shadow(0 0 8px rgba(212,175,55,0.5))}.overview-content{flex:1;min-width:0}.overview-title{font-size:0.9rem;font-weight:600;color:var(--primary-gold);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.5px;text-shadow:0 0 8px var(--glow-gold)}.overview-value{font-size:1.1rem;font-weight:700;color:var(--text-light);margin-bottom:0.3rem;text-shadow:0 0 10px var(--glow-gold);line-height:1.2}.overview-description{font-size:0.8rem;color:var(--text-medium);line-height:1.4;font-style:italic}.session-section{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg, rgba(13,5,16,0.8) 0%, rgba(26,10,26,0.6) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:15px;backdrop-filter:blur(15px);position:relative;overflow:hidden}.session-section::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold), var(--primary-gold));background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}.section-header{text-align:center;margin-bottom:1.5rem;position:relative}.section-title{font-size:2rem;font-weight:700;color:var(--primary-gold);margin-bottom:0.5rem;font-family:'Cinzel Decorative', serif;text-shadow:0 0 20px var(--glow-gold-strong);letter-spacing:1px}.section-subtitle{font-size:0.9rem;color:var(--text-medium);font-style:italic;text-shadow:0 0 8px var(--glow-gold)}.session-content{color:var(--text-light);line-height:1.6;font-size:1rem}.session-content p{margin-bottom:1rem}.session-content p:last-child{margin-bottom:0}.campaign-info-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem}.campaign-info-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:linear-gradient(135deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:12px;transition:all 0.4s ease;position:relative;overflow:hidden}.campaign-info-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, var(--primary-gold), var(--secondary-gold));transform:scaleX(0);transition:transform 0.4s ease}.campaign-info-card:hover::before{transform:scaleX(1)}.campaign-info-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.4)}.campaign-info-icon{font-size:1.8rem;flex-shrink:0;margin-top:0.25rem;filter:drop-shadow(0 0 8px rgba(212,175,55,0.5))}.campaign-info-content{flex:1;min-width:0}.campaign-info-title{font-size:0.9rem;font-weight:600;color:var(--primary-gold);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.5px;text-shadow:0 0 8px var(--glow-gold)}.campaign-info-value{font-size:1.1rem;font-weight:700;color:var(--text-light);margin-bottom:0.3rem;text-shadow:0 0 10px var(--glow-gold);line-height:1.2}.campaign-info-description{font-size:0.8rem;color:var(--text-medium);line-height:1.4;font-style:italic}.campaign-info-compact{background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(212,175,55,0.02) 100%);border:1px solid rgba(212,175,55,0.15);border-radius:10px;padding:1rem}.campaign-info-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:0.75rem}.campaign-info-row:last-of-type{margin-bottom:0}.campaign-info-item{display:flex;align-items:center;gap:0.5rem}.campaign-info-label{font-size:0.9rem;font-weight:600;color:var(--primary-gold);text-transform:uppercase;letter-spacing:0.5px;min-width:80px}.campaign-info-value{font-size:1rem;font-weight:500;color:var(--text-light)}.campaign-description{margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid rgba(212,175,55,0.1)}.campaign-info-text{font-size:0.9rem;color:var(--text-medium);line-height:1.5;font-style:italic;display:block;margin-top:0.25rem}.session-actions{text-align:center;margin-top:2rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.session-actions-compact{text-align:center;margin-top:1.5rem;display:flex;justify-content:center;gap:0.75rem;flex-wrap:wrap}.session-actions-compact .mystical-btn,.session-actions-compact .mystical-btn-secondary{padding:0.6rem 1.2rem;font-size:0.9rem;min-width:120px}@media (max-width: 1024px){.character-overview{grid-template-columns:1fr;gap:1.5rem}.session-overview{flex-wrap:wrap;gap:0.75rem}.overview-card{flex:1;min-width:200px}.boons-burdens-grid{grid-template-columns:1fr;gap:2rem}.story-grid{grid-template-columns:1fr;gap:2rem}.campaign-info-grid{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem}}@media (max-width: 768px){.character-header{flex-direction:column;gap:1rem}.character-portrait{width:120px;height:160px}.character-name,.session-name{font-size:2.5rem}.character-subtitle,.session-subtitle{flex-direction:column;gap:0.75rem}.character-section,.session-section{padding:1.5rem}.session-overview{flex-direction:column;gap:0.5rem}.overview-card{flex:none;width:100%}.attributes-grid{grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:1rem}.abilities-grid{grid-template-columns:1fr}.equipment-grid{grid-template-columns:1fr}.campaign-info-grid{grid-template-columns:1fr}.campaign-info-row{grid-template-columns:1fr;gap:0.5rem}.character-actions,.session-actions,.session-actions-compact{flex-direction:column;align-items:center}.character-actions .mystical-btn,.character-actions .mystical-btn-secondary,.session-actions .mystical-btn,.session-actions .mystical-btn-secondary,.session-actions-compact .mystical-btn,.session-actions-compact .mystical-btn-secondary{width:100%;max-width:300px}}@media (max-width: 480px){.character-sheet,.session-sheet{padding:1rem 0}.character-name,.session-name{font-size:2.5rem}.character-section,.session-section{padding:1.5rem}.overview-card,.campaign-info-card{padding:1.5rem}.attribute-card{padding:1.5rem 1rem}.attribute-value{font-size:2.5rem}}.character-creation-header{text-align:center;margin-bottom:1rem;padding:1rem 0}.character-creation-header .gothic-header{font-size:2rem;margin-bottom:0.5rem}.character-creation-header .subtitle{font-size:1rem;margin-bottom:0}.progress-container{margin-bottom:1rem}.progress-bar{display:flex;justify-content:space-between;background:#2a2a2a;border-radius:6px;padding:0.5rem;margin-bottom:1rem}.progress-step{flex:1;text-align:center;padding:0.4rem 0.2rem;border-radius:4px;font-size:0.8rem;color:#888;cursor:pointer;transition:all 0.3s ease;margin:0 0.1rem}.progress-step.active{background:#8b4513;color:white}.progress-step.completed{background:#4a7c59;color:white}.form-step{display:none;animation:fadeIn 0.3s ease;padding:1rem;background:rgba(42,42,42,0.8);border-radius:8px;border:1px solid #444;position:relative;z-index:1}.form-step.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.step-title{color:#8b4513;margin-bottom:0.3rem;font-size:1.4rem;font-family:'Cinzel', serif}.step-description{color:#666;margin-bottom:1rem;font-size:0.95rem}.archetypes-grid,.races-grid,.traits-grid,.burdens-grid,.abilities-grid,.traditions-grid,.boons-grid,.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:0.8rem;margin-bottom:1rem}.traits-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1rem;margin-bottom:1.5rem}.archetype-card,.race-card,.tradition-card{border:1px solid #444;border-radius:6px;padding:0.8rem;cursor:pointer;transition:all 0.3s ease;position:relative;background:rgba(20,20,20,0.6)}.archetype-card:hover,.race-card:hover,.tradition-card:hover{border-color:#8b4513;transform:translateY(-1px);background:rgba(139,69,19,0.1)}.archetype-card:hover::after,.race-card:hover::after,.tradition-card:hover::after{border-color:#8b4513;background:rgba(139,69,19,0.2)}.archetype-card.selected,.race-card.selected,.tradition-card.selected{border:2px solid #d4af37;background:linear-gradient(145deg, rgba(139,69,19,0.2), rgba(212,175,55,0.1));box-shadow:0 4px 20px rgba(212,175,55,0.3);transform:translateY(-2px)}.archetype-card.selected .selection-badge,.race-card.selected .selection-badge,.tradition-card.selected .selection-badge{content:'✓';position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:linear-gradient(145deg, #d4af37, #8b4513);border:2px solid #1a1a1a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#1a1a1a;font-weight:bold;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,0.3)}.archetype-card.selected h3,.race-card.selected h3,.tradition-card.selected h3{color:#d4af37;text-shadow:0 0 10px rgba(212,175,55,0.4)}.archetype-card.selected p,.race-card.selected p,.tradition-card.selected p{color:#e0e0e0}.burden-card,.ability-card,.boon-card,.equipment-card,.trait-card{border:1px solid #444;border-radius:8px;padding:1rem;cursor:pointer;transition:all 0.3s ease;background:linear-gradient(145deg, rgba(42,42,42,0.8), rgba(20,20,20,0.8));display:flex;align-items:flex-start;gap:0.75rem;min-height:80px}.burden-card:hover,.ability-card:hover,.boon-card:hover,.equipment-card:hover,.trait-card:hover{border-color:#8b4513;background:rgba(139,69,19,0.1)}.equipment-card.unaffordable{opacity:0.5;cursor:not-allowed;background:linear-gradient(145deg, rgba(42,42,42,0.4), rgba(20,20,20,0.4));border-color:#666}.equipment-card.unaffordable:hover{border-color:#666;background:linear-gradient(145deg, rgba(42,42,42,0.4), rgba(20,20,20,0.4));transform:none}.equipment-card.unaffordable .equipment-label{color:#888;cursor:not-allowed}.equipment-card.unaffordable input[type="checkbox"]{cursor:not-allowed}.trait-card{position:relative;background:linear-gradient(145deg, rgba(42,42,42,0.8), rgba(20,20,20,0.8));border:1px solid #8b4513}.trait-card .trait-type{position:absolute;top:8px;right:8px;background:linear-gradient(145deg, #8b4513, #d4af37);color:#1a1a1a;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.trait-checkbox{margin-right:0.5rem;position:relative;z-index:5;pointer-events:auto;appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;border:2px solid #d4af37;border-radius:3px;background:linear-gradient(145deg, #d4af37, #8b4513);cursor:not-allowed;transition:all 0.3s ease}.trait-checkbox:checked{background:linear-gradient(145deg, #d4af37, #8b4513);border-color:#d4af37;box-shadow:0 0 8px rgba(212,175,55,0.4)}.trait-checkbox:checked::after{content:'✓';position:absolute;top:-2px;left:1px;color:#1a1a1a;font-weight:bold;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.trait-placeholder{grid-column:1 / -1;text-align:center;padding:2rem;color:#666;font-style:italic}.ability-card{position:relative;background:linear-gradient(145deg, rgba(42,42,42,0.8), rgba(20,20,20,0.8));border:1px solid #444;transition:all 0.3s ease}.ability-card:hover{border-color:#8b4513;background:rgba(139,69,19,0.1);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.3)}.ability-level{position:absolute;top:8px;right:8px;background:linear-gradient(145deg, #8b4513, #d4af37);color:#1a1a1a;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.ability-level-badge{padding:4px 12px;border-radius:20px;font-size:0.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease;display:inline-block}.ability-level-badge.novice{background:linear-gradient(145deg, #2e7d32, #4caf50);color:white;box-shadow:0 2px 8px rgba(76,175,80,0.3)}.ability-level-badge.adept{background:linear-gradient(145deg, #d4af37, gold);color:#1a1a1a;box-shadow:0 2px 8px rgba(212,175,55,0.4)}.ability-level-badge.active{transform:scale(1.05);box-shadow:0 4px 12px rgba(76,175,80,0.5)}.ability-level-badge.adept.active{box-shadow:0 4px 12px rgba(212,175,55,0.6)}.ability-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:0.5rem}.ability-title-row h4{margin:0;flex:1}.ability-upgrade-controls{display:flex;gap:0.5rem;flex-shrink:0}.ability-upgrade-btn,.ability-downgrade-btn{background:rgba(212,175,55,0.2);border:1px solid rgba(212,175,55,0.4);color:var(--primary-gold);padding:0.4rem 0.8rem;border-radius:6px;display:flex;align-items:center;gap:0.4rem;cursor:pointer;transition:all 0.3s ease;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.ability-upgrade-btn:hover,.ability-downgrade-btn:hover{background:rgba(212,175,55,0.4);border-color:var(--primary-gold);transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,0.3)}.ability-upgrade-btn:active,.ability-downgrade-btn:active{transform:translateY(0)}.upgrade-text,.downgrade-text{font-size:0.7rem}@media (max-width: 768px){.upgrade-text,.downgrade-text{display:none}.ability-upgrade-btn,.ability-downgrade-btn{padding:0.4rem;width:32px;height:32px;justify-content:center}}.ability-level-input{display:none}.ability-placeholder{grid-column:1 / -1;text-align:center;padding:2rem;color:#666;font-style:italic}.ability-placeholder code{background:rgba(139,69,19,0.2);padding:0.2rem 0.5rem;border-radius:4px;font-family:monospace;color:#d4af37}.power-card{position:relative;background:linear-gradient(145deg, rgba(42,42,42,0.8), rgba(20,20,20,0.8));border:1px solid #444;transition:all 0.3s ease}.power-card:hover{border-color:#8b4513;background:rgba(139,69,19,0.1);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.3)}.power-meta{display:flex;gap:0.5rem;margin-top:0.5rem;flex-wrap:wrap}.power-tradition{background:linear-gradient(145deg, #4a148c, #7b1fa2);color:#fff;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.power-corruption{background:linear-gradient(145deg, #b71c1c, #d32f2f);color:#fff;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.power-level{background:linear-gradient(145deg, #1b5e20, #388e3c);color:#fff;padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.power-placeholder{grid-column:1 / -1;text-align:center;padding:2rem;color:#666;font-style:italic}.power-placeholder code{background:rgba(139,69,19,0.2);padding:0.2rem 0.5rem;border-radius:4px;font-family:monospace;color:#d4af37}.powers-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:1rem;margin-top:1rem}.section-description{color:#ccc;font-style:italic;margin-bottom:1rem}.archetype-radio,.tradition-radio,.race-radio{position:absolute;opacity:0;z-index:20;pointer-events:auto;width:20px;height:20px;margin:0;padding:0;border:none;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;top:12px;right:12px}.archetype-label,.tradition-label,.race-label{cursor:pointer;display:block;position:relative;z-index:5;pointer-events:auto}.archetype-card::after,.tradition-card::after,.race-card::after{content:'';position:absolute;top:12px;right:12px;width:20px;height:20px;border:2px solid #666;border-radius:50%;background:rgba(20,20,20,0.8);transition:all 0.3s ease;z-index:10}.archetype-card.selected::after,.tradition-card.selected::after,.race-card.selected::after{border-color:#d4af37;background:linear-gradient(145deg, #d4af37, #8b4513);box-shadow:0 0 10px rgba(212,175,55,0.4)}.archetype-card.selected::before,.tradition-card.selected::before,.race-card.selected::before{content:'';position:absolute;top:16px;right:16px;width:12px;height:12px;background:#1a1a1a;border-radius:50%;z-index:11;box-shadow:inset 0 1px 3px rgba(0,0,0,0.3)}.burden-checkbox,.ability-checkbox,.boon-checkbox,.equipment-checkbox{margin-right:0.75rem;position:relative;z-index:5;pointer-events:auto;appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border:2px solid #8b4513;border-radius:4px;background:linear-gradient(145deg, #2a2a2a, #1a1a1a);cursor:pointer;transition:all 0.3s ease;flex-shrink:0}.burden-checkbox:hover,.ability-checkbox:hover,.boon-checkbox:hover,.equipment-checkbox:hover{border-color:#d4af37;background:linear-gradient(145deg, #3a3a3a, #2a2a2a);box-shadow:0 0 10px rgba(212,175,55,0.4);transform:scale(1.05)}.burden-checkbox:checked,.ability-checkbox:checked,.boon-checkbox:checked,.equipment-checkbox:checked{background:linear-gradient(145deg, #d4af37, #8b4513);border-color:#d4af37;box-shadow:0 0 12px rgba(212,175,55,0.6);transform:scale(1.1)}.burden-checkbox:checked::after,.ability-checkbox:checked::after,.boon-checkbox:checked::after,.equipment-checkbox:checked::after{content:'✓';position:absolute;top:-1px;left:2px;color:#1a1a1a;font-weight:bold;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,0.5);animation:checkmark-appear 0.2s ease-in-out}@keyframes checkmark-appear{0%{opacity:0;transform:scale(0.5)}100%{opacity:1;transform:scale(1)}}.attribute-help{background:rgba(139,69,19,0.1);border:1px solid #8b4513;border-radius:4px;padding:0.5rem;margin-bottom:0.8rem}.attribute-help p{margin:0;color:#8b4513;font-size:0.85rem}.attributes-grid{grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:1rem}.attribute-card{background:linear-gradient(145deg, rgba(42,42,42,0.9), rgba(20,20,20,0.9));border:2px solid #8b4513;border-radius:12px;padding:1rem;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,0.3);z-index:1}.attribute-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, #8b4513, #d4af37, #8b4513);border-radius:8px 8px 0 0}.attribute-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,0.4);border-color:#d4af37;z-index:2}.attribute-card:hover .attribute-name{text-shadow:0 0 15px rgba(212,175,55,0.6) !important}.attribute-name{font-size:1rem;margin-bottom:0.8rem;text-align:center;color:#d4af37;font-weight:700;text-shadow:0 0 10px rgba(212,175,55,0.3);letter-spacing:1px}.attribute-controls{display:flex;align-items:center;justify-content:center;gap:0.8rem}.attribute-btn{width:36px;height:36px;border:2px solid #8b4513;background:linear-gradient(145deg, #2a2a2a, #1a1a1a);color:#8b4513;border-radius:50%;font-weight:bold;font-size:1.2rem;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;pointer-events:auto}.attribute-btn:hover{background:linear-gradient(145deg, #8b4513, #d4af37) !important;color:#1a1a1a !important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(139,69,19,0.4);border-color:#d4af37 !important}.attribute-btn:active{transform:scale(0.95) translateY(-1px)}.attribute-btn:focus{outline:2px solid #d4af37;outline-offset:2px}.attribute-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none !important;box-shadow:none !important;pointer-events:none}.attribute-value{font-size:1.8rem;font-weight:bold;color:#d4af37;text-shadow:0 0 15px rgba(212,175,55,0.5);min-width:40px;text-align:center;transition:all 0.2s ease}.attribute-value.changing{animation:pulse 0.3s ease}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.attribute-summary{background:linear-gradient(145deg, rgba(42,42,42,0.9), rgba(20,20,20,0.9));border:2px solid #8b4513;border-radius:12px;padding:1.2rem;margin-top:1.2rem;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,0.3)}.attribute-summary::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, #8b4513, #d4af37, #8b4513)}.attribute-summary-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;align-items:center}.summary-item{text-align:center;padding:0.8rem;background:rgba(139,69,19,0.1);border-radius:8px;border:1px solid rgba(139,69,19,0.3);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.summary-item:hover{background:rgba(139,69,19,0.2) !important;border-color:rgba(212,175,55,0.5) !important;transform:translateY(-1px)}.summary-item-label{font-size:0.9rem;color:#ccc;margin-bottom:0.3rem}.summary-item-value{font-size:1.5rem;font-weight:bold;color:#d4af37}.summary-item-value-secondary{color:#ccc;font-size:1.2rem}.xp-summary{background:#2a2a2a;color:white;padding:0.8rem;border-radius:6px;margin-bottom:0.8rem;text-align:center}.xp-value{font-size:1.3rem;font-weight:bold;color:#ffd700}.xp-note{font-size:0.8rem;color:#ccc;font-style:italic;margin-top:0.25rem}.background-section .form-group{margin-bottom:0.8rem}.background-section label{display:block;margin-bottom:0.3rem;font-weight:bold;color:#ccc;font-size:0.9rem}.background-section .form-control{width:100%;padding:0.5rem;border:1px solid #444;border-radius:4px;font-size:0.9rem;background:rgba(20,20,20,0.8);color:#fff}.background-section textarea{resize:vertical;min-height:60px}.background-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:0.8rem;border-top:1px solid #444;position:relative;z-index:10}.form-navigation .btn{position:relative;z-index:10;pointer-events:auto;padding:0.6rem 1.2rem;font-size:0.9rem}.form-step.error{border:2px solid #dc3545;border-radius:8px;padding:1rem;margin-bottom:1rem}.error-message{color:#dc3545;font-size:0.9rem;margin-top:0.5rem;display:none}.form-step.error .error-message{display:block}input[type="radio"],input[type="checkbox"],button,select,textarea{pointer-events:auto !important;position:relative;z-index:10}label{pointer-events:auto !important;cursor:pointer}@media (max-width: 768px){.attributes-grid{grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)) !important}.archetypes-grid,.races-grid,.traits-grid,.burdens-grid,.abilities-grid,.traditions-grid,.boons-grid,.equipment-grid{grid-template-columns:1fr !important}.background-grid{grid-template-columns:1fr !important}.attribute-summary-grid{grid-template-columns:1fr !important}.character-listing-header{padding:1.5rem 0 1rem;margin-bottom:1rem}.characters-grid{grid-template-columns:1fr;gap:1rem}.characters-grid.compact{grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1rem;padding:0 0.5rem}.character-card{padding:0}.character-content{padding:1.25rem}.character-image-container{height:150px}.character-image-container.compact{height:120px}.character-meta{flex-direction:column;gap:0.5rem;align-items:flex-start}.view-character-link{align-self:flex-end}.view-character-link.compact{font-size:0.75rem;padding:0.15rem 0.4rem}}.spell-badges,.trait-badges,.race-badges,.archetype-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.spell-source,.trait-source,.race-source,.archetype-source{background:linear-gradient(135deg, #2a0845 0%, #6441a5 100%);color:#fff;padding:4px 12px;border-radius:20px;font-size:0.8rem;font-weight:600;border:1px solid rgba(255,255,255,0.2);box-shadow:0 2px 8px rgba(0,0,0,0.3)}.spell-level,.trait-level,.race-lifespan,.archetype-level{background:linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);color:#1a1a1a;padding:4px 12px;border-radius:20px;font-size:0.8rem;font-weight:700;border:1px solid rgba(212,175,55,0.4);box-shadow:0 2px 8px rgba(212,175,55,0.3)}.trait-cost{background:linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);color:#fff;padding:4px 12px;border-radius:20px;font-size:0.8rem;font-weight:700;border:1px solid rgba(46,204,113,0.4);box-shadow:0 2px 8px rgba(46,204,113,0.3)}.trait-racial-default{background:linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);color:#fff;padding:4px 12px;border-radius:20px;font-size:0.8rem;font-weight:600;border:1px solid rgba(231,76,60,0.4);box-shadow:0 2px 8px rgba(231,76,60,0.3)}.race-non-playable{background:linear-gradient(135deg, #95a5a6 0%, #7f8c8d 100%);color:#fff;padding:4px 12px;border-radius:20px;font-size:0.8rem;font-weight:600;border:1px solid rgba(149,165,166,0.4);box-shadow:0 2px 8px rgba(149,165,166,0.3)}.spell-details-grid,.trait-details-grid,.race-details-grid,.archetype-details-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:20px;margin:20px 0}.detail-item{background:rgba(26,26,26,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:16px;backdrop-filter:blur(10px);transition:all 0.3s ease}.detail-item:hover{border-color:rgba(212,175,55,0.6);box-shadow:0 4px 20px rgba(212,175,55,0.2);transform:translateY(-2px)}.detail-label{color:#d4af37;font-weight:700;font-size:0.9rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid rgba(212,175,55,0.3);padding-bottom:4px}.detail-value{color:#e0e0e0;font-size:0.95rem;line-height:1.5}.spell-effects,.trait-effects{margin:20px 0;background:rgba(26,26,26,0.9);border:1px solid rgba(212,175,55,0.4);border-radius:12px;padding:20px;backdrop-filter:blur(10px)}.effect-level{margin-bottom:20px;padding:16px;background:rgba(13,5,16,0.6);border:1px solid rgba(212,175,55,0.2);border-radius:8px;transition:all 0.3s ease}.effect-level:hover{border-color:rgba(212,175,55,0.4);box-shadow:0 2px 12px rgba(212,175,55,0.1)}.effect-level:last-child{margin-bottom:0}.effect-title{color:#d4af37;font-weight:700;font-size:1rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid rgba(212,175,55,0.3);padding-bottom:4px}.effect-content{color:#e0e0e0;font-size:0.95rem;line-height:1.6}.race-names{margin:20px 0;background:rgba(26,26,26,0.9);border:1px solid rgba(212,175,55,0.4);border-radius:12px;padding:20px;backdrop-filter:blur(10px)}.names-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:20px;margin-top:16px}.name-group{background:rgba(13,5,16,0.6);border:1px solid rgba(212,175,55,0.2);border-radius:8px;padding:16px;transition:all 0.3s ease}.name-group:hover{border-color:rgba(212,175,55,0.4);box-shadow:0 2px 12px rgba(212,175,55,0.1)}.name-title{color:#d4af37;font-weight:700;font-size:0.9rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid rgba(212,175,55,0.3);padding-bottom:4px}.name-list{color:#e0e0e0;font-size:0.9rem;line-height:1.5;font-style:italic}@media (max-width: 768px){.spell-details-grid,.trait-details-grid,.race-details-grid,.archetype-details-grid{grid-template-columns:1fr;gap:16px}.names-grid{grid-template-columns:1fr;gap:16px}.spell-badges,.trait-badges,.race-badges,.archetype-badges{gap:6px}.spell-source,.trait-source,.race-source,.archetype-source,.spell-level,.trait-level,.race-lifespan,.archetype-level,.trait-cost,.trait-racial-default,.race-non-playable{font-size:0.75rem;padding:3px 10px}}@media (max-width: 480px){.detail-item{padding:12px}.effect-level{padding:12px}.name-group{padding:12px}.spell-effects,.trait-effects,.race-names{padding:16px}}.ability-limits{background:linear-gradient(135deg, rgba(20,20,20,0.95), rgba(30,30,30,0.95));border:2px solid var(--primary-gold);border-radius:12px;padding:1.5rem;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(212,175,55,0.2);display:flex;justify-content:space-around;gap:2rem;flex-wrap:wrap}.ability-limits::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-gold), var(--accent-purple), var(--primary-gold));animation:shimmer 2s ease-in-out infinite}.limit-counter{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:8px;min-width:140px;justify-content:center}.limit-label{color:var(--text-light);font-size:0.9rem;font-weight:500}.limit-value{color:var(--primary-gold);font-weight:bold;font-size:1.2rem;min-width:1.5rem;text-align:center}.limit-max{color:var(--text-medium);font-size:0.9rem}.shadow-section{margin-bottom:2rem;position:relative}.shadow-section::before{content:'';position:absolute;top:-15px;left:-15px;right:-15px;bottom:-15px;background:linear-gradient(135deg, rgba(212,175,55,0.08), rgba(139,69,19,0.08), rgba(75,0,130,0.08));border-radius:16px;z-index:-1;opacity:0;transition:opacity 0.4s ease}.shadow-section:hover::before{opacity:1}.shadow-colors{margin-bottom:2.5rem;position:relative}.shadow-colors h3{color:var(--primary-gold);margin-bottom:2rem;font-family:'Cinzel Decorative', serif;font-size:1.6rem;text-align:center;text-shadow:0 0 15px rgba(212,175,55,0.6);position:relative;letter-spacing:1px}.shadow-colors h3::after{content:'';position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);width:80px;height:3px;background:linear-gradient(90deg, transparent, var(--primary-gold), transparent);box-shadow:0 0 10px rgba(212,175,55,0.5)}.color-guide{display:grid;grid-template-columns:repeat(3, 1fr);gap:2rem;margin-top:2rem;max-width:900px;margin-left:auto;margin-right:auto}.color-item{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:2rem 1.5rem;background:rgba(13,5,16,0.9);border:2px solid rgba(212,175,55,0.3);border-radius:16px;transition:all 0.3s ease;cursor:pointer;overflow:hidden;min-height:200px;justify-content:center}.color-item::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(212,175,55,0.1), transparent);transition:left 0.5s ease}.color-item:hover{border-color:var(--primary-gold);box-shadow:0 12px 35px rgba(212,175,55,0.3);transform:translateY(-4px) scale(1.02)}.color-item:hover::before{left:100%}.color-item.selected{border-color:var(--primary-gold);background:rgba(212,175,55,0.15);box-shadow:0 0 30px rgba(212,175,55,0.4);transform:scale(1.05)}.color-swatch{width:60px;height:60px;border-radius:50%;border:4px solid var(--primary-gold);box-shadow:0 0 25px rgba(212,175,55,0.6);position:relative;flex-shrink:0;margin-bottom:0.5rem}.color-swatch::after{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;background:linear-gradient(45deg, var(--primary-gold), transparent);opacity:0;transition:opacity 0.3s ease}.color-item:hover .color-swatch::after{opacity:0.3}.color-swatch.nature{background:linear-gradient(135deg, #4a7c59 0%, #8b4513 50%, beige 100%);box-shadow:0 0 25px rgba(74,124,89,0.6)}.color-swatch.civilization{background:linear-gradient(135deg, gold 0%, silver 50%, #cd7f32 100%);box-shadow:0 0 25px rgba(255,215,0,0.6)}.color-swatch.corruption{background:radial-gradient(circle, #333 0%, #000 100%);box-shadow:0 0 25px rgba(0,0,0,0.8),inset 0 0 20px rgba(139,0,0,0.3)}.color-desc{font-size:1.1rem;color:var(--text-primary);font-weight:600;line-height:1.5;flex:1;font-family:'Crimson Text', serif}.color-item:hover .color-desc{color:var(--primary-gold);text-shadow:0 0 8px rgba(212,175,55,0.4);transform:scale(1.02);transition:all 0.3s ease}.shadow-description{margin-top:3rem;position:relative}.shadow-description label{display:block;margin-bottom:1rem;font-weight:600;color:var(--primary-gold);font-family:'Cinzel Decorative', serif;font-size:1.2rem;text-shadow:0 0 8px rgba(212,175,55,0.3)}.shadow-description textarea{width:100%;min-height:140px;padding:1.5rem;background:rgba(13,5,16,0.9);border:2px solid rgba(212,175,55,0.3);border-radius:12px;color:var(--text-primary);font-family:'Crimson Text', serif;font-size:1rem;line-height:1.6;resize:vertical;transition:all 0.3s ease;box-shadow:inset 0 2px 10px rgba(0,0,0,0.3)}.shadow-description textarea:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 20px rgba(212,175,55,0.2),inset 0 2px 10px rgba(0,0,0,0.3);background:rgba(13,5,16,0.95)}.shadow-description textarea::placeholder{color:var(--text-secondary);opacity:0.7}@media (max-width: 768px){.color-guide{grid-template-columns:1fr;gap:1.5rem;max-width:100%}.color-item{padding:1.5rem;min-height:180px}.color-swatch{width:50px;height:50px}.color-desc{font-size:1rem}.shadow-description textarea{min-height:120px;padding:1.2rem}.shadow-colors h3{font-size:1.4rem}}.corruption-warning{margin-bottom:2rem}.warning-box{padding:1rem;background:rgba(220,53,69,0.1);border:1px solid rgba(220,53,69,0.3);border-radius:8px;border-left:4px solid #dc3545}.warning-box h4{color:#dc3545;margin-bottom:0.5rem;font-family:'Cinzel Decorative', serif}.warning-box p{color:var(--text-secondary);margin:0}.info-box{display:flex;gap:1rem;padding:1.5rem;background:rgba(52,152,219,0.1);border:1px solid rgba(52,152,219,0.3);border-radius:8px;border-left:4px solid #3498db;margin:2rem 0}.info-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(52,152,219,0.2);border-radius:50%;color:#3498db;font-size:1.2rem}.info-content h3{color:#3498db;margin-bottom:0.75rem;font-family:'Cinzel Decorative', serif;font-size:1.1rem}.info-content p{color:var(--text-secondary);margin-bottom:0.75rem;line-height:1.5}.info-content p:last-child{margin-bottom:0}.info-content ul{color:var(--text-secondary);margin:0.75rem 0;padding-left:1.5rem}.info-content li{margin-bottom:0.25rem;line-height:1.4}.info-note{font-style:italic;color:var(--primary-gold) !important;background:rgba(212,175,55,0.1);padding:0.5rem 0.75rem;border-radius:4px;border-left:3px solid var(--primary-gold);margin-top:1rem !important}.no-powers-section{max-width:600px;margin:0 auto}.no-traits-section{max-width:600px;margin:0 auto}.corruption-counter{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:0.5rem 1rem;background:rgba(220,53,69,0.1);border:1px solid rgba(220,53,69,0.3);border-radius:8px}.corruption-label{font-weight:600;color:var(--text-primary)}.corruption-value{font-size:1.2rem;font-weight:bold;color:#dc3545}.starting-funds{margin-bottom:2rem;padding:1rem;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:8px}.funds-display{display:flex;align-items:center;gap:2rem;margin-bottom:0.5rem}.funds-item{display:flex;align-items:center;gap:0.5rem}.funds-label{font-weight:600;color:var(--text-primary)}.funds-value{font-size:1.2rem;font-weight:bold;color:var(--primary-gold);transition:all 0.3s ease}.funds-value.changing{transform:scale(1.1);text-shadow:0 0 10px var(--primary-gold)}.funds-value.remaining.low-funds{color:#dc3545;animation:pulse-warning 1s infinite}@keyframes pulse-warning{0%,100%{opacity:1}50%{opacity:0.7}}.funds-note{font-size:0.9rem;color:var(--text-muted);margin:0}.attribute-help-icon{display:inline-block;margin-left:0.5rem;cursor:pointer;transition:all 0.3s ease}.attribute-help-icon i{color:var(--primary-gold);font-size:0.9rem;opacity:0.7;transition:all 0.3s ease}.attribute-help-icon:hover i{opacity:1;color:var(--primary-gold);text-shadow:0 0 8px var(--glow-gold);transform:scale(1.1)}.attribute-help-icon:active i{transform:scale(0.95)}@media (max-width: 768px){.attribute-help-icon{margin-left:0.3rem}.attribute-help-icon i{font-size:0.8rem}}.resource-tracker{display:flex;justify-content:center;gap:2rem;margin:1.5rem 0;padding:1rem;background:linear-gradient(145deg, rgba(42,42,42,0.9), rgba(20,20,20,0.9));border:2px solid rgba(212,175,55,0.3);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.3);position:relative;z-index:10}.resource-tracker::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, #8b4513, #d4af37, #8b4513);border-radius:12px 12px 0 0}.resource-item{display:flex;align-items:center;gap:0.8rem;padding:0.8rem 1.2rem;background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.2);border-radius:8px;transition:all 0.3s ease;min-width:140px}.resource-item:hover{border-color:rgba(212,175,55,0.5);box-shadow:0 4px 15px rgba(212,175,55,0.2);transform:translateY(-2px)}.resource-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(145deg, #d4af37, #8b4513);border-radius:50%;color:#1a1a1a;font-size:1rem;font-weight:bold;box-shadow:0 2px 8px rgba(212,175,55,0.3)}.resource-info{display:flex;flex-direction:column;align-items:flex-start}.resource-label{font-size:0.75rem;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.2rem}.resource-value{font-size:1.4rem;font-weight:bold;color:#d4af37;text-shadow:0 0 8px rgba(212,175,55,0.4);transition:all 0.3s ease}.resource-value.changing{animation:pulse 0.6s ease-in-out}@media (max-width: 768px){.resource-tracker{flex-direction:column;gap:1rem;margin:1rem 0}.resource-item{min-width:auto;justify-content:center}.resource-value{font-size:1.2rem}}.campaigns-header{margin-top:80px;padding:2rem 0 1rem;text-align:center;border-bottom:1px solid rgba(212,175,55,0.2);margin-bottom:2rem}.campaigns-header-content{max-width:600px;margin:0 auto}.campaigns-title{font-family:'Cinzel', serif;font-size:2.5rem;font-weight:700;color:var(--primary-gold);margin-bottom:0.5rem;text-shadow:0 0 20px rgba(212,175,55,0.3)}.campaigns-subtitle{font-size:1.1rem;color:var(--text-medium);margin-bottom:1.5rem;font-style:italic}.campaigns-actions{margin-top:1rem}.campaigns-create-btn{font-size:0.95rem;padding:0.75rem 1.5rem}.campaigns-section{margin-bottom:3rem}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:1.5rem;margin-top:1rem}.campaign-card{background:linear-gradient(145deg, rgba(13,5,16,0.8) 0%, rgba(26,10,26,0.6) 100%);border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:1.5rem;transition:all 0.3s ease;position:relative;overflow:hidden}.campaign-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, transparent 100%);opacity:0;transition:opacity 0.3s ease;pointer-events:none}.campaign-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,0.5);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.campaign-card:hover::before{opacity:1}.campaign-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.campaign-icon{font-size:1.5rem;color:var(--primary-gold);flex-shrink:0}.campaign-info{flex:1;min-width:0}.campaign-name{font-family:'Cinzel', serif;font-size:1.3rem;font-weight:600;color:var(--text-light);margin:0 0 0.5rem 0;line-height:1.2}.campaign-meta{display:flex;gap:1rem;font-size:0.85rem;color:var(--text-medium);flex-wrap:wrap}.campaign-gm{color:var(--primary-gold);font-weight:500}.campaign-sessions{background:rgba(212,175,55,0.1);padding:0.2rem 0.5rem;border-radius:4px;border:1px solid rgba(212,175,55,0.2)}.campaign-description{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin-bottom:1.5rem;min-height:3rem}.campaign-actions{display:flex;justify-content:flex-end}.campaign-view-btn{display:inline-block;background:linear-gradient(135deg, rgba(212,175,55,0.2) 0%, rgba(212,175,55,0.1) 100%);border:1px solid rgba(212,175,55,0.4);color:var(--primary-gold);padding:0.5rem 1rem;border-radius:6px;text-decoration:none;font-size:0.85rem;font-weight:500;transition:all 0.3s ease}.campaign-view-btn:hover{background:linear-gradient(135deg, rgba(212,175,55,0.3) 0%, rgba(212,175,55,0.2) 100%);border-color:rgba(212,175,55,0.6);color:var(--gold-light);transform:translateY(-1px);text-decoration:none}.campaigns-empty{text-align:center;padding:3rem 1rem;max-width:500px;margin:0 auto}.empty-icon{font-size:3rem;color:var(--text-medium);margin-bottom:1rem;opacity:0.5}.empty-title{font-family:'Cinzel', serif;font-size:1.5rem;color:var(--text-medium);margin-bottom:0.5rem}.empty-description{color:var(--text-light);margin-bottom:2rem;font-style:italic}@media (max-width: 768px){.campaigns-header{margin-top:70px;padding:1.5rem 0 1rem}.campaigns-title{font-size:2rem}.campaigns-subtitle{font-size:1rem}.campaigns-grid{grid-template-columns:1fr;gap:1rem}.campaign-card{padding:1.25rem}.campaign-card-header{gap:0.75rem}.campaign-name{font-size:1.2rem}.campaign-meta{font-size:0.8rem;gap:0.75rem}.campaign-description{font-size:0.85rem;min-height:auto}}@media (max-width: 480px){.campaigns-title{font-size:1.8rem}.campaign-card{padding:1rem}.campaign-card-header{flex-direction:column;gap:0.5rem;align-items:flex-start}.campaign-icon{font-size:1.25rem}.campaign-meta{flex-direction:column;gap:0.5rem}}.profession-summary-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(212,175,55,0.2)}.profession-summary-section .summary-text{font-size:1.1rem;line-height:1.6;color:var(--text-light);font-style:italic}.profession-details-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1.5rem;margin-top:2rem}.profession-details-grid .detail-item{background:rgba(212,175,55,0.05);border:1px solid rgba(212,175,55,0.2);border-radius:8px;padding:1.5rem;transition:all 0.3s ease}.profession-details-grid .detail-item:hover{background:rgba(212,175,55,0.1);border-color:rgba(212,175,55,0.4);transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,175,55,0.2)}.profession-details-grid .detail-label{font-size:0.9rem;font-weight:600;color:var(--primary-gold);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.75rem;display:block}.profession-details-grid .detail-value{color:var(--text-light);line-height:1.5}.ability-badge,.attribute-badge,.race-badge{display:inline-block;padding:0.4rem 0.8rem;margin:0.2rem;border-radius:20px;font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease}.ability-badge{background:rgba(138,43,226,0.2);color:#8a2be2;border:1px solid rgba(138,43,226,0.4)}.ability-badge:hover{background:rgba(138,43,226,0.3);transform:translateY(-1px);box-shadow:0 2px 8px rgba(138,43,226,0.3)}.attribute-badge{background:rgba(255,215,0,0.2);color:#ffd700;border:1px solid rgba(255,215,0,0.4)}.attribute-badge:hover{background:rgba(255,215,0,0.3);transform:translateY(-1px);box-shadow:0 2px 8px rgba(255,215,0,0.3)}.race-badge{background:rgba(34,139,34,0.2);color:#228b22;border:1px solid rgba(34,139,34,0.4)}.race-badge:hover{background:rgba(34,139,34,0.3);transform:translateY(-1px);box-shadow:0 2px 8px rgba(34,139,34,0.3)}.source-badge{display:inline-block;padding:0.5rem 1rem;border-radius:6px;font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease}.source-badge.core{background:rgba(212,175,55,0.2);color:var(--primary-gold);border:1px solid rgba(212,175,55,0.4)}.source-badge.advanced{background:rgba(138,43,226,0.2);color:#8a2be2;border:1px solid rgba(138,43,226,0.4)}.source-badge:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.2)}@media (max-width: 768px){.profession-details-grid{grid-template-columns:1fr;gap:1rem}.profession-details-grid .detail-item{padding:1rem}.ability-badge,.attribute-badge,.race-badge{font-size:0.8rem;padding:0.3rem 0.6rem}}@media (max-width: 480px){.profession-details-grid .detail-item{padding:0.75rem}.profession-details-grid .detail-label{font-size:0.8rem}.ability-badge,.attribute-badge,.race-badge{font-size:0.75rem;padding:0.25rem 0.5rem;margin:0.1rem}}@media (max-width: 768px){.character-listing-header{margin-top:70px;padding:2rem 1.5rem 1.5rem}.character-listing-header.compact{padding:0.75rem 0 0.5rem}.character-listing-header.compact .gothic-header{font-size:1.5rem}.character-stats-summary{grid-template-columns:repeat(3, 1fr);gap:0.75rem;padding:1rem}.character-stats-summary .stat-number{font-size:1.5rem}.character-stats-summary .stat-label{font-size:0.75rem}.characters-grid{grid-template-columns:1fr;gap:1rem}.character-card{padding:1.25rem}.character-card.compact{padding:0}.character-content{padding:1rem}.character-content.compact{padding:0.75rem}.character-image-container{height:180px}.character-image-container.compact{height:120px}.character-header{flex-direction:column;gap:0.5rem;align-items:flex-start}.character-details{padding:0.5rem}.character-details .detail-item{font-size:0.8rem}.character-details.compact .detail-item{font-size:0.7rem}.character-details.compact .detail-label{font-size:0.6rem}.character-meta{flex-direction:column;gap:0.75rem;align-items:flex-start}.character-meta.compact{flex-direction:row;gap:0.375rem;align-items:center;padding-top:0.625rem}.view-character-link{align-self:flex-end}}@media (max-width: 480px){.characters-grid.compact{grid-template-columns:1fr;gap:1rem;padding:0 0.5rem}.character-card.compact{min-height:240px}.character-image-container.compact{height:100px}.character-content.compact{padding:0.75rem;gap:0.5rem}.character-name{font-size:0.9rem;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.character-description{font-size:0.75rem}.character-details.compact{padding:0.5rem}.character-details.compact .detail-item{font-size:0.7rem}.character-details.compact .detail-label{font-size:0.6rem}.character-details.compact .detail-value{font-size:0.7rem}.character-stats-summary.compact{padding:1rem 0.75rem;gap:0.75rem}.character-stats-summary.compact .stat-item{padding:0.75rem 0.5rem}.character-stats-summary.compact .stat-number{font-size:1.4rem}.character-stats-summary.compact .stat-label{font-size:0.65rem}}.archetype-suggestion-section{background:linear-gradient(145deg, rgba(139,69,19,0.1), rgba(212,175,55,0.05));border:2px solid #8b4513;border-radius:12px;padding:1.5rem;margin-bottom:2rem;position:relative;overflow:hidden}.archetype-suggestion-section::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, #8b4513, #d4af37, #8b4513)}.suggestion-header{text-align:center;margin-bottom:1.5rem}.suggestion-title{font-size:1.4rem;color:#d4af37;margin-bottom:0.5rem;display:flex;align-items:center;justify-content:center;gap:0.5rem}.suggestion-icon{font-size:1.2rem}.suggestion-description{color:#ccc;font-size:0.95rem;margin:0;opacity:0.9}.suggestion-preview{margin-top:1rem;padding:1rem;background:rgba(139,69,19,0.1);border-radius:8px;border:1px solid rgba(212,175,55,0.3)}.suggestion-values{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center}.suggestion-value{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.3);border-radius:6px;font-size:0.85rem}.suggestion-attr{color:#d4af37;font-weight:600}.suggestion-points{color:#fff;font-weight:700;background:#8b4513;padding:0.2rem 0.5rem;border-radius:4px;min-width:1.5rem;text-align:center}.suggestion-actions{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.suggestion-btn{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;font-size:0.9rem;border-radius:8px;transition:all 0.3s ease;border:2px solid}.suggestion-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3)}.suggestion-success,.suggestion-reset{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:6px;font-size:0.85rem;margin-top:0.5rem;animation:fadeInUp 0.3s ease}.suggestion-success{background:rgba(34,197,94,0.2);border:1px solid #22c55e;color:#22c55e}.suggestion-reset{background:rgba(59,130,246,0.2);border:1px solid #3b82f6;color:#3b82f6}.success-icon,.reset-icon{font-size:1rem}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.archetype-suggestion-section{padding:1rem;margin-bottom:1.5rem}.suggestion-title{font-size:1.2rem;flex-direction:column;gap:0.25rem}.suggestion-actions{flex-direction:column;gap:0.75rem}.suggestion-btn{width:100%;justify-content:center}}@media (max-width: 480px){.archetype-suggestion-section{padding:0.75rem}.suggestion-title{font-size:1.1rem}.suggestion-description{font-size:0.85rem}}.ability-selection-hint{margin-top:0.5rem;padding:0.25rem 0.5rem;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.2);border-radius:4px;text-align:center;opacity:0.7;transition:all 0.3s ease}.selection-hint-text{font-size:0.75rem;color:var(--text-medium);font-style:italic}.ability-card:hover .ability-selection-hint{opacity:1;background:rgba(212,175,55,0.15);border-color:rgba(212,175,55,0.3)}.ability-card{cursor:pointer;transition:all 0.3s ease}.ability-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.ability-card .ability-checkbox:checked+.ability-label{position:relative}.ability-card .ability-checkbox:checked+.ability-label::before{content:'✓ Selected - Click to deselect';position:absolute;top:-10px;right:10px;background:rgba(212,175,55,0.9);color:#000;padding:0.25rem 0.5rem;border-radius:4px;font-size:0.7rem;font-weight:600;opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:10}.ability-card:hover .ability-checkbox:checked+.ability-label::before{opacity:1}.ability-deselect-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all 0.3s ease;border-radius:8px;z-index:5}.ability-card .ability-checkbox:checked~.ability-deselect-overlay{opacity:1;visibility:visible}.ability-deselect-btn{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background:linear-gradient(135deg, #dc3545 0%, #c82333 100%);color:white;border:none;border-radius:6px;font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(220,53,69,0.3)}.ability-deselect-btn:hover{background:linear-gradient(135deg, #c82333 0%, #bd2130 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(220,53,69,0.4)}.ability-deselect-btn i{font-size:1rem}.ability-card{position:relative;cursor:pointer;transition:all 0.3s ease;user-select:none}.ability-card::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid transparent;border-radius:8px;transition:all 0.3s ease;pointer-events:none}.ability-card:hover::after{border-color:rgba(212,175,55,0.5);box-shadow:0 0 15px rgba(212,175,55,0.3)}.ability-card:active{transform:translateY(1px)}.characters-grid.professional{display:grid;grid-template-columns:repeat(auto-fill, minmax(380px, 1fr));gap:2rem;margin-top:2rem}.character-card.professional{background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:1px solid rgba(212,175,55,0.2);border-radius:16px;overflow:hidden;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);position:relative;backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3)}.character-card.professional::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(212,175,55,0.02) 50%, rgba(212,175,55,0.05) 100%);opacity:0;transition:opacity 0.4s ease;pointer-events:none}.character-card.professional:hover{transform:translateY(-8px);border-color:rgba(212,175,55,0.4);box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 30px rgba(212,175,55,0.1)}.character-card.professional:hover::before{opacity:1}.character-portrait-section{position:relative;height:200px;overflow:hidden}.portrait-container{position:relative;width:100%;height:100%}.character-portrait{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.character-card.professional:hover .character-portrait{transform:scale(1.05)}.portrait-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.7) 100%);display:flex;align-items:flex-end;padding:1rem}.character-badges{display:flex;gap:0.5rem;flex-wrap:wrap}.character-badge{display:flex;align-items:center;gap:0.25rem;padding:0.25rem 0.75rem;background:rgba(212,175,55,0.9);color:#000;border-radius:20px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(0,0,0,0.3)}.character-badge i{font-size:0.7rem}.race-badge{background:rgba(76,175,80,0.9)}.archetype-badge{background:rgba(33,150,243,0.9)}.character-info-section{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.character-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.character-name{font-size:1.5rem;font-weight:700;color:var(--primary-gold);margin:0;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;flex:1;text-shadow:0 2px 4px rgba(0,0,0,0.5)}.character-gender-badge{display:flex;align-items:center;gap:0.25rem;padding:0.25rem 0.75rem;background:rgba(255,255,255,0.1);color:#fff;border:1px solid rgba(212,175,55,0.3);border-radius:20px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;flex-shrink:0;backdrop-filter:blur(10px)}.character-gender-badge i{font-size:0.7rem;color:var(--primary-gold)}.character-description{margin:0}.character-description p{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin:0;font-style:italic}.character-stats{display:flex;flex-direction:column;gap:0.75rem;padding:1rem;background:rgba(0,0,0,0.2);border-radius:8px;border:1px solid rgba(212,175,55,0.1)}.stat-item{display:flex;align-items:center;gap:0.75rem;padding:0.5rem;background:rgba(255,255,255,0.05);border-radius:6px;transition:all 0.3s ease}.stat-item:hover{background:rgba(212,175,55,0.1);transform:translateX(4px)}.stat-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-gold);color:#000;border-radius:4px;font-size:0.75rem;flex-shrink:0}.stat-label{color:var(--text-light);font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;min-width:80px;flex-shrink:0}.stat-value{color:var(--primary-gold);font-size:0.9rem;font-weight:600;flex:1}.character-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid rgba(212,175,55,0.1)}.meta-info{display:flex;flex-direction:column;gap:0.5rem;flex:1}.creator-info,.creation-info{display:flex;align-items:center;gap:0.5rem;font-size:0.8rem}.creator-icon,.creation-icon{color:var(--primary-gold);font-size:0.75rem;width:16px;text-align:center}.creator-name{color:var(--text-light);font-weight:600}.creation-date{color:var(--text-medium)}.view-character-btn{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1.25rem;background:linear-gradient(135deg, var(--primary-gold) 0%, #b8860b 100%);color:#000;text-decoration:none;border-radius:8px;font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(212,175,55,0.3);position:relative;overflow:hidden}.view-character-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);transition:left 0.5s ease}.view-character-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,175,55,0.4);color:#000;text-decoration:none}.view-character-btn:hover::before{left:100%}.btn-text{font-weight:600}.btn-icon{font-size:0.8rem;transition:transform 0.3s ease}.view-character-btn:hover .btn-icon{transform:translateX(2px)}.empty-characters.professional{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:linear-gradient(135deg, rgba(25,25,35,0.8), rgba(35,35,45,0.8));border:2px dashed rgba(212,175,55,0.3);border-radius:16px;backdrop-filter:blur(10px)}.empty-characters.professional .empty-icon{font-size:4rem;color:var(--primary-gold);margin-bottom:1.5rem;opacity:0.7}.empty-characters.professional h3{color:var(--text-light);font-size:1.5rem;margin-bottom:1rem;font-weight:600}.empty-characters.professional p{color:var(--text-medium);font-size:1rem;margin-bottom:2rem;line-height:1.5}.create-first-character-btn{display:inline-flex;align-items:center;gap:0.75rem;padding:1rem 2rem;background:linear-gradient(135deg, var(--primary-gold) 0%, #b8860b 100%);color:#000;text-decoration:none;border-radius:12px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:all 0.3s ease;box-shadow:0 8px 25px rgba(212,175,55,0.3);position:relative;overflow:hidden}.create-first-character-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);transition:left 0.5s ease}.create-first-character-btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(212,175,55,0.4);color:#000;text-decoration:none}.create-first-character-btn:hover::before{left:100%}.create-first-character-btn .btn-icon{font-size:1rem;transition:transform 0.3s ease}.create-first-character-btn:hover .btn-icon{transform:scale(1.1)}@media (max-width: 1200px){.characters-grid.professional{grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:1.5rem}}@media (max-width: 768px){.characters-grid.professional{grid-template-columns:1fr;gap:1.5rem}.character-card.professional{margin:0 1rem}.character-info-section{padding:1.25rem}.character-name{font-size:1.25rem}.character-stats{padding:0.75rem}.character-meta{flex-direction:column;align-items:stretch;gap:1rem}.view-character-btn{justify-content:center}}@media (max-width: 480px){.character-card.professional{margin:0 0.5rem}.character-info-section{padding:1rem}.character-header{flex-direction:column;align-items:flex-start;gap:0.75rem}.character-stats{gap:0.5rem}.stat-item{padding:0.4rem}.stat-label{min-width:70px;font-size:0.75rem}.stat-value{font-size:0.85rem}}.sessions-grid.professional{display:grid;grid-template-columns:repeat(auto-fill, minmax(400px, 1fr));gap:2rem;margin-top:2rem}.session-card.professional{background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:1px solid rgba(212,175,55,0.2);border-radius:12px;padding:0;overflow:hidden;position:relative;transition:all 0.3s ease;backdrop-filter:blur(10px)}.session-card.professional::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(212,175,55,0.02) 50%, rgba(212,175,55,0.05) 100%);opacity:0;transition:opacity 0.3s ease;pointer-events:none}.session-card.professional:hover{transform:translateY(-8px);border-color:rgba(212,175,55,0.4);box-shadow:0 12px 40px rgba(0,0,0,0.3)}.session-card.professional:hover::before{opacity:1}.session-icon-section{padding:1.5rem;background:linear-gradient(135deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border-bottom:1px solid rgba(212,175,55,0.2);position:relative}.session-icon-container{display:flex;align-items:center;justify-content:space-between}.session-icon{width:60px;height:60px;background:linear-gradient(135deg, var(--primary-gold), #b8941f);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--deep-crimson);box-shadow:0 4px 15px rgba(212,175,55,0.3);transition:all 0.3s ease}.session-card.professional:hover .session-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px rgba(212,175,55,0.4)}.session-type-badge{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:20px;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.session-type-badge.pbp-badge{background:linear-gradient(135deg, rgba(138,43,226,0.2), rgba(75,0,130,0.2));border:1px solid rgba(138,43,226,0.3);color:#dda0dd}.session-type-badge.normal-badge{background:linear-gradient(135deg, rgba(34,139,34,0.2), rgba(0,100,0,0.2));border:1px solid rgba(34,139,34,0.3);color:#90ee90}.session-info-section{padding:1.5rem}.session-header{margin-bottom:1rem}.session-title{font-size:1.4rem;font-weight:700;color:var(--text-light);margin:0;font-family:'Cinzel', serif;line-height:1.3}.session-description{margin-bottom:1.5rem}.session-description p{color:var(--text-medium);line-height:1.6;margin:0;font-size:0.95rem}.session-details{margin-bottom:1.5rem}.detail-item{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;padding:0.5rem 0}.detail-item:last-child{margin-bottom:0}.detail-icon{width:20px;color:var(--primary-gold);font-size:0.9rem;text-align:center}.detail-label{font-size:0.85rem;color:var(--text-medium);font-weight:600;text-transform:uppercase;letter-spacing:0.5px;min-width:80px}.detail-value{color:var(--text-light);font-weight:500;flex:1}.campaign-link{color:var(--primary-gold);text-decoration:none;font-weight:600;transition:color 0.3s ease}.campaign-link:hover{color:var(--secondary-gold);text-shadow:0 0 8px rgba(212,175,55,0.4)}.session-type-indicator{padding:0.25rem 0.75rem;border-radius:12px;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.session-type-indicator.pbp{background:rgba(138,43,226,0.2);color:#dda0dd;border:1px solid rgba(138,43,226,0.3)}.session-type-indicator.live{background:rgba(34,139,34,0.2);color:#90ee90;border:1px solid rgba(34,139,34,0.3)}.session-actions{padding-top:1rem;border-top:1px solid rgba(212,175,55,0.1)}.view-session-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.75rem 1rem;background:linear-gradient(135deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border:1px solid rgba(212,175,55,0.2);border-radius:8px;color:var(--primary-gold);text-decoration:none;font-weight:600;transition:all 0.3s ease}.view-session-btn:hover{background:linear-gradient(135deg, rgba(212,175,55,0.2), rgba(212,175,55,0.1));border-color:rgba(212,175,55,0.4);transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,175,55,0.2)}.view-session-btn .btn-text{font-size:0.9rem;letter-spacing:0.5px}.view-session-btn .btn-icon{font-size:0.9rem;transition:transform 0.3s ease}.view-session-btn:hover .btn-icon{transform:translateX(4px)}.game-session-empty-state{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:1px solid rgba(212,175,55,0.2);border-radius:12px;margin-top:2rem}.game-session-empty-title{font-size:1.5rem;color:var(--text-light);margin-bottom:1rem;font-family:'Cinzel', serif}.game-session-empty-description{color:var(--text-medium);font-size:1rem;line-height:1.6}@media (max-width: 1200px){.sessions-grid.professional{grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:1.5rem}}@media (max-width: 768px){.sessions-grid.professional{grid-template-columns:1fr;gap:1.5rem}.session-card.professional{margin:0 1rem}.session-icon-section{padding:1rem}.session-info-section{padding:1rem}.detail-item{flex-direction:column;align-items:flex-start;gap:0.5rem}.detail-label{min-width:auto}}@media (max-width: 480px){.session-card.professional{margin:0 0.5rem}.session-icon-container{flex-direction:column;gap:1rem;align-items:center}.session-type-badge{align-self:center}}.thistle-hold-map-container{margin:2rem 0;background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:1px solid rgba(212,175,55,0.3);border-radius:12px;padding:2rem;overflow:hidden}.map-wrapper{position:relative;display:inline-block;max-width:100%;margin:0 auto}.thistle-hold-map{width:100%;height:auto;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,0.3)}.map-instructions{text-align:center;color:var(--text-medium);font-style:italic;margin-top:0.5rem}.map-instructions-secondary{text-align:center;color:var(--text-medium);font-size:0.85rem;opacity:0.8;margin-top:0.25rem}.map-hotspot{position:absolute;width:30px;height:30px;background:linear-gradient(135deg, var(--primary-gold), #b8941f);border:2px solid rgba(255,255,255,0.8);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:0.8rem;color:var(--deep-crimson);transition:all 0.3s ease;z-index:10;box-shadow:0 4px 15px rgba(212,175,55,0.4)}.map-hotspot::before{content:var(--location-number);font-family:'Cinzel', serif;font-weight:700}.map-hotspot:hover{transform:scale(1.2);background:linear-gradient(135deg, var(--secondary-gold), var(--primary-gold));box-shadow:0 6px 25px rgba(212,175,55,0.6);border-color:#fff}.map-hotspot:active{transform:scale(1.1)}@keyframes pulse{0%{box-shadow:0 4px 15px rgba(212,175,55,0.4)}50%{box-shadow:0 4px 25px rgba(212,175,55,0.8)}100%{box-shadow:0 4px 15px rgba(212,175,55,0.4)}}.map-hotspot{animation:pulse 3s infinite}.map-hotspot:hover{animation:none}.map-hotspot[data-location="1"]{top:8%;left:75%}.map-hotspot[data-location="2"]{top:10%;left:78%}.map-hotspot[data-location="3"]{top:15%;left:82%}.map-hotspot[data-location="4"]{top:18%;left:70%}.map-hotspot[data-location="5"]{top:12%;left:68%}.map-hotspot[data-location="6"]{top:14%;left:45%}.map-hotspot[data-location="7"]{top:20%;left:35%}.map-hotspot[data-location="8"]{top:45%;left:65%}.map-hotspot[data-location="9"]{top:25%;left:60%}.map-hotspot[data-location="10"]{top:35%;left:15%}.map-hotspot[data-location="11"]{top:40%;left:18%}.map-hotspot[data-location="12"]{top:25%;left:12%}.map-hotspot[data-location="13"]{top:45%;left:20%}.map-hotspot[data-location="14"]{top:50%;left:25%}.map-hotspot[data-location="15"]{top:35%;left:22%}.map-hotspot[data-location="16"]{top:55%;left:35%}.map-hotspot[data-location="17"]{top:25%;left:40%}.map-hotspot[data-location="18"]{top:30%;left:50%}.map-hotspot[data-location="19"]{top:40%;left:45%}.map-hotspot[data-location="20"]{top:50%;left:15%}.map-hotspot[data-location="21"]{top:55%;left:45%}.map-hotspot[data-location="22"]{top:60%;left:25%}.map-hotspot[data-location="23"]{top:65%;left:55%}.map-hotspot[data-location="24"]{top:60%;left:40%}.map-hotspot[data-location="25"]{top:70%;left:45%}.map-hotspot[data-location="26"]{top:65%;left:35%}.map-hotspot[data-location="27"]{top:75%;left:30%}.map-hotspot[data-location="28"]{top:85%;left:25%}.map-hotspot[data-location="29"]{top:50%;left:70%}.map-hotspot[data-location="30"]{top:80%;left:35%}.map-hotspot[data-location="31"]{top:75%;left:40%}.map-hotspot[data-location="32"]{top:80%;left:50%}.map-hotspot[data-location="33"]{top:85%;left:45%}.map-hotspot[data-location="34"]{top:85%;left:55%}.map-hotspot[data-location="35"]{top:12%;left:55%}.map-hotspot[data-location="36"]{top:55%;left:25%}.map-hotspot[data-location="37"]{top:45%;left:30%}.map-hotspot[data-location="38"]{top:35%;left:55%}.map-hotspot[data-location="39"]{top:85%;left:60%}.map-hotspot[data-location="40"]{top:70%;left:55%}.map-hotspot[data-location="41"]{top:65%;left:25%}.map-hotspot[data-location="42"]{top:18%;left:30%}.map-hotspot[data-location="43"]{top:65%;left:75%}.map-hotspot[data-location="44"]{top:50%;left:75%}.map-hotspot[data-location="45"]{top:45%;left:80%}.thistle-hold-popup{border:1px solid rgba(212,175,55,0.3) !important;border-radius:12px !important;backdrop-filter:blur(10px) !important}.thistle-hold-title{font-family:'Cinzel', serif !important;color:var(--primary-gold) !important;font-size:1.5rem !important;margin-bottom:1rem !important}.thistle-hold-content{text-align:left !important}.thistle-hold-content .location-info{max-width:500px;margin:0 auto}.thistle-hold-content .location-description{font-size:1rem !important;line-height:1.6 !important;color:var(--text-light) !important;margin-bottom:1rem !important}.thistle-hold-content .location-details{font-size:0.9rem !important;line-height:1.5 !important;color:var(--text-medium) !important;font-style:italic !important}.thistle-hold-button{background:linear-gradient(135deg, var(--primary-gold), #b8941f) !important;border:none !important;border-radius:6px !important;padding:0.75rem 1.5rem !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:0.5px !important;transition:all 0.3s ease !important}.thistle-hold-button:hover{background:linear-gradient(135deg, var(--secondary-gold), var(--primary-gold)) !important;transform:translateY(-2px) !important;box-shadow:0 4px 15px rgba(212,175,55,0.3) !important}@media (max-width: 768px){.thistle-hold-map-container{padding:1rem;margin:1rem 0}.map-hotspot{width:25px;height:25px;font-size:0.7rem}.thistle-hold-content .location-info{max-width:100%}.thistle-hold-title{font-size:1.2rem !important}}@media (max-width: 480px){.map-hotspot{width:20px;height:20px;font-size:0.6rem}.thistle-hold-popup{margin:1rem !important}}.admin-controls{display:flex;gap:1rem;margin-top:1rem;justify-content:center;flex-wrap:wrap}.admin-map-container{display:grid;grid-template-columns:1fr 400px;gap:2rem;margin-top:2rem;min-height:600px}.map-editor-wrapper{position:relative;background:var(--deep-crimson);border-radius:12px;padding:1rem;box-shadow:0 8px 32px rgba(0,0,0,0.3)}.map-editor-wrapper .thistle-hold-map{width:100%;height:auto;border-radius:8px;display:block}.map-hotspot.draggable{cursor:grab;border:3px solid var(--primary-gold);background:linear-gradient(135deg, var(--primary-gold), #b8941f);box-shadow:0 4px 15px rgba(212,175,55,0.6);transition:all 0.2s ease}.map-hotspot.draggable:hover{transform:scale(1.1);cursor:grabbing;box-shadow:0 6px 25px rgba(212,175,55,0.8)}.map-hotspot.draggable.dragging{cursor:grabbing;transform:scale(1.2);z-index:1000;box-shadow:0 8px 35px rgba(212,175,55,0.9)}.map-hotspot.draggable.selected{border-color:var(--secondary-gold);background:linear-gradient(135deg, var(--secondary-gold), var(--primary-gold));box-shadow:0 6px 25px rgba(212,175,55,0.8)}.hotspot-handle{position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:var(--deep-crimson);border:2px solid var(--primary-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-gold);font-size:0.7rem;opacity:0;transition:opacity 0.2s ease}.map-hotspot.draggable:hover .hotspot-handle,.map-hotspot.draggable.selected .hotspot-handle{opacity:1}.location-editor-panel{background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:2px solid var(--primary-gold);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px rgba(0,0,0,0.3);height:fit-content;max-height:600px;overflow-y:auto}.editor-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(212,175,55,0.3)}.editor-header h3{color:var(--primary-gold);font-family:'Cinzel', serif;font-size:1.5rem;margin-bottom:0.5rem}.editor-header p{color:var(--text-medium);font-size:0.9rem;margin:0}.no-selection{text-align:center;padding:2rem 1rem;color:var(--text-medium)}.no-selection i{font-size:3rem;color:var(--primary-gold);margin-bottom:1rem;opacity:0.6}.no-selection h4{color:var(--text-light);margin-bottom:0.5rem;font-family:'Cinzel', serif}.no-selection p{font-size:0.9rem;line-height:1.5}.location-form{animation:fadeIn 0.3s ease}.location-form .form-group{margin-bottom:1.5rem}.location-form label{display:block;color:var(--text-light);font-weight:600;margin-bottom:0.5rem;font-size:0.9rem}.location-form .form-input,.location-form .form-textarea{width:100%;padding:0.75rem;background:rgba(25,25,35,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:6px;color:var(--text-light);font-size:0.9rem;transition:all 0.3s ease}.location-form .form-input:focus,.location-form .form-textarea:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 0 2px rgba(212,175,55,0.2)}.location-form .form-textarea{resize:vertical;min-height:80px}.position-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.position-input label{font-size:0.8rem;margin-bottom:0.25rem}.position-input .form-input{text-align:center;font-weight:600}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(212,175,55,0.3)}.form-actions .btn{flex:1;padding:0.75rem 1rem;font-size:0.9rem}.notification{position:fixed;top:20px;right:20px;background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:2px solid var(--primary-gold);border-radius:8px;padding:1rem 1.5rem;color:var(--text-light);font-size:0.9rem;z-index:10000;transform:translateX(100%);transition:transform 0.3s ease;box-shadow:0 8px 32px rgba(0,0,0,0.3);display:flex;align-items:center;gap:0.75rem;max-width:400px}.notification.show{transform:translateX(0)}.notification-success{border-color:#28a745}.notification-success i{color:#28a745}.notification-error{border-color:#dc3545}.notification-error i{color:#dc3545}@media (max-width: 1200px){.admin-map-container{grid-template-columns:1fr 350px}}@media (max-width: 768px){.admin-map-container{grid-template-columns:1fr;gap:1rem}.location-editor-panel{max-height:400px}.admin-controls{flex-direction:column;align-items:center}.admin-controls .btn{width:100%;max-width:300px}.position-inputs{grid-template-columns:1fr}.form-actions{flex-direction:column}}@media (max-width: 480px){.map-editor-wrapper{padding:0.5rem}.location-editor-panel{padding:1rem}.notification{right:10px;left:10px;max-width:none}}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem;margin-top:2rem}.ability-card{background:linear-gradient(145deg, rgba(13,5,16,0.9), rgba(26,10,26,0.7));border:2px solid var(--gold-light);border-radius:15px;padding:1.5rem;transition:all 0.3s ease;position:relative;overflow:hidden}.ability-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));opacity:0;transition:opacity 0.3s ease;pointer-events:none}.ability-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(212,175,55,0.3),0 0 60px rgba(212,175,55,0.1);border-color:var(--primary-gold)}.ability-card:hover::before{opacity:1}.ability-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:0.5rem}.ability-category-badge{background:linear-gradient(135deg, var(--accent-green), #1a3d0f);color:#fff;padding:0.25rem 0.75rem;border-radius:20px;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;box-shadow:0 2px 8px rgba(0,0,0,0.3)}.ability-level-badge{background:linear-gradient(135deg, var(--primary-gold), var(--gold-dark));color:var(--deep-crimson);padding:0.25rem 0.75rem;border-radius:20px;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;box-shadow:0 2px 8px rgba(0,0,0,0.3)}.ability-title{margin-bottom:1rem}.ability-link{color:var(--primary-gold);text-decoration:none;font-size:1.3rem;font-weight:600;transition:all 0.3s ease;display:block}.ability-link:hover{color:var(--secondary-gold);text-shadow:0 0 10px var(--glow-gold)}.ability-description{color:var(--text-medium);line-height:1.6;margin-bottom:1rem}.ability-detail-card{background:linear-gradient(145deg, rgba(13,5,16,0.9), rgba(26,10,26,0.7));border:2px solid var(--gold-light);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 0 30px rgba(212,175,55,0.2),0 0 60px rgba(212,175,55,0.1)}.ability-detail-header{margin-bottom:2rem;text-align:center}.ability-meta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.ability-content{margin-bottom:2rem}.ability-description-full{background:linear-gradient(145deg, rgba(13,5,16,0.8), rgba(26,10,26,0.6));border:1px solid var(--gold-light);border-radius:15px;padding:1.5rem;margin-bottom:1.5rem}.content-section-title{color:var(--primary-gold);font-size:1.2rem;margin-bottom:1rem;font-weight:600}.content-text{color:var(--text-light);line-height:1.8}.ability-footer{border-top:1px solid var(--gold-light);padding-top:1.5rem}.ability-meta-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem}.meta-item{display:flex;justify-content:space-between;align-items:center;padding:0.75rem;background:linear-gradient(145deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border-radius:10px;border:1px solid var(--gold-light)}.meta-label{color:var(--text-medium);font-weight:600}.meta-value{color:var(--primary-gold);font-weight:600}.content-navigation{display:flex;justify-content:center;margin-top:2rem}.nav-buttons{display:flex;gap:1rem;flex-wrap:wrap}@media (max-width: 768px){.abilities-grid{grid-template-columns:1fr;gap:1rem}.ability-card{padding:1rem}.ability-header{flex-direction:column;align-items:flex-start;gap:0.5rem}.ability-detail-card{padding:1.5rem}.ability-meta{flex-direction:column;align-items:center}.ability-meta-grid{grid-template-columns:1fr}.nav-buttons{flex-direction:column;align-items:center}}@media (max-width: 480px){.ability-card{padding:0.75rem}.ability-link{font-size:1.1rem}.ability-detail-card{padding:1rem}.ability-description-full{padding:1rem}.meta-item{flex-direction:column;align-items:flex-start;gap:0.25rem}}.character-listing-header.enhanced{text-align:center;padding:3rem 2rem 2.5rem;margin-bottom:2.5rem;background:linear-gradient(145deg, rgba(26,15,10,0.98) 0%, rgba(13,5,16,0.99) 50%, rgba(26,15,10,0.98) 100%);border-radius:24px;border:2px solid rgba(212,175,55,0.4);position:relative;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,0.5),0 0 0 1px rgba(212,175,55,0.15) inset;backdrop-filter:blur(15px)}.character-listing-header.enhanced::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 20%, rgba(212,175,55,0.12) 0%, transparent 50%),radial-gradient(ellipse at 70% 80%, rgba(212,175,55,0.08) 0%, transparent 50%),linear-gradient(45deg, transparent 30%, rgba(212,175,55,0.05) 50%, transparent 70%);animation:shimmer 6s ease-in-out infinite}.header-badge.enhanced{display:inline-flex;align-items:center;gap:0.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg, rgba(212,175,55,0.3) 0%, rgba(212,175,55,0.2) 100%);border:2px solid rgba(212,175,55,0.5);border-radius:35px;margin-bottom:2rem;font-size:1rem;font-weight:700;color:var(--primary-gold);text-transform:uppercase;letter-spacing:1px;box-shadow:0 6px 20px rgba(212,175,55,0.25),0 0 0 1px rgba(212,175,55,0.15) inset;backdrop-filter:blur(8px);transition:all 0.4s ease}.header-badge.enhanced:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.35),0 0 0 1px rgba(212,175,55,0.25) inset;border-color:rgba(212,175,55,0.7)}.gothic-header.enhanced{font-size:3.5rem;font-weight:800;color:var(--primary-gold);margin:0 0 1rem 0;text-shadow:0 4px 8px rgba(0,0,0,0.6);font-family:'Cinzel', serif;letter-spacing:2px}.subtitle.enhanced{font-size:1.2rem;color:rgba(255,255,255,0.9);margin-bottom:2rem;font-style:italic;line-height:1.6;text-shadow:0 2px 4px rgba(0,0,0,0.4)}.create-character-btn.enhanced{font-size:1.2rem;font-weight:700;padding:1.25rem 2.5rem;border-radius:35px;background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 50%, var(--primary-gold) 100%);border:2px solid rgba(212,175,55,0.5);box-shadow:0 8px 25px rgba(212,175,55,0.35),0 0 0 1px rgba(212,175,55,0.15) inset;transition:all 0.4s ease;text-transform:uppercase;letter-spacing:0.8px;position:relative;overflow:hidden}.create-character-btn.enhanced:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(212,175,55,0.45),0 0 0 1px rgba(212,175,55,0.25) inset;border-color:rgba(212,175,55,0.7)}.character-stats-summary.enhanced{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1.5rem;margin-bottom:3rem;padding:2rem;background:linear-gradient(145deg, rgba(26,15,10,0.95) 0%, rgba(13,5,16,0.98) 50%, rgba(26,15,10,0.95) 100%);border-radius:20px;border:2px solid rgba(212,175,55,0.25);box-shadow:0 8px 30px rgba(0,0,0,0.4),0 0 0 1px rgba(212,175,55,0.1) inset;backdrop-filter:blur(12px)}.stat-item.enhanced{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg, rgba(212,175,55,0.1) 0%, rgba(212,175,55,0.05) 100%);border:1px solid rgba(212,175,55,0.2);border-radius:15px;transition:all 0.4s ease;position:relative;overflow:hidden}.stat-item.enhanced::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg, transparent 30%, rgba(212,175,55,0.08) 50%, transparent 70%);opacity:0;transition:opacity 0.4s ease}.stat-item.enhanced:hover{background:linear-gradient(135deg, rgba(212,175,55,0.15) 0%, rgba(212,175,55,0.08) 100%);border-color:rgba(212,175,55,0.3);transform:translateY(-3px);box-shadow:0 6px 20px rgba(212,175,55,0.2)}.stat-item.enhanced:hover::before{opacity:1}.stat-icon-wrapper{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:linear-gradient(135deg, var(--primary-gold) 0%, #b8860b 100%);border-radius:12px;font-size:1.2rem;color:#000;box-shadow:0 4px 12px rgba(212,175,55,0.3);flex-shrink:0}.stat-content{display:flex;flex-direction:column;gap:0.25rem}.stat-number{font-size:2.2rem;font-weight:800;color:var(--primary-gold);font-family:'Cinzel', serif;text-shadow:0 0 10px rgba(212,175,55,0.3);line-height:1}.stat-label{font-size:0.9rem;color:rgba(255,255,255,0.8);text-transform:uppercase;letter-spacing:0.8px;font-weight:600}.characters-grid.enhanced{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem;margin-top:2.5rem}.character-card-horizontal{display:flex;background:linear-gradient(135deg, rgba(13,5,16,0.95), rgba(22,15,22,0.9));border:2px solid rgba(212,175,55,0.3);border-radius:12px;overflow:hidden;transition:all 0.3s ease;box-shadow:0 8px 32px rgba(0,0,0,0.6);cursor:pointer;min-height:200px}.character-card-horizontal:hover{transform:translateY(-4px);border-color:rgba(212,175,55,0.5);box-shadow:0 12px 40px rgba(0,0,0,0.8)}.character-portrait-horizontal{position:relative;width:120px;flex-shrink:0}.character-portrait-img{width:100%;height:100%;object-fit:cover;filter:brightness(0.9);transition:all 0.3s ease}.character-card-horizontal:hover .character-portrait-img{filter:brightness(1.1)}.character-badges-overlay{position:absolute;top:0;left:0;right:0;padding:0.5rem;background:linear-gradient(to bottom, rgba(0,0,0,0.8), transparent);display:flex;flex-direction:column;gap:0.25rem}.character-badge{display:inline-flex;align-items:center;gap:0.25rem;padding:0.2rem 0.4rem;border-radius:12px;font-size:0.6rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;backdrop-filter:blur(10px);border:1px solid;align-self:flex-start}.race-badge{background:rgba(46,125,50,0.9);color:#ffffff;border-color:#4caf50}.archetype-badge{background:rgba(30,136,229,0.9);color:#ffffff;border-color:#2196f3}.gender-badge{background:rgba(255,255,255,0.1);color:#f4f1e8;border-color:rgba(212,175,55,0.5)}.character-info-horizontal{flex:1;padding:1rem;display:flex;flex-direction:column;min-height:0}.character-name-section{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0.75rem}.character-name-horizontal{color:#d4af37;font-family:'Cinzel', serif;font-size:1.1rem;font-weight:700;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,0.8);letter-spacing:1px;line-height:1.2}.view-character-btn-horizontal{display:flex;align-items:center;gap:0.3rem;padding:0.4rem 0.8rem;background:linear-gradient(135deg, #d4af37, #b8860b);color:#000;text-decoration:none;border-radius:15px;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(212,175,55,0.3);white-space:nowrap;flex-shrink:0}.view-character-btn-horizontal:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,0.4);text-decoration:none;color:#000}.character-description-horizontal{color:#b8b3a0;font-style:italic;font-size:0.85rem;line-height:1.4;margin-top:auto}.character-main-content{flex:1;display:flex;flex-direction:column;gap:0.75rem}.character-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.view-character-btn-compact{display:flex;align-items:center;padding:0.3rem 0.6rem;background:linear-gradient(135deg, #d4af37, #b8860b);color:#000;text-decoration:none;border-radius:12px;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:0 2px 6px rgba(212,175,55,0.3);white-space:nowrap;flex-shrink:0;align-self:flex-start}.view-character-btn-compact:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(212,175,55,0.4);text-decoration:none;color:#000;background:linear-gradient(135deg, #e6c547, #c9951b)}.character-badges-bottom{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:auto;padding-top:0.75rem}.character-card.enhanced{background:linear-gradient(135deg, rgba(25,25,35,0.98), rgba(35,35,45,0.98));border:2px solid rgba(212,175,55,0.25);border-radius:20px;overflow:hidden;transition:all 0.5s cubic-bezier(0.4, 0, 0.2, 1);position:relative;backdrop-filter:blur(15px);box-shadow:0 12px 40px rgba(0,0,0,0.4)}.character-card.enhanced::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.08) 0%, rgba(212,175,55,0.03) 50%, rgba(212,175,55,0.08) 100%);opacity:0;transition:opacity 0.5s ease;pointer-events:none}.character-card.enhanced:hover{transform:translateY(-12px);border-color:rgba(212,175,55,0.5);box-shadow:0 25px 80px rgba(0,0,0,0.5),0 0 40px rgba(212,175,55,0.15)}.character-card.enhanced:hover::before{opacity:1}.character-portrait-section.enhanced{position:relative;height:220px;overflow:hidden}.portrait-overlay.enhanced{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.8) 100%);display:flex;align-items:flex-end;padding:1.5rem}.character-badges.enhanced{display:flex;gap:0.75rem;flex-wrap:wrap}.character-badge.enhanced{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:rgba(212,175,55,0.95);color:#000;border-radius:25px;font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;backdrop-filter:blur(12px);box-shadow:0 4px 12px rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.2)}.race-badge.enhanced{background:rgba(76,175,80,0.95)}.archetype-badge.enhanced{background:rgba(33,150,243,0.95)}.character-info-section.enhanced{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;min-height:200px}.character-header.enhanced{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:0.5rem}.character-name.enhanced{font-size:1.5rem;font-weight:800;color:var(--primary-gold);margin:0;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;flex:1;text-shadow:0 2px 4px rgba(0,0,0,0.6);font-family:'Cinzel', serif}.character-gender-badge.enhanced{display:flex;align-items:center;gap:0.4rem;padding:0.4rem 0.8rem;background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(212,175,55,0.4);border-radius:20px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;flex-shrink:0;backdrop-filter:blur(12px)}.character-description.enhanced p{color:var(--text-medium);font-size:0.9rem;line-height:1.5;margin:0;font-style:italic}.character-stats.enhanced{display:none}.character-meta.enhanced{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.75rem 0 0 0;border-top:1px solid rgba(212,175,55,0.15);margin-top:auto;min-height:auto}.meta-info.enhanced{display:flex;align-items:center;gap:1rem;flex:1;font-size:0.75rem}.creator-info.enhanced,.creation-info.enhanced{display:flex;align-items:center;gap:0.5rem;color:var(--text-medium)}.creator-info.enhanced i,.creation-info.enhanced i{color:var(--primary-gold);font-size:0.75rem;opacity:0.8}.creator-name{color:var(--primary-gold);font-weight:600}.creation-date{color:var(--text-medium)}.view-character-btn.enhanced{display:flex;align-items:center;gap:0.4rem;padding:0.5rem 0.8rem;background:linear-gradient(135deg, var(--primary-gold) 0%, #b8860b 100%);color:#000;text-decoration:none;border-radius:6px;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(212,175,55,0.3);white-space:nowrap;flex-shrink:0}.view-character-btn.enhanced:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(212,175,55,0.4);color:#000;text-decoration:none}.view-character-btn.enhanced .btn-icon{font-size:0.7rem;transition:transform 0.3s ease}.view-character-btn.enhanced:hover .btn-icon{transform:translateX(2px)}.empty-characters.enhanced{grid-column:1 / -1;text-align:center;padding:5rem 3rem;background:linear-gradient(135deg, rgba(25,25,35,0.9), rgba(35,35,45,0.9));border:3px dashed rgba(212,175,55,0.4);border-radius:20px;backdrop-filter:blur(15px)}.empty-characters.enhanced .empty-icon{font-size:5rem;color:var(--primary-gold);margin-bottom:2rem;opacity:0.8}.empty-characters.enhanced h3{color:var(--text-light);font-size:2rem;margin-bottom:1.5rem;font-weight:700}.empty-characters.enhanced p{color:var(--text-medium);font-size:1.1rem;margin-bottom:2.5rem;line-height:1.6}.create-first-character-btn.enhanced{display:inline-flex;align-items:center;gap:1rem;padding:1.25rem 2.5rem;background:linear-gradient(135deg, var(--primary-gold) 0%, #b8860b 100%);color:#000;text-decoration:none;border-radius:15px;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;transition:all 0.4s ease;box-shadow:0 10px 30px rgba(212,175,55,0.35);position:relative;overflow:hidden}.create-first-character-btn.enhanced:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(212,175,55,0.45);color:#000;text-decoration:none}@media (max-width: 1200px){.characters-grid.enhanced{grid-template-columns:repeat(2, 1fr);gap:1.5rem}.gothic-header.enhanced{font-size:3rem}}@media (max-width: 768px){.character-listing-header.enhanced{padding:2rem 1.5rem 2rem;margin-bottom:2rem}.gothic-header.enhanced{font-size:2.5rem}.subtitle.enhanced{font-size:1.1rem}.character-stats-summary.enhanced{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.characters-grid.enhanced{grid-template-columns:1fr;gap:1.5rem}.character-card-horizontal{flex-direction:column;min-height:auto}.character-portrait-horizontal{width:100%;height:180px}.character-info-horizontal{padding:0.75rem}.character-name-section{flex-direction:column;gap:0.5rem;align-items:flex-start}.character-header-row{flex-direction:column;align-items:flex-start;gap:0.5rem}.view-character-btn-compact{font-size:0.6rem;padding:0.25rem 0.5rem}.character-badges-bottom{gap:0.25rem;padding-top:0.5rem}.view-character-btn-horizontal{align-self:flex-start}.character-card.enhanced{margin:0 1rem}.character-info-section.enhanced{padding:1.5rem}.character-name.enhanced{font-size:1.3rem}.character-meta.enhanced{flex-direction:column;align-items:stretch;gap:0.75rem}.meta-info.enhanced{flex-direction:column;gap:0.5rem;align-items:flex-start}.view-character-btn.enhanced{justify-content:center;padding:0.7rem 1rem;font-size:0.75rem}}@media (max-width: 480px){.character-card.enhanced{margin:0 0.5rem}.character-info-section.enhanced{padding:1.25rem}.character-header.enhanced{flex-direction:column;align-items:flex-start;gap:1rem}.character-stats.enhanced{gap:0.75rem}.stat-item.enhanced{padding:0.6rem}.gothic-header.enhanced{font-size:2rem}.header-badge.enhanced{padding:0.75rem 1.25rem;font-size:0.9rem}}.sessions-header{background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:1px solid rgba(212,175,55,0.2);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.sessions-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(212,175,55,0.02) 50%, rgba(212,175,55,0.05) 100%);pointer-events:none}.sessions-header-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.sessions-title{font-family:'Cinzel', serif;font-size:1.8rem;font-weight:700;color:var(--primary-gold);margin:0;text-shadow:0 2px 4px rgba(0,0,0,0.3)}.sessions-subtitle{font-size:0.95rem;color:var(--text-muted);margin:0.25rem 0 0 0;font-style:italic}.sessions-actions{display:flex;gap:0.75rem;align-items:center}.sessions-filters{background:rgba(25,25,35,0.6);border:1px solid rgba(212,175,55,0.15);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.filter-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem}.filter-group{display:flex;align-items:center;gap:0.75rem}.filter-label{font-size:0.9rem;font-weight:600;color:var(--text-light);white-space:nowrap}.filter-select{background:rgba(35,35,45,0.8);border:1px solid rgba(212,175,55,0.3);border-radius:6px;padding:0.5rem 0.75rem;color:var(--text-light);font-size:0.9rem;min-width:140px;transition:all 0.3s ease}.filter-select:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 0 2px rgba(212,175,55,0.2)}.sessions-grid-compact{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:1rem;margin-bottom:2rem}.session-card-compact{background:linear-gradient(135deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:1px solid rgba(212,175,55,0.2);border-radius:10px;overflow:hidden;transition:all 0.3s ease;position:relative}.session-card-compact::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(212,175,55,0.02) 50%, rgba(212,175,55,0.05) 100%);opacity:0;transition:opacity 0.3s ease;pointer-events:none}.session-card-compact:hover{transform:translateY(-4px);border-color:rgba(212,175,55,0.4);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.session-card-compact:hover::before{opacity:1}.session-header-compact{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05));border-bottom:1px solid rgba(212,175,55,0.2)}.session-icon-compact{width:40px;height:40px;background:linear-gradient(135deg, var(--primary-gold), #b8941f);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--deep-crimson);box-shadow:0 3px 10px rgba(212,175,55,0.3);transition:all 0.3s ease}.session-card-compact:hover .session-icon-compact{transform:scale(1.1);box-shadow:0 4px 15px rgba(212,175,55,0.4)}.session-type-badge-compact{display:flex;align-items:center;gap:0.4rem;padding:0.4rem 0.8rem;border-radius:15px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.session-type-badge-compact.pbp{background:linear-gradient(135deg, rgba(138,43,226,0.2), rgba(75,0,130,0.2));border:1px solid rgba(138,43,226,0.3);color:#dda0dd}.session-type-badge-compact.live{background:linear-gradient(135deg, rgba(34,139,34,0.2), rgba(0,100,0,0.2));border:1px solid rgba(34,139,34,0.3);color:#90ee90}.session-content-compact{padding:1rem}.session-title-compact{font-family:'Cinzel', serif;font-size:1.2rem;font-weight:600;color:var(--text-light);margin:0 0 0.5rem 0;line-height:1.3}.session-description-compact{font-size:0.9rem;color:var(--text-muted);margin:0 0 1rem 0;line-height:1.4}.session-meta-compact{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}.meta-item-compact{display:flex;align-items:center;gap:0.5rem;font-size:0.8rem;color:var(--text-muted)}.meta-item-compact i{width:14px;color:var(--primary-gold);font-size:0.75rem}.session-action-compact{display:flex;justify-content:flex-end}.btn-small{padding:0.5rem 1rem;font-size:0.85rem;border-radius:6px;display:flex;align-items:center;gap:0.5rem;transition:all 0.3s ease}.btn-small:hover{transform:translateY(-1px)}.sessions-empty-state{text-align:center;padding:3rem 1rem;background:rgba(25,25,35,0.6);border:1px solid rgba(212,175,55,0.15);border-radius:12px}.sessions-empty-state .empty-icon{font-size:3rem;color:var(--primary-gold);margin-bottom:1rem;opacity:0.7}.sessions-empty-state h3{font-family:'Cinzel', serif;font-size:1.5rem;color:var(--text-light);margin:0 0 0.5rem 0}.sessions-empty-state p{color:var(--text-muted);margin:0 0 1.5rem 0;font-size:1rem}@media (max-width: 768px){.sessions-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.sessions-title{font-size:1.5rem}.filter-controls{flex-direction:column;align-items:stretch;gap:0.75rem}.filter-group{justify-content:space-between}.sessions-grid-compact{grid-template-columns:1fr;gap:0.75rem}.session-card-compact{margin-bottom:0}.session-header-compact{padding:0.75rem}.session-content-compact{padding:0.75rem}.session-title-compact{font-size:1.1rem}}@media (max-width: 480px){.sessions-header{padding:1rem}.sessions-title{font-size:1.3rem}.sessions-filters{padding:0.75rem}.session-icon-compact{width:35px;height:35px;font-size:1rem}.session-type-badge-compact{padding:0.3rem 0.6rem;font-size:0.7rem}.btn-small{padding:0.4rem 0.8rem;font-size:0.8rem}}.trait-card-improved{background:linear-gradient(145deg, rgba(42,42,42,0.9), rgba(20,20,20,0.9));border:2px solid rgba(212,175,55,0.3);border-radius:12px;padding:24px;transition:all 0.3s ease;position:relative;min-height:200px;display:flex;flex-direction:column;overflow:hidden}.trait-card-improved:hover{border-color:rgba(212,175,55,0.6);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.4)}.trait-card-improved.racial{border-color:var(--primary-gold);background:linear-gradient(145deg, rgba(212,175,55,0.1), rgba(20,20,20,0.9))}.trait-card-improved.burden{border-color:rgba(139,69,19,0.6);background:linear-gradient(145deg, rgba(139,69,19,0.1), rgba(20,20,20,0.9))}.trait-card-improved.boon{border-color:rgba(34,139,34,0.6);background:linear-gradient(145deg, rgba(34,139,34,0.1), rgba(20,20,20,0.9))}.trait-header-improved{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.trait-category-badge-improved{background:linear-gradient(145deg, #8b4513, #d4af37);color:#1a1a1a;padding:6px 12px;border-radius:20px;font-size:0.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px;white-space:nowrap}.trait-category-badge-improved.racial{background:linear-gradient(145deg, #d4af37, #f4d03f)}.trait-category-badge-improved.burden{background:linear-gradient(145deg, #8b4513, sienna)}.trait-category-badge-improved.boon{background:linear-gradient(145deg, #228b22, #32cd32)}.trait-cost-badge-improved{padding:4px 10px;border-radius:16px;font-size:0.7rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px}.trait-cost-badge-improved.cost-positive{background:linear-gradient(145deg, #8b4513, #d4af37);color:#1a1a1a}.trait-cost-badge-improved.cost-negative{background:linear-gradient(145deg, #228b22, #32cd32);color:#1a1a1a}.trait-title-improved{font-family:'Cinzel Decorative', serif;font-size:1.4rem;font-weight:bold;color:#d4af37;margin-bottom:16px;line-height:1.3}.trait-link-improved{color:#d4af37;text-decoration:none;transition:color 0.3s ease}.trait-link-improved:hover{color:#f4d03f;text-decoration:none}.trait-content-improved{flex:1;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.trait-effect-improved{color:#e0e0e0;line-height:1.6;font-size:0.95rem;margin-bottom:8px}.trait-prereq-improved{color:#b0b0b0;font-size:0.9rem;line-height:1.5;padding:8px 12px;background:rgba(139,69,19,0.1);border-left:3px solid #8b4513;border-radius:4px}.trait-notes-improved{color:#b0b0b0;font-size:0.9rem;line-height:1.5;padding:8px 12px;background:rgba(212,175,55,0.1);border-left:3px solid #d4af37;border-radius:4px}.trait-meta-improved{margin-top:auto;padding-top:16px;border-top:1px solid rgba(212,175,55,0.2);display:flex;flex-direction:column;gap:6px}.meta-item-improved{display:flex;justify-content:space-between;align-items:center;font-size:0.8rem}.meta-label-improved{color:#888;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.meta-value-improved{color:#ccc;text-align:right}@media (max-width: 768px){.trait-card-improved{padding:20px;min-height:180px}.trait-title-improved{font-size:1.2rem}.trait-header-improved{flex-direction:column;align-items:flex-start;gap:8px}.trait-meta-improved{flex-direction:column;gap:4px}.meta-item-improved{flex-direction:column;align-items:flex-start;gap:2px}.meta-value-improved{text-align:left}}@media (max-width: 480px){.trait-card-improved{padding:16px;min-height:160px}.trait-title-improved{font-size:1.1rem}.trait-effect-improved{font-size:0.9rem}.trait-prereq-improved,.trait-notes-improved{font-size:0.85rem;padding:6px 10px}}.swal-dark-theme{background:linear-gradient(145deg, rgba(42,42,42,0.95), rgba(20,20,20,0.95)) !important;border:2px solid rgba(212,175,55,0.3) !important;border-radius:12px !important;box-shadow:0 8px 32px rgba(0,0,0,0.8) !important}.swal-title-dark{color:#d4af37 !important;font-family:'Cinzel', serif !important;font-weight:600 !important;text-shadow:0 2px 4px rgba(0,0,0,0.5) !important}.swal-content-dark{color:#e0e0e0 !important;font-family:'Crimson Text', serif !important}.swal-dark-theme .swal2-confirm{background:linear-gradient(145deg, #d4af37, #b8941f) !important;border:none !important;border-radius:8px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:0.5px !important;box-shadow:0 4px 12px rgba(212,175,55,0.3) !important;transition:all 0.3s ease !important}.swal-dark-theme .swal2-confirm:hover{background:linear-gradient(145deg, #e6c44a, #d4af37) !important;transform:translateY(-2px) !important;box-shadow:0 6px 16px rgba(212,175,55,0.4) !important}.swal-dark-theme .swal2-icon{border-color:#d4af37 !important}.swal-dark-theme .swal2-icon.swal2-success{background:linear-gradient(145deg, rgba(212,175,55,0.1), rgba(212,175,55,0.05)) !important}.swal-dark-theme .swal2-icon.swal2-success .swal2-success-ring{border-color:#d4af37 !important}.swal-dark-theme .swal2-icon.swal2-success .swal2-success-line-tip,.swal-dark-theme .swal2-icon.swal2-success .swal2-success-line-long{background-color:#d4af37 !important}.effect-label-novice,.effect-title-novice,.effect-rank-label.effect-label-novice{color:#4ade80 !important;text-shadow:0 0 8px rgba(74,222,128,0.4)}.effect-label-adept,.effect-title-adept,.effect-rank-label.effect-label-adept{color:#fb923c !important;text-shadow:0 0 8px rgba(251,146,60,0.4)}.effect-label-master,.effect-title-master,.effect-rank-label.effect-label-master{color:#f87171 !important;text-shadow:0 0 8px rgba(248,113,113,0.4)}.hero-section{display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.hero-background-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center, rgba(212,175,55,0.08) 0%, transparent 70%),linear-gradient(135deg, rgba(13,5,16,0.3) 0%, rgba(26,10,26,0.5) 100%);z-index:1}.hero-content{max-width:700px;margin:0 auto;position:relative;z-index:2;animation:fadeInUp 1s ease-out 0.3s both}.hero-badge{display:inline-block;background:linear-gradient(135deg, rgba(212,175,55,0.2) 0%, rgba(212,175,55,0.1) 100%);border:1px solid rgba(212,175,55,0.4);border-radius:var(--radius-xl);padding:4px 12px;margin-bottom:15px;backdrop-filter:blur(10px);animation:fadeInUp 1s ease-out 0.1s both}.badge-text{color:var(--primary-gold);font-family:var(--font-primary);font-size:0.9rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px var(--glow-gold)}.main-title{margin-bottom:15px;display:flex;flex-direction:column;align-items:center;gap:5px}.title-line{font-size:2.8rem;font-weight:800;font-family:var(--font-primary);background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px var(--glow-gold);animation:glow 3s ease-in-out infinite alternate}.title-subtitle{font-size:1.4rem;color:var(--pale-ivory);font-weight:400;letter-spacing:2px;text-transform:uppercase;font-family:var(--font-primary);text-shadow:0 0 15px rgba(0,0,0,0.8),0 0 30px rgba(0,0,0,0.6),2px 2px 4px rgba(0,0,0,0.9)}.subtitle{font-size:1rem;color:rgba(232,232,232,0.9);margin-bottom:20px;line-height:1.5;max-width:600px;margin-left:auto;margin-right:auto;text-shadow:0 0 15px rgba(0,0,0,0.9),0 0 30px rgba(0,0,0,0.7),2px 2px 4px rgba(0,0,0,0.9);font-weight:400;letter-spacing:0.5px;font-family:var(--font-secondary)}.hero-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.hero-stats{display:flex;justify-content:center;gap:30px;margin-top:25px;padding:20px;border-top:1px solid rgba(212,175,55,0.2);animation:fadeInUp 1s ease-out 0.8s both;background:rgba(212,175,55,0.05);border-radius:var(--radius-lg);border:1px solid var(--secondary-gold);backdrop-filter:blur(10px);box-shadow:0 0 30px var(--glow-gold)}.hero-stat{text-align:center;position:relative}.hero-stat .stat-number{display:block;font-size:1.8rem;font-weight:800;color:var(--primary-gold);font-family:var(--font-decorative);margin-bottom:6px;background:rgba(212,175,55,0.15);padding:0.4rem 0.8rem;border-radius:var(--radius-lg);border:1px solid var(--secondary-gold);backdrop-filter:blur(5px);text-shadow:0 0 10px var(--glow-gold),0 0 20px var(--glow-gold);box-shadow:0 0 20px var(--glow-gold)}.hero-stat .stat-label{color:var(--pale-ivory);font-size:0.9rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-primary);opacity:0.8}.features-section{padding:30px 0;position:relative}.section-header{text-align:center;margin-bottom:30px;padding:15px;animation:fadeInUp 1s ease-out 0.2s both}.section-title{font-size:2.2rem;color:var(--primary-gold);margin-bottom:10px;font-weight:700;font-family:var(--font-primary);text-shadow:2px 2px 4px var(--shadow-color)}.section-subtitle{font-size:1rem;color:var(--pale-ivory);font-weight:300;text-shadow:0 0 8px rgba(0,0,0,0.8),0 0 15px rgba(0,0,0,0.6),1px 1px 2px rgba(0,0,0,0.9)}.feature-title{color:var(--primary-gold);font-size:1.1rem;margin-bottom:8px;font-weight:600;font-family:var(--font-primary)}.feature-description{color:rgba(232,232,232,0.85);line-height:1.5;margin-bottom:15px;text-shadow:0 0 8px rgba(0,0,0,0.8),1px 1px 3px rgba(0,0,0,0.9);font-size:0.85rem;font-family:var(--font-secondary)}.feature-cta{margin-top:auto}.cta-section{padding:40px 0;background:linear-gradient(135deg, rgba(0,0,0,0.4) 0%, rgba(13,5,16,0.6) 50%, rgba(0,0,0,0.4) 100%);border-top:1px solid rgba(212,175,55,0.2);border-bottom:1px solid rgba(212,175,55,0.2);position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 50%, rgba(212,175,55,0.05) 0%, transparent 70%),radial-gradient(ellipse at 70% 50%, rgba(212,175,55,0.03) 0%, transparent 70%);z-index:1}.cta-content{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:2;animation:fadeInUp 1s ease-out 0.2s both}.cta-header{margin-bottom:20px}.cta-title{font-size:2.4rem;color:var(--primary-gold);font-family:var(--font-primary);font-weight:700;margin-bottom:15px;background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px var(--glow-gold);line-height:1.2}.cta-subtitle{font-size:1.1rem;color:rgba(232,232,232,0.9);font-family:var(--font-secondary);font-weight:400;line-height:1.5;text-shadow:0 0 15px rgba(0,0,0,0.8),2px 2px 4px rgba(0,0,0,0.9)}.cta-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.hero-section{min-height:40vh;padding:40px 0 25px}.title-line{font-size:2.2rem}.title-subtitle{font-size:1.1rem}.subtitle{font-size:0.95rem;max-width:90%}.hero-buttons{flex-direction:column;align-items:center;gap:15px}.hero-stats{flex-direction:column;gap:15px;margin-top:20px}.section-title{font-size:1.8rem}.cta-title{font-size:1.8rem}.cta-subtitle{font-size:0.95rem}.cta-actions{flex-direction:column;align-items:center;gap:10px}}.mystical-particles{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}.abilities-page-header{text-align:center;margin-bottom:2rem;animation:fadeInUp 0.8s ease-out}.abilities-page-title{font-size:2.5rem;font-weight:800;font-family:var(--font-decorative);background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px var(--glow-gold);margin-bottom:0.5rem;animation:glow 3s ease-in-out infinite alternate}.abilities-page-subtitle{font-size:1.1rem;color:var(--pale-ivory);font-weight:400;letter-spacing:1px;text-shadow:0 0 10px rgba(0,0,0,0.8)}.abilities-filter-section{background:linear-gradient(135deg, rgba(13,5,16,0.95) 0%, rgba(26,10,26,0.95) 100%);border:2px solid rgba(212,175,55,0.3);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3);animation:fadeInUp 0.8s ease-out 0.2s both}.filter-section-title{font-size:1.2rem;color:var(--primary-gold);font-weight:600;margin-bottom:1rem;text-align:center;text-shadow:0 0 10px var(--glow-gold)}.filter-group-horizontal{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.filter-item{display:flex;flex-direction:column;gap:0.5rem;min-width:150px}.filter-label{color:var(--pale-ivory);font-size:0.9rem;font-weight:500;text-shadow:0 0 5px rgba(0,0,0,0.8)}.abilities-filter-select{background:rgba(13,5,16,0.8);border:1px solid rgba(212,175,55,0.4);border-radius:var(--radius-md);color:var(--text-light);padding:0.75rem 1rem;font-size:0.95rem;transition:all var(--transition-normal);backdrop-filter:blur(5px);cursor:pointer}.abilities-filter-select:hover{border-color:var(--primary-gold);box-shadow:0 0 15px rgba(212,175,55,0.3)}.abilities-filter-select:focus{outline:none;border-color:var(--primary-gold);box-shadow:0 0 20px rgba(212,175,55,0.4)}.abilities-clear-filters-btn{background:linear-gradient(135deg, rgba(139,69,19,0.8) 0%, rgba(160,82,45,0.8) 100%);border:1px solid rgba(139,69,19,0.6);color:var(--text-light);padding:0.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-normal);text-shadow:0 0 5px rgba(0,0,0,0.8)}.abilities-clear-filters-btn:hover{background:linear-gradient(135deg, #8b4513 0%, sienna 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(139,69,19,0.4)}.abilities-container{animation:fadeInUp 0.8s ease-out 0.4s both}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:1.5rem;margin-bottom:2rem}.category-section{margin-bottom:3rem;animation:fadeInUp 0.8s ease-out 0.6s both}.category-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg, rgba(212,175,55,0.1) 0%, rgba(212,175,55,0.05) 100%);border:1px solid rgba(212,175,55,0.2);border-radius:var(--radius-lg);backdrop-filter:blur(5px)}.category-section-icon{font-size:1.5rem;color:var(--primary-gold);text-shadow:0 0 10px var(--glow-gold)}.category-section-title{font-size:1.8rem;font-weight:700;color:var(--primary-gold);font-family:var(--font-decorative);text-shadow:0 0 15px var(--glow-gold);margin:0}.ability-card{background:linear-gradient(135deg, rgba(13,5,16,0.95) 0%, rgba(26,10,26,0.95) 100%);border:2px solid rgba(212,175,55,0.3);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-normal);backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3);position:relative;overflow:hidden}.ability-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);opacity:0;transition:opacity var(--transition-normal)}.ability-card:hover{transform:translateY(-5px);border-color:var(--primary-gold);box-shadow:0 12px 40px rgba(212,175,55,0.2)}.ability-card:hover::before{opacity:1}.ability-card{background:linear-gradient(135deg, rgba(13,5,16,0.95) 0%, rgba(26,10,26,0.95) 100%);border:2px solid rgba(212,175,55,0.3);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-normal);backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0.75rem}.ability-badges{display:flex;gap:0.5rem;flex-wrap:wrap;order:1}.ability-type-badge{background:linear-gradient(135deg, rgba(34,139,34,0.8) 0%, rgba(50,205,50,0.8) 100%);color:white;padding:0.25rem 0.75rem;border-radius:var(--radius-full);font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;text-shadow:0 0 5px rgba(0,0,0,0.8);border:1px solid rgba(34,139,34,0.6)}.ability-level-badge{background:linear-gradient(135deg, rgba(255,215,0,0.8) 0%, rgba(255,193,7,0.8) 100%);color:white;padding:0.25rem 0.75rem;border-radius:var(--radius-full);font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;text-shadow:0 0 5px rgba(0,0,0,0.8);border:1px solid rgba(255,215,0,0.6)}.ability-title{font-size:1.3rem;font-weight:700;color:var(--primary-gold);margin:0 0 0.75rem 0;font-family:var(--font-decorative);text-shadow:0 0 10px var(--glow-gold);line-height:1.2;order:2}.ability-link{color:inherit;text-decoration:none;transition:all var(--transition-normal)}.ability-link:hover{color:var(--secondary-gold);text-shadow:0 0 15px var(--glow-gold)}.ability-description{color:var(--text-light);font-size:0.95rem;line-height:1.6;font-style:italic;margin:0;text-shadow:0 0 5px rgba(0,0,0,0.8);order:3}.abilities-no-content{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg, rgba(13,5,16,0.95) 0%, rgba(26,10,26,0.95) 100%);border:2px solid rgba(212,175,55,0.2);border-radius:var(--radius-lg);backdrop-filter:blur(10px)}.abilities-no-content-icon{font-size:3rem;color:var(--primary-gold);margin-bottom:1rem;text-shadow:0 0 20px var(--glow-gold)}.abilities-no-content-title{font-size:1.5rem;color:var(--primary-gold);font-weight:700;margin-bottom:0.5rem;text-shadow:0 0 10px var(--glow-gold)}.abilities-no-content-message{color:var(--text-light);font-size:1rem;opacity:0.8}@media (max-width: 768px){.abilities-page-title{font-size:2rem}.abilities-page-subtitle{font-size:1rem}.filter-group-horizontal{flex-direction:column;align-items:stretch}.filter-item{min-width:auto}.abilities-grid{grid-template-columns:1fr;gap:1rem}.ability-card{padding:1.25rem}.category-section-header{flex-direction:column;text-align:center;gap:0.5rem}.category-section-title{font-size:1.5rem}}@media (max-width: 480px){.abilities-page-title{font-size:1.8rem}.ability-badges{justify-content:flex-start}}@keyframes abilityCardGlow{0%,100%{box-shadow:0 8px 32px rgba(0,0,0,0.3)}50%{box-shadow:0 8px 32px rgba(212,175,55,0.1)}}.ability-card:hover{animation:abilityCardGlow 2s ease-in-out infinite}.ability-detail-page-header{text-align:center;margin-bottom:2rem;animation:fadeInUp 0.8s ease-out}.ability-detail-title{font-size:2.5rem;font-weight:800;font-family:var(--font-decorative);background:linear-gradient(135deg, var(--primary-gold) 0%, var(--secondary-gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px var(--glow-gold);margin-bottom:0.5rem;animation:glow 3s ease-in-out infinite alternate}.ability-detail-subtitle{font-size:1.1rem;color:var(--pale-ivory);font-weight:400;letter-spacing:1px;text-shadow:0 0 10px rgba(0,0,0,0.8)}.ability-detail-card{background:linear-gradient(135deg, rgba(13,5,16,0.95) 0%, rgba(26,10,26,0.95) 100%);border:2px solid rgba(212,175,55,0.3);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem;backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3);animation:fadeInUp 0.8s ease-out 0.2s both}.ability-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(212,175,55,0.2)}.ability-detail-badges{display:flex;gap:0.75rem;flex-wrap:wrap}.ability-detail-type-badge{background:linear-gradient(135deg, rgba(34,139,34,0.8) 0%, rgba(50,205,50,0.8) 100%);color:white;padding:0.5rem 1rem;border-radius:var(--radius-full);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;text-shadow:0 0 5px rgba(0,0,0,0.8);border:1px solid rgba(34,139,34,0.6)}.ability-detail-level-badge{background:linear-gradient(135deg, rgba(255,215,0,0.8) 0%, rgba(255,193,7,0.8) 100%);color:white;padding:0.5rem 1rem;border-radius:var(--radius-full);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;text-shadow:0 0 5px rgba(0,0,0,0.8);border:1px solid rgba(255,215,0,0.6)}.ability-detail-content{margin-bottom:2rem}.ability-detail-description{margin-bottom:1.5rem}.ability-detail-description-title{font-size:1.3rem;color:var(--primary-gold);font-weight:600;margin-bottom:1rem;font-family:var(--font-decorative);text-shadow:0 0 10px var(--glow-gold)}.ability-detail-description-text{color:var(--text-light);font-size:1rem;line-height:1.7;text-shadow:0 0 5px rgba(0,0,0,0.8)}.ability-detail-footer{padding-top:1.5rem;border-top:1px solid rgba(212,175,55,0.2)}.ability-detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem}.ability-detail-meta-item{display:flex;justify-content:space-between;align-items:center;padding:0.75rem 1rem;background:rgba(212,175,55,0.05);border:1px solid rgba(212,175,55,0.2);border-radius:var(--radius-md)}.ability-detail-meta-label{color:var(--pale-ivory);font-weight:500;font-size:0.9rem}.ability-detail-meta-value{color:var(--primary-gold);font-weight:600;font-size:0.9rem;text-shadow:0 0 5px var(--glow-gold)}.ability-detail-navigation{text-align:center;margin-top:2rem;animation:fadeInUp 0.8s ease-out 0.4s both}.ability-detail-back-btn{background:linear-gradient(135deg, rgba(139,69,19,0.8) 0%, rgba(160,82,45,0.8) 100%);border:1px solid rgba(139,69,19,0.6);color:var(--text-light);padding:0.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;text-decoration:none;transition:all var(--transition-normal);text-shadow:0 0 5px rgba(0,0,0,0.8);display:inline-flex;align-items:center;gap:0.5rem}.ability-detail-back-btn:hover{background:linear-gradient(135deg, #8b4513 0%, sienna 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(139,69,19,0.4);color:var(--text-light);text-decoration:none}.effect-label-novice,.effect-title-novice,.effect-rank-label.effect-label-novice{color:#4ade80 !important;text-shadow:0 0 8px rgba(74,222,128,0.4)}.effect-label-adept,.effect-title-adept,.effect-rank-label.effect-label-adept{color:#fb923c !important;text-shadow:0 0 8px rgba(251,146,60,0.4)}.effect-label-master,.effect-title-master,.effect-rank-label.effect-label-master{color:#f87171 !important;text-shadow:0 0 8px rgba(248,113,113,0.4)}.abilities-page{cursor:auto}.ability-card,.abilities-filter-select,.abilities-clear-filters-btn,.ability-link,.ability-detail-back-btn{cursor:pointer}.ability-card:hover,.abilities-filter-select:hover,.abilities-clear-filters-btn:hover,.ability-link:hover,.ability-detail-back-btn:hover{cursor:pointer}.ability-title,.ability-description,.ability-detail-description-text{cursor:text}.abilities-page.loading{cursor:wait}.abilities-filter-select:disabled,.abilities-clear-filters-btn:disabled{cursor:not-allowed}.abilities-filter-select:focus,.ability-link:focus,.ability-detail-back-btn:focus{cursor:pointer}.ability-type-badge,.ability-level-badge,.ability-detail-type-badge,.ability-detail-level-badge{cursor:help}.abilities-filter-section{cursor:default}.category-section-header{cursor:default}@media (max-width: 768px){.abilities-page{cursor:auto}.ability-card,.abilities-filter-select,.abilities-clear-filters-btn,.ability-link,.ability-detail-back-btn{cursor:pointer}}.character-sheet-compact{max-width:1200px;margin:0 auto;padding:0 20px}.character-header-compact{display:flex;align-items:flex-start;gap:24px;margin-bottom:32px;padding:24px;background:linear-gradient(145deg, rgba(0,0,0,0.6), rgba(26,10,26,0.8));border:1px solid rgba(212,175,55,0.2);border-radius:12px;backdrop-filter:blur(10px)}.character-portrait-compact{flex-shrink:0}.character-portrait-img{width:120px;height:120px;border-radius:12px;object-fit:cover;border:2px solid rgba(212,175,55,0.3);box-shadow:0 4px 16px rgba(0,0,0,0.3)}.character-info-compact{flex:1;min-width:0}.character-name-compact{font-size:2.5rem;font-weight:700;color:var(--primary-gold);margin:0 0 8px 0;text-shadow:0 2px 4px rgba(0,0,0,0.5)}.character-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:0.9rem;color:rgba(255,255,255,0.8)}.character-meta span{padding:4px 8px;background:rgba(212,175,55,0.1);border-radius:6px;border:1px solid rgba(212,175,55,0.2)}.character-description{color:rgba(255,255,255,0.9);line-height:1.6;margin:0;font-style:italic}.character-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.content-card{background:linear-gradient(145deg, rgba(0,0,0,0.4), rgba(26,10,26,0.6));border:1px solid rgba(212,175,55,0.15);border-radius:12px;padding:20px;backdrop-filter:blur(10px);transition:all 0.3s ease}.content-card:hover{border-color:rgba(212,175,55,0.3);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.3)}.card-title{font-size:1.25rem;font-weight:600;color:var(--primary-gold);margin:0 0 16px 0;padding-bottom:8px;border-bottom:1px solid rgba(212,175,55,0.2)}.attributes-compact{display:flex;flex-direction:column;gap:12px}.attribute-item{display:flex;align-items:center;gap:12px;padding:8px 0}.attribute-name{flex:1;font-weight:500;color:rgba(255,255,255,0.9);min-width:80px}.attribute-value{font-weight:700;color:var(--primary-gold);font-size:1.1rem;min-width:30px;text-align:center}.attribute-bar{flex:1;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden;max-width:120px}.attribute-fill{height:100%;background:linear-gradient(90deg, var(--primary-gold), #f4d03f);border-radius:3px;transition:width 0.3s ease}.abilities-compact{display:flex;flex-direction:column;gap:16px}.ability-item{padding:12px;background:rgba(255,255,255,0.03);border-radius:8px;border:1px solid rgba(212,175,55,0.1)}.ability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ability-name{font-weight:600;color:rgba(255,255,255,0.95)}.ability-level{font-size:0.8rem;color:var(--primary-gold);padding:2px 6px;background:rgba(212,175,55,0.1);border-radius:4px;text-transform:uppercase;font-weight:500}.ability-desc{font-size:0.9rem;color:rgba(255,255,255,0.7);margin:0;line-height:1.4}.equipment-compact{display:flex;flex-direction:column;gap:8px}.equipment-item{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.05)}.equipment-item:last-child{border-bottom:none}.equipment-name{font-weight:500;color:rgba(255,255,255,0.9)}.equipment-desc{font-size:0.85rem;color:rgba(255,255,255,0.6);font-style:italic}.details-grid{display:flex;flex-direction:column;gap:12px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.05)}.detail-item:last-child{border-bottom:none}.detail-label{font-weight:500;color:rgba(255,255,255,0.7);font-size:0.9rem}.detail-value{font-weight:600;color:rgba(255,255,255,0.9)}.shadow-text{color:var(--primary-gold);font-style:italic}.boons-burdens-compact{display:flex;flex-direction:column;gap:20px}.boons-section,.burdens-section{flex:1}.subsection-title{font-size:1rem;font-weight:600;color:rgba(255,255,255,0.9);margin:0 0 12px 0;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,0.1)}.boons-list,.burdens-list{display:flex;flex-direction:column;gap:8px}.boon-item,.burden-item{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.03)}.boon-item:last-child,.burden-item:last-child{border-bottom:none}.boon-name,.burden-name{font-weight:500;color:rgba(255,255,255,0.9)}.boon-desc,.burden-desc{font-size:0.85rem;color:rgba(255,255,255,0.6);font-style:italic}.backstory-content{color:rgba(255,255,255,0.9);line-height:1.6;font-size:0.95rem}.backstory-content p{margin:0 0 12px 0}.backstory-content p:last-child{margin-bottom:0}.character-actions-compact{display:flex;gap:12px;justify-content:center;padding:24px 0}.action-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:8px;font-weight:600;text-decoration:none;transition:all 0.3s ease;border:1px solid;min-width:140px}.action-btn.primary{background:linear-gradient(145deg, var(--primary-gold), #f4d03f);color:#000;border-color:var(--primary-gold)}.action-btn.primary:hover{background:linear-gradient(145deg, #f4d03f, var(--primary-gold));transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,175,55,0.3)}.action-btn.secondary{background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.9);border-color:rgba(255,255,255,0.2)}.action-btn.secondary:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.3);transform:translateY(-2px)}.empty-text{color:rgba(255,255,255,0.5);font-style:italic;text-align:center;margin:0;padding:20px}@media (max-width: 768px){.character-header-compact{flex-direction:column;align-items:center;text-align:center}.character-portrait-img{width:100px;height:100px}.character-name-compact{font-size:2rem}.character-content-grid{grid-template-columns:1fr;gap:16px}.character-actions-compact{flex-direction:column;align-items:center}.action-btn{width:100%;max-width:200px}}@media (max-width: 480px){.character-sheet-compact{padding:0 12px}.character-header-compact{padding:16px}.content-card{padding:16px}.character-name-compact{font-size:1.75rem}}.character-sheet{max-width:800px;margin:0 auto;padding:0 20px}.character-header{display:flex;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding:2rem;background:linear-gradient(145deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:2px solid rgba(212,175,55,0.3);border-radius:15px;backdrop-filter:blur(15px);box-shadow:0 8px 32px rgba(0,0,0,0.4)}.character-portrait{position:relative;flex-shrink:0}.character-portrait-img{width:150px;height:200px;border-radius:10px;object-fit:cover;border:3px solid rgba(212,175,55,0.4);box-shadow:0 6px 20px rgba(0,0,0,0.4)}.portrait-badges{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);display:flex;gap:0.5rem;flex-wrap:wrap;justify-content:center}.badge{display:flex;align-items:center;gap:0.3rem;padding:0.3rem 0.6rem;border-radius:15px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.race-badge{background:rgba(76,175,80,0.9);color:#fff}.archetype-badge{background:rgba(33,150,243,0.9);color:#fff}.character-title-section{flex:1;min-width:0}.character-name{font-size:2.5rem;font-weight:800;color:var(--primary-gold);margin:0 0 0.5rem 0;text-shadow:0 3px 6px rgba(0,0,0,0.6);font-family:'Cinzel', serif;letter-spacing:2px;line-height:1.1}.character-gender{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 0.8rem;background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(212,175,55,0.4);border-radius:20px;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:1rem}.character-subtitle{color:var(--text-medium);font-size:1rem;line-height:1.5;margin:0;font-style:italic}.character-sheet-table{background:linear-gradient(145deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:2px solid rgba(212,175,55,0.3);border-radius:15px;overflow:hidden;backdrop-filter:blur(15px);box-shadow:0 8px 32px rgba(0,0,0,0.4);margin-bottom:2rem}.sheet-row{display:flex;align-items:flex-start;border-bottom:1px solid rgba(212,175,55,0.15);transition:background-color 0.3s ease}.sheet-row:last-child{border-bottom:none}.sheet-row:hover{background:rgba(212,175,55,0.05)}.sheet-label{flex:0 0 140px;padding:1rem 1.5rem;background:rgba(212,175,55,0.1);border-right:1px solid rgba(212,175,55,0.2);font-weight:700;color:var(--primary-gold);font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px;display:flex;align-items:center;gap:0.5rem}.sheet-label i{font-size:0.8rem;opacity:0.8}.sheet-value{flex:1;padding:1rem 1.5rem;color:var(--text-light);line-height:1.6}.attributes-row .sheet-value{padding:1rem 1.5rem}.attributes-cards{display:grid;grid-template-columns:repeat(4, 1fr);gap:1rem}.attribute-card{background:linear-gradient(145deg, rgba(139,69,19,0.3), rgba(101,67,33,0.4));border:2px solid rgba(212,175,55,0.4);border-radius:8px;padding:1rem;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.3);transition:all 0.2s ease}.attribute-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,175,55,0.2);border-color:rgba(212,175,55,0.6)}.attribute-name{color:var(--primary-gold);font-weight:bold;font-size:0.9rem;margin-bottom:0.5rem;letter-spacing:0.5px;text-shadow:0 1px 2px rgba(0,0,0,0.5)}.attribute-value-display{color:var(--text-light);font-size:2.2rem;font-weight:bold;text-shadow:0 2px 4px rgba(0,0,0,0.6);line-height:1}@media (max-width: 768px){.attributes-cards{grid-template-columns:repeat(2, 1fr);gap:0.75rem}.attribute-card{padding:0.75rem}.attribute-name{font-size:0.8rem}.attribute-value-display{font-size:1.8rem}}@media (max-width: 480px){.attributes-cards{grid-template-columns:repeat(2, 1fr);gap:0.5rem}.attribute-card{padding:0.5rem}.attribute-name{font-size:0.75rem}.attribute-value-display{font-size:1.5rem}}.clickable-trait,.clickable-ability,.clickable-race,.clickable-archetype{cursor:pointer;transition:all 0.2s ease;position:relative}.clickable-trait:hover,.clickable-ability:hover,.clickable-race:hover,.clickable-archetype:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,0.3);background:rgba(212,175,55,0.1)}.clickable-trait:active,.clickable-ability:active,.clickable-race:active,.clickable-archetype:active{transform:translateY(0)}.clickable-trait i,.clickable-ability i,.clickable-race i,.clickable-archetype i{margin-right:0.3rem;opacity:0.8}.ability-level{opacity:0.8;font-size:0.9em}.symbaroum-modal{font-family:'Cinzel', serif !important}.symbaroum-modal-title{color:var(--primary-gold) !important;font-weight:bold !important}.symbaroum-modal-content{color:var(--text-light) !important;line-height:1.6 !important}.ability-details{text-align:left}.ability-details p{margin:0.5rem 0}.ability-details strong{color:var(--primary-gold)}.traits-list{display:flex;flex-wrap:wrap;gap:0.5rem}.trait-item{padding:0.4rem 0.8rem;border-radius:12px;font-size:0.85rem;font-weight:600;user-select:none}.trait-item.boon{background:rgba(76,175,80,0.2);color:#4caf50;border:1px solid rgba(76,175,80,0.3)}.trait-item.burden{background:rgba(244,67,54,0.2);color:#f44336;border:1px solid rgba(244,67,54,0.3)}.abilities-list{display:flex;flex-wrap:wrap;gap:0.5rem}.ability-item{padding:0.4rem 0.8rem;background:rgba(138,43,226,0.2);color:#8a2be2;border:1px solid rgba(138,43,226,0.3);border-radius:12px;font-size:0.85rem;font-weight:600;user-select:none}.weapons-list,.armor-list{display:flex;flex-direction:column;gap:0.75rem}.weapon-item{display:flex;flex-direction:column;gap:0.5rem;padding:0.75rem;background:linear-gradient(145deg, rgba(255,152,0,0.15), rgba(255,152,0,0.08));border:1px solid rgba(255,152,0,0.4);border-radius:12px;transition:all 0.3s ease}.weapon-item:hover{background:linear-gradient(145deg, rgba(255,152,0,0.25), rgba(255,152,0,0.15));border-color:rgba(255,152,0,0.6);transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,152,0,0.2)}.weapon-name{font-size:1rem;font-weight:700;color:#ff9800;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.weapon-details{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center}.weapon-damage{display:flex;align-items:center;gap:0.5rem;padding:0.4rem 0.8rem;background:rgba(255,69,0,0.2);color:#ff4500;border:1px solid rgba(255,69,0,0.4);border-radius:8px;font-size:0.85rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.weapon-damage i{color:#ff4500;font-size:0.9rem}.weapon-type{display:flex;align-items:center;gap:0.5rem;padding:0.4rem 0.8rem;background:rgba(255,152,0,0.15);color:#ff9800;border:1px solid rgba(255,152,0,0.3);border-radius:8px;font-size:0.8rem;font-weight:500}.weapon-type i{color:#ff9800;font-size:0.85rem}.weapon-help{margin-left:0.5rem;color:rgba(255,255,255,0.6);cursor:help;transition:color 0.3s ease}.weapon-help:hover{color:var(--primary-gold)}.weapon-help i{font-size:0.8rem}.damage-explanation{margin-bottom:1rem;padding:0.75rem;background:linear-gradient(145deg, rgba(0,0,0,0.3), rgba(26,10,26,0.5));border:1px solid rgba(212,175,55,0.2);border-radius:8px}.damage-info{display:flex;flex-direction:column;gap:0.5rem}.damage-label{display:flex;align-items:center;gap:0.5rem;color:var(--primary-gold);font-weight:600;font-size:0.9rem}.damage-label i{color:var(--primary-gold)}.damage-note{color:rgba(255,255,255,0.7);font-size:0.85rem;font-style:italic}.damage-hint{color:rgba(255,255,255,0.6);font-size:0.75rem;font-style:italic;margin-left:0.5rem}.armor-item{padding:0.3rem 0.6rem;background:rgba(255,152,0,0.2);color:#ff9800;border:1px solid rgba(255,152,0,0.3);border-radius:12px;font-size:0.8rem;font-weight:600}.defense-note,.pain-threshold{margin-left:1rem;color:var(--text-medium);font-size:0.9rem}.pain-threshold strong{color:var(--primary-gold)}.equipment-list{display:flex;flex-direction:column;gap:0.5rem}.equipment-item{display:flex;flex-direction:column;gap:0.2rem}.equipment-item strong{color:var(--primary-gold)}.equipment-desc{color:var(--text-medium);font-size:0.9rem;font-style:italic}.defense-card,.toughness-card,.pain-threshold-card,.armor-card{background:linear-gradient(145deg, rgba(0,0,0,0.3), rgba(26,10,26,0.5));border:2px solid rgba(212,175,55,0.4)}.defense-card{border-color:rgba(0,150,255,0.4)}.toughness-card{border-color:rgba(255,100,100,0.4)}.pain-threshold-card{border-color:rgba(255,165,0,0.4)}.armor-card{border-color:rgba(128,128,128,0.4)}.armor-display{display:flex;flex-direction:column;gap:1rem}.armor-display .attributes-cards{margin-bottom:0}.armor-list{display:flex;flex-wrap:wrap;gap:0.5rem}.armor-item{background:rgba(128,128,128,0.1);color:rgba(255,255,255,0.9);padding:0.25rem 0.75rem;border-radius:6px;border:1px solid rgba(128,128,128,0.3);font-size:0.9rem}.shadow-row{background:rgba(138,43,226,0.08);border:1px solid rgba(138,43,226,0.2)}.shadow-content{display:flex;flex-direction:column;gap:0.75rem}.shadow-description{font-style:italic;color:#bb86fc;font-weight:500;font-size:1.1rem;text-shadow:0 1px 3px rgba(0,0,0,0.3)}.corruption-display{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:rgba(220,20,60,0.1);border:1px solid rgba(220,20,60,0.3);border-radius:8px;width:fit-content}.corruption-label{color:#ff6b6b;font-weight:600;font-size:0.95rem;text-transform:uppercase;letter-spacing:0.5px}.corruption-value{color:#ff4757;font-weight:700;font-size:1.2rem;text-shadow:0 1px 2px rgba(0,0,0,0.4);background:rgba(255,71,87,0.1);padding:0.25rem 0.5rem;border-radius:4px;border:1px solid rgba(255,71,87,0.3)}.backstory-section{background:linear-gradient(145deg, rgba(25,25,35,0.95), rgba(35,35,45,0.95));border:2px solid rgba(212,175,55,0.3);border-radius:15px;padding:2rem;margin-bottom:2rem;backdrop-filter:blur(15px);box-shadow:0 8px 32px rgba(0,0,0,0.4)}.section-title{display:flex;align-items:center;gap:0.75rem;font-size:1.5rem;font-weight:700;color:var(--primary-gold);margin:0 0 1.5rem 0;font-family:'Cinzel', serif}.section-title i{font-size:1.2rem;opacity:0.8}.backstory-content{color:var(--text-light);line-height:1.7}.backstory-content p{margin-bottom:1rem}.character-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(0,0,0,0.2)}.action-btn.primary{background:linear-gradient(135deg, var(--primary-gold) 0%, #b8860b 100%);color:#000}.action-btn.secondary{background:rgba(255,255,255,0.1);color:var(--text-light);border:1px solid rgba(212,175,55,0.3)}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.3)}.action-btn.primary:hover{box-shadow:0 6px 20px rgba(212,175,55,0.4)}@media (max-width: 768px){.character-sheet{padding:0 10px}.character-header{flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.character-name{font-size:2rem}.sheet-row{flex-direction:column}.sheet-label{flex:none;border-right:none;border-bottom:1px solid rgba(212,175,55,0.2);padding:0.75rem 1rem}.sheet-value{padding:1rem}.attributes-grid{grid-template-columns:repeat(2, 1fr)}.character-actions{flex-direction:column;align-items:center}.action-btn{width:100%;max-width:200px;justify-content:center}}.status-pbp{background:linear-gradient(135deg, var(--primary-gold), gold);color:var(--dark-bg);padding:0.25rem 0.75rem;border-radius:15px;font-size:0.8rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px;display:inline-block}.status-regular{background:rgba(255,255,255,0.1);color:var(--text-medium);padding:0.25rem 0.75rem;border-radius:15px;font-size:0.8rem;display:inline-block}.status-active{color:#28a745;font-weight:bold}.status-inactive{color:var(--text-medium)}.form-check{margin:1rem 0;padding:1rem;background:rgba(212,175,55,0.1);border-radius:8px;border:1px solid var(--gold-light)}.form-check-input{margin-right:0.5rem;transform:scale(1.2)}.form-check-label{font-weight:bold;color:var(--primary-gold)}.form-text{display:block;margin-top:0.5rem;color:var(--text-medium);font-size:0.9rem;font-style:italic}.form-section{margin:2rem 0;padding:1.5rem;background:rgba(0,0,0,0.1);border-radius:8px;border:1px solid rgba(212,175,55,0.2)}.form-section h2{color:var(--primary-gold);margin:0 0 1.5rem 0;padding-bottom:0.5rem;border-bottom:2px solid var(--gold-light);font-size:1.4rem}.form-help{display:block;margin-top:0.5rem;color:var(--text-medium);font-size:0.85rem;font-style:italic}.form-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1rem}.attributes-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem}textarea.form-input{font-family:'Courier New', monospace;font-size:0.9rem;line-height:1.4}textarea.form-input[name*="data"]{background:rgba(0,0,0,0.3);border:2px solid rgba(212,175,55,0.3);transition:border-color 0.3s ease}textarea.form-input[name*="data"]:focus{border-color:var(--primary-gold);outline:none;box-shadow:0 0 0 3px rgba(212,175,55,0.1)}.pbp-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0;padding:1rem;background:rgba(0,0,0,0.1);border-radius:8px}.stat-item{display:flex;justify-content:space-between;align-items:center}.stat-item label{color:var(--text-medium);font-weight:normal}.stat-item span{color:var(--text-light);font-weight:bold}.admin-btn-danger{background:#dc3545;border-color:#dc3545;color:white}.admin-btn-danger:hover{background:#c82333;border-color:#bd2130}.game-session-sheet-offset{margin-top:80px}.game-session-meta{margin-top:1rem;font-size:0.9em;color:var(--text-medium)}.game-session-campaign-link{color:var(--primary-gold);text-decoration:none}.game-session-empty-state{text-align:center;padding:3rem}.game-session-empty-title{color:var(--text-medium)}.game-session-empty-description{color:var(--text-light)}.character-wizard-debug-success{background:rgba(40,167,69,0.2);border:2px solid #28a745;padding:1rem;margin-top:1rem;border-radius:8px}.character-wizard-debug-success-title{color:#28a745}.character-wizard-debug-success-text{color:#ccc}.character-wizard-debug-error{background:rgba(220,53,69,0.2);border:2px solid #dc3545;padding:1rem;margin-top:1rem;border-radius:8px}.character-wizard-debug-error-title{color:#dc3545}.character-wizard-debug-error-text{color:#ccc}.ability-error-message-hidden{display:none}.trait-placeholder{text-align:center;padding:2rem;color:#666}.ability-level-badge-hidden{display:none}.ability-downgrade-btn-hidden{display:none}.ability-placeholder{grid-column:1 / -1;text-align:center;padding:2rem;color:#666}.ability-placeholder-code{font-size:0.9rem;margin-top:0.5rem}.js-hover-elevated{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.js-hover-normal{transform:translateY(0);box-shadow:none}.js-hover-subtle{transform:translateY(-1px)}.js-fade-in-visible{opacity:1;transform:translateY(0)}.js-fade-in-hidden{opacity:0;transform:translateY(20px);transition:opacity 0.4s ease, transform 0.4s ease}.js-arrow-rotated{transform:rotate(180deg)}.js-arrow-normal{transform:rotate(0deg)}
