@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Cinzel+Decorative:wght@400;700&family=Roboto:wght@300;400;500;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap);@import url(https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&display=swap);@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s,color .3s}h1{font-size:2rem}h1,h2{color:var(--highlight-color);margin-bottom:.75em}h2{font-size:1.6rem}h3{color:var(--highlight-color);font-size:1.3rem}h3,h4{margin-bottom:.5em}h4{font-size:1.1rem}p{margin-bottom:1rem}a{color:var(--highlight-color);text-decoration:none;transition:color .2s ease}a:hover{text-decoration:underline}ol,ul{margin:0 0 1rem 1.5rem}a:focus,button:focus,input:focus,select:focus,textarea:focus{box-shadow:var(--focus-ring);outline:none}.overflow-container{max-height:80vh;overflow-y:auto;padding-right:5px;scrollbar-width:thin}::-webkit-scrollbar-thumb{background:var(--border-color)}::-webkit-scrollbar-thumb:hover{background:var(--highlight-color)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.ml-1{margin-left:.5rem}.ml-2{margin-left:1rem}.mr-1{margin-right:.5rem}.mr-2{margin-right:1rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.d-flex{display:flex}.d-block{display:block}.d-inline-block{display:inline-block}.d-none{display:none}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1}.flex-auto{flex:0 0 auto}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.w-100{width:100%}.w-75{width:75%}.w-50{width:50%}.w-25{width:25%}.h-100{height:100%}.h-auto{height:auto}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-highlight{color:var(--highlight-color)}.text-success{color:var(--success-color)}.text-error{color:var(--error-color)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.rounded{border-radius:4px}.rounded-lg{border-radius:8px}.rounded-xl{border-radius:16px}.rounded-full{border-radius:9999px}.shadow{box-shadow:var(--card-shadow)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.border{border:1px solid var(--border-color)}.border-highlight{border-color:var(--highlight-color)}.italic{font-style:italic}.bold{font-weight:700}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section{margin-bottom:2rem}.section-title{border-bottom:1px solid var(--border-color);color:var(--highlight-color);margin-bottom:1rem;padding-bottom:.5rem}.grid{grid-gap:1rem;display:grid;gap:1rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-container{margin-bottom:1rem}.detail-row{border-bottom:1px solid var(--border-color);display:flex;padding:5px 0}.detail-label{font-weight:700;width:100px}.detail-value{flex:1 1}.helper-text{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem}.loading{left:0;position:fixed;top:0;width:100%;z-index:9999}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.card{background-color:var(--bg-secondary);border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:16px;padding:16px}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;padding-bottom:8px}.card-body,.card-header{margin-bottom:16px}.card-footer{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding-top:8px}:root{--bg-primary:#fbf8f3;--bg-secondary:#f5f0e8;--bg-tertiary:#e8ddd0;--bg-quaternary:#d4c5b0;--text-primary:#2d1b0e;--text-secondary:#5d4037;--text-tertiary:#8d6e63;--text-accent:#1a237e;--primary-color:#1a237e;--primary-hover:#000051;--primary-light:#534bae;--secondary-color:#b8860b;--secondary-hover:#8b6914;--secondary-light:#daa520;--accent-color:#b71c1c;--accent-hover:#8b0000;--accent-light:#d32f2f;--success-color:#1b5e20;--success-hover:#2e7d32;--success-light:#4caf50;--warning-color:#e65100;--warning-hover:#bf360c;--warning-light:#ff9800;--error-color:#c62828;--error-hover:#ad1457;--error-light:#f44336;--info-color:#1565c0;--info-hover:#0d47a1;--info-light:#2196f3;--border-color:#d4c5b0;--border-hover:#b8860b;--border-focus:#1a237e;--button-bg:#1a237e;--button-text:#fff;--button-hover:#000051;--button-shadow:0 4px 8px #1a237e4d;--card-shadow:0 4px 12px #2d1b0e1a;--card-shadow-hover:0 8px 24px #2d1b0e26;--card-border:1px solid #d4c5b080;--gradient-primary:linear-gradient(135deg,#1a237e,#534bae);--gradient-secondary:linear-gradient(135deg,#b8860b,#daa520);--gradient-accent:linear-gradient(135deg,#b71c1c,#d32f2f);--gradient-background:linear-gradient(135deg,#fbf8f3,#f5f0e8);--bg-context-combat:linear-gradient(135deg,#b71c1c26,#8b45131a 50%,#2d1b0e0d);--bg-context-tavern:linear-gradient(135deg,#8b451326,#b8860b1a 50%,#2d1b0e0d);--bg-context-adventure:linear-gradient(135deg,#1b5e2026,#8b45131a 50%,#2d1b0e0d);--bg-context-manager:linear-gradient(135deg,#1a237e1a,#5d403714 50%,#2d1b0e0d);--highlight-color:#1a237e;--active-color:#1b5e20;--inactive-color:#8d6e63;--tab-active-bg:#fbf8f3;--tab-inactive-bg:#e8ddd0;--focus-ring:0 0 0 3px #1a237e26;--input-bg:#fff;--input-border:#d4c5b0;--input-text:#2d1b0e;--input-placeholder:#8d6e63;--input-hover-border:#b8860b;--input-focus-border:#1a237e;--panel-header-bg:var(--gradient-secondary);--panel-header-text:#2d1b0e;--panel-body-bg:#fbf8f3;--tooltip-bg:#2d1b0e;--tooltip-text:#fbf8f3;--notification-info-bg:#e3f2fd;--notification-info-text:#0d47a1;--notification-success-bg:#e8f5e9;--notification-success-text:#2e7d32;--notification-warning-bg:#fff8e1;--notification-warning-text:#e65100;--notification-error-bg:#ffebee;--notification-error-text:#c62828;--dice-bg:#fbf8f3;--dice-text:#2d1b0e;--dice-border:#b8860b;--dice-result-bg:#f5f0e8;--dice-result-highlight:#1a237e}.dark-mode{--bg-primary:#0a0a0f;--bg-secondary:#1a1a24;--bg-tertiary:#2a2a3a;--bg-quaternary:#3a3a4a;--text-primary:#e8e3d3;--text-secondary:#c4b5a0;--text-tertiary:#a0958a;--text-accent:#7c4dff;--primary-color:#7c4dff;--primary-hover:#651fff;--primary-light:#b085ff;--secondary-color:gold;--secondary-hover:#ffc107;--secondary-light:#ffeb3b;--accent-color:#ff6b6b;--accent-hover:#ff5252;--accent-light:#ff8a80;--success-color:#4caf50;--success-hover:#66bb6a;--success-light:#81c784;--warning-color:#ff9800;--warning-hover:#ffb74d;--warning-light:#ffcc02;--error-color:#f44336;--error-hover:#ef5350;--error-light:#e57373;--info-color:#2196f3;--info-hover:#42a5f5;--info-light:#64b5f6;--border-color:#3a3a4a;--border-hover:gold;--border-focus:#7c4dff;--button-bg:#7c4dff;--button-text:#fff;--button-hover:#651fff;--button-shadow:0 4px 8px #7c4dff66;--card-shadow:0 4px 12px #0006;--card-shadow-hover:0 8px 24px #00000080;--card-border:1px solid #3a3a4a80;--gradient-primary:linear-gradient(135deg,#7c4dff,#b085ff);--gradient-secondary:linear-gradient(135deg,gold,#ffeb3b);--gradient-accent:linear-gradient(135deg,#ff6b6b,#ff8a80);--gradient-background:linear-gradient(135deg,#0a0a0f,#1a1a24);--bg-context-combat:linear-gradient(135deg,#f4433633,#b71c1c26 50%,#0a0a0f1a);--bg-context-tavern:linear-gradient(135deg,#ff980033,#ffd70026 50%,#0a0a0f1a);--bg-context-adventure:linear-gradient(135deg,#4caf5033,#1b5e2026 50%,#0a0a0f1a);--bg-context-manager:linear-gradient(135deg,#7c4dff26,#3a3a4a1a 50%,#0a0a0f0d);--highlight-color:#7c4dff;--active-color:#4caf50;--inactive-color:#a0958a;--tab-active-bg:#0a0a0f;--tab-inactive-bg:#2a2a3a;--focus-ring:0 0 0 3px #7c4dff26;--input-bg:#1a1a24;--input-border:#3a3a4a;--input-text:#e8e3d3;--input-placeholder:#a0958a;--input-hover-border:gold;--input-focus-border:#7c4dff;--panel-header-bg:var(--gradient-secondary);--panel-header-text:#2d1b0e;--panel-body-bg:#0a0a0f;--tooltip-bg:#e8e3d3;--tooltip-text:#0a0a0f;--notification-info-bg:#1a2937;--notification-info-text:#90caf9;--notification-success-bg:#1b2e22;--notification-success-text:#a5d6a7;--notification-warning-bg:#332d1a;--notification-warning-text:#ffcc80;--notification-error-bg:#311b1b;--notification-error-text:#ef9a9a;--dice-bg:#0a0a0f;--dice-text:#e8e3d3;--dice-border:gold;--dice-result-bg:#1a1a24;--dice-result-highlight:#7c4dff}.theme-arcane{--accent-primary:#8e44ad;--accent-secondary:#3498db}.theme-nature{--accent-primary:#27ae60;--accent-secondary:#f1c40f}.theme-warrior{--accent-primary:#c0392b;--accent-secondary:#f39c12}.theme-rogue{--accent-primary:#34495e;--accent-secondary:#7f8c8d}.theme-cleric{--accent-primary:#ecf0f1;--accent-secondary:#f1c40f}.App{display:flex;flex-direction:column;max-width:1400px;min-height:100vh;overflow-x:hidden;padding:20px;transition:background-color .3s,color .3s}.App-header{background:var(--bg-secondary);border-bottom:2px solid var(--highlight-color);border-radius:8px;box-shadow:var(--card-shadow);flex-wrap:wrap;margin-bottom:30px;padding:15px 20px}.app-title{flex-wrap:wrap;gap:12px}.app-logo{border-radius:25px;height:60px;object-fit:contain;width:60px}.app-title h1{color:var(--highlight-color);font-size:1.8rem;margin:0;white-space:nowrap}.app-tagline{color:var(--text-secondary);font-size:.9rem;font-style:italic;margin:0}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.app-content{flex:1 1;padding:20px 0;width:100%}.user-section{flex-wrap:wrap;gap:15px}.user-info,.user-section{align-items:center;display:flex}.user-info{gap:10px}.username{font-weight:700}.logout-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px}.logout-button:hover{color:var(--text-primary);text-decoration:underline}.active-character-info{background-color:var(--bg-secondary);border-left:4px solid var(--highlight-color);border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:20px;padding:15px}.active-character-info h2{align-items:baseline;border-bottom:none;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px;margin-top:0}.character-subtitle{color:var(--text-secondary);font-size:.8em;font-weight:400;white-space:nowrap}.character-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.85em;gap:15px}.character-setup{display:flex;flex-direction:column;gap:30px;width:100%}.setup-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow);padding:20px;width:100%}.section-header{flex-wrap:wrap;gap:10px;margin-bottom:20px}.section-header h2{border:none;margin:0;padding:0}.character-manager{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow);padding:15px;width:100%}.character-manager-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.character-cards{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;margin:0;padding:0;width:100%}.combat-tracker{display:flex;flex-direction:column;width:100%}.tabs-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow);overflow:hidden;width:100%}.playsheet{width:100%}.playsheet-section{border:1px solid var(--border-color);width:100%}.playsheet-section h3{margin-bottom:25px;position:relative}.playsheet-section h3:after{background-color:var(--border-color);bottom:-10px;content:"";height:1px;left:0;position:absolute;right:0}.active-buffs{width:100%}.new-buff-form{padding:20px}.login-container{margin:50px auto;max-width:500px;padding:20px;width:100%}.login-header{align-items:center;display:flex;flex-direction:column;margin-bottom:30px;text-align:center}.login-logo-large{border-radius:25px;margin-bottom:20px;max-width:400px;width:80%}.login-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow);padding:30px;position:relative;width:100%}.login-form{display:flex;flex-direction:column;gap:15px;width:100%}.form-toggle{margin-top:15px;text-align:center}.two-column{grid-gap:20px;gap:20px;grid-template-columns:repeat(2,1fr)}.card-grid,.two-column{display:grid;width:100%}.card-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.main-wrapper{margin:0 auto;max-width:100%;padding:0 10px;width:100%}.full-width{left:50%;margin-left:-50vw;margin-right:-50vw;position:relative;right:50%;width:100vw}.container{margin:0 auto;max-width:1200px;padding:0 15px;width:100%}.aspect-ratio-16-9{padding-top:56.25%;position:relative;width:100%}.aspect-ratio-4-3{padding-top:75%;position:relative;width:100%}.aspect-ratio-1-1{padding-top:100%;position:relative;width:100%}.aspect-ratio-content{bottom:0;left:0;position:absolute;right:0;top:0}.fixed-bottom{background-color:var(--bg-secondary);bottom:0;box-shadow:0 -2px 10px #0000001a;left:0;padding:10px 15px;position:fixed;right:0;z-index:1000}.safe-area-padding{padding-bottom:env(safe-area-inset-bottom,20px);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.centered-content{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.page-section{margin-bottom:30px}.page-title{margin-bottom:20px}.divider{background-color:var(--border-color);height:1px;width:100%}.spacer-sm{height:10px}.spacer-md{height:20px}.spacer-lg{height:30px}.add-ability-button,.add-buff-button,.add-dice-btn,.add-gear-button,.add-predefined-abilities-button,.apply-buff-btn,.apply-package-btn,.btn,.create-package-btn,.edit-button,.login-button,.new-character-btn,.roll-button,.save-button,.save-package-btn{align-items:center;background:var(--button-bg);border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:var(--button-text);cursor:pointer;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:38px;overflow:hidden;padding:10px 15px;position:relative;text-align:center;transition:all .2s ease}.add-ability-button:hover,.add-buff-button:hover,.add-dice-btn:hover,.add-gear-button:hover,.add-predefined-abilities-button:hover,.apply-buff-btn:hover,.apply-package-btn:hover,.btn:hover,.create-package-btn:hover,.edit-button:hover,.login-button:hover,.new-character-btn:hover,.roll-button:hover,.save-button:hover,.save-package-btn:hover{background:var(--button-hover);box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.add-ability-button:active,.add-buff-button:active,.add-dice-btn:active,.add-gear-button:active,.add-predefined-abilities-button:active,.apply-buff-btn:active,.apply-package-btn:active,.btn:active,.create-package-btn:active,.edit-button:active,.login-button:active,.new-character-btn:active,.roll-button:active,.save-button:active,.save-package-btn:active{box-shadow:0 1px 2px #0000004d;transform:translateY(1px)}.add-ability-button:after,.add-buff-button:after,.add-dice-btn:after,.add-gear-button:after,.add-predefined-abilities-button:after,.apply-buff-btn:after,.apply-package-btn:after,.btn:after,.create-package-btn:after,.edit-button:after,.login-button:after,.new-character-btn:after,.roll-button:after,.save-button:after,.save-package-btn:after{background:#fff3;content:"";height:200%;left:-100%;position:absolute;top:-50%;transform:rotate(30deg);transition:all .8s;width:70%}.add-ability-button:hover:after,.add-buff-button:hover:after,.add-dice-btn:hover:after,.add-gear-button:hover:after,.add-predefined-abilities-button:hover:after,.apply-buff-btn:hover:after,.apply-package-btn:hover:after,.btn:hover:after,.create-package-btn:hover:after,.edit-button:hover:after,.login-button:hover:after,.new-character-btn:hover:after,.roll-button:hover:after,.save-button:hover:after,.save-package-btn:hover:after{left:100%}.average-button,.btn-secondary,.cancel-button,.toggle-button{background:var(--bg-tertiary);border:none;box-shadow:0 2px 4px #0003;color:var(--text-primary);font-weight:400;transition:all .2s ease}.average-button:hover,.btn-secondary:hover,.cancel-button:hover,.toggle-button:hover{background:var(--bg-secondary);box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.delete-buff-btn,.delete-character-btn,.remove-ability-btn,.remove-dice-btn,.remove-gear-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:0 5px;transition:color .2s ease}.delete-buff-btn:hover,.delete-character-btn:hover,.remove-ability-btn:hover,.remove-dice-btn:hover,.remove-gear-btn:hover{color:var(--error-color)}.edit-ability-btn,.edit-button,.edit-gear-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.edit-ability-btn:hover,.edit-button:hover,.edit-gear-btn:hover{color:var(--highlight-color)}.save-ability-btn,.save-button,.save-gear-btn{background:none;border:none;color:var(--success-color);cursor:pointer;transition:color .2s ease,transform .2s ease}.save-ability-btn:hover,.save-button:hover,.save-gear-btn:hover{transform:scale(1.2)}.cancel-ability-btn,.cancel-button,.cancel-gear-btn{background:none;border:none;color:var(--error-color);cursor:pointer;transition:color .2s ease,transform .2s ease}.cancel-ability-btn:hover,.cancel-button:hover,.cancel-gear-btn:hover{transform:scale(1.2)}.btn-sm{font-size:.85rem;min-height:30px;padding:5px 10px}.btn-lg{font-size:1.1rem;min-height:46px;padding:12px 20px}.btn-icon{border-radius:50%;min-height:38px;min-width:38px;padding:8px}.btn-icon-sm{border-radius:50%;min-height:30px;min-width:30px;padding:6px}.btn-full-width{display:flex;justify-content:center;width:100%}.ability-card,.attack-section,.buff-card,.buff-package-card,.card,.character-card,.defense-row,.dice-result,.gear-card,.save-row,.saved-buff-card{border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:15px;padding:15px;transition:all .3s ease}.ability-card:hover,.buff-card:hover,.buff-package-card:hover,.card:hover,.character-card:hover,.gear-card:hover,.saved-buff-card:hover{border-color:var(--border-color);box-shadow:0 8px 20px #00000026;transform:translateY(-3px)}.ability-header,.buff-card-header,.buff-package-header,.card-header,.gear-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:8px}.card-content{margin-bottom:15px}.card-actions{display:flex;gap:10px;justify-content:flex-end}.ability-card h3,.buff-card h3,.buff-package-header h4,.card h3,.card h4,.gear-card h4{color:var(--highlight-color);font-size:1.1rem;margin:0}.ability-meta,.buff-meta,.card-meta,.character-meta,.gear-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.85rem;gap:8px;justify-content:space-between;margin-bottom:10px}.ability-card,.buff-card,.buff-package-card,.card-bordered,.gear-card,.saved-buff-card{border-left:3px solid var(--border-color)}.ability-card:hover,.buff-card:hover,.card-bordered:hover,.gear-card:hover{border-left-color:var(--highlight-color)}.ability-card.active,.saved-buff-card.active{background-color:#4a7c591a;border-left-color:var(--active-color)}.card-sm{padding:10px}.card-lg{padding:20px}.card-outlined{background-color:initial;border:1px solid var(--border-color);box-shadow:none}.card-featured{border:2px solid var(--highlight-color)}.ability-input input,.ability-variable-input input,.basic-stats input,.buff-tracker input,.form-control,.new-buff-form input,.stat-effect-row input,.stat-input input,.stat-row input,textarea.form-control{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;box-shadow:inset 0 1px 2px #0000001a;color:var(--input-text);font-family:inherit;font-size:1rem;padding:10px 12px;transition:all .2s ease;width:100%}.ability-input input,.ability-variable-input input,.basic-stats input,.buff-tracker input[type=number],.new-buff-form input[type=number],.stat-effect-row input,.stat-input input,.stat-row input{font-size:.95rem;height:38px;padding:4px 8px;text-align:center}input[type=number]{font-weight:600;min-width:60px;width:auto}.ability-input input:focus,.ability-variable-input input:focus,.basic-stats input:focus,.buff-tracker input:focus,.form-control:focus,.new-buff-form input:focus,.stat-effect-row input:focus,.stat-input input:focus,.stat-row input:focus,textarea.form-control:focus{border-color:var(--input-focus-border);box-shadow:var(--focus-ring);outline:none}.ability-input input:hover,.ability-variable-input input:hover,.basic-stats input:hover,.buff-tracker input:hover,.form-control:hover,.new-buff-form input:hover,.stat-effect-row input:hover,.stat-input input:hover,.stat-row input:hover,textarea.form-control:hover{border-color:var(--input-hover-border)}.form-control::placeholder{color:var(--input-placeholder);opacity:1}.ability-form select,.basic-stats select,.bonus-type-select,.buff-tracker select,.duration-type-select,.stat-row select,.weapon-form select,select.form-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .7em top 50%;background-repeat:no-repeat;background-size:1em;cursor:pointer;padding-right:2.5em}.select-wrapper{display:inline-block;position:relative;width:100%}.form-group{gap:5px}.form-group,.form-row{margin-bottom:15px;width:100%}.form-row{gap:15px}.form-row .form-group{flex:1 1;min-width:120px}.is-valid{border-color:var(--success-color)!important}.is-invalid{border-color:var(--error-color)!important}.invalid-feedback{color:var(--error-color);font-size:.85rem;margin-top:5px}input[type=checkbox]{appearance:none;-webkit-appearance:none;background-color:var(--input-bg);border:2px solid var(--input-border);border-radius:3px;cursor:pointer;height:18px;position:relative;transition:background-color .2s;width:18px}input[type=checkbox]:checked{background-color:var(--highlight-color);border-color:var(--highlight-color)}input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:14px;left:3px;position:absolute;top:-2px}input[type=radio]{appearance:none;-webkit-appearance:none;background-color:var(--input-bg);border:2px solid var(--input-border);border-radius:50%;cursor:pointer;height:18px;position:relative;transition:all .2s;width:18px}input[type=radio]:checked{border-color:var(--highlight-color)}input[type=radio]:checked:after{background-color:var(--highlight-color);border-radius:50%;content:"";height:8px;left:3px;position:absolute;top:3px;width:8px}.input-group{display:flex;width:100%}.input-group .form-control{border-radius:0;flex:1 1}.input-group .form-control:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}.input-group .form-control:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.input-group-text{align-items:center;background-color:var(--bg-tertiary);border:1px solid var(--input-border);color:var(--text-secondary);display:flex;padding:0 10px}.input-group-text:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}.input-group-text:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.toggle-switch{height:26px;vertical-align:middle;width:60px}.toggle-switch input{height:0;margin:0;opacity:0;width:0}.toggle-slider{align-items:center;border-radius:26px;box-shadow:inset 0 1px 3px #0006;display:flex;justify-content:center;overflow:hidden;transition:background-color .3s ease}.toggle-slider:before{box-shadow:0 1px 3px #0006;height:18px;transition:all .3s ease;width:18px;z-index:2}input:checked+.toggle-slider:before{transform:translateX(34px)}input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.toggle-label{color:#fff;font-size:.6em;font-weight:700;pointer-events:none;position:absolute;text-align:center;text-transform:uppercase;transition:opacity .3s ease;width:100%;z-index:1}.toggle-label.active{opacity:0;right:8px}.toggle-label.inactive{left:8px;opacity:1}input:checked+.toggle-slider .toggle-label.active{opacity:1}input:checked+.toggle-slider .toggle-label.inactive{opacity:0}.toggle-switch.lg{height:34px;width:76px}.toggle-switch.lg .toggle-slider:before{height:26px;width:26px}.toggle-switch.lg input:checked+.toggle-slider:before{transform:translateX(42px)}.tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0;display:flex;gap:2px;overflow:hidden}.tab-button{background-color:var(--tab-inactive-bg);color:var(--text-primary);flex:1 1;font-weight:700;overflow:hidden;padding:12px 20px;position:relative;text-align:center;transition:all .3s ease}.tab-button:after{background:var(--highlight-color);bottom:0;content:"";height:3px;left:0;position:absolute;transition:all .3s ease;width:0}.tab-button:hover:after{width:100%}.tab-button.active{background-color:var(--tab-active-bg);color:var(--highlight-color)}.tab-button.active:after{width:100%}.tab-content{background:var(--bg-primary);border-radius:0 0 8px 8px;box-shadow:var(--card-shadow);padding:20px}.tabs-pills{background:#0000;border:none;gap:5px}.tabs-pills .tab-button{background:#0000;border-radius:20px;padding:8px 15px}.tabs-pills .tab-button.active{background:var(--highlight-color);color:#fff}.tabs-pills .tab-button:after{display:none}.tabs-underline{background:#0000;border:none;border-bottom:1px solid var(--border-color)}.tabs-underline .tab-button{background:#0000;border-radius:0}.nav-list{gap:10px}.nav-item{margin:0}.nav-button{border-radius:4px;font-weight:700;padding:8px 15px;transition:all .2s ease}.nav-button:after{background:var(--highlight-color);bottom:0;content:"";height:2px;left:50%;position:absolute;transition:all .3s ease;width:0}.nav-button:hover:after{left:10%;width:80%}.nav-button:hover:not(:disabled){background:var(--bg-tertiary)}.nav-item.active .nav-button{color:var(--button-text)}.nav-item.active .nav-button:after{background:#ffffff4d;height:3px;left:0;width:100%}.nav-button:disabled{opacity:.5}.theme-toggle{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:6px;position:relative;transition:background-color .2s;width:36px}.theme-toggle:hover{background-color:var(--bg-tertiary)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(30deg)}.stat-display{background:linear-gradient(90deg,#d4a0170d,#0000);border-left:3px solid #0000;margin-bottom:15px;padding:10px;transition:all .3s ease}.stat-display:hover{border-left:3px solid var(--highlight-color);transform:translateX(5px)}.stat-header{display:flex;flex-wrap:wrap;gap:10px}.stat-name{font-size:1.1em;font-weight:700;white-space:nowrap;width:120px}.stat-value{color:var(--highlight-color);font-size:1.4em}.modifier,.save-details{color:var(--text-secondary);font-size:.9em}.attack-value,.defense-value,.result-value,.save-value{font-family:Courier New,monospace;font-weight:700;text-shadow:0 0 3px #d4a01780}.ability-effects,.buff-effects,.gear-effects{gap:8px;margin:10px 0}.ability-effect,.buff-effect,.gear-stat{align-items:center;background-color:var(--bg-tertiary);border-radius:4px;color:var(--text-primary);display:inline-flex;font-size:.85em;font-weight:600;gap:4px;padding:3px 8px}.badge-success{background-color:var(--success-color);color:#fff}.badge-error{background-color:var(--error-color);color:#fff}.badge-highlight{background-color:var(--highlight-color);color:#fff}.badge-dot{padding-left:20px;position:relative}.badge-dot:before{background-color:currentColor;border-radius:50%;content:"";height:8px;left:8px;position:absolute;top:50%;transform:translateY(-50%);width:8px}.message{align-items:flex-start;border:1px solid #0000;border-radius:4px;display:flex;gap:10px;margin-bottom:15px;padding:10px 15px;position:relative}.message.error{background-color:var(--notification-error-bg);border-color:var(--error-color);color:var(--notification-error-text)}.message.success{background-color:var(--notification-success-bg);border-color:var(--success-color);color:var(--notification-success-text)}.message.info{background-color:var(--notification-info-bg);border-color:var(--border-color);color:var(--notification-info-text)}.message.warning{background-color:var(--notification-warning-bg);border-color:var(--highlight-color);color:var(--notification-warning-text)}.message-icon{flex-shrink:0;font-size:18px}.message-content{flex:1 1}.message-title{font-weight:700;margin-bottom:5px}.message-dismiss{background:none;border:none;color:inherit;cursor:pointer;opacity:.6;position:absolute;right:10px;top:10px}.message-dismiss:hover{opacity:1}.error-message,.no-buffs-message{background-color:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);font-style:italic;padding:20px;text-align:center}.toast-container{bottom:20px;display:flex;flex-direction:column;gap:10px;max-width:350px;position:fixed;right:20px;z-index:9999}.toast{animation:slideIn .3s ease,fadeOut .5s ease 2.5s forwards;background-color:var(--bg-secondary);border-left:4px solid var(--highlight-color);border-radius:8px;box-shadow:0 4px 15px #0003;padding:15px}.toast-header{align-items:center;display:flex;font-weight:700;justify-content:space-between;margin-bottom:5px}.toast-body{font-size:.9em}.toast-success{border-left-color:var(--success-color)}.toast-error{border-left-color:var(--error-color)}.spinner{animation:spin 1s ease infinite;display:inline-block;height:30px;width:30px}.spinner.spinner-sm{border-width:2px;height:20px;width:20px}.spinner.spinner-lg{border-width:4px;height:50px;width:50px}.loading-bar{background-color:var(--bg-secondary);height:4px;overflow:hidden;position:relative;width:100%}.loading-bar:after{animation:loadingBar 1.5s ease-in-out infinite;background-color:var(--highlight-color);content:"";height:100%;left:0;position:absolute;top:0;width:30%}.dice-roller{background-color:var(--dice-bg);border:1px solid var(--dice-border);border-radius:8px;margin-bottom:20px;padding:15px}.dice-roller h3{border-bottom:1px solid var(--border-color);color:var(--highlight-color);margin-bottom:15px;margin-top:0;padding-bottom:10px}.dice-group{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:10px;padding:10px}.dice-display{background:var(--dice-result-bg);border-radius:8px;margin:15px 0;padding:15px}.result-value{color:var(--dice-result-highlight);margin:10px 0;text-shadow:0 0 5px #c0392b4d}.dice-actions{gap:10px;margin-top:15px}.average-button,.roll-button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-weight:700;padding:10px 15px}.average-button{background-color:var(--bg-tertiary);color:var(--text-primary)}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-text{background-color:var(--tooltip-bg);border-radius:4px;bottom:125%;box-shadow:0 2px 10px #0003;color:var(--tooltip-text);font-size:.85em;left:50%;opacity:0;padding:5px;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .3s;visibility:hidden;width:120px;z-index:1}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.tooltip .tooltip-text:after{border-color:var(--tooltip-bg) #0000 #0000 #0000;border-style:solid;border-width:5px;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.progress{background-color:var(--bg-tertiary);border-radius:4px;height:8px;margin-bottom:10px;overflow:hidden}.progress-bar{height:100%;transition:width .3s ease}.badge-count,.progress-bar{background-color:var(--highlight-color)}.badge-count{align-items:center;border-radius:12px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;min-width:24px;padding:0 6px}.collapsible{border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;overflow:hidden}.collapsible-header{align-items:center;background-color:var(--bg-secondary);cursor:pointer;display:flex;font-weight:700;justify-content:space-between;padding:12px 15px;transition:background-color .2s}.collapsible-header:hover{background-color:var(--bg-tertiary)}.collapsible-content{background-color:var(--bg-primary);border-top:1px solid var(--border-color);padding:15px}.pagination{display:flex;gap:5px;justify-content:center;list-style:none;margin:20px 0;padding:0}.pagination-item,.pagination-link{display:inline-block}.pagination-link{border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;padding:5px 10px;transition:all .2s}.pagination-link:hover{background-color:var(--bg-tertiary);border-color:var(--highlight-color);text-decoration:none}.pagination-link.active{background-color:var(--highlight-color);border-color:var(--highlight-color);color:#fff}.dropdown{display:inline-block;position:relative}.dropdown-toggle{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;display:inline-flex;padding:8px 30px 8px 12px;position:relative;width:100%}.dropdown-toggle:after{border-bottom:2px solid var(--text-secondary);border-right:2px solid var(--text-secondary);content:"";height:8px;position:absolute;right:10px;top:50%;transform:translateY(-25%) rotate(45deg);transition:transform .2s;width:8px}.dropdown-toggle.show:after{transform:translateY(-75%) rotate(-135deg)}.dropdown-menu{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 3px 12px #00000026;display:none;left:0;margin-top:5px;min-width:160px;padding:5px 0;position:absolute;top:100%;width:100%;z-index:1000}.dropdown-menu.show{display:block}.dropdown-item{background-color:initial;border:0;clear:both;color:var(--text-primary);cursor:pointer;display:block;padding:8px 12px;text-align:inherit;text-align:left;transition:background-color .2s;white-space:nowrap;width:100%}.dropdown-item:hover{background-color:var(--bg-secondary);color:var(--highlight-color);text-decoration:none}.dropdown-divider{border-top:1px solid var(--border-color);height:0;margin:5px 0;overflow:hidden}.tags-container{align-items:center;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;cursor:text;display:flex;flex-wrap:wrap;gap:8px;min-height:38px;padding:8px}.tag{align-items:center;background-color:var(--bg-tertiary);border-radius:16px;display:inline-flex;font-size:.85em;gap:5px;padding:3px 8px}.tag-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:.9em;padding:0 2px}.tags-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;min-width:50px;outline:none;padding:4px 0}.menu{background-color:var(--bg-secondary);border-radius:8px;list-style:none;margin:0;overflow:hidden;padding:0}.menu-item{border-bottom:1px solid var(--border-color)}.menu-item:last-child{border-bottom:none}.menu-link{align-items:center;color:var(--text-primary);display:flex;gap:10px;padding:12px 15px;text-decoration:none;transition:all .2s}.menu-link:hover{background-color:var(--bg-tertiary);color:var(--highlight-color);text-decoration:none}.menu-link.active{background-color:var(--highlight-color);color:#fff}.menu-icon{display:inline-flex;justify-content:center;width:20px}.table-container{border:1px solid var(--border-color);border-radius:8px;width:100%}.table{border-collapse:collapse}.table td,.table th{border-bottom:1px solid var(--border-color);padding:12px 15px}.table thead th{color:var(--text-primary);font-weight:700}.table tbody tr:nth-child(2n){background-color:var(--bg-secondary)}.table tbody tr:hover{background-color:var(--bg-tertiary)}.table-striped tbody tr:nth-child(odd){background-color:var(--bg-primary)}.table-striped tbody tr:nth-child(2n){background-color:var(--bg-secondary)}.table-bordered td,.table-bordered th{border:1px solid var(--border-color)}.table-sm td,.table-sm th{padding:5px 10px}.grid-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));width:100%}.grid-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.grid-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.grid-card-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:15px}.grid-card-title{font-size:1.2rem;margin:0}.grid-card-body{flex:1 1;padding:15px}.grid-card-footer{align-items:center;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 15px}.custom-scrollbar{scrollbar-color:var(--border-color) var(--bg-secondary);scrollbar-width:thin}.custom-scrollbar::-webkit-scrollbar{height:8px;width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--border-color);border:2px solid var(--bg-secondary);border-radius:4px}.search-bar{display:flex;max-width:500px;position:relative;width:100%}.search-input{padding-right:40px}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.search-results{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:0 0 4px 4px;box-shadow:0 4px 15px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.search-result-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:10px 15px}.search-result-item:hover{background-color:var(--bg-secondary)}.search-result-item:last-child{border-bottom:none}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:30px}.empty-state-icon{font-size:3rem;margin-bottom:15px;opacity:.8}.empty-state-title{color:var(--text-primary);font-size:1.2rem;margin-bottom:10px}.empty-state-description{margin-bottom:20px;max-width:400px}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:15px;text-align:center}.stat-card-value{color:var(--highlight-color);font-size:2rem;font-weight:700;margin-bottom:5px}.stat-card-label{color:var(--text-secondary);font-size:.9rem}.timeline{margin-left:20px;padding-left:30px;position:relative}.timeline:before{background-color:var(--border-color);bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.timeline-item{padding-bottom:20px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{background-color:var(--highlight-color);border:2px solid var(--bg-primary);border-radius:50%;content:"";height:12px;left:-30px;position:absolute;top:0;width:12px}.timeline-content{background-color:var(--bg-secondary);border-radius:8px;box-shadow:var(--card-shadow);padding:15px}.timeline-date{color:var(--text-secondary);font-size:.85rem;margin-bottom:5px}.timeline-title{font-weight:700;margin-bottom:5px}.avatar{align-items:center;background-color:var(--bg-tertiary);border-radius:50%;color:var(--text-primary);display:flex;font-size:1rem;font-weight:700;height:40px;justify-content:center;object-fit:cover;width:40px}.avatar-sm{font-size:.8rem;height:30px;width:30px}.avatar-lg{font-size:1.5rem;height:60px;width:60px}.avatar-group{align-items:center;display:flex}.avatar-group .avatar{border:2px solid var(--bg-primary);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.file-upload{cursor:pointer;display:inline-block;position:relative}.file-upload-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.file-upload-btn{align-items:center;background-color:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:4px;color:var(--text-primary);display:inline-flex;font-weight:700;gap:8px;justify-content:center;padding:10px 15px;transition:all .2s}.file-upload:hover .file-upload-btn{background-color:var(--bg-tertiary);border-color:var(--highlight-color)}.file-upload-text{margin-left:8px}.file-preview{align-items:center;background-color:var(--bg-secondary);border-radius:4px;display:flex;gap:10px;margin-top:10px;padding:10px}.file-preview-name{flex:1 1;font-size:.9rem}.file-preview-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer}.file-preview-remove:hover{color:var(--error-color)}.range-slider{-webkit-appearance:none;background:var(--bg-tertiary);border-radius:4px;box-shadow:inset 0 1px 3px #0003;height:8px;outline:none;width:100%}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--highlight-color);border-radius:50%;box-shadow:0 1px 5px #0000004d;cursor:pointer;height:20px;width:20px}.range-slider::-moz-range-thumb{background:var(--highlight-color);border:none;border-radius:50%;box-shadow:0 1px 5px #0000004d;cursor:pointer;height:20px;width:20px}.range-labels{color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between;margin-top:8px}.rating{align-items:center;display:inline-flex;gap:5px}.rating-star{color:var(--highlight-color);cursor:pointer;font-size:1.2rem}.rating-star.empty{color:var(--bg-tertiary)}.rating-value{font-weight:700;margin-left:5px}.counter{gap:10px}.counter,.counter-btn{align-items:center;display:flex}.counter-btn{background-color:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-weight:700;height:30px;justify-content:center;transition:all .2s;width:30px}.counter-btn:hover{background-color:var(--highlight-color);color:#fff}.counter-value{font-weight:700;min-width:40px;text-align:center}.ability-card,.buff-card,.buff-package-card,.fade-in,.gear-card,.saved-buff-card,.tab-content{animation:fadeIn .3s ease-out}.fade-in-1{animation:fadeIn .3s ease-out .1s both}.fade-in-2{animation:fadeIn .3s ease-out .2s both}.fade-in-3{animation:fadeIn .3s ease-out .3s both}.fade-in-4{animation:fadeIn .3s ease-out .4s both}.fade-in-5{animation:fadeIn .3s ease-out .5s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .4s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fade-in-down{animation:fadeInDown .4s ease-out}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.fade-in-left{animation:fadeInLeft .4s ease-out}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.fade-in-right{animation:fadeInRight .4s ease-out}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.zoom-in{animation:zoomIn .3s ease-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.bounce{animation:bounce 1s ease}.pulse{animation:pulse 1.5s ease-in-out infinite}.dice-result:before{animation:pulse 2s infinite;background:radial-gradient(circle at center,#c8aa6e1a 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}@media (max-width:768px){.new-character-btn{animation:pulse 2s ease-in-out infinite}}.attack-value:before,.defense-value:before,.result-value:before,.save-value:before{background:radial-gradient(circle,#d4a01733 0,#0000 70%);border-radius:50%;content:"";height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px;z-index:-1}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading{align-items:center;background-color:var(--bg-primary);display:flex;height:100vh;justify-content:center;position:relative}.loading:after{animation:rotate 1.5s ease infinite;content:"⚔️";font-size:2rem}.rotate{animation:rotate 2s linear infinite}.rotate-slow{animation:rotate 4s linear infinite}@keyframes scale{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.scale{animation:scale 2s ease infinite}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.shake{animation:shake .6s ease}@keyframes wobble{0%{transform:translateX(0)}15%{transform:translateX(-5%) rotate(-5deg)}30%{transform:translateX(3%) rotate(3deg)}45%{transform:translateX(-3%) rotate(-3deg)}60%{transform:translateX(2%) rotate(2deg)}75%{transform:translateX(-1%) rotate(-1deg)}to{transform:translateX(0)}}.wobble{animation:wobble .8s ease}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.float{animation:float 5s ease-in-out infinite}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideOutRight{0%{transform:translateX(0)}to{transform:translateX(100%)}}.slide-out-right{animation:slideOutRight .3s ease-in}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.slide-in-bottom{animation:slideInBottom .3s ease-out}@keyframes slideOutBottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}.slide-out-bottom{animation:slideOutBottom .3s ease-in}@keyframes heartbeat{0%{transform:scale(1)}25%{transform:scale(1.1)}40%{transform:scale(1)}60%{transform:scale(1.1)}to{transform:scale(1)}}.heartbeat{animation:heartbeat 1.5s ease infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-cursor{animation:blink 1s step-end infinite;background-color:currentColor;display:inline-block;height:1em;margin-left:2px;vertical-align:middle;width:2px}@keyframes loadingDots{0%{content:"."}33%{content:".."}66%{content:"..."}to{content:"."}}.loading-dots:after{animation:loadingDots 1.5s infinite;content:".";display:inline-block;text-align:left;width:1em}@keyframes progressBar{0%{background-color:var(--highlight-color);width:0}to{background-color:var(--success-color);width:100%}}.loading-bar-animate{animation:progressBar 2s linear}@keyframes popIn{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.pop-in{animation:popIn .3s ease-out}.spinner{border:3px solid #0000001a;border-top:3px solid var(--highlight-color);height:24px;width:24px}@keyframes loadingBar{0%{left:-30%}to{left:100%}}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes focusRingPulse{0%{box-shadow:0 0 0 0 #c0392b80}70%{box-shadow:0 0 0 5px #c0392b00}to{box-shadow:0 0 0 0 #c0392b00}}.focus-pulse:focus{animation:focusRingPulse 1.5s infinite}.dice-rolling{animation:diceRoll .5s ease-in-out}@keyframes checkmark{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.checkmark{animation:checkmark .5s ease-out}@keyframes statIncrease{0%{color:var(--text-primary)}50%{color:var(--success-color);transform:scale(1.1)}to{color:var(--text-primary);transform:scale(1)}}.stat-increase{animation:statIncrease 1s ease-out}@keyframes statDecrease{0%{color:var(--text-primary)}50%{color:var(--error-color);transform:scale(.9)}to{color:var(--text-primary);transform:scale(1)}}.stat-decrease{animation:statDecrease 1s ease-out}.card-grid>:first-child{animation-delay:.1s}.card-grid>:nth-child(2){animation-delay:.2s}.card-grid>:nth-child(3){animation-delay:.3s}.card-grid>:nth-child(4){animation-delay:.4s}.card-grid>:nth-child(5){animation-delay:.5s}.card-grid>:nth-child(6){animation-delay:.6s}.card-grid>:nth-child(7){animation-delay:.7s}.card-grid>:nth-child(8){animation-delay:.8s}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s}.modal-backdrop{animation:fadeIn .3s ease-out}.modal-content{animation:zoomIn .3s ease-out}.drawer{animation:slideInRight .3s ease-out}@media (max-width:768px){.mobile-menu-open{animation:slideInRight .3s ease-out}.mobile-menu-close{animation:slideOutRight .3s ease-in forwards}}@media (min-width:1200px){.container{max-width:1140px}.App{padding:30px}.grid-cols-xl-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-xl-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:992px) and (max-width:1199px){.container{max-width:960px}.App{padding:25px}.grid-cols-lg-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-lg-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px) and (max-width:991px){.container{max-width:720px}.App{padding:20px}.App-header{flex-wrap:wrap;gap:15px;justify-content:center}.app-title{text-align:center}.app-title,.header-controls{justify-content:center;width:100%}.nav-list{justify-content:space-between;width:100%}.nav-button{font-size:.9rem;padding:8px 12px}.character-cards,.grid-cols-md-2{grid-template-columns:repeat(2,minmax(0,1fr))}.playsheet{gap:15px;grid-template-columns:1fr}.attack-value,.defense-value,.save-value{font-size:1.2rem}.form-row{flex-wrap:wrap}.form-row .form-group{flex:0 0 48%;min-width:200px}.abilities-list,.active-buffs,.gear-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:576px) and (max-width:767px){.container{max-width:540px}.App{padding:15px}.App-header{flex-direction:column;padding:15px 10px}.app-title{justify-content:center;margin-bottom:10px;text-align:center;width:100%}.app-tagline{display:none}.header-controls{flex-direction:column;gap:10px;width:100%}.nav-list{justify-content:space-between;width:100%}.nav-button{font-size:.85rem;padding:8px 10px;white-space:nowrap}.user-section{justify-content:space-between;width:100%}.character-cards,.grid-cols-sm-1{grid-template-columns:1fr}.form-row{flex-direction:column;gap:15px}.form-group{width:100%}.playsheet{gap:15px}.abilities-list,.active-buffs,.gear-list,.playsheet{grid-template-columns:1fr}.tabs{flex-wrap:wrap}.tab-button{flex:1 0 auto;font-size:.9rem;min-width:100px;padding:10px}.ability-card,.buff-card,.buff-package-card,.card,.character-card,.gear-card,.saved-buff-card{padding:12px}.attack-row,.defense-row,.save-row{padding:8px}.attack-value,.defense-value,.save-value{font-size:1.1rem}.dice-actions{flex-direction:column;gap:10px}.average-button,.roll-button{width:100%}.new-character-btn{align-items:center;border-radius:50%;bottom:20px;box-shadow:0 4px 10px #0000004d;display:flex;height:56px;justify-content:center;padding:0;position:fixed;right:20px;width:56px;z-index:100}.new-character-btn span{display:none}.new-character-btn:before{content:"+";font-size:24px}}@media (max-width:575px){.container{padding:0 10px;width:100%}.App,.App-header{padding:10px}.App-header{flex-direction:column;margin-bottom:15px}.app-title{flex-wrap:wrap;justify-content:center;margin-bottom:10px;text-align:center;width:100%}.app-logo{height:40px;width:40px}.app-title h1{font-size:1.5rem}.app-tagline{display:none}.header-controls{flex-direction:column;gap:10px;width:100%}.nav-list{flex-direction:row;justify-content:space-between;width:100%}.nav-button{font-size:.8rem;padding:6px 8px;white-space:nowrap}.user-section{justify-content:space-between;width:100%}.username{font-size:.9rem}.grid-cols-xs-1{grid-template-columns:1fr}h1{font-size:1.6rem}h2{font-size:1.4rem}h3{font-size:1.2rem}h4{font-size:1rem}.ability-card,.buff-card,.buff-package-card,.card,.character-card,.gear-card,.saved-buff-card{margin-bottom:10px;padding:10px}.active-character-info h2{align-items:flex-start;flex-direction:column}.character-subtitle{margin-top:5px}.attack-row,.defense-row,.save-row{padding:6px}.attack-name,.defense-name,.save-name{font-size:.9rem}.attack-value,.defense-value,.save-value{font-size:1rem;min-width:auto}.tabs{border-radius:8px 8px 0 0;flex-direction:column}.tab-button{border-radius:0;padding:8px;text-align:left}.tab-content{padding:15px 10px}.dice-group{padding:8px}.dice-form .form-row{margin-bottom:10px}.result-value{font-size:1.8rem}.login-container{padding:10px}.login-card{padding:15px}.character-manager,.character-setup,.combat-tracker{max-height:calc(100vh - 200px);overflow-y:auto}}@media (max-width:320px){.App-header{padding:8px}.app-logo{height:30px;width:30px}.app-title h1{font-size:1.3rem}.nav-button{font-size:.75rem;padding:5px 6px}.ability-card,.buff-card,.card,.gear-card{padding:8px}button,input,select{font-size:16px;padding:6px}}@media (max-width:767px){input,select,textarea{font-size:16px}.btn,.nav-button,button{min-height:44px}.App{min-height:-webkit-fill-available}.abilities-list,.active-buffs,.character-cards,.gear-list,.overflow-container{-webkit-overflow-scrolling:touch}}@media (max-width:767px) and (orientation:landscape){.App-header{flex-direction:row;padding:10px}.app-title{margin-bottom:0;width:auto}.header-controls,.nav-list{flex-direction:row;width:auto}.abilities-list,.active-buffs,.character-cards,.gear-list{grid-template-columns:repeat(2,minmax(0,1fr))}.playsheet{grid-template-columns:repeat(2,1fr)}}@media print{body{background-color:#fff;color:#000}.App{max-width:100%;padding:0}.App-header,.logout-button,.nav-list,.new-character-btn,.theme-toggle,button:not(.print-visible){display:none}.ability-card,.buff-card,.buff-package-card,.character-card,.gear-card,.playsheet-section,.saved-buff-card,.setup-section{border:1px solid #ddd;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.tab-content{display:block!important}.dark-mode{--text-primary:#000;--text-secondary:#333;--bg-primary:#fff;--bg-secondary:#fff;--border-color:#ddd}.buff-tracker,.character-setup,.combat-abilities,.combat-tracker{page-break-before:always}.attack-row,.defense-row,.save-row,.stat-display{page-break-inside:avoid}}@media (prefers-contrast:more){:root{--bg-primary:#fff;--bg-secondary:#f0f0f0;--bg-tertiary:#e0e0e0;--text-primary:#000;--text-secondary:#333;--border-color:#000;--highlight-color:#8b0000;--error-color:#8b0000;--success-color:#006400;--active-color:#006400;--inactive-color:#707070}.dark-mode{--bg-primary:#000;--bg-secondary:#222;--bg-tertiary:#333;--text-primary:#fff;--text-secondary:#ddd;--border-color:#fff;--highlight-color:#f66;--error-color:#f66;--success-color:#6f6;--active-color:#6f6;--inactive-color:#aaa}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:3px solid var(--highlight-color);outline-offset:2px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.ability-card:hover,.btn:hover,.buff-card:hover,.buff-package-card:hover,.card:hover,.character-card:hover,.gear-card:hover,.saved-buff-card:hover,button:hover{transform:none!important}.add-dice-btn:after,.attack-value:after,.btn:after,.defense-value:after,.dice-result:before,.login-button:after,.roll-button:after,.save-value:after{display:none!important}}:root{--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-xxl:3rem;--shadow-sm:0 1px 2px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-inner:inset 0 2px 4px 0 #0000000f;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--transition-fast:150ms;--transition-normal:250ms;--transition-slow:350ms}body,button,input,select,textarea{font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.011em}.App{margin:0 auto;max-width:1280px;padding:1rem;padding:var(--space-md);transition:all .25s ease;transition:all var(--transition-normal) ease}.App-header{align-items:center;background:linear-gradient(to right,var(--bg-secondary),var(--bg-secondary) 70%,var(--bg-tertiary));border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);display:flex;justify-content:space-between;margin-bottom:2rem;margin-bottom:var(--space-xl);overflow:hidden;padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg);position:relative}.App-header:after{background:var(--highlight-color);content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:1}.app-title{align-items:center;display:flex}.app-title,.nav-list{gap:.5rem;gap:var(--space-sm)}.nav-button{background:var(--bg-primary);border:none;border-radius:.375rem;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000001a;box-shadow:var(--shadow-sm);font-weight:500;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:all .15s ease;transition:all var(--transition-fast) ease}.nav-button:hover,.nav-item.active .nav-button{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.nav-item.active .nav-button{background:var(--highlight-color)}.ability-card,.attack-section,.buff-card,.buff-package-card,.card,.character-card,.defense-row,.dice-result,.gear-card,.save-row,.saved-buff-card{background-color:var(--bg-primary);border:1px solid #0000;border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);overflow:hidden;padding:1rem;padding:var(--space-md);position:relative;transition:all .25s ease;transition:all var(--transition-normal) ease}.ability-card:hover,.buff-card:hover,.buff-package-card:hover,.card:hover,.character-card:hover,.gear-card:hover,.saved-buff-card:hover{border-color:#d4a0174d;border-color:rgba(var(--border-color-rgb),.3);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.combat-tracker .tab-content,.playsheet-section,.setup-section{background:linear-gradient(to bottom,var(--bg-secondary) 0,var(--bg-primary) 100%);border:1px solid #d4a01733;border:1px solid rgba(var(--border-color-rgb),.2);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding:1.5rem;padding:var(--space-lg)}.section-header{border-bottom:1px solid #d4a0174d;border-bottom:1px solid rgba(var(--border-color-rgb),.3);margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding-bottom:.5rem;padding-bottom:var(--space-sm)}.form-control,input[type=number],input[type=password],input[type=text],select,textarea{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:.375rem;border-radius:var(--radius-md);box-shadow:inset 0 2px 4px 0 #0000000f;box-shadow:var(--shadow-inner);color:var(--input-text);font-size:.95rem;height:auto;padding:.5rem .75rem;transition:all .15s ease;transition:all var(--transition-fast) ease;width:100%}input[type=number]{-webkit-appearance:textfield;appearance:textfield;max-width:80px;text-align:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:var(--highlight-color);box-shadow:0 0 0 3px #c0392b33;box-shadow:0 0 0 3px rgba(var(--highlight-color-rgb),.2);outline:none}.form-row{gap:var(--space-md)}.form-group,.form-row{margin-bottom:var(--space-md)}.form-group{flex:1 1;min-width:200px}label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:.25rem;margin-bottom:var(--space-xs)}select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2rem}.add-ability-button,.add-buff-button,.add-dice-btn,.add-gear-button,.add-predefined-abilities-button,.btn,.edit-button,.login-button,.new-character-btn,.roll-button,.save-button{align-items:center;background:var(--button-bg);border:none;border-radius:.375rem;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000001a;box-shadow:var(--shadow-sm);color:var(--button-text);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;justify-content:center;overflow:hidden;padding:.5rem 1rem;position:relative;transition:all .25s ease;transition:all var(--transition-normal) ease}.add-ability-button:hover,.add-buff-button:hover,.add-dice-btn:hover,.add-gear-button:hover,.add-predefined-abilities-button:hover,.btn:hover,.edit-button:hover,.login-button:hover,.new-character-btn:hover,.roll-button:hover,.save-button:hover{background:var(--button-hover);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.add-ability-button:active,.add-buff-button:active,.add-dice-btn:active,.add-gear-button:active,.add-predefined-abilities-button:active,.btn:active,.edit-button:active,.login-button:active,.new-character-btn:active,.roll-button:active,.save-button:active{box-shadow:0 1px 2px #0000001a;box-shadow:var(--shadow-sm);transform:translateY(1px)}.average-button,.btn-secondary,.cancel-button{background-color:var(--bg-tertiary);color:var(--text-primary)}.playsheet{grid-gap:1.5rem;grid-gap:var(--space-lg);gap:1.5rem;gap:var(--space-lg)}.attack-row,.defense-row,.save-row{border-radius:.375rem;border-radius:var(--radius-md);margin-bottom:.5rem;margin-bottom:var(--space-sm);padding:1rem;padding:var(--space-md);transition:all .15s ease;transition:all var(--transition-fast) ease}.attack-row:hover,.defense-row:hover,.save-row:hover{background-color:var(--bg-secondary);transform:translateX(4px)}.attack-value,.defense-value,.save-value{font-family:Poppins,monospace;font-size:1.3rem;font-weight:600;min-width:60px;position:relative;text-align:right}.haste-attack{background-color:#3498db1a;border-left:3px solid #3498db}.character-form{grid-gap:1rem;grid-gap:var(--space-md);display:grid;gap:1rem;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.active-buffs{grid-gap:1rem;grid-gap:var(--space-md);gap:1rem;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.ability-header,.buff-card-header,.gear-card-header{display:flex;justify-content:space-between;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.toggle-switch{display:inline-block;height:28px;position:relative;width:56px}.toggle-slider{background-color:var(--inactive-color);border-radius:9999px;border-radius:var(--radius-full);bottom:0;box-shadow:inset 0 2px 4px 0 #0000000f;box-shadow:var(--shadow-inner);cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:.25s;transition:var(--transition-normal)}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;box-shadow:0 1px 2px #0000001a;box-shadow:var(--shadow-sm);content:"";height:20px;left:4px;width:20px}input:checked+.toggle-slider{background-color:var(--active-color)}input:checked+.toggle-slider:before{transform:translateX(28px)}.dice-display{background-color:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-inner);margin:var(--space-md) 0;padding:var(--space-md)}.result-value{margin:var(--space-sm) 0}.table-container{border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);margin:1rem 0;margin:var(--space-md) 0;overflow-x:auto}.table{border-collapse:initial;border-spacing:0;text-align:left;width:100%}.table td,.table th{padding:.5rem 1rem;padding:var(--space-sm) var(--space-md)}.table thead th{background-color:var(--bg-secondary);border-bottom:2px solid var(--border-color);font-weight:600;position:sticky;top:0;z-index:10}.table tbody tr:nth-child(2n){background-color:#e3cda44d;background-color:rgba(var(--bg-secondary-rgb),.3)}@media (min-width:768px) and (max-width:1023px){.App{padding:.5rem;padding:var(--space-sm)}.App-header{padding:1rem;padding:var(--space-md)}.playsheet{gap:1rem;gap:var(--space-md)}.combat-tracker .tab-content,.playsheet-section,.setup-section{padding:1rem;padding:var(--space-md)}.form-row{flex-wrap:wrap}.form-group{min-width:150px}}@media (max-width:767px){.App{padding:.25rem;padding:var(--space-xs)}.App-header{flex-direction:column;gap:.5rem;gap:var(--space-sm);padding:.5rem;padding:var(--space-sm)}.app-title{justify-content:center;width:100%}.header-controls,.nav-list{width:100%}.nav-list{justify-content:space-between}.nav-button{font-size:.85rem;padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.playsheet{grid-template-columns:1fr}.combat-tracker .tab-content,.playsheet-section,.setup-section{padding:.5rem;padding:var(--space-sm)}.form-row{flex-direction:column;gap:.5rem;gap:var(--space-sm)}.form-group{width:100%}.active-buffs,.character-form{grid-template-columns:1fr}.attack-value,.defense-value,.save-value{font-size:1.1rem}.result-value{font-size:2rem}.tabs{flex-wrap:wrap}.tab-button{flex:1 0 auto;font-size:.85rem;min-width:100px;padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.dice-actions{flex-direction:column;gap:.5rem;gap:var(--space-sm)}.character-card{padding:.5rem;padding:var(--space-sm)}}@media (max-width:375px){.app-logo{height:40px;width:40px}.app-title h1{font-size:1.4rem}.nav-button{font-size:.75rem;padding:4px 6px}.form-control,input,select,textarea{font-size:16px}.attack-value,.defense-value,.save-value{font-size:1rem}}.dark-mode .App-header{background:linear-gradient(to right,var(--bg-secondary),var(--bg-secondary) 70%,var(--bg-tertiary))}.dark-mode .combat-tracker .tab-content,.dark-mode .playsheet-section,.dark-mode .setup-section{background:linear-gradient(to bottom,var(--bg-secondary) 0,var(--bg-primary) 100%);border-color:#ffffff1a}.dark-mode .ability-card,.dark-mode .buff-card,.dark-mode .buff-package-card,.dark-mode .card,.dark-mode .character-card,.dark-mode .gear-card,.dark-mode .saved-buff-card{box-shadow:0 4px 12px #0000004d}.dark-mode .attack-row:hover,.dark-mode .defense-row:hover,.dark-mode .save-row:hover{background-color:#ffffff0d}.ability-card,.buff-card,.card,.character-card{background-image:linear-gradient(180deg,#ffffff0d,#0000)}.attack-value,.defense-value,.result-value,.save-value{text-shadow:0 0 10px #c0392b4d;text-shadow:0 0 10px rgba(var(--highlight-color-rgb),.3)}.App{background-attachment:fixed;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100" opacity="0.05"><rect fill="%23000" width="100" height="100"/><filter id="a"><feTurbulence type="fractalNoise" baseFrequency="0.5" stitchTiles="stitch"/><feColorMatrix in="turbulence" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.5 0"/></filter><rect width="100" height="100" filter="url%28%23a%29"/></svg>');background-position:50%;background-repeat:repeat}:focus-visible{outline:2px solid var(--highlight-color);outline-offset:2px}.dice-rolling{animation:diceRoll .8s ease-in-out}@keyframes diceRoll{0%,to{transform:rotate(0deg)}20%{transform:rotate(-10deg) scale(.9)}40%{transform:rotate(5deg) scale(1.1)}60%{transform:rotate(-5deg) scale(.95)}80%{transform:rotate(10deg) scale(1.05)}}.attack-row,.btn,.character-card,.nav-button{transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.table tbody tr:hover{background-color:#c0392b1a;background-color:rgba(var(--highlight-color-rgb),.1)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--highlight-color);border:2px solid var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--button-hover)}:root{--highlight-color-rgb:192,57,43;--bg-secondary-rgb:227,205,164}.dark-mode{--highlight-color-rgb:192,57,43;--bg-secondary-rgb:45,45,45}button,input,select,textarea{font-size:.95rem}input[type=number]{max-width:70px;padding:.375rem .5rem}.ability-input input,.gear-stat-input input,.stat-input input{max-width:60px;padding:.375rem .5rem}.ability-effects,.buff-effects,.gear-effects{display:flex;flex-wrap:wrap;gap:6px}.ability-effect,.buff-effect,.gear-stat{background-color:rgba(var(--bg-tertiary-rgb),.5);border-radius:.25rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;padding:4px 8px}.ability-card,.buff-card,.gear-card{display:flex;flex-direction:column;min-height:100px}.ability-header,.buff-card-header,.gear-card-header{border-bottom:1px solid #d4a0174d;border-bottom:1px solid rgba(var(--border-color-rgb),.3);margin-bottom:8px;padding-bottom:8px}.ability-meta,.buff-meta,.gear-meta{color:var(--text-secondary);font-size:.8rem;margin-bottom:8px}.ability-controls,.buff-actions,.gear-card-actions{margin-top:auto;padding-top:8px}.bonus-positive{color:var(--success-color)}.bonus-negative{color:var(--error-color)}@media (max-width:767px) and (orientation:landscape){.playsheet{gap:1rem;gap:var(--space-md);grid-template-columns:1fr 1fr}.abilities-list,.active-buffs{grid-template-columns:repeat(2,1fr)}}@media (min-width:600px) and (max-width:900px){.form-row{flex-wrap:wrap}.form-group{flex:1 0 45%}}@media (max-width:767px){.add-dice-btn,.btn,.nav-button,.roll-button,button{min-height:44px}.playsheet-controls{align-items:flex-start;flex-direction:column;gap:10px}.new-character-btn{align-items:center;border-radius:50%;bottom:20px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);display:flex;height:56px;justify-content:center;position:fixed;right:20px;width:56px;z-index:100}.new-character-btn:after{content:"+";font-size:24px;line-height:1}.new-character-btn span{display:none}}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .3s}@media print{.App{background-image:none;padding:0}.App-header,.nav-list,.tabs{display:none}.ability-card,.buff-card,.card,.character-card,.gear-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}@media (prefers-contrast:more){:focus{outline:3px solid #000!important;outline-offset:2px!important}.dark-mode :focus{outline:3px solid #fff!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.campaign-manager{margin:0 auto;max-width:1200px;padding:2rem}.campaign-navigation{margin-bottom:2rem}.campaign-breadcrumb{margin-bottom:1rem}.back-button,.campaign-breadcrumb h3{color:var(--text-primary)}.back-button{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:.9rem;transition:all .3s ease}.back-button:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 12px #1a237e4d;color:#fff;transform:translateY(-1px)}.pdf-uploader-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.pdf-uploader{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.uploader-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.uploader-header h2{color:var(--text-primary);margin:0}.drop-zone{border:2px dashed var(--border-color);border-radius:8px;margin:1.5rem;padding:2rem;text-align:center;transition:all .2s}.drop-zone.drag-over{background:var(--bg-tertiary);border-color:var(--highlight-color)}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.upload-icon{font-size:3rem}.file-input{display:none}.select-file-button{background:var(--button-bg);border:none;border-radius:4px;color:var(--button-text);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.select-file-button:hover{background:var(--button-hover)}.upload-info{background:var(--bg-tertiary);border-radius:8px;margin:1.5rem;padding:1.5rem}.upload-info h3{color:var(--text-primary);margin:0 0 .5rem}.upload-info ul{margin:.5rem 0;padding-left:1.5rem}.upload-tips{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.upload-tips h4{color:var(--text-primary);margin:0 0 .5rem}.processing-section{padding:2rem;text-align:center}.processing-header h3{color:var(--text-primary);margin:0 0 1rem}.progress-bar{background:var(--bg-tertiary);border-radius:4px;height:8px;margin:1rem 0;overflow:hidden}.progress-fill{background:var(--highlight-color);height:100%;transition:width .3s ease}.progress-text{color:var(--text-primary);font-weight:500}.processing-steps{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.step{align-items:center;background:var(--bg-tertiary);border-radius:4px;display:flex;gap:1rem;opacity:.6;padding:.75rem;transition:opacity .3s}.step.completed{background:var(--success-color);color:#fff;opacity:1}.step-icon{font-size:1.2rem}.results-section{padding:2rem}.results-header{margin-bottom:2rem;text-align:center}.results-header h3{color:var(--text-primary);margin:0 0 1rem}.results-summary{display:flex;gap:2rem;justify-content:center}.result-stat{align-items:center;display:flex;flex-direction:column;gap:.5rem}.stat-number{color:var(--highlight-color);font-size:2rem;font-weight:700}.creatures-preview{margin-bottom:2rem}.creatures-preview h4{color:var(--text-primary);margin:0 0 1rem}.creatures-list{display:flex;flex-direction:column;gap:.5rem}.creature-preview{align-items:center;background:var(--bg-tertiary);border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.creature-name{font-weight:500}.creature-details{display:flex;font-size:.9rem;gap:1rem}.creature-type{text-transform:capitalize}.creature-cr{color:var(--highlight-color)}.more-creatures{font-style:italic;padding:.75rem}.more-creatures,.no-creatures{color:var(--text-secondary);text-align:center}.no-creatures{padding:2rem}.results-actions{display:flex;gap:1rem;justify-content:center}.complete-button{background:var(--button-bg);border:none;border-radius:4px;color:var(--button-text);cursor:pointer;font-weight:500;padding:.75rem 2rem;transition:all .2s}.complete-button:hover{background:var(--button-hover)}.campaign-bestiary{margin:0 auto;max-width:1200px;padding:2rem}.bestiary-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.header-content h2{color:var(--text-primary);margin:0}.header-content p{color:var(--text-secondary);margin:.5rem 0 0}.header-actions{display:flex;gap:1rem}.add-creature-button,.upload-pdf-button{background:var(--button-bg);border:none;border-radius:4px;color:var(--button-text);cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:all .2s}.add-creature-button:hover,.upload-pdf-button:hover{background:var(--button-hover)}.bestiary-filters{background:var(--bg-secondary);border-radius:8px;margin-bottom:2rem;padding:1rem}.filters-row{align-items:center}.filter-group{gap:.25rem}.search-input{background:var(--input-bg);color:var(--input-text);min-width:200px}.clear-filters-button{background:var(--bg-tertiary);border-radius:4px;color:var(--text-primary);transition:all .2s}.creatures-content{min-height:400px}.creatures-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.empty-bestiary{color:var(--text-secondary);padding:4rem 2rem;text-align:center}.empty-bestiary h3{color:var(--text-primary);margin:0 0 1rem}.creature-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;box-shadow:var(--card-shadow);overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.creature-card:hover{border-color:var(--primary-color);box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.creature-header{align-items:flex-start;justify-content:space-between}.creature-title{align-items:center;display:flex;gap:.75rem}.creature-icon{font-size:2rem;line-height:1}.creature-name{color:var(--text-primary);font-size:1.1rem;margin:0}.creature-subtitle{display:flex;gap:.5rem;margin-top:.25rem}.creature-size,.creature-type{font-size:.9rem;text-transform:capitalize}.creature-size{font-weight:500}.creature-type{color:var(--text-secondary)}.creature-actions{align-items:center;display:flex;gap:.5rem}.creature-cr{background:var(--highlight-color);border-radius:4px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.actions-dropdown-container{position:relative}.basic-stats,.creature-stats{margin-bottom:1rem}.basic-stats{display:flex;gap:1rem}.stat-item{flex-direction:column}.stat-label{font-size:.8rem;font-weight:500}.ability-scores{grid-gap:.3rem;display:grid;gap:.3rem;grid-template-columns:repeat(6,1fr);margin-bottom:.5rem;margin-top:.75rem}.ability-score{align-items:center;background:var(--bg-tertiary);border-radius:4px;display:flex;flex-direction:column;min-width:0;padding:.3rem;text-align:center}.ability-name{color:var(--text-secondary);font-size:.65rem;font-weight:500;white-space:nowrap}.ability-value{color:var(--text-primary);font-size:.8rem;font-weight:700;white-space:nowrap}.ability-modifier{color:var(--text-secondary);font-size:.65rem;white-space:nowrap}.creature-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.creature-tag{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:.8rem;padding:.25rem .5rem}.creature-expandable{border-top:1px solid var(--border-color);padding-top:1rem}.expand-button{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.5rem;padding:0;transition:color .2s}.expand-button:hover{color:var(--text-primary)}.creature-details{margin-top:1rem}.abilities-section,.actions-section{margin-bottom:1rem}.abilities-section h4,.actions-section h4{color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.ability-item,.action-item{margin-bottom:.5rem}.ability-item strong,.action-item strong{color:var(--text-primary)}.ability-item p,.action-item p{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0 0}.creature-description{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.creature-description p{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.creature-source{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.creature-source small{color:var(--text-secondary);font-style:italic}.creature-editor-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.creature-editor{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.editor-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.editor-header h2{color:var(--text-primary);margin:0}.creature-form{padding:1.5rem}.form-section h3{font-size:1.1rem;margin:0 0 1rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-group input,.form-group select,.form-group textarea{background:var(--input-bg);color:var(--input-text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--highlight-color)}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.stat-input{display:flex;flex-direction:column;gap:.5rem}.stat-input label{color:var(--text-primary);font-size:.8rem;font-weight:500;text-align:center}.stat-input input{font-weight:700;text-align:center}.tags-input{display:flex;flex-direction:column;gap:1rem}.tag-input-row button{background:var(--button-bg);border:none;border-radius:4px;color:var(--button-text);cursor:pointer;padding:.5rem 1rem;transition:background .2s}.tag-input-row button:hover:not(:disabled){background:var(--button-hover)}.tag-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary)}.tag-item button{color:var(--text-secondary);font-size:1rem;line-height:1}.tag-item button:hover{color:var(--error-color)}.cancel-button{border-radius:4px;cursor:pointer;padding:.75rem 1.5rem;transition:all .2s}.cancel-button:hover:not(:disabled){background:var(--border-color)}.save-button{background:var(--button-bg);border-radius:4px;color:var(--button-text);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.save-button:hover:not(:disabled){background:var(--button-hover)}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}.bestiary-loading{color:var(--text-secondary)}.bestiary-error,.bestiary-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.bestiary-error{color:var(--error-color)}.bestiary-error button{background:var(--button-bg);border:none;border-radius:4px;color:var(--button-text);cursor:pointer;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s}.bestiary-error button:hover{background:var(--button-hover)}@media (max-width:768px){.bestiary-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{justify-content:space-between;width:100%}.filters-row{align-items:stretch;flex-direction:column}.search-input{min-width:auto}.creatures-grid{grid-template-columns:1fr}.ability-scores{gap:.25rem}.ability-scores,.stats-grid{grid-template-columns:repeat(3,1fr)}}.campaign-header{margin-bottom:2rem;text-align:center}.campaign-header h1{color:var(--text-color);font-size:2.5rem;margin:0 0 .5rem}.campaign-header p{color:var(--text-secondary);font-size:1.1rem;margin:0}.spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{text-align:center}.error-message button{margin-top:.5rem}.campaign-tabs{border-bottom:2px solid var(--border-color);display:flex;justify-content:center;margin-bottom:2rem}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:1rem 2rem;transition:all .2s}.tab-button:hover{color:var(--text-color)}.tab-button.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.campaign-content{margin-top:2rem}.empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.empty-state h3{color:var(--text-color);margin-bottom:1rem}.campaigns-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.campaign-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;position:relative;transition:transform .2s,box-shadow .2s}.campaign-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.campaign-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.campaign-name{color:var(--text-color);font-size:1.3rem;font-weight:600;margin:0}.campaign-actions{position:relative}.actions-button{font-size:1.5rem}.actions-dropdown{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--bg-secondary);box-shadow:0 4px 16px #00000040}.actions-dropdown button:hover{background:var(--bg-tertiary)}.actions-dropdown button.delete-action,.actions-dropdown button.leave-action{color:#c33}.campaign-description{color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.campaign-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.role-badge{background:var(--primary-color);border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.role-badge.dm{background:#d4af37;background:var(--accent-color,#d4af37)}.role-badge.player{background:var(--primary-color)}.campaign-stats{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.dm-info{background:var(--bg-secondary);border-radius:6px;margin-bottom:1rem;padding:.75rem}.invite-code code{background:var(--bg-color);border-radius:4px;color:var(--primary-color);font-family:monospace;font-weight:700;padding:.25rem .5rem}.campaign-card-footer{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.enter-button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s;width:100%}.enter-button:hover{background:var(--primary-hover)}.template-manager-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.template-manager-content{border-radius:12px;box-shadow:0 20px 40px #0000004d;flex-direction:column;height:90vh;max-width:1200px;overflow-y:auto;width:95%}.template-header,.template-manager-content{background:var(--bg-secondary);display:flex}.template-header{align-items:center;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:1.5rem 2rem}.template-header h2{color:var(--text-primary);margin:0}.template-content{display:flex;flex:1 1;flex-direction:column;gap:2rem;overflow-y:auto;padding:2rem}.template-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h3{color:var(--text-primary);margin:0}.section-actions{display:flex;gap:1rem}.create-button,.default-button{background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background .2s}.create-button:hover,.default-button:hover{background:var(--primary-hover)}.creatures-grid,.templates-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.creature-card,.template-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:visible;padding:1rem;transition:transform .2s,box-shadow .2s}.creature-card:hover,.template-card:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.creature-card-header,.template-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.creature-card-header h4,.template-card-header h4{color:var(--text-primary);margin:0}.creature-actions,.template-actions{align-items:center;display:flex;gap:.5rem}.delete-button,.edit-button{border:1px solid var(--border-color);border-radius:4px;padding:.25rem .5rem;transition:background .2s}.delete-button,.duplicate-button,.edit-button{background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.8rem}.duplicate-button{align-items:center;border:2px solid var(--border-color);border-radius:6px;box-shadow:0 2px 4px #0000001a;display:flex;height:26px;justify-content:center;padding:.2rem;position:relative;transition:all .3s ease;width:26px}.duplicate-button:after{background:#000000e6;border-radius:4px;bottom:100%;color:#fff;content:"Duplicate Creature";font-size:.75rem;left:50%;margin-bottom:.25rem;opacity:0;padding:.25rem .5rem;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s;white-space:nowrap}.duplicate-button:hover:after{opacity:1}.edit-button:hover{background:var(--primary-color);color:#fff}.delete-button:hover{background:var(--danger-color);color:#fff}.duplicate-button:hover{background:var(--success-color);border-color:var(--success-color);box-shadow:0 4px 12px #4bb54366;color:#fff;transform:scale(1.1)}.template-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.template-stats{display:flex;gap:1rem;margin-bottom:.5rem}.stat-item{align-items:center;display:flex;font-size:.8rem;gap:.25rem}.stat-label{color:var(--text-secondary)}.stat-value{color:var(--text-primary)}.template-abilities{align-items:center;display:flex;font-size:.8rem;gap:.5rem}.abilities-label{color:var(--text-secondary)}.abilities-count{color:var(--primary-color);font-weight:700}.creature-stats{display:flex;font-size:.8rem;gap:1rem;margin-bottom:.5rem}.creature-ac,.creature-cr,.creature-hp,.creature-type{color:var(--text-secondary)}.applied-templates{align-items:center;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem}.templates-label{color:var(--text-secondary)}.applied-template-tag{background:var(--primary-color);border-radius:4px;color:#fff;font-size:.7rem;padding:.25rem .5rem}.template-apply-dropdown{position:relative;z-index:100}.apply-template-button{background:var(--success-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:background .2s}.apply-template-button:hover{background:var(--success-hover)}.template-dropdown-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;bottom:calc(100% + .5rem);box-shadow:0 -8px 16px #0000004d;display:none;max-height:200px;min-width:150px;overflow-y:auto;position:absolute;right:0;z-index:1001}.template-apply-dropdown:hover .template-dropdown-content{display:block}.template-option{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;padding:.5rem;text-align:left;transition:background .2s;width:100%}.template-option:hover{background:var(--bg-tertiary)}.template-manager-button{background:var(--secondary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;transition:background .2s}.template-manager-button:hover{background:var(--secondary-hover)}.template-editor-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1001}.template-editor{background:var(--bg-secondary);border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:95%}.template-form{padding:2rem}.form-section{margin-bottom:2rem}.form-section h3{border-bottom:1px solid var(--border-color);color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.9rem;padding:.5rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none}.ability-scores-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(6,1fr);margin-bottom:1rem}.ability-modifier{align-items:center;display:flex;flex-direction:column;gap:.5rem}.ability-modifier label{color:var(--text-secondary);font-size:.8rem;font-weight:700}.ability-modifier input{text-align:center;width:60px}.ability-input,.action-input{margin-bottom:1rem}.abilities-list,.ability-input,.action-input,.actions-list{display:flex;flex-direction:column;gap:.5rem}.ability-item,.action-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:1rem}.ability-header,.action-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ability-header strong,.action-header strong{color:var(--text-primary)}.remove-button{align-items:center;background:var(--danger-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:20px;justify-content:center;transition:background .2s;width:20px}.remove-button:hover{background:var(--danger-hover)}.tag-input-row{display:flex;gap:.5rem;margin-bottom:1rem}.tag-input-row input{flex:1 1}.current-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag-item{background:var(--primary-color);border-radius:4px;gap:.5rem;padding:.25rem .5rem}.tag-item,.tag-item button{align-items:center;color:#fff;display:flex;font-size:.8rem}.tag-item button{background:none;border:none;border-radius:50%;cursor:pointer;height:16px;justify-content:center;padding:0;transition:background .2s;width:16px}.tag-item button:hover{background:#fff3}.form-actions{padding-top:2rem}.cancel-button,.save-button{border-radius:4px;font-size:.9rem}.cancel-button{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.save-button{border:none}.save-button:hover{background:var(--primary-hover)}.save-button:disabled{background:var(--bg-tertiary);color:var(--text-secondary)}.apply-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1002}.apply-modal{background:var(--bg-secondary);border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:500px;padding:2rem;width:90%}.apply-modal h3{color:var(--text-primary);margin-bottom:1rem}.apply-modal p{color:var(--text-secondary);margin-bottom:1rem}.template-preview{color:var(--text-primary);font-weight:500}.modifications-list{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;margin-bottom:1rem;padding:1rem}.modifications-list li{color:var(--text-secondary);margin-bottom:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.confirm-button{background:var(--success-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background .2s}.confirm-button:hover{background:var(--success-hover)}.confirm-button:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.campaign-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.campaign-modal{background:var(--bg-color);border-radius:12px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.campaign-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.campaign-modal-header h2{color:var(--text-color);margin:0}.campaign-modal-content{padding:1.5rem}.campaign-info{margin-bottom:2rem}.campaign-info p{color:var(--text-color);margin:.5rem 0}.dm-tools{background:var(--bg-secondary);border-radius:8px;margin-bottom:2rem;padding:1rem}.dm-tools h3{color:var(--text-color);margin:0 0 1rem}.invite-section label{color:var(--text-color);display:block;font-weight:500;margin-bottom:.5rem}.invite-code-group{display:flex;gap:.5rem}.invite-code-group input{background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);flex:1 1;font-family:monospace;padding:.5rem}.copy-button,.regenerate-button{border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.copy-button{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.regenerate-button{background:var(--bg-color);color:var(--text-color)}.members-section{margin-bottom:2rem}.members-section h3{color:var(--text-color);margin:0 0 1rem}.members-list{display:flex;flex-direction:column;gap:.5rem}.member-item{background:var(--bg-secondary);justify-content:space-between;padding:.75rem}.member-info{display:flex;flex-direction:column;gap:.25rem}.member-name{color:var(--text-color)}.member-character{color:var(--text-secondary);font-size:.9rem}.member-role{border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.member-role.dm{background:#d4af37;background:var(--accent-color,#d4af37)}.member-role.player{background:var(--primary-color)}.campaign-actions{text-align:center}.enter-campaign-button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 2rem;transition:background .2s}.enter-campaign-button:hover{background:var(--primary-hover)}.create-campaign-form,.join-campaign-form{margin:0 auto;max-width:600px}.form-header{margin-bottom:2rem;text-align:center}.form-header h2{color:var(--text-color);margin:0 0 .5rem}.form-header p{color:var(--text-secondary);margin:0}.campaign-form{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:2rem}.form-info{background:var(--bg-secondary);border-radius:8px;margin:1.5rem 0;padding:1rem}.form-info h3{color:var(--text-color);font-size:1rem;margin:0 0 .5rem}.form-info ul{color:var(--text-secondary);margin:0;padding-left:1.5rem}.form-info li{margin-bottom:.25rem}.cancel-button,.create-button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.create-button{background:var(--primary-color);color:#fff}.create-button:hover:not(:disabled){background:var(--primary-hover)}.create-button:disabled{background:var(--border-color);cursor:not-allowed}.invite-code-section{margin-bottom:2rem}.invite-code-input-group{display:flex;gap:.5rem}.invite-code-input{flex:1 1;font-family:monospace;font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase}.preview-button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.preview-button:hover:not(:disabled){background:var(--primary-hover)}.preview-button:disabled{background:var(--border-color);cursor:not-allowed}.input-hint{color:var(--text-secondary);font-size:.9rem;margin:.5rem 0 0}.campaign-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin:2rem 0;padding:1.5rem}.campaign-preview h3{color:var(--text-color);margin:0 0 1rem}.preview-content{align-items:center;display:flex;gap:1rem;justify-content:space-between}.preview-info{flex:1 1}.preview-info h4{color:var(--text-color);font-size:1.2rem;margin:0 0 .5rem}.preview-description{color:var(--text-secondary);margin:0 0 .5rem}.preview-meta{color:var(--text-secondary);display:flex;font-size:.9rem;gap:1rem}.join-button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.join-button:hover:not(:disabled){background:var(--primary-hover)}.join-button:disabled{background:var(--border-color);cursor:not-allowed}@media (max-width:768px){.campaign-manager{padding:1rem}.campaign-header h1{font-size:2rem}.campaign-tabs{flex-direction:column;gap:.5rem}.tab-button{padding:.75rem}.campaigns-grid{gap:1rem;grid-template-columns:1fr}.campaign-modal{width:95%}.campaign-modal-content{padding:1rem}.preview-content{align-items:flex-start;flex-direction:column}.join-button,.preview-actions{width:100%}.form-actions{flex-direction:column}.cancel-button,.create-button{width:100%}}[data-theme=dark] .campaign-card{background:var(--bg-color);border-color:var(--border-color)}[data-theme=dark] .campaign-form,[data-theme=dark] .campaign-modal{background:var(--bg-color)}.campaign-breadcrumb{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.back-button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background .2s}.back-button:hover{background:var(--primary-hover)}.campaign-breadcrumb h3{color:var(--text-color);font-size:1.2rem;margin:0}.character-selection{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px #0000001a;margin:2rem auto;max-width:600px;padding:2rem}.selection-header{margin-bottom:2rem;text-align:center}.selection-header h2{color:var(--text-color);margin:0 0 .5rem}.selection-header p{color:var(--text-secondary);margin:0}.character-selection-form{display:flex;flex-direction:column;gap:2rem}.selection-options{display:flex;flex-direction:column;gap:1.5rem}.selection-option{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.option-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;margin-bottom:1rem}.option-header input[type=radio]{margin:0;width:auto}.option-header span{color:var(--text-color);font-size:1.1rem;font-weight:500}.character-list{margin-top:1rem}.no-characters{color:var(--text-secondary);font-style:italic;padding:1rem;text-align:center}.character-options{display:flex;flex-direction:column;gap:.75rem}.character-option{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s}.character-option:hover{background:var(--primary-color);color:#fff}.character-option:hover .character-info{color:#fff}.character-option:hover .character-details{color:#fffc}.character-option input[type=radio]{margin:0;width:auto}.character-info{flex:1 1}.character-name{color:var(--text-color);font-weight:500;margin-bottom:.25rem}.character-details{display:flex;font-size:.9rem;gap:1rem}.create-character-info{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;padding:1rem}.create-character-info p{color:var(--text-color);margin:0}.selection-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.continue-button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.continue-button:hover:not(:disabled){background:var(--primary-hover)}.continue-button:disabled{background:var(--border-color);cursor:not-allowed}@media (max-width:768px){.character-selection{margin:1rem;padding:1.5rem}.selection-actions{flex-direction:column}.cancel-button,.continue-button{width:100%}.character-details{flex-direction:column;gap:.25rem}}.notes-manager{display:flex;flex-direction:column;height:100vh;overflow:hidden}.notes-layout{display:flex;flex:1 1;overflow:hidden}.notes-sidebar{background:var(--bg-secondary);border-right:2px solid var(--border-color);box-shadow:2px 0 10px #0000001a;overflow-y:auto;padding:1rem 0;width:280px}.sidebar-header{border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding:0 1rem 1rem}.sidebar-header h3{color:var(--text-primary);margin:0}.sidebar-section{margin-bottom:1.5rem}.sidebar-section-title{color:var(--text-secondary);font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;padding:0 1rem;text-transform:uppercase}.sidebar-item{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;padding:.5rem 1rem;transition:background .2s}.sidebar-item:hover{background:var(--bg-tertiary)}.sidebar-item.active{background:var(--gradient-primary);box-shadow:0 2px 8px #1a237e4d;color:#fff}.sidebar-item.expandable{padding-left:.5rem}.sidebar-item.subcategory{font-size:.9rem;padding-left:2.5rem}.expand-button{background:none;border:none;color:inherit;cursor:pointer;margin-right:.25rem;text-align:center;width:1.5rem}.sidebar-icon{margin-right:.5rem}.sidebar-text{flex:1 1}.sidebar-count{color:var(--text-secondary);font-size:.8rem}.sidebar-item.active .sidebar-count{color:#fffc}.sidebar-subcategories{margin-bottom:.5rem}.notes-list-panel{background:var(--bg-primary);border-right:2px solid var(--border-color);box-shadow:2px 0 10px #0000001a;display:flex;flex-direction:column;overflow:hidden;width:350px}.notes-list-header{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem;padding:1rem}.search-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);padding:.5rem;width:100%}.new-note-btn{background:var(--gradient-primary);border:none;border-radius:8px;box-shadow:var(--button-shadow);color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.new-note-btn:hover{box-shadow:0 6px 20px #1a237e66;transform:translateY(-1px)}.notes-list-content{flex:1 1;overflow-y:auto}.empty-notes{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.empty-icon{font-size:3rem}.create-first-note{background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem}.note-list-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:1rem;transition:background .2s}.note-list-item:hover{background:var(--bg-secondary)}.note-list-item.selected{background:var(--gradient-primary);box-shadow:0 2px 8px #1a237e4d;color:#fff}.note-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.note-item-title{font-size:.9rem;font-weight:600;margin:0}.note-item-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.5rem}.note-list-item.selected .note-item-meta{color:#fffc}.note-item-content{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin:0}.note-list-item.selected .note-item-content{color:#ffffffe6}.note-item-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.note-item-tag{background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);font-size:.7rem;padding:.1rem .4rem}.note-list-item.selected .note-item-tag{background:#fff3;color:#fffc}.note-item-tag-more{color:var(--text-secondary);font-size:.7rem}.notes-viewer-panel{background:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.notes-viewer-panel.empty{align-items:center;justify-content:center}.empty-viewer{color:var(--text-secondary);text-align:center}.empty-viewer .empty-icon{font-size:4rem;margin-bottom:1rem}.viewer-header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem}.viewer-title h2{color:var(--text-primary);margin:0 0 .5rem}.viewer-meta{align-items:center;display:flex;font-size:.8rem;gap:1rem}.note-type-badge{border-radius:12px;color:#fff;font-size:.7rem;font-weight:500;padding:.25rem .5rem}.note-author,.note-date{color:var(--text-secondary)}.viewer-actions{align-items:center;display:flex;gap:.5rem}.close-btn,.delete-btn,.edit-btn,.reveal-btn{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:.5rem 1rem}.edit-btn{background:var(--primary-color);color:#fff}.reveal-btn{background:var(--warning-color);color:#fff}.delete-btn{background:var(--danger-color);color:#fff}.close-btn{background:none;color:var(--text-secondary);font-size:1.2rem;height:2rem;width:2rem}.viewer-content{flex:1 1;overflow-y:auto;padding:1rem}.content-text{color:var(--text-primary);line-height:1.6;margin-bottom:2rem}.content-text p{margin:0 0 1rem}.note-metadata{border-top:1px solid var(--border-color);padding-top:1rem}.note-category{margin-bottom:1rem}.category-label{background:var(--bg-secondary);border-radius:12px;padding:.25rem .75rem}.tags-label{color:var(--text-secondary);font-size:.8rem;margin-right:.5rem}.note-tag{background:var(--bg-tertiary);border-radius:12px;color:var(--text-primary);display:inline-block;font-size:.75rem;margin-bottom:.25rem;margin-right:.5rem;padding:.2rem .6rem}.note-tag.clickable:hover{background:var(--primary-color);color:#fff}.revealed-badge{background:var(--success-color);border-radius:12px;font-size:.75rem;padding:.25rem .5rem}.notes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.notes-title h2{color:var(--text-color);font-size:2rem;margin:0}.notes-title p{color:var(--text-secondary);font-size:1.1rem;margin:.5rem 0 0}.character-context{align-items:center;background:var(--bg-secondary);border-radius:20px;display:flex;font-size:.9rem;gap:.5rem;margin-top:.75rem;padding:.5rem 1rem}.character-label{color:var(--text-secondary)}.character-name{color:var(--primary-color);font-weight:600}.character-details{color:var(--text-secondary);font-size:.85rem}.notes-actions{display:flex;gap:.5rem}.new-note-button{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.new-note-button:hover{background:var(--primary-hover)}.loading-state{padding:3rem;text-align:center}.error-message{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.error-message button{background:#c33;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.notes-filters{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:var(--text-color);font-size:.9rem;font-weight:500}.filter-input,.filter-select{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:.9rem;padding:.5rem}.filter-input:focus,.filter-select:focus{border-color:var(--primary-color);outline:none}.search-group{flex:1 1;min-width:200px}.clear-filters-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.clear-filters-button:hover{background:var(--border-color)}.active-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.active-filters-label{color:var(--text-secondary);font-size:.9rem}.filter-chip{align-items:center;background:var(--primary-color);border-radius:20px;color:#fff;display:flex;font-size:.8rem;gap:.5rem;padding:.25rem .75rem}.filter-chip button{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;margin-left:.25rem;padding:0}.notes-content{margin-top:2rem}.notes-empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.notes-empty-state h3{color:var(--text-color);margin-bottom:1rem}.notes-group{margin-bottom:3rem}.notes-group-header{border-bottom:2px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem}.notes-group-header h3{align-items:center;color:var(--text-color);display:flex;font-size:1.3rem;gap:.5rem;margin:0}.group-icon{font-size:1.2rem}.notes-count{font-weight:400}.group-description,.notes-count{color:var(--text-secondary);font-size:.9rem}.group-description{margin:.5rem 0 0}.notes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.note-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s}.note-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.note-card-header{margin-bottom:1rem}.note-title-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.note-title{color:var(--text-color);flex:1 1;font-size:1.1rem;font-weight:600;margin:0 1rem 0 0}.note-actions{position:relative}.actions-button{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;padding:.25rem}.actions-button:hover{background:var(--bg-secondary)}.actions-dropdown{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:150px;position:absolute;right:0;top:100%;z-index:10}.actions-dropdown button{background:none;border:none;color:var(--text-color);cursor:pointer;display:block;font-size:.9rem;padding:.75rem;text-align:left;width:100%}.actions-dropdown button:hover{background:var(--bg-secondary)}.actions-dropdown button.delete-action{color:#c33}.note-meta{color:var(--text-secondary);flex-wrap:wrap;font-size:.8rem;gap:1rem}.note-meta,.note-type{align-items:center;display:flex}.note-type{font-weight:500;gap:.25rem;text-transform:capitalize}.note-content{margin-bottom:1rem}.note-content p{word-wrap:break-word;color:var(--text-color);line-height:1.5;margin:0}.note-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.note-tag{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-color);font-size:.8rem;padding:.25rem .75rem}.note-tag.clickable{cursor:pointer;transition:all .2s ease}.note-tag.clickable:hover{background:var(--highlight-color);color:var(--button-text);transform:translateY(-1px)}.note-category{margin-bottom:.5rem}.category-label{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.note-revealed{margin-bottom:1rem}.revealed-badge{background:#28a745;background:var(--success-color,#28a745);border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.note-footer{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.note-reactions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.reaction-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;font-size:.9rem;padding:.25rem .75rem;transition:all .2s}.reaction-button:hover{background:var(--border-color)}.reaction-button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.note-footer-actions{align-items:center;display:flex;justify-content:space-between;position:relative}.reaction-trigger{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:.25rem}.reaction-trigger:hover{color:var(--text-color)}.reactions-picker{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;bottom:100%;box-shadow:0 4px 16px #00000026;display:flex;gap:.25rem;left:0;margin-bottom:.5rem;padding:.5rem;position:absolute;z-index:10}.emoji-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:background .2s}.emoji-button:hover{background:var(--bg-secondary)}.note-editor-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.note-editor{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.note-editor-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.note-editor-header h2{color:var(--text-color);margin:0}.close-button{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;padding:.25rem}.close-button:hover{background:var(--bg-secondary)}.note-editor-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-color)}.form-group input,.form-group textarea{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-color);font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #8b45131a;outline:none}.form-group textarea{min-height:120px;resize:vertical}.char-count{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.25rem;text-align:right}.type-selector{display:flex;flex-direction:column;gap:.5rem}.type-option{align-items:center;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.type-option:hover{background:var(--bg-secondary)}.type-option input[type=radio]{margin:0;width:auto}.type-option input[type=radio]:checked+.type-option-content{color:var(--primary-color)}.type-option-content{align-items:center;display:flex;flex:1 1;gap:.75rem}.type-icon{font-size:1.2rem}.type-text{flex:1 1}.type-label{color:var(--text-color);font-weight:500}.type-description{color:var(--text-secondary);font-size:.9rem}.tags-input-section{display:flex;flex-direction:column;gap:1rem}.new-tag-input{display:flex;gap:.5rem}.new-tag-input input{flex:1 1;margin-bottom:0}.new-tag-input button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem}.new-tag-input button:hover:not(:disabled){background:var(--primary-hover)}.new-tag-input button:disabled{background:var(--border-color);cursor:not-allowed}.available-tags,.selected-tags{display:flex;flex-direction:column;gap:.5rem}.available-tags-label,.selected-tags-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.available-tags>div,.selected-tags>div{display:flex;flex-wrap:wrap;gap:.5rem}.tag-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-color);cursor:pointer;font-size:.9rem;padding:.25rem .75rem;transition:all .2s}.tag-button:hover:not(:disabled){background:var(--border-color)}.tag-button.active,.tag-button:disabled{background:var(--primary-color);color:#fff;cursor:not-allowed}.selected-tag{align-items:center;background:var(--primary-color);border-radius:20px;color:#fff;display:flex;font-size:.9rem;gap:.5rem;padding:.25rem .75rem}.selected-tag button{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;margin-left:.25rem;padding:0}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem}.cancel-button,.save-button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.cancel-button{background:var(--bg-secondary);color:var(--text-color)}.cancel-button:hover{background:var(--border-color)}.save-button{background:var(--primary-color);color:#fff}.save-button:hover:not(:disabled){background:var(--primary-hover)}.save-button:disabled{background:var(--border-color);cursor:not-allowed}@media (max-width:768px){.notes-manager{padding:1rem}.notes-header{align-items:stretch;flex-direction:column;gap:1rem}.notes-title{text-align:center}.notes-title h2{font-size:1.5rem}.filters-row{flex-direction:column;gap:1rem}.filter-group{width:100%}.notes-grid{gap:1rem;grid-template-columns:1fr}.note-editor{width:95%}.note-editor-form{padding:1rem}.form-actions{flex-direction:column}.cancel-button,.save-button{width:100%}.type-selector{gap:.75rem}.type-option{padding:1rem}.reactions-picker{flex-wrap:wrap}}[data-theme=dark] .note-card{background:var(--bg-color);border-color:var(--border-color)}[data-theme=dark] .note-editor,[data-theme=dark] .notes-filters{background:var(--bg-color)}.buff-tracker{padding:20px 0}.buff-tracker h2{border-bottom:1px solid var(--border-color);color:var(--highlight-color);margin:0 0 20px;padding-bottom:8px}.active-buffs{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:25px}.active-buffs>p{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);font-style:italic;grid-column:1/-1;padding:20px;text-align:center}.buff-card{background-color:var(--bg-primary);border-left:3px solid var(--highlight-color);border-radius:8px;box-shadow:var(--card-shadow);padding:15px;transition:all .2s ease}.buff-card:hover{box-shadow:0 6px 15px #00000040;transform:translateY(-3px)}.buff-card h3{color:var(--highlight-color);font-size:1.1rem;margin:0 0 10px}.buff-meta{margin-bottom:10px}.buff-effects{margin-bottom:12px}.buff-effects p{background-color:var(--bg-tertiary);border-radius:4px;display:inline-block;font-size:.85rem;margin:5px 6px 5px 0;padding:3px 8px}.remove-buff-btn{font-weight:700}.remove-buff-btn:hover{box-shadow:0 4px 8px #0000004d}.save-buff-btn{background:var(--gradient-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-weight:700;padding:8px 12px;transition:all .2s ease}.save-buff-btn:hover{background:var(--primary-hover);box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.new-buff-form{background:var(--bg-secondary);border-radius:8px;box-shadow:var(--card-shadow);box-sizing:border-box;margin:0 auto;max-width:1400px;padding:24px;width:100%}.new-buff-form h3{border-bottom:1px solid var(--border-color);color:var(--highlight-color);margin-bottom:15px;margin-top:0;padding-bottom:8px}.new-buff-form>div{margin-bottom:18px}.form-row{align-items:flex-end;gap:20px}.form-row>div{flex:1 1;margin-bottom:0}.new-buff-form label{display:block;font-weight:700;margin-bottom:5px}.new-buff-form input[type=number],.new-buff-form input[type=text]{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);padding:8px 10px;width:100%}.duration-container{align-items:center;display:flex;gap:15px}.duration-input{flex-shrink:0;width:100px!important}.bonus-type-select,.duration-type-select{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);flex:1 1;padding:8px 10px}.stat-effects{box-sizing:border-box;margin-top:20px;min-height:400px;padding:0 20px;position:relative;width:100%}.stat-effects h4{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:1rem;margin:0 0 15px;padding-bottom:8px}.effects-grid{display:flex;flex-direction:column;gap:10px}.attribute-section{left:10%}.attribute-section,.combat-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;padding:20px;position:absolute;top:0;width:35%}.combat-section{right:10%}.stat-effect-row{align-items:center;display:flex;gap:15px}.stat-effect-row label{flex-shrink:0;font-weight:500;margin-bottom:0;width:140px}.stat-effect-row input{box-sizing:border-box;flex-shrink:0;padding:8px;text-align:center;width:80px!important}.add-buff-button{background:var(--gradient-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;margin-top:10px;padding:10px 0;transition:all .2s ease;width:100%}.add-buff-button:hover{background:var(--primary-hover);box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}@media (max-width:768px){.active-buffs{grid-template-columns:1fr}.stat-effects{min-height:auto;position:static}.attribute-section{margin-bottom:20px}.attribute-section,.combat-section{position:static;width:100%}.bonus-type-container,.duration-container{align-items:flex-start;flex-direction:column}.bonus-type-select,.duration-input,.duration-type-select{width:100%!important}.stat-effect-row label{width:120px}}.animated-dice-roller{background-color:var(--bg-primary);border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f);font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;margin-bottom:1.5rem;padding:1rem}.dice-form{display:flex;flex-direction:column;gap:1rem}.dice-form-title{border-bottom:1px solid #d4a017;border-bottom:1px solid var(--border-color,#d4a017);color:#c0392b;color:var(--highlight-color,#c0392b);font-size:1.3rem;margin:0 0 1rem;padding-bottom:.5rem}.dice-group{background-color:#f8f5f0;background-color:var(--bg-secondary,#f8f5f0);border-radius:.5rem;box-shadow:0 1px 2px #0000001a;box-shadow:var(--shadow-sm,0 1px 2px #0000001a);margin-bottom:.5rem;padding:.75rem}.dice-group-content{align-items:flex-end;display:flex;gap:.75rem}.dice-count,.dice-type{display:flex;flex-direction:column;gap:.25rem}.dice-count{width:80px}.dice-type{flex:1 1}.dice-input,.dice-select,.modifier-input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1c4a9;border:1px solid var(--border-color,#d1c4a9);border-radius:.375rem;color:#3e2723;color:var(--text-primary,#3e2723);font-size:.95rem;padding:.5rem}.dice-input,.modifier-input{text-align:center;width:60px}.remove-dice-btn{align-items:center;background-color:#c0392b;background-color:var(--error-color,#c0392b);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;width:24px}.add-dice-btn{background-color:#4a7c59;background-color:var(--active-color,#4a7c59);border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-weight:500;margin-bottom:.5rem;padding:.5rem}.dice-modifier{align-items:center;display:flex;gap:.5rem}.dice-modifier label{min-width:70px}.dice-display{background-color:#e3cda4;background-color:var(--bg-secondary,#e3cda4);border-radius:.5rem;box-shadow:inset 0 2px 4px 0 #0000000f;box-shadow:var(--shadow-inner,inset 0 2px 4px 0 #0000000f);margin:1rem 0;padding:1rem;text-align:center}.dice-formula{color:#3e2723;color:var(--text-primary,#3e2723);font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.dice-result{position:relative}.result-label{color:#5a4030;color:var(--text-secondary,#5a4030);font-size:.9rem;font-weight:500}.result-value{color:#c0392b;color:var(--highlight-color,#c0392b);display:block;font-size:2.5rem;font-weight:700;margin:.5rem 0;text-shadow:1px 1px 0 #0000001a}.individual-rolls{color:#5a4030;color:var(--text-secondary,#5a4030);font-size:.9rem;margin-top:.5rem}.dice-group-result{margin-bottom:.25rem}.dice-group-formula{font-weight:600;margin-right:.5rem}.individual-die{background-color:#fff;background-color:var(--bg-primary,#fff);border-radius:4px;display:inline-block;font-weight:600;height:24px;line-height:24px;margin:0 2px;text-align:center;width:24px}.max-roll{background-color:#4a7c59;background-color:var(--success-color,#4a7c59);color:#fff}.min-roll{background-color:#c0392b;background-color:var(--error-color,#c0392b);color:#fff}.damage-modifier-result{font-weight:600;margin-top:.5rem}.dice-actions{display:flex;gap:.75rem}.average-button,.roll-button{border:none;border-radius:.375rem;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:all .2s ease}.roll-button{background-color:#c0392b;background-color:var(--button-bg,#c0392b);color:#fff;overflow:hidden;position:relative}.roll-button:after{background:#fff3;bottom:0;content:"";height:200%;left:-100%;position:absolute;right:0;top:-50%;transform:rotate(30deg);transition:all .5s ease;width:120%}.roll-button:hover:after{left:100%}.roll-button:hover{background-color:#a63125;background-color:var(--button-hover,#a63125);transform:translateY(-2px)}.roll-button.rolling{background-color:#7f7f7f;background-color:var(--inactive-color,#7f7f7f);pointer-events:none}@keyframes dice-roll{0%,to{transform:rotate(0deg)}20%{transform:rotate(-10deg) scale(.95)}40%{transform:rotate(5deg) scale(1.05)}60%{transform:rotate(-5deg) scale(.98)}80%{transform:rotate(10deg) scale(1.02)}}.dice-rolling{animation:dice-roll .8s ease-in-out}.average-button{background-color:#e3cda4;background-color:var(--bg-tertiary,#e3cda4);color:#3e2723;color:var(--text-primary,#3e2723)}.average-button:hover{background-color:#d4a017;background-color:var(--bg-tertiary,#d4a017);transform:translateY(-2px)}.dice-history{border-top:1px solid #d4a017;border-top:1px solid var(--border-color,#d4a017);margin-top:1.5rem;padding-top:1rem}.dice-history h4{color:#5a4030;color:var(--text-secondary,#5a4030);font-size:1rem;margin:0 0 .75rem}.history-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.history-item{align-items:center;background-color:#fff;background-color:var(--bg-primary,#fff);border-radius:.375rem;box-shadow:0 1px 2px #0000001a;box-shadow:var(--shadow-sm,0 1px 2px #0000001a);display:flex;justify-content:space-between;padding:.5rem}.history-value{color:#c0392b;color:var(--highlight-color,#c0392b);font-weight:600;margin-right:.5rem}.history-formula{color:#5a4030;color:var(--text-secondary,#5a4030);font-size:.8rem}.history-time{color:#7f7f7f;color:var(--inactive-color,#7f7f7f);font-size:.8rem}.dark-mode .animated-dice-roller{background-color:#2d2d2d;background-color:var(--bg-secondary,#2d2d2d)}.dark-mode .dice-group{background-color:#1c1c1c;background-color:var(--bg-primary,#1c1c1c)}.dark-mode .dice-input,.dark-mode .dice-select,.dark-mode .modifier-input{background-color:#2d2d2d;background-color:var(--bg-primary,#2d2d2d);border-color:#3c3c3c;border-color:var(--border-color,#3c3c3c);color:#f9f5e3;color:var(--text-primary,#f9f5e3)}.dark-mode .dice-display{background-color:#3c3c3c;background-color:var(--bg-tertiary,#3c3c3c)}.dark-mode .result-label{color:#e3cda4;color:var(--text-secondary,#e3cda4)}.dark-mode .individual-die{background-color:#2d2d2d;background-color:var(--bg-secondary,#2d2d2d);color:#f9f5e3;color:var(--text-primary,#f9f5e3)}.dark-mode .history-item{background-color:#1c1c1c;background-color:var(--bg-primary,#1c1c1c)}.dark-mode .history-formula{color:#e3cda4;color:var(--text-secondary,#e3cda4)}.dark-mode .average-button{background-color:#3c3c3c;background-color:var(--bg-tertiary,#3c3c3c);color:#f9f5e3;color:var(--text-primary,#f9f5e3)}.dark-mode .average-button:hover{background-color:#4d4d4d;background-color:var(--bg-tertiary,#4d4d4d)}@media (max-width:768px){.dice-actions{flex-direction:column}.individual-die{font-size:.8rem;height:20px;line-height:20px;width:20px}.result-value{font-size:2rem}}.playsheet{grid-gap:20px;-webkit-overflow-scrolling:touch;gap:20px;overflow:visible}.playsheet-section.abilities{grid-column:1/-1}.playsheet-section{background-color:var(--bg-secondary);border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:20px;overflow:visible;padding:16px}.playsheet-section h3{border-bottom:1px solid var(--border-color);color:var(--highlight-color);font-size:1.3rem;margin-bottom:16px;padding-bottom:8px}.attack-row,.defense-row,.save-row{padding:10px}.attack-row:nth-child(odd),.defense-row:nth-child(odd),.save-row:nth-child(odd){background-color:var(--bg-tertiary)}.attack-name,.defense-name,.save-name{font-size:1.1rem;font-weight:700}.attack-value,.defense-value,.save-value{color:var(--highlight-color);font-size:1.6rem;font-weight:700;min-width:80px;text-align:center}.damage-mod{align-items:center;background-color:var(--bg-tertiary);border-radius:6px;display:flex;justify-content:space-between;margin-top:16px;padding:12px}.damage-label{font-size:1.1rem;font-weight:700}.damage-value{color:var(--highlight-color);font-size:1.6rem;font-weight:700}.weapon-config{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.offhand-attacks{margin-top:20px}.offhand-attacks h4{border-bottom:1px solid var(--border-color);font-size:1.1rem;margin-bottom:15px;margin-top:0;padding-bottom:8px}.offhand-weapon,.primary-weapon{background-color:var(--bg-primary);border-radius:6px;box-shadow:var(--card-shadow);padding:15px}.offhand-weapon h4,.primary-weapon h4{border-bottom:1px solid var(--border-color);color:var(--highlight-color);margin-bottom:15px;margin-top:0;padding-bottom:8px}.playsheet-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.haste-toggle,.twf-toggle{align-items:center;background-color:var(--bg-primary);border-radius:4px;cursor:pointer;display:flex;gap:8px;min-height:44px;padding:8px 12px}.haste-toggle input,.twf-toggle input{margin:0;min-height:22px;min-width:22px}.damage-modifier-select{margin-bottom:15px}.weapon-selector{background-color:var(--bg-tertiary);border:none;border-radius:4px;cursor:pointer;margin-right:10px;min-height:44px;padding:10px 15px}.weapon-selector.active{background-color:var(--highlight-color);color:#fff}.ability-toggle-row{align-items:center;background-color:var(--bg-primary);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px;transition:background-color .2s}.ability-toggle-row:hover{background-color:var(--bg-tertiary)}.ability-toggle{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:8px;min-height:44px}.ability-name{font-size:1.1rem;font-weight:700}.ability-active-effects{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ability-effect{background-color:var(--active-color);border-radius:4px;color:#fff;font-size:.9rem;font-weight:700;padding:4px 10px}.attack-section{background-color:var(--bg-tertiary);border-radius:6px;margin-top:20px;padding:12px}.attack-section h4{font-size:1.1rem;margin-bottom:10px;margin-top:0}.attack-summary{background-color:var(--bg-tertiary);border-radius:4px;font-size:1.1rem;font-weight:700;margin-top:10px;padding:8px;text-align:center}.ability-variable-input{background-color:var(--bg-secondary);border-radius:4px;margin-top:8px;padding:8px 12px}.ability-variable-input label{align-items:center;display:flex;font-size:.9rem;gap:8px}.ability-variable-input input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:1rem;padding:4px 8px;text-align:center;width:60px}.mini-hp-tracker{margin-bottom:20px}.mini-hp-tracker .hp-edit-container,.mini-hp-tracker .hp-quick-actions{display:none}.mini-hp-tracker .hp-header{font-size:1.1rem;margin-bottom:10px;padding-bottom:5px}.mini-hp-tracker .hp-visual-container{align-items:center;flex-direction:row;padding:8px}.mini-hp-tracker .hp-heart{height:40px;width:40px}.mini-hp-tracker .hp-values{font-size:1.5rem;margin-bottom:4px}.negative-levels-indicator{align-items:center;background-color:#c0392b1a;background-color:rgba(var(--error-color-rgb,192,57,43),.1);border-left:4px solid var(--error-color);border-radius:4px;color:var(--error-color);display:flex;font-weight:700;justify-content:space-between;margin-bottom:15px;padding:8px 12px}.negative-levels-warning{font-size:.9rem}.negative-level-indicator{color:var(--error-color);font-size:.8rem;font-weight:700}.attack-value-container{align-items:center;display:flex;gap:4px}.attack-row,.defense-row,.save-row{align-items:center;background-color:var(--bg-primary);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.defense-row .attack-value-container,.save-row .attack-value-container{align-items:center;display:flex;justify-content:flex-end}@media (max-width:992px){.playsheet{grid-template-columns:1fr}.attack-value,.defense-value,.save-value{font-size:1.4rem;min-width:60px}}@media (max-width:768px){.playsheet{display:flex;flex-direction:column;gap:15px}.playsheet-section{margin-bottom:15px;padding:12px}.playsheet-section h3{font-size:1.1rem;margin-bottom:12px}.attack-row,.defense-row,.save-row{margin-bottom:6px;padding:8px 10px}.attack-name,.defense-name,.save-name{font-size:.95rem}.attack-value,.defense-value,.save-value{font-size:1.1rem;min-width:auto}.playsheet-controls{align-items:flex-start;flex-direction:column;gap:8px}.haste-toggle,.twf-toggle{justify-content:space-between;width:100%}.weapon-form .form-row{flex-direction:column;gap:8px}.ability-toggle-row{flex-wrap:wrap;gap:8px}.ability-toggle{width:100%}.toggle-switch{margin-left:auto}.damage-modifier-select .form-row{display:flex;flex-direction:row}.weapon-selector{flex:1 1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playsheet-section.abilities{margin-bottom:60px}.playsheet{display:flex!important;flex-direction:column!important;gap:15px;padding-bottom:120px!important}.playsheet,.playsheet-section{overflow:visible!important;width:100%!important}.playsheet-section{box-sizing:border-box!important;max-width:100%}.playsheet-right-column{display:flex!important;flex-direction:column!important}.playsheet-right-column,.playsheet-section.abilities,.playsheet-section.dice-roller{overflow:visible!important;width:100%!important}.playsheet-section.abilities{margin-bottom:120px!important;padding-bottom:50px!important}.ability-toggle-row{align-items:flex-start!important;flex-direction:column!important;margin-bottom:15px!important;padding:15px!important}.ability-toggle{margin-bottom:10px!important;width:100%!important}.toggle-switch{align-self:flex-end!important;margin-top:10px!important}.ability-variable-input{padding:10px!important}.ability-active-effects,.ability-variable-input{margin:10px 0!important;width:100%!important}.attack-row.haste-attack{margin-left:0!important;margin-right:0!important;width:100%!important}}.hit-point-tracker{background-color:var(--bg-secondary);border-left:4px solid var(--highlight-color);border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:16px;padding:16px}.hp-header{border-bottom:1px solid var(--border-color);color:var(--highlight-color);font-size:1.3rem;margin-bottom:16px;margin-top:0;padding-bottom:8px}.hp-visual-container{align-items:center;background-color:var(--bg-primary);border-radius:8px;display:flex;gap:20px;margin-bottom:16px;padding:12px}.hp-heart{border-radius:0 0 8px 0;flex-shrink:0;height:50px;position:relative;transform:rotate(45deg);width:50px}.hp-heart,.hp-heart:after,.hp-heart:before{background-color:#c0392b33;background-color:rgba(var(--error-color-rgb,192,57,43),.2)}.hp-heart:after,.hp-heart:before{border-radius:50%;content:"";height:100%;position:absolute;width:100%}.hp-heart:before{left:0;top:-50%}.hp-heart:after{left:-50%;top:0}.hp-heart-fill{border-radius:0 0 8px 0;bottom:0;height:100%;height:var(--health-percent,100%);left:0;transition:height .5s ease;z-index:2}.hp-heart-fill,.hp-heart-fill:after,.hp-heart-fill:before{background-color:#c0392b;background-color:var(--error-color,#c0392b);position:absolute;width:100%}.hp-heart-fill:after,.hp-heart-fill:before{border-radius:50%;content:"";height:100%}.hp-heart-fill:before{left:0;top:-50%}.hp-heart-fill:after{left:-50%;top:0}.hp-status{flex:1 1}.hp-values{align-items:baseline;display:flex;font-size:1.8rem;font-weight:700;gap:4px;margin-bottom:8px}.hp-separator,.max-hp{color:var(--text-secondary)}.temp-hp{color:var(--active-color);font-size:1rem;margin-left:6px}.true-max-hp{background-color:#c0392b1a;background-color:rgba(var(--highlight-color-rgb,192,57,43),.1);border-radius:4px;color:var(--highlight-color);display:inline-block;font-size:.9rem;font-weight:700;margin-top:4px;padding:2px 6px}.negative-levels,.nonlethal-damage{color:var(--text-secondary);font-size:.9rem;margin-top:4px}.negative-levels-container{background-color:#c0392b1a;background-color:rgba(var(--error-color-rgb,192,57,43),.1);border-radius:4px;margin-top:8px;padding:8px}.negative-levels{color:var(--error-color);font-size:.95rem;font-weight:700;margin-bottom:4px}.negative-level-penalties{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.penalty-item{background-color:#c0392b26;background-color:rgba(var(--error-color-rgb,192,57,43),.15);border-radius:4px;color:var(--text-secondary);font-size:.8rem;padding:3px 8px;white-space:nowrap}.nonlethal-unconscious-warning,.unconscious-warning{animation:pulse 2s infinite;background-color:#c0392b1a;background-color:rgba(var(--error-color-rgb,192,57,43),.1);border-radius:4px;color:var(--error-color);display:inline-block;font-size:1.1rem;font-weight:700;margin-top:8px;padding:4px 8px}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.hp-edit-container{grid-gap:16px;background-color:var(--bg-primary);border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:16px;padding:16px}.hp-row{display:flex;flex-direction:column;gap:6px}.hp-row label{color:var(--text-secondary);font-size:.9rem;font-weight:700}.hp-quick-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.hp-action-row{align-items:center;display:flex;gap:8px}.hp-action-input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);padding:6px;text-align:center;width:60px}.hp-action-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:700;padding:8px 10px;transition:all .2s ease}.damage-btn{background-color:var(--error-color);color:#fff}.damage-btn:hover{background-color:var(--button-hover);transform:translateY(-2px)}.heal-btn{background-color:var(--success-color);color:#fff}.heal-btn:hover{background-color:var(--success-hover);transform:translateY(-2px)}.temp-hp-btn{background-color:var(--active-color);color:#fff}.temp-hp-btn:hover{background-color:var(--active-hover);transform:translateY(-2px)}.nonlethal-btn{background-color:var(--warning-color);color:#fff}.nonlethal-btn:hover{background-color:var(--warning-hover);transform:translateY(-2px)}@media (max-width:768px){.hp-edit-container{grid-template-columns:repeat(2,1fr)}.hp-quick-actions{grid-template-columns:1fr}.hp-visual-container{align-items:center;flex-direction:column}.hp-status{text-align:center;width:100%}.hp-values{justify-content:center}}@keyframes hpChange{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.hp-change-animation{animation:hpChange .5s ease}.mini-hp-tracker .true-max-hp{display:inline-flex;font-size:.85rem;margin-left:10px;padding:1px 5px}.buff-library{padding:20px 0}.buff-library-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.buff-library-header h2{color:var(--highlight-color);margin:0}.buff-library-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.search-container{flex:1 1;min-width:200px}.category-filter{width:150px}.create-package-btn{background:var(--gradient-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 15px;transition:all .2s ease}.create-package-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.create-package-container{background:var(--bg-secondary);border-left:3px solid var(--highlight-color);border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:20px;padding:20px}.create-package-container h3{color:var(--highlight-color);margin-bottom:15px;margin-top:0}.package-form{display:flex;flex-direction:column;gap:15px}.package-buffs-list{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;max-height:200px;overflow-y:auto;padding:10px}.package-buffs-list h4{font-size:1rem;margin-bottom:10px;margin-top:0}.package-buff-select{border-bottom:1px solid rgba(var(--border-color),.2);padding:5px 0}.package-buff-select:last-child{border-bottom:none}.package-buff-select label{align-items:center;cursor:pointer;display:flex;gap:10px}.save-package-btn{background:var(--gradient-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:10px;transition:all .2s ease}.save-package-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.save-package-btn:disabled{background:var(--inactive-color);cursor:not-allowed;transform:none}.buff-packages{margin-bottom:20px}.buff-packages h3,.saved-buffs h3{border-bottom:1px solid var(--border-color);color:var(--highlight-color);margin-bottom:15px;padding-bottom:8px}.buff-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.buff-package-card,.saved-buff-card{background-color:var(--bg-primary);border-left:3px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow);margin-bottom:10px;padding:15px;transition:all .2s ease}.saved-buff-card.active{border-left-color:var(--active-color)}.buff-package-card{border-left-color:var(--highlight-color)}.buff-package-card:hover,.saved-buff-card:hover{box-shadow:0 6px 15px #00000040;transform:translateY(-3px)}.buff-card-header,.buff-package-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.buff-card-header h4,.buff-package-header h4{font-size:1.1rem;margin:0}.delete-buff-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px}.delete-buff-btn:hover{color:var(--error-color)}.buff-meta{color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:8px}.buff-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:10px}.buff-effects{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.buff-effect{background-color:var(--bg-tertiary);border-radius:4px;color:var(--text-primary);font-size:.85rem;padding:3px 8px}.package-contents{margin:10px 0}.package-contents h5{font-size:.9rem;margin:0 0 5px}.package-buffs{font-size:.9rem;list-style-type:none;margin:0;padding-left:0}.package-buffs li{border-bottom:1px solid rgba(var(--border-color),.1);padding:3px 0}.package-buffs li:last-child{border-bottom:none}.buff-actions{display:flex;gap:10px}.apply-buff-btn,.apply-package-btn{background:var(--gradient-secondary);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;padding:8px 12px;transition:all .2s ease}.apply-buff-btn:hover,.apply-package-btn:hover{background:var(--secondary-hover);transform:translateY(-2px)}.remove-buff-btn{background:var(--gradient-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;padding:8px 12px;transition:all .2s ease}.remove-buff-btn:hover{background:var(--error-hover);transform:translateY(-2px)}.package-selection{align-items:center;display:flex;gap:8px;padding:5px 0}.no-buffs-message{color:var(--text-secondary);font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.buff-library-header{align-items:flex-start;flex-direction:column}.buff-library-controls{align-items:stretch;flex-direction:column;width:100%}.category-filter,.search-container{width:100%}.buff-grid{grid-template-columns:1fr}.package-buffs-list{max-height:150px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.buff-package-card,.saved-buff-card{animation:fadeIn .3s ease-out}.main-nav{align-items:center;display:flex;justify-content:flex-end;width:auto}.main-nav.mobile{justify-content:center;width:100%}.nav-list{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end;list-style:none;margin:0;padding:0}.nav-list.mobile{flex-wrap:wrap;gap:6px;justify-content:center}.nav-button,.nav-item{position:relative}.nav-button{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:var(--font-primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;overflow:hidden;padding:.75rem 1.5rem;text-transform:capitalize;transition:all .3s ease;white-space:nowrap}.nav-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.nav-button:hover{background:var(--bg-tertiary);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color),.3);color:var(--primary-color);transform:translateY(-2px)}.nav-button:hover:before{left:100%}.nav-item.active .nav-button{background:var(--gradient-primary);border-color:var(--primary-color);box-shadow:0 4px 15px rgba(var(--primary-color),.4);color:#fff;transform:translateY(-1px)}.nav-item.active .nav-button:hover{background:var(--primary-hover);box-shadow:0 6px 20px rgba(var(--primary-color),.5);transform:translateY(-3px)}.nav-button:disabled{cursor:not-allowed;opacity:.6}.nav-button:disabled,.nav-button:disabled:hover{background:var(--bg-primary);border-color:var(--border-color);box-shadow:none;color:var(--text-tertiary);transform:none}.nav-button:disabled:before{display:none}.context-combat .nav-item.active[data-page=combat] .nav-button{background:var(--gradient-accent);border-color:var(--error-color);box-shadow:0 4px 15px rgba(var(--error-color),.4)}.context-combat .nav-item.active[data-page=combat] .nav-button:hover{background:var(--error-hover)}.context-campaigns .nav-item.active[data-page=campaigns] .nav-button{background:var(--gradient-secondary);border-color:var(--secondary-color);box-shadow:0 4px 15px rgba(var(--secondary-color),.4)}.context-campaigns .nav-item.active[data-page=campaigns] .nav-button:hover{background:var(--secondary-hover)}.context-manager .nav-item.active[data-page=manager] .nav-button,.context-manager .nav-item.active[data-page=setup] .nav-button{background:var(--gradient-primary);border-color:var(--primary-color);box-shadow:0 4px 15px rgba(var(--primary-color),.4)}.context-manager .nav-item.active[data-page=manager] .nav-button:hover,.context-manager .nav-item.active[data-page=setup] .nav-button:hover{background:var(--primary-hover)}@media (max-width:768px){.nav-button{font-size:.8rem;min-width:80px;padding:.6rem 1rem}.nav-list{gap:4px}}@media (max-width:480px){.nav-button{font-size:.75rem;min-width:70px;padding:.5rem .8rem}}@keyframes navActivate{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.nav-item.active .nav-button{animation:navActivate .3s ease}.nav-button:focus{box-shadow:var(--focus-ring);outline:none}.nav-button:focus:not(:hover){border-color:var(--primary-color)}.auth-container{align-items:center;background:var(--gradient-background);display:flex;justify-content:center;min-height:100vh;padding:1rem;position:relative}.auth-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--card-shadow-hover);max-width:420px;overflow:hidden;padding:2.5rem;position:relative;transition:all .3s ease;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-logo{border-radius:50%;box-shadow:0 4px 15px #1a237e4d;height:80px;margin-bottom:1rem;transition:transform .3s ease;width:80px}.auth-logo:hover{transform:scale(1.05)}.auth-header h2{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.auth-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.auth-error{background:#c428281a;border:1px solid var(--error-color);border-radius:8px;color:var(--error-color);font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:1rem}.auth-form-fields{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:.875rem;transition:all .3s ease;width:100%}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #1a237e26;outline:none;transform:translateY(-1px)}.form-group input:disabled{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);cursor:not-allowed}.auth-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:.75rem;overflow:hidden;padding:.875rem;position:relative;transition:all .3s ease;width:100%}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-button.primary{background:var(--gradient-primary);box-shadow:var(--button-shadow);color:var(--button-text)}.auth-button.primary:hover:not(:disabled){background:var(--gradient-primary);box-shadow:0 8px 25px #1a237e66;transform:translateY(-2px)}.auth-button.google{background:#fff;border:2px solid var(--border-color);box-shadow:0 2px 8px #0000001a;color:#333}.auth-button.google:hover:not(:disabled){background:var(--bg-primary);border-color:var(--primary-color);box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.auth-divider{margin:1.5rem 0;position:relative;text-align:center}.auth-divider:before{background:#e0e0e0;background:var(--border-color,#e0e0e0);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.auth-divider span{background:#fff;background:var(--bg-color,#fff);color:#666;color:var(--text-secondary,#666);font-size:.9rem;padding:0 1rem}.auth-footer{margin-top:1.5rem;text-align:center}.auth-footer p{color:#666;color:var(--text-secondary,#666);font-size:.9rem;margin:0}.auth-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;transition:all .2s ease}.auth-link:hover:not(:disabled){color:var(--primary-hover);transform:translateY(-1px)}.auth-link:disabled{cursor:not-allowed;opacity:.6}.auth-back-to-landing{left:2rem;position:absolute;top:2rem;z-index:10}.back-to-landing-btn{background:#0000;border:2px solid var(--primary-color);border-radius:8px;color:var(--primary-color);cursor:pointer;font-family:Cinzel,serif;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.back-to-landing-btn:hover{background:var(--primary-color);box-shadow:0 6px 20px #1a237e4d;color:#fff;transform:translateY(-2px)}[data-theme=dark] .auth-form{background:var(--bg-color);border-color:var(--border-color)}[data-theme=dark] .auth-divider span{background:var(--bg-color)}@media (max-width:480px){.auth-container{padding:.5rem}.auth-form{padding:1.5rem}.auth-header h2{font-size:1.5rem}}.hero-landing{background:linear-gradient(135deg,#14193cb3,#281e1999 50%,#14193cb3),radial-gradient(circle at 20% 20%,#8b650826 0,#0000 50%),radial-gradient(circle at 80% 80%,#14193c33 0,#0000 50%),linear-gradient(45deg,#0f0f1a,#1a1a2a 50%,#2a2a3a);min-height:100vh;overflow-x:hidden;position:relative}.hero-landing:before{background-image:linear-gradient(45deg,#0000 48%,#8b650805 50%,#0000 52%),linear-gradient(-45deg,#0000 48%,#14193c08 50%,#0000 52%);background-size:120px 120px;bottom:0;content:"";left:0;opacity:.3;pointer-events:none;position:absolute;right:0;top:0}.hero-section{align-items:center;display:flex;gap:4rem;justify-content:space-between;margin:0 auto;max-width:1200px;min-height:90vh;padding:4rem 2rem}.hero-content{flex:1 1;max-width:600px}.hero-badge{align-items:center;background:var(--gradient-primary);border-radius:50px;box-shadow:0 4px 15px #1a237e4d;color:#fff;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem}.badge-icon{animation:gentleFloat 3s ease-in-out infinite;font-size:1.2rem}.hero-title{color:#fff;font-family:Cinzel Decorative,serif;font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem;text-shadow:2px 2px 8px #000c}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,gold,#fff8dc);-webkit-background-clip:text;background-clip:text;position:relative}.hero-description{color:#e8e3d3;font-size:1.25rem;line-height:1.7;margin-bottom:2.5rem;max-width:90%;text-shadow:1px 1px 3px #000000b3}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.hero-cta{font-size:1.1rem;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:1rem 2rem;position:relative}.hero-cta:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.hero-cta:hover:before{left:100%}.demo-button{align-items:center;background:#0000;border:2px solid var(--primary-color);border-radius:8px;color:var(--primary-color);cursor:pointer;display:flex;font-family:Cinzel,serif;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.demo-button:hover{background:var(--primary-color);box-shadow:0 8px 25px #1a237e4d;color:#fff;transform:translateY(-2px)}.button-icon{font-size:1.2rem}.hero-stats{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:2rem}.stat-item{text-align:center}.stat-value{color:gold;font-family:Cinzel,serif;font-size:2rem;font-weight:700;margin-bottom:.5rem;text-shadow:1px 1px 3px #000000b3}.stat-label{color:#c4b5a0;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.hero-visual{align-items:center;display:flex;flex:1 1;justify-content:center;position:relative}.hero-cards{height:600px;max-width:500px;position:relative;width:100%}.hero-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a24f2;border:2px solid #ffd7004d;border-radius:16px;box-shadow:0 8px 32px #0009;padding:1.5rem;position:absolute;transition:all .3s ease;width:320px}.hero-card:hover{border-color:#ffd70099;box-shadow:0 15px 60px #000c;transform:translateY(-5px)}.creature-card-demo{animation:gentleFloat 6s ease-in-out infinite;left:0;top:0;z-index:3}.character-card-demo{animation:gentleFloat 6s ease-in-out 2s infinite;right:-40px;top:160px;z-index:2}.note-card-demo{animation:gentleFloat 6s ease-in-out 4s infinite;left:40px;top:320px;z-index:1}.card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.card-icon{font-size:2rem}.card-header h3{color:#fff;font-family:Cinzel,serif;font-size:1.2rem;margin:0}.card-stats{display:flex;flex-wrap:wrap;gap:.5rem}.class-badge,.cr-badge,.hp-badge,.level-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.hp-badge{background:var(--gradient-secondary);color:#fff}.level-badge{background:var(--gradient-primary);color:#fff}.class-badge{background:var(--bg-tertiary);color:var(--text-primary)}.card-content{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin-top:1rem}.stat-line{margin-bottom:.5rem}.abilities,.stat-line{color:#e8e3d3;font-size:.85rem}.abilities{margin-top:.5rem}.features-section{margin:0 auto;max-width:1200px;padding:6rem 2rem}.section-header{margin-bottom:4rem;text-align:center}.section-header h2{color:var(--text-primary);font-family:Cinzel,serif;font-size:2.5rem;font-weight:600;margin-bottom:1rem}.section-header p{color:var(--text-secondary);font-size:1.1rem;margin:0 auto;max-width:600px}.features-showcase{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:300px 1fr}.feature-tabs{display:flex;flex-direction:column;gap:1rem;position:sticky;top:2rem}.feature-tab{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;box-shadow:var(--card-shadow);cursor:pointer;display:flex;gap:1rem;padding:1.5rem;text-align:left;transition:all .3s ease}.feature-tab:hover{border-color:var(--primary-color);transform:translateX(5px)}.feature-tab.active{background:var(--gradient-primary);border-color:var(--primary-color);box-shadow:0 8px 25px #1a237e4d;color:#fff}.tab-icon{font-size:1.5rem;min-width:1.5rem}.tab-title{font-family:Cinzel,serif;font-size:1.1rem;font-weight:600}.feature-content{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.feature-info h3{color:var(--text-primary);font-family:Cinzel,serif;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.feature-info p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.feature-benefits{list-style:none;margin:0;padding:0}.feature-benefits li{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;gap:.75rem;margin-bottom:1rem}.benefit-icon{color:var(--success-color);font-size:1.2rem}.feature-visual{align-items:center;display:flex;justify-content:center}.feature-mockup{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;box-shadow:var(--card-shadow-hover);max-width:400px;overflow:hidden;width:100%}.mockup-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem}.mockup-controls{display:flex;gap:.5rem}.control{background:var(--border-color);border-radius:50%;height:12px;width:12px}.mockup-title{color:var(--text-primary);font-family:Cinzel,serif;font-weight:600}.mockup-content{padding:2rem}.mockup-feature{align-items:center;display:flex;gap:1rem}.feature-icon{background:var(--gradient-primary);border-radius:12px;color:#fff;font-size:2rem;padding:1rem}.feature-text h4{color:var(--text-primary);font-family:Cinzel,serif;margin:0 0 .5rem}.feature-text p{color:var(--text-secondary);font-size:.9rem;margin:0}.detailed-example{padding:1rem}.example-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.example-header h4{color:var(--text-primary);font-family:Cinzel,serif;margin:0}.note-count{color:var(--text-secondary);font-size:.8rem}.example-item{align-items:flex-start;background:var(--bg-tertiary);border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem}.item-icon{color:var(--primary-color);font-size:1.2rem;min-width:1.2rem}.item-details strong{color:var(--text-primary);display:block;font-family:Cinzel,serif;margin-bottom:.25rem}.item-details p{color:var(--text-secondary);font-size:.85rem;line-height:1.4;margin:0}.creature-card-example{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;padding:1.5rem}.creature-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.creature-icon{color:var(--accent-color);font-size:1.5rem}.creature-header h4{color:var(--text-primary);flex:1 1;font-family:Cinzel,serif;margin:0}.cr-badge{background:var(--gradient-accent);border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.abilities-block,.stat-block{color:var(--text-primary);font-size:.9rem;line-height:1.4;margin-bottom:.75rem}.template-applied{display:flex;flex-wrap:wrap;gap:.5rem}.template-tag{background:var(--gradient-secondary);border-radius:10px;color:#fff;font-size:.75rem;font-weight:500;padding:.2rem .6rem}.character-sheet-preview{background:var(--bg-tertiary);border-radius:12px;padding:1.5rem}.character-sheet-preview h4{border-bottom:2px solid var(--primary-color);color:var(--text-primary);font-family:Cinzel,serif;margin:0 0 1rem;padding-bottom:.5rem}.character-stats-grid{grid-gap:.75rem;display:grid;gap:.75rem}.stat-group{line-height:1.4}.spell-slots,.stat-group{color:var(--text-primary);font-size:.9rem}.spell-slots{border-top:1px solid var(--border-color);margin-top:.75rem;padding-top:.75rem}.collaboration-panel{background:var(--bg-tertiary);border-radius:12px;padding:1.5rem}.collaboration-panel h4{border-bottom:2px solid var(--primary-color);color:var(--text-primary);font-family:Cinzel,serif;margin:0 0 1rem;padding-bottom:.5rem}.member-list{margin-bottom:1.5rem}.member-item{align-items:center;background:var(--bg-primary);border-radius:6px;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.5rem}.member-icon{color:var(--primary-color);font-size:1rem}.member-name{color:var(--text-primary);flex:1 1;font-weight:500}.member-status{border-radius:10px;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.member-status.online{background:var(--success-color);color:#fff}.member-status.away{background:var(--warning-color);color:#fff}.recent-activity{border-top:1px solid var(--border-color);padding-top:1rem}.recent-activity strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.recent-activity p{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0}.testimonials-section{background:linear-gradient(135deg,#f8f6f0,#f0ede6);padding:6rem 2rem}.testimonials-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:0 auto;max-width:1200px}.testimonial-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:16px;box-shadow:var(--card-shadow);padding:2rem;transition:all .3s ease}.testimonial-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-5px)}.testimonial-rating{margin-bottom:1rem}.star{font-size:1.2rem;margin-right:.2rem}.testimonial-quote{color:var(--text-primary);font-size:1.1rem;font-style:italic;line-height:1.6;margin:0 0 1.5rem}.testimonial-author{display:flex;flex-direction:column;gap:.25rem}.testimonial-author strong{color:var(--text-primary);font-family:Cinzel,serif}.author-role{color:var(--text-secondary);font-size:.9rem}.cta-section{background:var(--gradient-primary);color:#fff;padding:6rem 2rem;text-align:center}.cta-content{margin:0 auto;max-width:800px}.cta-section h2{font-family:Cinzel Decorative,serif;font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #0000004d}.cta-section p{font-size:1.2rem;margin-bottom:2.5rem;opacity:.9}.cta-actions{align-items:center;display:flex;flex-direction:column;gap:2rem}.cta-primary{background:#fff;border:none;box-shadow:0 8px 25px #0003;color:var(--primary-color);font-size:1.2rem;font-weight:700;padding:1.2rem 2.5rem}.cta-primary:hover{box-shadow:0 12px 35px #0000004d;transform:translateY(-3px)}.cta-features{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.cta-feature{align-items:center;display:flex;font-size:1rem;gap:.5rem;opacity:.9}.cta-feature .feature-icon{color:var(--success-color);font-size:1.2rem}@media (max-width:1024px){.hero-section{flex-direction:column;padding:3rem 1rem;text-align:center}.hero-title{font-size:2.5rem}.features-showcase{gap:2rem;grid-template-columns:1fr}.feature-tabs{flex-direction:row;overflow-x:auto;padding-bottom:1rem;position:static}.feature-tab{flex-shrink:0;min-width:200px}.feature-content{gap:2rem;grid-template-columns:1fr}}@media (max-width:768px){.hero-title{font-size:2rem}.hero-description{font-size:1.1rem}.hero-actions{align-items:center;flex-direction:column}.demo-button,.hero-cta{max-width:300px;width:100%}.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-cards{transform:scale(.8)}.section-header h2{font-size:2rem}.testimonials-grid{grid-template-columns:1fr}.cta-section h2{font-size:2rem}.cta-features{flex-direction:column;gap:1rem}}@media (max-width:480px){.hero-section{padding:2rem 1rem}.hero-title{font-size:1.8rem}.cta-section,.features-section,.testimonials-section{padding:3rem 1rem}.feature-tab{min-width:180px;padding:1rem}.tab-title{font-size:1rem}}body,button,input,select,textarea{font-family:Libre Baskerville,IM Fell English,serif}.app-title h1,.dice-form-title,.section-header h2,h1,h2,h3,h4{font-family:Cinzel,Times New Roman,serif;letter-spacing:.03em}:root{--highlight-color:#8e6516;--highlight-color-rgb:142,101,22;--button-bg:#704214;--button-hover:#8b5a2b;--active-color:#4a7c59;--error-color:#a65936;--success-color:#4a7c59;--border-color:#d4a017;--border-color-rgb:212,160,23}.dark-mode{--bg-primary:#1c1c1c;--bg-secondary:#2d2d2d;--bg-tertiary:#3c3c3c;--text-primary:#f9f5e3;--text-secondary:#e3cda4;--border-color:#d4a017;--border-color-rgb:212,160,23;--button-bg:#704214;--button-text:#f9f5e3;--button-hover:#8b5a2b;--card-shadow:0 2px 5px #0000004d;--highlight-color:#d4a017;--highlight-color-rgb:212,160,23;--error-color:#a65936;--success-color:#4a7c59;--active-color:#4a7c59;--inactive-color:#777;--tab-active-bg:#1c1c1c;--tab-inactive-bg:#2d2d2d}.form-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.basic-stats .stat-row{align-items:center;display:flex;margin-bottom:8px}.basic-stats .stat-row label{font-weight:700;min-width:120px}.basic-stats .stat-row input{padding:4px 8px;text-align:center;width:60px}.basic-stats .modifier{color:var(--text-secondary);margin-left:10px}.new-gear-form{background:var(--bg-secondary);border-radius:8px;margin-top:15px;padding:15px}.new-gear-form h3{border-bottom:1px solid #d4a017;border-bottom:1px solid var(--border-color);margin-bottom:12px;margin-top:0;padding-bottom:8px}.gear-stats-container{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:12px}.gear-stat-input{display:flex;flex-direction:column;gap:4px}.gear-stat-input label{font-size:.9rem}.gear-stat-input input{padding:4px 8px;text-align:center;width:60px}.new-ability-form{background:var(--bg-secondary);border-radius:8px;padding:15px}.new-ability-form h3{border-bottom:1px solid #d4a017;border-bottom:1px solid var(--border-color);margin-bottom:12px;margin-top:0;padding-bottom:8px}.effects-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:12px}.card-grid-layout{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));width:100%}.ability-card,.buff-card,.buff-package-card,.card,.gear-card,.saved-buff-card{margin-bottom:10px;padding:12px;transition:all .3s ease}.ability-card,.buff-card,.buff-package-card,.card,.gear-card,.playsheet-section,.saved-buff-card,.setup-section{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" opacity="0.03"><rect fill="%23D4A017" width="100" height="100"/><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="3" stitchTiles="stitch"/><feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.25 0"/></filter><rect width="100" height="100" filter="url%28%23noise%29"/></svg>');background-repeat:repeat;border:1px solid #d4a0174d;border:1px solid rgba(var(--border-color-rgb),.3)}.playsheet-section h3:after,.playsheet-section h3:before,.section-header h2:after,.section-header h2:before{color:#8e6516;color:var(--highlight-color);font-size:.8em;margin:0 8px;opacity:.7}.add-ability-button,.add-buff-button,.add-dice-btn,.add-gear-button,.add-predefined-abilities-button,.btn,.edit-button,.login-button,.new-character-btn,.roll-button,.save-button{background:linear-gradient(180deg,#704214,shade(#704214,20%));background:linear-gradient(to bottom,var(--button-bg),shade(var(--button-bg),20%));border-radius:4px;box-shadow:0 2px 4px #0000004d;letter-spacing:.03em;transition:all .2s ease}.add-ability-button:hover,.add-buff-button:hover,.add-dice-btn:hover,.add-gear-button:hover,.add-predefined-abilities-button:hover,.btn:hover,.edit-button:hover,.login-button:hover,.new-character-btn:hover,.roll-button:hover,.save-button:hover{box-shadow:0 4px 8px #0006;transform:translateY(-2px)}.playsheet{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.playsheet-left-column,.playsheet-right-column{display:flex;flex-direction:column;gap:15px}.playsheet-section{margin-bottom:10px;padding:12px}.playsheet-section h3{font-size:1.2rem;margin-bottom:12px;margin-top:0}.divider{height:20px;margin:20px 0;position:relative;text-align:center}.divider:before{background:linear-gradient(90deg,#0000,#d4a017,#0000);background:linear-gradient(to right,#0000,var(--border-color),#0000);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider:after{background:var(--bg-primary);color:#8e6516;color:var(--highlight-color);content:"※";left:50%;padding:0 10px;position:absolute;top:50%;transform:translate(-50%,-50%)}.stat-display{border-radius:6px;margin-bottom:8px;padding:8px}.stat-header{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:130px auto auto}.buff-tracker .new-buff-form{background:var(--bg-secondary);border-radius:8px;padding:15px}.buff-tracker .new-buff-form h3{border-bottom:1px solid #d4a017;border-bottom:1px solid var(--border-color);margin-bottom:12px;margin-top:0;padding-bottom:8px}.buff-tracker .stat-effects{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.toggle-switch .toggle-slider{background:linear-gradient(180deg,#222,#333);border:1px solid #d4a017;border:1px solid var(--border-color)}.toggle-switch .toggle-slider:before{background:linear-gradient(180deg,#e3cda4,#c5ad7d);border:1px solid #d4a017;border:1px solid var(--border-color)}input:checked+.toggle-slider{background:linear-gradient(180deg,#2d3b2a,#3a4a38)}.attack-value,.defense-value,.result-value,.save-value{background:#8e65161a;background:rgba(var(--highlight-color-rgb),.1);border-radius:4px;color:#8e6516;color:var(--highlight-color);font-family:Cinzel,serif;font-weight:600;padding:2px 8px;position:relative}.animated-dice-roller{font-family:Libre Baskerville,serif}.dice-form-title{color:#8e6516;color:var(--highlight-color)}.roll-button{background-color:#704214;background-color:var(--button-bg)}.roll-button:hover{background-color:#8b5a2b;background-color:var(--button-hover)}.result-value{color:#8e6516;color:var(--highlight-color)}@media (max-width:768px){.card-grid-layout{grid-template-columns:1fr}.effects-row,.gear-stats-container,.stat-effects{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media (min-width:1200px){.card-grid-layout{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.effects-row,.gear-stats-container,.stat-effects{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}body,html{-webkit-overflow-scrolling:touch;height:100%;margin:0;overflow-x:hidden;padding:0}@supports (-webkit-touch-callout:none){body,html{-webkit-overflow-scrolling:touch;overflow-y:auto;position:static}.App,body,html{overflow-x:hidden}.App{min-height:100%;overflow-y:visible;position:relative;width:100%}}.app-content{padding-bottom:80px}@media (max-width:768px){.playsheet-section.abilities{margin-bottom:100px}.app-content{padding-bottom:120px}.character-manager,.character-setup,.combat-tracker .tab-content{-webkit-overflow-scrolling:touch;overflow:visible;padding-bottom:80px}.abilities-list,.active-abilities,.buff-list,.gear-list{max-height:none;overflow-y:visible}}.ability-toggle,.haste-toggle,.nav-button,.toggle-switch,.twf-toggle,button,input[type=checkbox]+label,input[type=radio]+label{min-height:44px;min-width:44px;padding:10px;touch-action:manipulation}input[type=checkbox],input[type=radio]{height:22px;width:22px}@media (max-width:768px){input,select,textarea{font-size:16px!important}.App-header{margin-bottom:15px;padding:10px}.nav-list{flex-wrap:wrap;width:100%}.nav-button{flex-grow:1;font-size:.9rem;margin:5px 0;padding:10px 12px;text-align:center}.active-character-info{margin-bottom:10px;padding:10px}.form-row{flex-direction:column;gap:8px}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.long-content,code,pre{white-space:pre-wrap;word-break:break-word}.playsheet{display:flex!important;flex-direction:column!important;gap:10px}.playsheet-section{margin-bottom:10px;padding:12px}.playsheet-section h3{font-size:1.1rem;margin-bottom:10px}.attack-row,.defense-row,.save-row{margin-bottom:6px;padding:8px}.attack-name,.defense-name,.save-name{font-size:.95rem}.attack-value,.defense-value,.save-value{font-size:1.1rem;min-width:auto}.playsheet-controls{align-items:flex-start}.playsheet-controls,.weapon-form .form-row{flex-direction:column;gap:8px}.dice-actions{flex-direction:column;gap:10px}.haste-toggle,.twf-toggle{display:flex;justify-content:space-between;width:100%}.tabs{flex-wrap:wrap}.tab-button{flex:1 0 50%;font-size:.85rem;overflow:hidden;padding:10px 5px;text-overflow:ellipsis;white-space:nowrap}.new-buff-form .form-row{flex-direction:column}.hp-edit-container{grid-template-columns:repeat(2,1fr)}.hp-quick-actions{grid-template-columns:1fr}.ability-toggle-row{align-items:flex-start;flex-direction:column}.ability-toggle{margin-bottom:8px;width:100%}.toggle-switch{align-self:flex-end}.character-card{padding:12px 8px}.new-character-btn{align-items:center;border-radius:50%;bottom:20px;box-shadow:0 4px 10px #0000004d;display:flex;height:56px;justify-content:center;position:fixed;right:20px;width:56px;z-index:100}.new-character-btn:after{content:"+";font-size:24px}.new-character-btn span{display:none}.character-form-container{padding:10px}.attributes-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}}.prevent-overflow{max-width:100%;overflow:hidden}.enable-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.ios-scroll-fix{-webkit-transform:translateZ(0)}.app-content{background:var(--gradient-background);min-height:100vh;position:relative}.app-content:before{background:var(--bg-context-manager);bottom:0;content:"";left:0;opacity:.8;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}.app-content.context-combat:before{background:var(--bg-context-combat);opacity:.9}.context-combat .character-manager,.context-combat .combat-tracker{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(var(--bg-secondary),.95);border:1px solid #ff6b6b33;border-radius:12px;box-shadow:0 8px 32px #b71c1c26}.app-content.context-campaigns:before{background:var(--bg-context-tavern);opacity:.9}.context-campaigns .campaign-manager,.context-campaigns .notes-manager{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(var(--bg-secondary),.95);border:1px solid #ffd70033;border-radius:12px;box-shadow:0 8px 32px #b8860b26}.app-content.context-creatures:before{background:var(--bg-context-adventure);opacity:.9}.context-creatures .bestiary,.context-creatures .creature-manager{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(var(--bg-secondary),.95);border:1px solid #4caf5033;border-radius:12px;box-shadow:0 8px 32px #1b5e2026}.app-content.context-manager:before{background:var(--bg-context-manager);opacity:.8}.context-manager .character-manager,.context-manager .character-setup{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(var(--bg-secondary),.95);border:1px solid #7c4dff33;border-radius:12px;box-shadow:0 8px 32px #1a237e26}.context-combat .buff-card,.context-combat .card,.context-combat .creature-card{background:linear-gradient(135deg,#f443360d 0,var(--bg-primary) 100%);border-left:4px solid var(--error-color)}.context-campaigns .campaign-card,.context-campaigns .card,.context-campaigns .note-card{background:linear-gradient(135deg,#ffd7000d 0,var(--bg-primary) 100%);border-left:4px solid var(--secondary-color)}.context-creatures .card,.context-creatures .creature-card,.context-creatures .template-card{background:linear-gradient(135deg,#4caf500d 0,var(--bg-primary) 100%);border-left:4px solid var(--success-color)}.context-manager .card,.context-manager .character-card{background:linear-gradient(135deg,#7c4dff0d 0,var(--bg-primary) 100%);border-left:4px solid var(--primary-color)}.context-combat .epic-button,.context-combat .primary-button{background:var(--gradient-accent);border-color:var(--error-color)}.context-combat .epic-button:hover,.context-combat .primary-button:hover{background:var(--error-hover);box-shadow:0 8px 25px #f443364d;transform:translateY(-2px)}.context-campaigns .epic-button,.context-campaigns .primary-button{background:var(--gradient-secondary);border-color:var(--secondary-color)}.context-campaigns .epic-button:hover,.context-campaigns .primary-button:hover{background:var(--secondary-hover);box-shadow:0 8px 25px #ffd7004d;transform:translateY(-2px)}.context-creatures .epic-button,.context-creatures .primary-button{background:linear-gradient(135deg,var(--success-color) 0,var(--success-light) 100%);border-color:var(--success-color)}.context-creatures .epic-button:hover,.context-creatures .primary-button:hover{background:var(--success-hover);box-shadow:0 8px 25px #4caf504d;transform:translateY(-2px)}.context-manager .epic-button,.context-manager .primary-button{background:var(--gradient-primary);border-color:var(--primary-color)}.context-manager .epic-button:hover,.context-manager .primary-button:hover{background:var(--primary-hover);box-shadow:0 8px 25px #7c4dff4d;transform:translateY(-2px)}.context-combat .nav-item.active[data-page=combat]{background:linear-gradient(135deg,var(--error-color) 0,var(--error-light) 100%);box-shadow:0 4px 15px #f443364d}.context-campaigns .nav-item.active[data-page=campaigns]{background:linear-gradient(135deg,var(--secondary-color) 0,var(--secondary-light) 100%);box-shadow:0 4px 15px #ffd7004d}.context-manager .nav-item.active[data-page=manager]{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-light) 100%);box-shadow:0 4px 15px #7c4dff4d}@media (max-width:768px){.app-content:before{opacity:.6}.context-campaigns .campaign-manager,.context-combat .character-manager,.context-creatures .bestiary,.context-manager .character-manager{border-radius:8px;margin:.5rem}}.app-content,.app-content:before{transition:all .5s ease-in-out}.context-switching{opacity:.8}.context-switching:before{opacity:.4}
/*# sourceMappingURL=main.78de4b8e.css.map*/