:root{font-family:Times New Roman,serif;line-height:1.5}input,textarea,select{color:inherit}input[style*="background: white"],input[style*="background: #fff"],input[style*="background-color: white"],input[style*="background-color: #fff"],input.light-bg,textarea.light-bg{color:#000!important}input::placeholder,textarea::placeholder{opacity:.6}html{overflow-x:hidden;width:100%;max-width:100vw}body{margin:0;min-height:100vh;background-color:#f5f5f5;overflow-x:hidden;width:100%;max-width:100vw;position:relative}#root{width:100%;max-width:100vw;overflow-x:hidden;position:relative}@media(max-width:768px){html,body,#root{overflow-x:hidden!important;max-width:100vw!important;width:100%!important}}.title-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;overflow-x:hidden;width:100%}.title-screen.dark-mode{background:linear-gradient(135deg,#434343,#000)}.title-screen-content{max-width:800px;width:100%;text-align:center}.title-screen-header{margin-bottom:60px;animation:fadeInDown .8s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.main-title{font-size:4em;font-weight:900;color:#fff;margin:0 0 10px;text-shadow:3px 3px 6px rgba(0,0,0,.3);letter-spacing:2px;line-height:1.2}.subtitle{font-size:2em;font-weight:300;color:#fffffff2;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2);letter-spacing:1px}.title-decoration{width:200px;height:4px;background:linear-gradient(90deg,transparent,white,transparent);margin:30px auto 0;border-radius:2px}.title-screen-buttons{display:flex;flex-direction:column;gap:20px;animation:fadeInUp .8s ease .2s backwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.load-buttons-group{display:flex;gap:20px}.title-btn{background:#fff;border:none;border-radius:12px;padding:30px 40px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;overflow:hidden}.title-screen.dark-mode .title-btn{background:#2a2a2a;color:#e0e0e0;box-shadow:0 4px 15px #00000080}.title-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.title-btn:hover:before{left:100%}.title-btn:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000004d}.title-screen.dark-mode .title-btn:hover{box-shadow:0 8px 25px #0009}.btn-icon{font-size:3em;display:block}.btn-text{font-size:1.5em;font-weight:700;color:#333;display:block}.title-screen.dark-mode .btn-text{color:#e0e0e0}.btn-description{font-size:.9em;color:#666;display:block;font-weight:400}.title-screen.dark-mode .btn-description{color:#999}.create-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.create-btn .btn-text,.create-btn .btn-description{color:#fff}.title-screen.dark-mode .create-btn{background:linear-gradient(135deg,#66bb6a,#5cb860)}.guide-btn{background:linear-gradient(135deg,#d4af37,#b8941f);color:#fff}.guide-btn .btn-text,.guide-btn .btn-description{color:#fff}.title-screen.dark-mode .guide-btn{background:linear-gradient(135deg,#e6c96f,#d4af37)}.library-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.library-btn .btn-text,.library-btn .btn-description{color:#fff}.title-screen.dark-mode .library-btn{background:linear-gradient(135deg,#42a5f5,#2196f3)}.encounter-btn{background:linear-gradient(135deg,#e91e63,#c2185b);color:#fff}.encounter-btn .btn-text,.encounter-btn .btn-description{color:#fff}.title-screen.dark-mode .encounter-btn{background:linear-gradient(135deg,#f06292,#e91e63)}.load-btn{flex:1;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.load-btn .btn-text,.load-btn .btn-description{color:#fff}.title-screen.dark-mode .load-btn{background:linear-gradient(135deg,#ffb74d,#ff9800)}.load-storage-btn{flex:1;background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff}.load-storage-btn .btn-text,.load-storage-btn .btn-description{color:#fff}.title-screen.dark-mode .load-storage-btn{background:linear-gradient(135deg,#ba68c8,#9c27b0)}.title-screen-footer{margin-top:60px;animation:fadeIn 1s ease .4s backwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.title-screen-footer p{color:#fffc;font-size:1.1em;font-style:italic;margin:0}@media(max-width:768px){.main-title{font-size:2.5em}.subtitle{font-size:1.5em}.title-screen-header{margin-bottom:40px}.title-btn{padding:25px 30px}.btn-icon{font-size:2.5em}.btn-text{font-size:1.3em}.btn-description{font-size:.85em}.load-buttons-group{flex-direction:column}}@media(max-width:568px){.title-screen{padding:15px}.main-title{font-size:2em}.subtitle{font-size:1.2em}.title-decoration{width:150px}.title-btn{padding:20px 25px}.btn-icon{font-size:2em}.btn-text{font-size:1.1em}.btn-description{font-size:.8em}.title-screen-footer p{font-size:.95em}}*{box-sizing:border-box}.character-sheet-container{font-family:Times New Roman,serif;background-color:#f5f5f5;padding:20px;min-height:100vh;width:100%;max-width:100%;overflow-x:hidden}.character-sheet{background-color:#fff;max-width:1200px;margin:0 auto 40px;padding:40px;position:relative;box-shadow:0 4px 6px #0000001a}.page-number{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:14px;color:#333}.character-sheet-container:not(.dark-mode) .section{background-color:#fff!important}.section{border:2px solid #6b5b95;border-radius:8px;padding:12px;position:relative;margin-bottom:20px}.section-label{position:absolute;top:-12px;left:12px;background:#fff;padding:0 8px;font-weight:700;font-size:12px;letter-spacing:1px;color:#6b5b95}.subsection-label{font-weight:700;font-size:10px;letter-spacing:1px;color:#6b5b95;margin-bottom:4px;display:block}input[type=text],textarea{width:100%;border:none;border-bottom:1px solid #ddd;padding:4px 8px;font-family:Times New Roman,serif;font-size:14px;outline:none;background:transparent;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}input[type=text]:focus,textarea:focus{border-bottom-color:#6b5b95;background-color:#f9f9f9}textarea{resize:vertical;min-height:80px;border:1px solid #ddd;border-radius:4px;padding:8px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.page-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px}.character-section{flex:1}.character-section label{font-weight:700;font-size:12px;letter-spacing:1px;color:#6b5b95;display:block;margin-bottom:4px}.character-name{font-size:18px!important;font-weight:700}.level-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid #6b5b95;border-radius:50%;width:80px;height:80px;padding:10px;background:#fff}.level-badge label{font-size:10px;font-weight:700;color:#6b5b95;letter-spacing:1px;margin-bottom:4px}.level-badge input{width:40px;text-align:center;font-size:24px;font-weight:700;border:none;border-bottom:1px solid #ddd;padding:0}.title-logo{background:linear-gradient(135deg,#b8a9c9,#8b7ba8);padding:20px 30px;border-radius:8px;box-shadow:0 2px 4px #0003}.game-title{font-family:Impact,Arial Black,sans-serif;font-size:28px;font-weight:700;color:#fff;text-align:center;line-height:1.1;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.main-content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.character-sheet-container:not(.dark-mode) .ancestry-section input{font-weight:700;background-color:#fff!important;color:#333!important}.ancestry-section input{font-weight:700}.traits-section textarea{min-height:120px}.path-section .subsection textarea{min-height:140px}.attributes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.size-speed-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;justify-items:center}.attribute-box{border:2px solid #6b5b95;border-radius:8px;padding:8px;text-align:center;position:relative;min-height:70px}.attribute-box label,.attribute-badge label{font-size:10px;font-weight:700;color:#6b5b95;letter-spacing:1px;display:block;margin-bottom:4px}.attribute-box input,.attribute-badge input{text-align:center;font-size:20px;font-weight:700;width:100%}.modifier{position:absolute;bottom:2px;right:2px;font-size:10px;font-weight:700;color:#8b7ba8;background:#fffffff2;padding:1px 4px;border-radius:3px;border:1px solid #b8a9c9;min-width:24px;text-align:center;line-height:1.2}.attribute-badge{border:3px solid #6b5b95;border-radius:50%;width:70px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px}.attribute-badge input{width:50px;font-size:14px}.health-section{margin-bottom:20px}.health-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.health-stat-box{border:2px solid #6b5b95;border-radius:8px;padding:10px;text-align:center}.health-stat-box label{font-size:10px;font-weight:700;color:#6b5b95;letter-spacing:1px;display:block;margin-bottom:6px}.health-stat-box input{width:100%;font-size:20px;font-weight:700;text-align:center;border:1px solid #6b5b95;border-radius:4px;padding:4px}.conditions-box{position:relative}.conditions-input-wrapper{cursor:pointer;min-height:40px;border:1px solid #6b5b95;border-radius:4px;padding:4px;background:#ffffff0d;position:relative}.conditions-display{min-height:30px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.placeholder{color:#888;font-size:12px;font-style:italic}.conditions-list{display:flex;flex-wrap:wrap;gap:4px;width:100%}.condition-tag{display:inline-flex;align-items:center;gap:4px;background:#6b5b95;color:#fff;padding:2px 6px;border-radius:12px;font-size:11px;white-space:nowrap}.remove-condition{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;line-height:1;padding:0;margin-left:2px;font-weight:700}.remove-condition:hover{color:#ff6b6b}.conditions-dropdown{position:absolute;top:100%;left:0;min-width:180px;background:#2a2a2a;border:2px solid #6b5b95;border-radius:4px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 8px #0000004d}.condition-option{padding:8px 12px;cursor:pointer;color:#e0e0e0;border-bottom:1px solid #3a3a3a;font-size:13px;white-space:nowrap}.condition-option:last-child{border-bottom:none}.condition-option:hover{background:#6b5b95;color:#fff}.add-row-button{position:absolute;top:-12px;right:12px;background:#6b5b95;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:all .2s;z-index:10}.add-row-button:hover{background:#8b7bb5;transform:scale(1.1)}.add-row-button:active{transform:scale(.95)}.combat-stats{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.stat-badge{border:3px solid #6b5b95;border-radius:50%;width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px}.stat-badge label{font-size:9px;font-weight:700;color:#6b5b95;letter-spacing:1px;text-align:center;margin-bottom:4px}.stat-badge input{width:70px;text-align:center;font-size:20px;font-weight:700}.armor-section,.weapons-section{margin-bottom:20px}.armor-grid{display:flex;flex-direction:column;gap:4px}.armor-header{display:grid;grid-template-columns:2fr 1fr;gap:8px;font-size:10px;font-weight:700;color:#6b5b95;letter-spacing:1px;margin-bottom:4px}.armor-row{display:grid;grid-template-columns:2fr 1fr;gap:8px}.weapons-table{display:flex;flex-direction:column;gap:4px}.weapons-header{display:grid;grid-template-columns:1.5fr .7fr 1fr .8fr .6fr 1.5fr;gap:4px;font-size:9px;font-weight:700;color:#6b5b95;letter-spacing:1px;margin-bottom:4px}.weapon-row{display:grid;grid-template-columns:1.5fr .7fr 1fr .8fr .6fr 1.5fr;gap:4px}.weapon-row input{font-size:12px}.equipment-section textarea{min-height:120px}.background-section{height:calc(100% - 20px)}.background-section textarea{min-height:800px}.traditions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.tradition-section{min-height:300px;position:relative}.tradition-name{font-weight:700;margin-bottom:8px}.tradition-section .subsection textarea{min-height:220px}.tradition-items{display:flex;flex-direction:column;gap:12px;margin-top:10px}.tradition-item{background-color:#f8f8f8;border:1px solid #ddd;border-radius:6px;padding:12px;position:relative;word-wrap:break-word;overflow-wrap:break-word}.dark-mode .tradition-item{background-color:#2a2a2a;border-color:#444}.tradition-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.tradition-item-single{padding:8px 0}.tradition-item-header strong{color:#6b5b95;font-size:14px}.dark-mode .tradition-item-header strong{color:#b8a9c9}.magical-tag{background-color:#9c27b0;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700}.spell-level-tag{background-color:#2196f3;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700}.remove-item-btn{margin-left:auto;width:20px;height:20px;border-radius:50%;border:1px solid #ddd;background-color:#fff;color:#666;font-size:16px;line-height:1;cursor:pointer;padding:0;transition:all .2s}.dark-mode .remove-item-btn{background-color:#333;border-color:#555;color:#999}.remove-item-btn:hover{background-color:#f44336;border-color:#f44336;color:#fff}.tradition-item-description{font-size:12px;color:#555;line-height:1.4;margin:0;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.dark-mode .tradition-item-description{color:#bbb}.empty-tradition-note{font-size:12px;color:#999;font-style:italic;text-align:center;margin-top:12px;padding:12px;background:#6c757d1a;border-radius:4px}.dark-mode .empty-tradition-note{color:#666;background:#6c757d33}.spell-detail{font-size:11px;color:#666;margin:4px 0;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.dark-mode .spell-detail{color:#999}.spell-detail strong{color:#6b5b95}.dark-mode .spell-detail strong{color:#b8a9c9}.remove-tradition-btn{position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:50%;border:2px solid #6b5b95;background:#fff;color:#6b5b95;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:all .2s;z-index:10}.remove-tradition-btn:hover{background:#6b5b95;color:#fff;transform:scale(1.1)}.add-tradition-container{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin:20px 0}.add-tradition-btn{background:linear-gradient(135deg,#b8a9c9,#8b7ba8);color:#fff;border:2px solid #6b5b95;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.add-tradition-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003;background:linear-gradient(135deg,#c9bbd9,#9b8bb8)}.library-nav-btn{background:linear-gradient(135deg,#667eea,#5a67d8);color:#fff;border:2px solid #4c51bf;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.library-nav-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003;background:linear-gradient(135deg,#7c3aed,#6d28d9)}.allies-section{min-height:200px}.allies-section textarea{min-height:150px}@media print{.character-sheet-container{padding:0}.character-sheet{max-width:100%;margin:0;padding:20px;box-shadow:none;page-break-after:always}.page-2{page-break-before:always}}.controls-section{display:flex;gap:15px;align-items:center;justify-content:flex-end;margin-bottom:20px;padding:0 10px}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer;background:#fff;padding:10px 16px;border-radius:25px;box-shadow:0 2px 8px #00000026;border:2px solid #6b5b95;transition:all .3s}.toggle-switch:hover{box-shadow:0 4px 12px #0003}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:50px;height:26px;background:#ccc;border-radius:13px;transition:background .3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .3s}.toggle-switch input:checked+.toggle-slider{background:#6b5b95}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label{font-size:14px;font-weight:700;color:#6b5b95;letter-spacing:.5px;min-width:70px}.save-button{padding:10px 20px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:25px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #4caf504d;transition:all .3s;white-space:nowrap}.save-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.save-button:active{transform:translateY(0)}.randomize-button{padding:10px 20px;background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;border-radius:25px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #9c27b04d;transition:all .3s;white-space:nowrap}.randomize-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #9c27b066;background:linear-gradient(135deg,#ab47bc,#8e24aa)}.randomize-button:active{transform:translateY(0)}.randomize-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.randomize-modal{background:linear-gradient(145deg,#2a2a2a,#1e1e1e);border-radius:16px;padding:30px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border:2px solid #9c27b0;box-shadow:0 10px 40px #9c27b04d}.randomize-modal h2{color:#e0e0e0;margin:0 0 25px;text-align:center;font-size:24px;background:linear-gradient(135deg,#ba68c8,#9c27b0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.randomize-level-section{margin-bottom:25px}.randomize-level-section>label{display:block;color:#aaa;font-size:14px;margin-bottom:10px;font-weight:700}.level-selector{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.level-btn{width:40px;height:40px;border:2px solid #555;border-radius:50%;background:#2d2d2d;color:#ccc;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.level-btn:hover{border-color:#9c27b0;color:#9c27b0}.level-btn.selected{background:linear-gradient(135deg,#9c27b0,#7b1fa2);border-color:#ba68c8;color:#fff;box-shadow:0 2px 10px #9c27b066}.randomize-options-section{margin-bottom:20px}.randomize-options-section>label{display:block;color:#aaa;font-size:14px;margin-bottom:15px;font-weight:700}.randomize-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.randomize-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#333;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid #444}.randomize-option:hover{background:#3a3a3a;border-color:#9c27b0}.randomize-option.disabled{opacity:.5;cursor:not-allowed}.randomize-option.disabled:hover{background:#333;border-color:#444}.randomize-option input[type=checkbox]{width:18px;height:18px;accent-color:#9c27b0;cursor:pointer}.randomize-option span{color:#ddd;font-size:14px}.randomize-note{background:#9c27b01a;border-left:3px solid #9c27b0;padding:10px 15px;margin-bottom:25px;border-radius:0 8px 8px 0}.randomize-note p{margin:0;color:#aaa;font-size:13px}.randomize-modal-buttons{display:flex;gap:15px;justify-content:flex-end}.randomize-cancel-btn{padding:12px 25px;background:#444;color:#ccc;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.randomize-cancel-btn:hover{background:#555}.randomize-confirm-btn{padding:12px 25px;background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 10px #9c27b04d}.randomize-confirm-btn:hover{background:linear-gradient(135deg,#ab47bc,#8e24aa);box-shadow:0 4px 15px #9c27b066;transform:translateY(-2px)}@media(max-width:500px){.randomize-modal{padding:20px;margin:10px}.randomize-options-grid{grid-template-columns:1fr}.level-btn{width:35px;height:35px;font-size:14px}.randomize-modal-buttons{flex-direction:column}.randomize-cancel-btn,.randomize-confirm-btn{width:100%}}.print-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#5a67d8);color:#fff;border:none;border-radius:25px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #667eea4d;transition:all .3s;white-space:nowrap}.print-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.print-button:active{transform:translateY(0)}.print-dropdown{position:relative;display:inline-block}.print-menu{position:absolute;top:100%;left:0;margin-top:5px;background:#fff;border:2px solid #667eea;border-radius:12px;box-shadow:0 4px 12px #0003;overflow:hidden;z-index:1000;min-width:200px}.print-menu-item{width:100%;padding:12px 20px;background:#fff;color:#333;border:none;border-bottom:1px solid #eee;font-size:14px;font-weight:500;cursor:pointer;text-align:left;transition:all .2s;display:block}.print-menu-item:last-child{border-bottom:none}.print-menu-item:hover{background:linear-gradient(135deg,#667eea,#5a67d8);color:#fff}.print-menu-item:active{background:linear-gradient(135deg,#5a67d8,#4c51bf)}.print-menu-separator{height:1px;background:#ddd;margin:4px 0}.character-sheet-container.dark-mode{background-color:#1a1a1a}.dark-mode .theme-toggle .toggle-switch{background:#2d2d2d;border-color:#9b8bb8}.dark-mode .toggle-label{color:#b8a9c9}.dark-mode .save-button{background:linear-gradient(135deg,#66bb6a,#5cb860);box-shadow:0 2px 8px #66bb6a4d}.dark-mode .save-button:hover{box-shadow:0 4px 12px #66bb6a66}.dark-mode .randomize-button{background:linear-gradient(135deg,#ba68c8,#9c27b0);box-shadow:0 2px 8px #ba68c84d}.dark-mode .randomize-button:hover{box-shadow:0 4px 12px #ba68c866;background:linear-gradient(135deg,#ce93d8,#ab47bc)}.dark-mode .print-button{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px #7c3aed4d}.dark-mode .print-button:hover{box-shadow:0 4px 12px #7c3aed66}.dark-mode .print-menu{background:#2d2d2d;border-color:#7c3aed;box-shadow:0 4px 12px #00000080}.dark-mode .print-menu-item{background:#2d2d2d;color:#e0e0e0;border-bottom-color:#444}.dark-mode .print-menu-item:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.dark-mode .print-menu-item:active{background:linear-gradient(135deg,#6d28d9,#5b21b6)}.dark-mode .print-menu-separator{background:#444}.dark-mode .character-sheet{background-color:#2d2d2d;color:#e0e0e0;box-shadow:0 4px 6px #00000080}.dark-mode .section{border-color:#9b8bb8;background-color:#242424}.dark-mode .section-label,.dark-mode .subsection-label{background-color:#2d2d2d;color:#b8a9c9}.dark-mode input[type=text],.dark-mode textarea{background-color:#1a1a1a;color:#e0e0e0;border-bottom-color:#444}.dark-mode input[type=text]:focus,.dark-mode textarea:focus{background-color:#242424;border-bottom-color:#9b8bb8;border-color:#9b8bb8}.dark-mode .title-logo{background:linear-gradient(135deg,#6b5b95,#4a3f6b)}.dark-mode .attribute-box,.dark-mode .attribute-badge{border-color:#9b8bb8;background-color:#242424!important}.dark-mode .attribute-box input,.dark-mode .attribute-badge input,.dark-mode .ancestry-section input{background-color:#1a1a1a!important;color:#e0e0e0!important}.dark-mode .attribute-box label,.dark-mode .attribute-badge label,.dark-mode .character-section label{color:#b8a9c9}.dark-mode .modifier{color:#b8a9c9;background:#2d2d2dfa;border-color:#9b8bb8}.dark-mode .level-badge,.dark-mode .stat-badge,.dark-mode .health-main,.dark-mode .damage-box{border-color:#9b8bb8;background-color:#242424}.dark-mode .checkbox-group label,.dark-mode .armor-header,.dark-mode .weapons-header,.dark-mode .page-number{color:#b8a9c9}.dark-mode .add-tradition-btn{background:linear-gradient(135deg,#6b5b95,#4a3f6b);border-color:#9b8bb8}.dark-mode .add-tradition-btn:hover{background:linear-gradient(135deg,#7b6ba5,#5a4f7b)}.dark-mode .library-nav-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#8b5cf6}.dark-mode .library-nav-btn:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.dark-mode .remove-tradition-btn{background-color:#2d2d2d;border-color:#9b8bb8;color:#b8a9c9}.dark-mode .remove-tradition-btn:hover{background-color:#6b5b95;color:#fff}@media(max-width:1400px){.main-content{grid-template-columns:1fr}.background-section textarea{min-height:200px}.character-sheet{max-width:100%;padding:30px}}@media(max-width:1024px){.character-sheet{padding:25px}.traditions-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.weapons-table,.armor-grid{font-size:.9em}.attribute-box,.attribute-badge{padding:8px}.tradition-item{padding:10px}}@media(max-width:768px){.character-sheet-container{padding:10px}.character-sheet{padding:20px}.traditions-grid{grid-template-columns:1fr;gap:15px}.page-header{flex-direction:column;align-items:stretch;gap:15px}.page-header .character-section{order:1;width:100%}.page-header .character-section input.character-name{font-size:20px!important;padding:12px;border:2px solid #6b5b95;border-radius:8px;background:#242424}.page-header .level-badge{order:2;width:70px;height:70px;align-self:center}.page-header .title-logo{order:3;padding:12px 20px}.game-title{font-size:18px;line-height:1.2}.controls-section{gap:10px;padding:0 5px;flex-wrap:wrap;justify-content:center}.toggle-switch{padding:8px 12px}.toggle-label{font-size:12px;min-width:60px}.save-button,.print-button,.randomize-button{padding:8px 16px;font-size:13px}.main-content{grid-template-columns:1fr!important;gap:15px;width:100%;max-width:100%}.left-column,.middle-column,.right-column{width:100%!important;max-width:100%!important}.section{padding:15px;width:100%;max-width:100%}.section-label{font-size:12px;padding:4px 8px}.subsection-label{font-size:10px;padding:3px 6px}.attributes-grid,.health-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.combat-stats{gap:10px;flex-wrap:wrap;justify-content:center}.stat-badge{width:85px;height:85px;padding:8px}.stat-badge label{font-size:8px}.stat-badge input{width:60px;font-size:16px}.weapons-section,.armor-section{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.weapons-table{min-width:400px;width:max-content}.armor-grid{min-width:100%;max-width:100%}.tradition-item{padding:10px}.tradition-item-header strong{font-size:12px}.tradition-item-description{font-size:11px}.spell-detail{font-size:10px}}@media(max-width:568px){.character-sheet-container{padding:5px;overflow-x:hidden!important;width:100%!important;max-width:100vw!important;box-sizing:border-box}.character-sheet{padding:15px 10px;margin-bottom:20px;width:calc(100vw - 10px)!important;max-width:calc(100vw - 10px)!important;box-sizing:border-box;overflow:visible!important}.main-content{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;overflow-x:hidden}.left-column,.middle-column,.right-column{width:100%!important;max-width:100%!important;min-width:0!important}.section{width:100%!important;max-width:100%!important;overflow:visible!important;min-width:0!important;padding:22px 12px 15px;min-height:auto;height:auto;margin-bottom:20px;margin-top:12px}.section-label{position:relative!important;top:auto!important;left:auto!important;display:block!important;font-size:12px!important;padding:0 0 8px!important;margin-bottom:5px!important;white-space:nowrap;background:transparent!important}.section.weapons-section,.section.armor-section{overflow-x:auto!important;overflow-y:visible!important}.level-badge{width:85px!important;height:85px!important;padding:12px!important;overflow:hidden}.level-badge label{font-size:10px!important}.level-badge input{width:50px!important;font-size:22px!important}.stat-badge{width:100px!important;height:100px!important;padding:12px!important;overflow:hidden}.stat-badge label{font-size:9px!important;line-height:1.2}.stat-badge input{width:65px!important;font-size:18px!important}.attribute-badge{width:85px!important;height:85px!important;padding:10px!important;overflow:hidden}.attribute-badge label{font-size:10px!important}.attribute-badge input{width:55px!important;font-size:16px!important}.size-speed-grid{display:flex;justify-content:center;gap:15px}.size-speed-grid .attribute-badge{width:85px!important;height:85px!important}.character-sheet table,.weapons-table,.armor-grid{max-width:none}.page-header{gap:12px;flex-direction:column;align-items:stretch}.page-header .character-section{order:1;width:100%}.page-header .character-section label{font-size:11px;margin-bottom:6px}.page-header .character-section input.character-name{font-size:18px!important;padding:10px 12px;border:2px solid #6b5b95;border-radius:8px;background:#242424;width:100%}.page-header .level-badge{order:2;width:60px;height:60px;align-self:center;padding:5px}.page-header .level-badge label{font-size:9px}.page-header .level-badge input{font-size:18px;width:35px}.page-header .title-logo{order:3;padding:10px 15px}.game-title{font-size:14px;padding:0;line-height:1.1}.controls-section{gap:8px;flex-direction:column;align-items:stretch;padding:0;margin-bottom:15px}.save-button,.print-button,.randomize-button{padding:12px 16px;font-size:14px;width:100%}.toggle-switch{padding:8px 12px;width:100%;justify-content:center}.toggle-label{font-size:12px;min-width:60px}.section{padding:12px;margin-bottom:12px;width:100%;max-width:100%}.section-label{font-size:11px;padding:3px 6px;margin-bottom:6px}input[type=text],textarea{font-size:14px;padding:8px;max-width:100%}.attributes-grid{grid-template-columns:repeat(2,1fr);gap:8px}.attribute-box{padding:8px;min-height:65px}.attribute-box label{font-size:9px}.attribute-box input{font-size:18px}.modifier{font-size:10px;padding:2px 4px}.size-speed-grid{gap:8px}.attribute-badge{width:60px;height:60px;padding:5px}.attribute-badge label{font-size:9px}.attribute-badge input{font-size:12px;width:45px}.health-stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.health-stat-box{padding:8px}.health-stat-box label{font-size:9px;margin-bottom:4px}.health-stat-box input{font-size:16px;padding:4px}.combat-stats{gap:8px;flex-wrap:wrap;justify-content:center}.stat-badge{width:75px;height:75px;padding:6px}.stat-badge label{font-size:7px}.stat-badge input{width:55px;font-size:14px}.weapons-section,.armor-section{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;margin:0;padding:12px;max-width:100%}.weapons-table{min-width:320px;width:max-content;font-size:10px}.weapons-header span,.weapon-row input{min-width:40px;flex:1}.weapons-header span:first-child,.weapon-row input:first-child{min-width:60px;flex:2}.weapons-header span:last-child,.weapon-row input:last-child{min-width:50px;flex:1.5}.weapons-header{font-size:8px}.weapon-row input{padding:6px 4px;font-size:11px}.armor-grid{min-width:100%;font-size:12px}.armor-header{font-size:9px}.armor-row input{padding:6px 4px;font-size:12px}.tradition-section{min-height:auto}.tradition-name{font-size:14px}.tradition-item{padding:10px}.tradition-item-header{gap:6px}.tradition-item-header strong{font-size:12px}.magical-tag,.spell-level-tag{font-size:9px;padding:2px 6px}.tradition-item-description{font-size:11px;line-height:1.5}.spell-detail{font-size:10px;margin:4px 0}.remove-item-btn{width:22px;height:22px;font-size:16px}.remove-tradition-btn{width:26px;height:26px;font-size:18px}.add-tradition-container{flex-direction:column;gap:10px}.add-tradition-btn,.library-nav-btn{padding:12px 16px;font-size:14px;width:100%}.page-number{font-size:11px}.conditions-input-wrapper{min-height:44px;padding:8px}.conditions-dropdown{min-width:200px}.condition-option{padding:12px 16px;font-size:14px}.condition-tag{font-size:12px;padding:4px 8px}.traits-section textarea,.path-section .subsection textarea,.equipment-section textarea,.background-section textarea,.allies-section textarea{min-height:100px;font-size:13px;line-height:1.5}}@media(max-width:320px){.character-sheet{padding:8px}.page-header .character-section input.character-name{font-size:16px!important;padding:8px 10px}.page-header .level-badge{width:55px;height:55px}.page-header .level-badge input{font-size:16px;width:30px}.game-title{font-size:12px}.section{padding:8px}.section-label{font-size:10px}input[type=text],textarea{font-size:13px;padding:6px}.attributes-grid{gap:6px}.attribute-box{padding:6px;min-height:60px}.attribute-box label{font-size:8px}.attribute-box input{font-size:16px}.modifier{font-size:9px;padding:1px 3px}.health-stats-grid{gap:6px}.health-stat-box{padding:6px}.health-stat-box label{font-size:8px}.health-stat-box input{font-size:14px}.stat-badge{width:65px;height:65px;padding:5px}.stat-badge label{font-size:6px}.stat-badge input{width:48px;font-size:12px}.save-button,.print-button,.randomize-button{padding:10px 12px;font-size:13px}.tradition-item{padding:8px}.tradition-item-header strong{font-size:11px}.tradition-item-description{font-size:10px}.add-tradition-btn,.library-nav-btn{padding:10px 14px;font-size:13px}.add-tradition-container{flex-direction:column;gap:8px}}.spell-library{min-height:100vh;background-color:#f5f5f5;padding:20px;overflow-x:hidden;width:100%}.spell-library.dark-mode{background-color:#1a1a1a;color:#e0e0e0}.library-header{text-align:center;margin-bottom:30px}.library-header h1{font-size:2.5em;margin:0 0 10px;color:#333}.spell-library.dark-mode .library-header h1{color:#e0e0e0}.library-header p{color:#666;font-size:1.1em}.spell-library.dark-mode .library-header p{color:#999}.library-content{display:flex;gap:20px;max-width:1400px;margin:0 auto;width:100%;height:calc(100vh - 200px);min-height:600px}.tradition-list{width:280px;background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;max-height:calc(100vh - 140px);overflow-y:auto;position:sticky;top:20px}.spell-library.dark-mode .tradition-list{background-color:#2a2a2a;box-shadow:0 2px 8px #0000004d}.tradition-list h2{margin:0 0 15px;font-size:1.3em;color:#333;border-bottom:2px solid #4CAF50;padding-bottom:10px}.spell-library.dark-mode .tradition-list h2{color:#e0e0e0;border-bottom-color:#66bb6a}.tradition-items{display:flex;flex-direction:column;gap:8px}.tradition-item{background:#f8f8f8;border:2px solid transparent;border-radius:6px;padding:12px;cursor:pointer;transition:all .2s;text-align:left}.spell-library.dark-mode .tradition-item{background:#333;color:#e0e0e0}.tradition-item:hover{background-color:#e8f5e9;border-color:#4caf50}.spell-library.dark-mode .tradition-item:hover{background-color:#3a4a3a;border-color:#66bb6a}.tradition-item.selected{background-color:#4caf50;color:#fff;border-color:#4caf50}.spell-library.dark-mode .tradition-item.selected{background-color:#66bb6a;border-color:#66bb6a}.tradition-name{font-weight:700;font-size:1.05em;margin-bottom:4px}.tradition-stats{font-size:.85em;opacity:.8}.tradition-details{flex:1;background-color:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a;overflow-y:auto;min-height:0}.spell-library.dark-mode .tradition-details{background-color:#2a2a2a;box-shadow:0 2px 8px #0000004d}.no-selection{display:flex;align-items:center;justify-content:center;height:400px;color:#999;font-size:1.2em}.tradition-header h2{margin:0 0 15px;font-size:2em;color:#333}.spell-library.dark-mode .tradition-header h2{color:#e0e0e0}.tradition-description{color:#666;font-size:1.05em;line-height:1.6;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.spell-library.dark-mode .tradition-description{color:#999;border-bottom-color:#444}.filters{margin-bottom:30px}.search-box{margin-bottom:15px}.search-box input{width:100%;padding:12px 16px;border:2px solid #ddd;border-radius:6px;font-size:1em;background-color:#fff;color:#333}.search-box input::placeholder{color:#999}.spell-library.dark-mode .search-box input{background-color:#333;border-color:#555;color:#e0e0e0}.spell-library.dark-mode .search-box input::placeholder{color:#888}.search-box input:focus{outline:none;border-color:#4caf50;color:inherit}.filter-buttons{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.checkbox-filter{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95em}.checkbox-filter input[type=checkbox]{cursor:pointer;width:18px;height:18px}.level-filter{display:flex;align-items:center;gap:10px}.level-filter label{font-weight:500}.level-filter select{padding:8px 12px;border:2px solid #ddd;border-radius:6px;font-size:.95em;cursor:pointer}.spell-library.dark-mode .level-filter select{background-color:#333;border-color:#555;color:#e0e0e0}.level-filter select:focus{outline:none;border-color:#4caf50}.talents-section,.spells-section{margin-bottom:30px}.section-header-with-button{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:2px solid #4CAF50;padding-bottom:10px}.spell-library.dark-mode .section-header-with-button{border-bottom-color:#66bb6a}.section-header-with-button h3{margin:0;font-size:1.5em;color:#333}.spell-library.dark-mode .section-header-with-button h3{color:#e0e0e0}.add-all-button{padding:10px 20px;background-color:#9c27b0;color:#fff;border:none;border-radius:6px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #9c27b04d}.add-all-button:hover{background-color:#7b1fa2;transform:translateY(-2px);box-shadow:0 4px 8px #9c27b066}.talents-section h3,.spells-section h3{margin:0 0 20px;font-size:1.5em;color:#333;border-bottom:2px solid #4CAF50;padding-bottom:10px}.spell-library.dark-mode .talents-section h3,.spell-library.dark-mode .spells-section h3{color:#e0e0e0;border-bottom-color:#66bb6a}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.item-card{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .2s;max-height:800px;overflow-y:auto;display:flex;flex-direction:column}.spell-library.dark-mode .item-card{background-color:#333;border-color:#555}.item-card::-webkit-scrollbar{width:8px}.item-card::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.item-card::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.item-card::-webkit-scrollbar-thumb:hover{background:#45a049}.spell-library.dark-mode .item-card::-webkit-scrollbar-track{background:#ffffff1a}.spell-library.dark-mode .item-card::-webkit-scrollbar-thumb{background:#66bb6a}.spell-library.dark-mode .item-card::-webkit-scrollbar-thumb:hover{background:#81c784}.item-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.spell-library.dark-mode .item-card:hover{box-shadow:0 4px 12px #0006}.item-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px;gap:10px}.item-header h4{margin:0;font-size:1.2em;color:#333;flex:1}.spell-library.dark-mode .item-header h4{color:#e0e0e0}.magical-badge,.level-badge{padding:4px 10px;border-radius:4px;font-size:.75em;font-weight:700;white-space:nowrap}.magical-badge{background-color:#9c27b0;color:#fff}.level-badge{color:#fff}.level-badge.novice{background-color:#2196f3}.level-badge.expert{background-color:#ff9800}.level-badge.master{background-color:#f44336}.spell-stats{background-color:#f0f0f0;border-radius:6px;padding:12px;margin-bottom:12px;font-size:.9em}.spell-library.dark-mode .spell-stats{background-color:#2a2a2a}.spell-stat{margin-bottom:6px}.spell-stat:last-child{margin-bottom:0}.spell-stat strong{color:#4caf50}.spell-library.dark-mode .spell-stat strong{color:#66bb6a}.item-description{color:#555;line-height:1.6;margin-bottom:15px;font-size:.95em}.spell-library.dark-mode .item-description{color:#bbb}.add-button{width:100%;padding:10px;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:1em;font-weight:500;cursor:pointer;transition:background-color .2s}.add-button:hover{background-color:#45a049}.spell-library.dark-mode .add-button{background-color:#66bb6a}.spell-library.dark-mode .add-button:hover{background-color:#7bc67e}.no-results{text-align:center;padding:60px 20px;color:#999;font-size:1.1em}.tradition-list::-webkit-scrollbar{width:8px}.tradition-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.spell-library.dark-mode .tradition-list::-webkit-scrollbar-track{background:#1a1a1a}.tradition-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.tradition-list::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:1024px){.library-content{flex-direction:column}.tradition-list{width:100%;max-height:300px;position:static;margin-bottom:20px}.items-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.library-header h1{font-size:2em}}@media(max-width:768px){.spell-library{padding:15px}.library-header h1{font-size:1.8em}.library-header p{font-size:1em}.tradition-list{max-height:250px}.tradition-item{padding:10px}.items-grid{grid-template-columns:1fr;gap:15px}.tradition-details{padding:20px}.filter-buttons{flex-direction:column;align-items:stretch}.level-filter,.level-filter select{width:100%}.section-header-with-button{flex-direction:column;align-items:stretch;gap:10px}.add-all-button{width:100%}}@media(max-width:568px){.spell-library{padding:10px;overflow-x:hidden;width:100%}.library-header{margin-bottom:20px}.library-header h1{font-size:1.5em}.library-header p{font-size:.9em}.library-content{width:100%;overflow-x:hidden}.tradition-list{padding:15px;max-height:200px;width:100%}.tradition-details,.item-card{width:100%;max-width:100%}.tradition-name{font-size:.95em}.tradition-stats{font-size:.75em}.tradition-details{padding:15px}.tradition-header h2{font-size:1.5em}.tradition-description{font-size:.95em}.search-box input{padding:10px 14px;font-size:.95em}.item-card{padding:15px}.item-header h4{font-size:1em}.item-description{font-size:.9em}.spell-stats{font-size:.85em;padding:10px}.magical-badge,.level-badge{font-size:.7em;padding:3px 8px}.add-button,.add-all-button{padding:8px;font-size:.95em}}@media(max-width:320px){.library-header h1{font-size:1.3em}.tradition-item{padding:8px}.item-card{padding:12px}}.formatted-description{width:100%}.description-text{margin-bottom:15px;line-height:1.6;color:inherit}.roll-table-container{margin:20px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.roll-table{width:100%;border-collapse:collapse;background:#00000008;border-radius:8px;overflow:hidden;margin:10px 0;font-size:.95em}.spell-library.dark-mode .roll-table{background:#ffffff0d}.roll-table thead{background:linear-gradient(135deg,#6b5b95,#5a4a7a);color:#fff}.spell-library.dark-mode .roll-table thead{background:linear-gradient(135deg,#8b7bb5,#7a6a9a)}.roll-table th{padding:12px 15px;text-align:left;font-weight:700;font-size:.9em;letter-spacing:.5px;text-transform:uppercase}.roll-table th:first-child{width:80px;text-align:center}.roll-table td{padding:10px 15px;border-bottom:1px solid rgba(107,91,149,.1);line-height:1.5}.spell-library.dark-mode .roll-table td{border-bottom-color:#8b7bb533}.roll-table tbody tr:last-child td{border-bottom:none}.roll-table tbody tr:hover{background:#6b5b950d}.spell-library.dark-mode .roll-table tbody tr:hover{background:#8b7bb51a}.roll-cell{font-weight:700;text-align:center;color:#6b5b95;font-size:1.05em;min-width:60px}.spell-library.dark-mode .roll-cell{color:#9b8bc5}.result-cell{color:inherit}@media(max-width:768px){.roll-table{font-size:.9em}.roll-table th,.roll-table td{padding:8px 10px}.roll-table th:first-child{width:60px}}@media(max-width:480px){.roll-table{font-size:.85em}.roll-table th,.roll-table td{padding:6px 8px}.roll-cell{font-size:1em}}.ancestry-library-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.ancestry-library{background:#2a2a2a;border:2px solid #444;border-radius:8px;width:95%;max-width:1400px;height:90vh;display:flex;flex-direction:column;color:#e0e0e0}.ancestry-library-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:2px solid #444;background:#1a1a1a}.ancestry-library-header h2{margin:0;font-size:24px;color:#d4af37}.close-btn{background:none;border:none;color:#e0e0e0;font-size:32px;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn:hover{background:#444}.ancestry-library-content{display:flex;flex:1;overflow:hidden}.ancestry-list-panel{width:300px;border-right:2px solid #444;display:flex;flex-direction:column;background:#222}.search-box{padding:15px;border-bottom:1px solid #444}.search-box input{width:100%;padding:10px;background:#ffffffe6;border:1px solid #444;border-radius:4px;color:#000;font-size:14px}.search-box input::placeholder{color:#666}.search-box input:focus{outline:none;border-color:#d4af37;background:#fff}.ancestry-list{flex:1;overflow-y:auto;padding:5px}.ancestry-item{padding:12px;margin:5px;background:#2a2a2a;border:1px solid #444;border-radius:4px;cursor:pointer;transition:all .2s}.ancestry-item:hover{background:#333;border-color:#d4af37}.ancestry-item.selected{background:#3a3a3a;border-color:#d4af37;box-shadow:0 0 10px #d4af374d}.ancestry-item-name{font-weight:700;font-size:16px;margin-bottom:5px;color:#d4af37}.ancestry-item-stats{font-size:12px;color:#999}.ancestry-details-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.ancestry-details-header{padding:20px;border-bottom:2px solid #444;display:flex;justify-content:space-between;align-items:center;background:#1a1a1a}.ancestry-details-header h3{margin:0;font-size:28px;color:#d4af37}.add-to-sheet-btn{padding:10px 20px;background:#4a7c4e;border:2px solid #5a8c5e;border-radius:4px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.add-to-sheet-btn:hover{background:#5a8c5e;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.ancestry-details-content{flex:1;overflow-y:auto;padding:20px}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:18px}.ancestry-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px;padding:15px;background:#1a1a1a;border:1px solid #444;border-radius:4px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:10px;background:#2a2a2a;border-radius:4px}.stat-label{font-size:12px;color:#999;margin-bottom:5px}.stat-value{font-size:20px;font-weight:700;color:#d4af37}.attributes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0;padding:15px;background:#1a1a1a;border:1px solid #444;border-radius:4px}.attr-item{display:flex;flex-direction:column;align-items:center;padding:8px;background:#2a2a2a;border-radius:4px}.attr-label{font-size:11px;color:#999;margin-bottom:3px}.attr-value{font-size:18px;font-weight:700;color:#d4af37}.ancestry-section{margin-bottom:25px;padding:15px;background:#1a1a1a;border:1px solid #444;border-radius:4px}.ancestry-section h4{margin:0 0 15px;font-size:18px;color:#d4af37;border-bottom:1px solid #444;padding-bottom:8px}.ancestry-section p{margin:10px 0;line-height:1.6;color:#ccc}.traits-list,.talents-list{display:flex;flex-direction:column;gap:12px}.trait-item,.talent-item{padding:12px;background:#2a2a2a;border-left:3px solid #d4af37;border-radius:4px;line-height:1.6}.trait-item strong,.talent-item strong{color:#d4af37;display:block;margin-bottom:5px}.ancestry-list::-webkit-scrollbar,.ancestry-details-content::-webkit-scrollbar{width:10px}.ancestry-list::-webkit-scrollbar-track,.ancestry-details-content::-webkit-scrollbar-track{background:#1a1a1a}.ancestry-list::-webkit-scrollbar-thumb,.ancestry-details-content::-webkit-scrollbar-thumb{background:#444;border-radius:5px}.ancestry-list::-webkit-scrollbar-thumb:hover,.ancestry-details-content::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:1024px){.ancestry-library{width:98%}.ancestry-list-panel{width:250px}.ancestry-stats-grid,.attributes-grid{grid-template-columns:repeat(2,1fr)}}.mobile-hint{display:none;text-align:center;color:#d4af37;font-size:12px;padding:8px;margin:0;background:#d4af371a;border-bottom:1px solid #444}@media(max-width:768px){.ancestry-library-content{flex-direction:column}.ancestry-list-panel{width:100%;max-height:40%;border-right:none;border-bottom:2px solid #444}.ancestry-stats-grid,.attributes-grid{grid-template-columns:repeat(2,1fr)}.mobile-hint{display:block}}.compendium-section{width:100%;height:100%;overflow-y:auto;padding:20px;color:#e8e6e3}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #8b4513}.section-header h2{font-size:2em;color:#d4af37;margin:0;font-family:Cinzel,serif}.compendium-section .search-input,.compendium-content .search-input{padding:8px 15px;background:#ffffffe6!important;border:1px solid #8b4513;border-radius:4px;color:#000!important;font-size:14px;min-width:250px}.compendium-section .search-input::placeholder,.compendium-content .search-input::placeholder{color:#666!important}.compendium-section .search-input:focus,.compendium-content .search-input:focus{outline:none;border-color:#d4af37;background:#fff!important;color:#000!important}.header-controls{display:flex;gap:10px;align-items:center}.section-intro{margin-bottom:20px;padding:15px;background:#8b451333;border-left:3px solid #d4af37;border-radius:4px}.section-content{margin-top:20px}.category-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #8b4513;padding-bottom:10px}.category-tab{padding:10px 20px;background:#8b45134d;border:1px solid #8b4513;border-radius:4px 4px 0 0;color:#e8e6e3;cursor:pointer;transition:all .3s ease;font-family:Cinzel,serif}.category-tab:hover{background:#8b451380;border-color:#d4af37}.category-tab.active{background:#d4af3733;border-color:#d4af37;color:#d4af37;border-bottom:2px solid transparent}.rules-section{margin-bottom:30px;padding:20px;background:#0000004d;border-radius:8px;border:1px solid rgba(139,69,19,.5)}.rules-section h3{color:#d4af37;font-family:Cinzel,serif;margin-top:0;font-size:1.5em;border-bottom:1px solid #8b4513;padding-bottom:10px;margin-bottom:15px}.rules-section h4{color:#d4af37;margin-top:15px;margin-bottom:10px}.attribute-details h4{color:#d4af37;margin-top:15px;margin-bottom:8px}.rule-box{background:#8b451333;padding:15px;border-left:3px solid #8b4513;border-radius:4px;margin:15px 0}.rule-box h4{margin-top:0;color:#d4af37}.boons-banes-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.note{font-style:italic;color:#d4af37;margin-top:10px}.rules-table,.equipment-table{width:100%;border-collapse:collapse;margin:20px 0;background:#0000004d}.rules-table th,.equipment-table th{background:#8b451380;color:#d4af37;padding:12px;text-align:left;font-family:Cinzel,serif;border-bottom:2px solid #8b4513}.rules-table td,.equipment-table td{padding:10px 12px;border-bottom:1px solid rgba(139,69,19,.3)}.rules-table tr:hover,.equipment-table tr:hover{background:#8b451333}.profession-categories{margin:30px 0}.profession-categories h3{color:#d4af37;font-family:Cinzel,serif;margin-bottom:15px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:30px}.category-button{padding:15px;background:#8b45134d;border:1px solid #8b4513;border-radius:8px;color:#e8e6e3;cursor:pointer;transition:all .3s ease;text-align:left}.category-button:hover{background:#8b451380;border-color:#d4af37;transform:translateY(-2px)}.category-button.active{background:#d4af3733;border-color:#d4af37}.category-name{font-family:Cinzel,serif;font-size:1.1em;color:#d4af37;margin-bottom:5px}.category-roll{font-size:.9em;color:#b8860b;margin-bottom:5px}.category-desc{font-size:.85em;color:#ccc}.professions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:15px;margin-top:20px}.profession-card{background:#0000004d;border:1px solid rgba(139,69,19,.5);border-radius:8px;padding:15px;transition:all .3s ease}.profession-card:hover{border-color:#d4af37;background:#0006}.profession-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.profession-header h4{margin:0;color:#d4af37;font-family:Cinzel,serif}.profession-roll{background:#8b451380;padding:4px 8px;border-radius:4px;font-size:.9em;color:#d4af37}.profession-description{margin:10px 0;line-height:1.5}.profession-equipment,.profession-bonus{margin-top:10px;padding:8px;background:#8b451333;border-left:2px solid #8b4513;font-size:.9em}.starting-equipment{margin-top:30px;padding:20px;background:#0000004d;border:1px solid rgba(139,69,19,.5);border-radius:8px}.starting-equipment h3,.starting-equipment h4{color:#d4af37;font-family:Cinzel,serif}.starting-equipment ul{line-height:1.8}.equipment-overview{display:grid;gap:20px}.equipment-overview section{background:#0000004d;padding:20px;border-radius:8px;border:1px solid rgba(139,69,19,.5)}.equipment-overview h3{color:#d4af37;font-family:Cinzel,serif;margin-top:0}.equipment-table-container{margin-top:20px}.equipment-table-container h3{color:#d4af37;font-family:Cinzel,serif;margin-bottom:15px}.armor-type,.weapon-category{display:inline-block;padding:4px 8px;background:#8b451380;border-radius:4px;font-size:.85em;color:#d4af37}.weapon-traits{font-size:.85em;color:#ccc}.armor-notes,.weapon-traits-legend{margin-top:20px;padding:15px;background:#8b451333;border-left:3px solid #d4af37;border-radius:4px}.armor-notes h4,.weapon-traits-legend h4{color:#d4af37;margin-top:0;margin-bottom:10px}.armor-notes ul,.weapon-traits-legend ul{margin:0;line-height:1.8}.currency-info{background:#8b451333;padding:15px;border-radius:4px;margin:15px 0}.availability-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.availability-badge.common{background:#4caf504d;color:#81c784;border:1px solid rgba(76,175,80,.5)}.availability-badge.uncommon{background:#2196f34d;color:#64b5f6;border:1px solid rgba(33,150,243,.5)}.availability-badge.rare{background:#9c27b04d;color:#ba68c8;border:1px solid rgba(156,39,176,.5)}.availability-badge.exotic{background:#ff98004d;color:#ffb74d;border:1px solid rgba(255,152,0,.5)}.info-box{padding:15px;background:#8b451333;border-left:3px solid #d4af37;border-radius:4px;margin:15px 0}.info-box.warning{background:#ff980026;border-left-color:#ff9800}.info-box.warning strong{color:#ffb74d}.item-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.item-card{background:#0000004d;border:1px solid rgba(139,69,19,.5);border-radius:8px;padding:20px;transition:all .3s ease}.item-card:hover{border-color:#d4af37;background:#0006}.item-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.item-card-header h4{font-family:Cinzel,serif;color:#d4af37;margin:0;font-size:1.2em}.item-card-price{font-size:1.1em;color:#b8860b;font-weight:700;margin-bottom:10px}.item-card-description{line-height:1.6;color:#ccc;margin:0}.stat-block.compact{background:#8b451326;border:1px solid rgba(139,69,19,.4);border-radius:6px;padding:12px;margin-top:15px;font-size:.9em}.stat-block .stat-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.stat-block .stat-row:last-child{margin-bottom:0}.stat-block .stat-row span{white-space:nowrap}.traits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:15px 0}.traits-grid>div{padding:8px;background:#0003;border-radius:4px;line-height:1.5}.equipment-table tbody tr[title]{cursor:help}.equipment-table-container{overflow-x:auto}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:20px}.personality-table{background:#0003;border-radius:8px;padding:15px}.personality-table h3{color:#d4af37;margin:0 0 5px;font-size:1.1em}.personality-table .roll-type{color:#888;font-size:.85em;margin-bottom:10px;font-style:italic}@media(max-width:1024px){.features-grid{grid-template-columns:1fr}}@media(max-width:768px){.item-cards,.traits-grid{grid-template-columns:1fr}.stat-block .stat-row{gap:8px}.features-grid{gap:20px}}.path-selector{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.path-button{padding:12px 24px;background:#8b45134d;border:1px solid #8b4513;border-radius:8px;color:#e8e6e3;cursor:pointer;transition:all .3s ease;font-family:Cinzel,serif;font-size:1.1em}.path-button:hover{background:#8b451380;border-color:#d4af37;transform:translateY(-2px)}.path-button.active{background:#d4af3733;border-color:#d4af37;color:#d4af37}.path-detail{background:#0000004d;padding:25px;border-radius:8px;border:1px solid rgba(139,69,19,.5)}.path-name{font-family:Cinzel,serif;font-size:2em;color:#d4af37;margin:0 0 15px}.path-description{font-size:1.1em;line-height:1.6;margin-bottom:30px;color:#ccc}.level-section{margin:30px 0;padding:20px;background:#8b45131a;border-radius:8px;border-left:3px solid #d4af37}.level-section h4{font-family:Cinzel,serif;font-size:1.5em;color:#d4af37;margin-top:0;margin-bottom:15px}.stats-grid{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.stat-box{background:#0000004d;padding:12px 16px;border-radius:6px;border:1px solid rgba(139,69,19,.5);display:flex;flex-direction:column;align-items:center;text-align:center;min-width:100px;flex:0 1 auto}.stat-label{font-size:.85em;color:#b8860b;margin-bottom:5px;white-space:nowrap}.stat-value{font-size:1.2em;font-weight:700;color:#d4af37;word-break:break-word}.features-list{display:flex;flex-direction:column;gap:15px}.feature-card{background:#0000004d;padding:15px;border-radius:6px;border:1px solid rgba(139,69,19,.5)}.feature-card h5{font-family:Cinzel,serif;color:#d4af37;margin:0 0 10px;font-size:1.2em}.feature-card p{margin:0 0 10px;line-height:1.6}.feature-options{margin:10px 0 0;padding-left:20px}.feature-options li{margin:8px 0;line-height:1.5}.feature-options li strong{color:#d4af37}.advancement-note{margin-top:30px;padding:20px;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:8px}.advancement-note h4{font-family:Cinzel,serif;color:#d4af37;margin-top:0}.advancement-note p{margin:8px 0;color:#e8e6e3}.compendium-section::-webkit-scrollbar{width:10px}.compendium-section::-webkit-scrollbar-track{background:#0000004d}.compendium-section::-webkit-scrollbar-thumb{background:#8b451380;border-radius:5px}.compendium-section::-webkit-scrollbar-thumb:hover{background:#8b4513b3}.expert-path{background:#0006;padding:25px;margin-bottom:30px;border-radius:8px;border:2px solid rgba(139,69,19,.6)}.expert-path:hover{border-color:#d4af37;background:#00000080}.expert-path .path-name{font-family:Cinzel,serif;font-size:1.8em;color:#d4af37;margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid rgba(139,69,19,.5)}.expert-path .path-description{font-size:1.05em;line-height:1.7;margin-bottom:25px;color:#d0d0d0;font-style:italic;padding:15px;background:#8b45131a;border-left:3px solid #8b4513;border-radius:4px}.path-level{margin:25px 0;padding:20px;background:#8b451326;border-radius:8px;border-left:4px solid #d4af37}.path-level h5{font-family:Cinzel,serif;font-size:1.4em;color:#d4af37;margin:0 0 15px;display:flex;align-items:center;gap:10px}.path-level h5:before{content:"◆";color:#8b4513}.path-level>p{margin:8px 0;color:#e8e6e3}.path-level>p strong{color:#d4af37}.talent{margin:20px 0;padding:15px;background:#0000004d;border-radius:6px;border:1px solid rgba(139,69,19,.5)}.talent p{margin:8px 0;line-height:1.6}.talent p strong{color:#d4af37;font-size:1.05em}.talent ul{margin:10px 0;padding-left:25px}.talent li{margin:8px 0;line-height:1.6;color:#e8e6e3}.talent li strong{color:#d4af37}.talent .note{margin-top:12px;padding:10px;background:#d4af371a;border-left:3px solid #d4af37;border-radius:4px;font-style:italic;color:#d4af37;font-size:.95em}.paths-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:20px}.expert-path-card{background:#0006;border:2px solid rgba(139,69,19,.6);border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;min-height:200px}.expert-path-card:hover{border-color:#d4af37;background:#00000080;transform:translateY(-4px);box-shadow:0 6px 20px #d4af374d}.path-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:10px}.path-card-name{font-family:Cinzel,serif;font-size:1.4em;color:#d4af37;margin:0;flex:1}.path-levels-badge{background:#8b451399;color:#d4af37;padding:4px 10px;border-radius:12px;font-size:.75em;font-weight:700;white-space:nowrap;border:1px solid rgba(212,175,55,.3)}.path-card-description{color:#d0d0d0;line-height:1.6;margin:0 0 auto;font-size:.95em;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.path-card-footer{margin-top:15px;padding-top:15px;border-top:1px solid rgba(139,69,19,.5);display:flex;justify-content:flex-end}.view-details{color:#d4af37;font-weight:700;font-size:.9em;transition:all .2s ease}.expert-path-card:hover .view-details{transform:translate(4px)}.category-filters{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.category-btn{padding:12px 24px;background:#8b45134d;border:2px solid #8b4513;border-radius:8px;color:#e8e6e3;cursor:pointer;transition:all .3s ease;font-family:Cinzel,serif;font-size:1em}.category-btn:hover{background:#8b451380;border-color:#d4af37;transform:translateY(-2px)}.category-btn.active{background:#d4af3733;border-color:#d4af37;color:#d4af37}.back-btn{padding:10px 20px;background:#8b451366;border:1px solid #8b4513;border-radius:6px;color:#e8e6e3;cursor:pointer;transition:all .3s ease;font-size:.95em;margin-bottom:20px}.back-btn:hover{background:#8b451399;border-color:#d4af37;color:#d4af37}.path-details{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.no-results{text-align:center;padding:40px;color:#8b4513;font-size:1.1em}.section-description{color:#b8860b;font-size:.95em;margin:-10px 0 0}.add-level-button{padding:8px 16px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #4caf504d;transition:all .3s;white-space:nowrap}.add-level-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #4caf5066;background:linear-gradient(135deg,#45a049,#3d8b40)}.add-level-button:active{transform:translateY(0)}.add-item-button{padding:4px 12px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1.1em;font-weight:700;box-shadow:0 2px 4px #4caf504d;transition:all .2s}.add-item-button:hover{transform:scale(1.1);box-shadow:0 3px 6px #4caf5066;background:linear-gradient(135deg,#45a049,#3d8b40)}.add-item-button:active{transform:scale(.95)}.add-profession-button{width:100%;margin-top:12px;padding:8px 16px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:.95em;font-weight:600;box-shadow:0 2px 6px #4caf504d;transition:all .3s;white-space:nowrap}.add-profession-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #4caf5066;background:linear-gradient(135deg,#45a049,#3d8b40)}.add-profession-button:active{transform:translateY(0)}@media(max-width:768px){.compendium-section{padding:15px}.section-header{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:12px}.section-title{font-size:1.8em}.header-controls{width:100%;flex-direction:column;gap:10px}.search-input,.filter-select{width:100%;min-width:100%;font-size:16px}.paths-grid{grid-template-columns:1fr;gap:15px}.path-card{padding:15px}.path-header h3{font-size:1.3em}.equipment-table,.professions-table{font-size:13px}.equipment-table th,.equipment-table td,.professions-table th,.professions-table td{padding:8px 6px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.equipment-table{min-width:600px}.path-details{padding:15px}.level-content{padding:12px}.close-compendium-btn,.add-level-button,.add-item-button,.add-profession-button{padding:10px 16px;font-size:14px}.talent{padding:12px}.talent-name{font-size:1.1em}.category-buttons{flex-wrap:wrap;gap:8px}.category-btn{padding:8px 16px;font-size:14px}}@media(max-width:480px){.compendium-section{padding:10px}.section-title{font-size:1.5em}.search-input,.filter-select{padding:10px;font-size:16px}.equipment-table,.professions-table{font-size:11px}.equipment-table th,.equipment-table td,.professions-table th,.professions-table td{padding:6px 4px}.category-buttons{flex-direction:column}.category-btn{width:100%;padding:10px}.path-card{padding:12px}.path-header h3{font-size:1.1em}.path-type{font-size:11px}.path-level{padding:12px}.talent{padding:10px}.talent-name{font-size:1em}.talent-description{font-size:13px}.close-compendium-btn{padding:8px 12px;font-size:13px}.add-level-button,.add-item-button,.add-profession-button{padding:8px 14px;font-size:13px}}@media(max-width:320px){.section-title{font-size:1.3em}.search-input,.filter-select{padding:8px;font-size:16px}.equipment-table,.professions-table{font-size:10px}.path-card,.talent{padding:8px}}.attribute-spreads-grid{display:flex;flex-direction:column;gap:10px}.attribute-spread-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1f1f1f;border-radius:4px;border:1px solid #3a3a3a;flex-wrap:wrap;gap:8px}.attribute-spread-item.disabled{opacity:.5}.attribute-spread-stats{display:flex;gap:12px;font-size:13px;flex-wrap:wrap}.attribute-spread-stats span{white-space:nowrap}.add-spread-btn{padding:4px 12px!important;font-size:12px!important;flex-shrink:0}@media(max-width:480px){.attribute-spread-item{flex-direction:column;align-items:stretch;gap:10px}.attribute-spread-stats{justify-content:space-between;gap:8px}.add-spread-btn{align-self:flex-end}}.talent p,.talent-description,.feature-card p{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media(max-width:768px){.category-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:10px}.category-tab{padding:8px 12px;font-size:12px;flex:0 1 auto;min-width:auto;text-align:center}}@media(max-width:480px){.category-tabs{gap:4px;padding:8px}.category-tab{padding:6px 10px;font-size:11px}}.compendium-overlay{position:fixed;inset:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.compendium-overlay.full-view{position:relative;background:#1a1a1a;padding:0;flex:1;min-height:0}.compendium-container{background:#1a1a1a;border:3px solid #d4af37;border-radius:12px;width:98%;max-width:1600px;height:95vh;display:flex;flex-direction:column;box-shadow:0 0 30px #d4af3780}.compendium-container.full-view{width:100%;max-width:100%;height:100%;border-radius:0;border-left:none;border-right:none;border-bottom:none;box-shadow:none}.compendium-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #d4af37;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.compendium-title{margin:0;font-size:32px;color:#d4af37;font-weight:700;text-shadow:0 0 10px rgba(212,175,55,.5)}.compendium-close-btn{background:none;border:2px solid #d4af37;color:#d4af37;font-size:36px;cursor:pointer;padding:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;font-weight:700}.compendium-close-btn:hover{background:#d4af37;color:#1a1a1a;transform:scale(1.1)}.compendium-header-buttons{display:flex;align-items:center;gap:15px}.compendium-nav-btn{background:#2a2a2a;border:2px solid #d4af37;color:#d4af37;font-size:16px;cursor:pointer;padding:10px 20px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;font-weight:700}.compendium-nav-btn:hover{background:#d4af37;color:#1a1a1a;transform:translate(-5px)}.compendium-tabs{display:flex;gap:10px;padding:15px 30px;background:#0f0f0f;border-bottom:2px solid #333}.compendium-tab{padding:12px 30px;background:#2a2a2a;border:2px solid #444;border-radius:8px;color:#999;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s}.compendium-tab:hover{background:#333;border-color:#d4af37;color:#d4af37}.compendium-tab.active{background:#d4af37;border-color:#d4af37;color:#1a1a1a;box-shadow:0 4px 15px #d4af3766}.compendium-content{flex:1;overflow-x:auto;overflow-y:auto;position:relative;display:flex;flex-direction:column}.compendium-content .ancestry-library-overlay,.compendium-content .spell-library-overlay{position:relative;background:transparent;padding:0;flex:1;display:flex;overflow:auto}.compendium-content .ancestry-library,.compendium-content .spell-library{border:none;border-radius:0;height:100%;max-width:100%;width:100%;flex:1;display:flex;flex-direction:column;overflow:auto}.compendium-content .ancestry-library-header .close-btn,.compendium-content .spell-library-header .close-btn{display:none}@media(max-width:768px){.compendium-overlay{padding:0}.compendium-container{width:100%;height:100vh;border-radius:0;border:none}.compendium-header{padding:15px 20px}.compendium-title{font-size:20px}.compendium-nav-btn{padding:8px 16px;font-size:14px}.compendium-close-btn{width:40px;height:40px;font-size:28px}.compendium-tabs{padding:10px 15px;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;white-space:nowrap}.compendium-tab{padding:10px 16px;font-size:14px;flex-shrink:0;white-space:nowrap}}@media(max-width:480px){.compendium-header{padding:12px 15px;flex-wrap:wrap;gap:10px}.compendium-title{font-size:18px;flex:1 1 100%;text-align:center}.compendium-header-buttons{width:100%;justify-content:space-between}.compendium-nav-btn{padding:8px 12px;font-size:13px;flex:1}.compendium-close-btn{width:36px;height:36px;font-size:24px}.compendium-tabs{padding:8px 10px;gap:5px}.compendium-tab{padding:8px 12px;font-size:12px}}@media(max-width:320px){.compendium-title{font-size:16px}.compendium-nav-btn{padding:6px 10px;font-size:12px}.compendium-close-btn{width:32px;height:32px;font-size:20px}.compendium-tab{padding:6px 10px;font-size:11px}}.creation-guide{min-height:100vh;background:linear-gradient(135deg,#2c1810,#1a0f0a);color:#e8e6e3;padding:40px 20px}.guide-header{max-width:900px;margin:0 auto 30px;display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:2px solid #d4af37}.guide-header h1{font-size:2.5em;color:#d4af37;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.guide-actions{display:flex;gap:10px}.print-btn,.close-btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;transition:all .3s}.print-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 2px 8px #4caf504d}.print-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5080}.close-btn{background:linear-gradient(135deg,#8b4513,#654321);color:#e8e6e3;box-shadow:0 2px 8px #8b45134d}.close-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b451380}.guide-content{max-width:900px;margin:0 auto;background:#2a231cf2;padding:40px;border-radius:12px;box-shadow:0 8px 32px #0006;line-height:1.7}.guide-subtitle{text-align:center;font-size:1.8em;color:#d4af37;margin-top:0;margin-bottom:30px;font-style:italic}.guide-content section{margin-bottom:40px}.guide-content h1{font-size:2em;color:#d4af37;border-bottom:2px solid #8b4513;padding-bottom:10px;margin-top:30px;margin-bottom:20px}.guide-content h2{font-size:1.5em;color:#c9a961;margin-top:25px;margin-bottom:15px}.guide-content h3{font-size:1.2em;color:#b89968;margin-top:20px;margin-bottom:10px}.guide-content p{margin-bottom:15px;color:#e8e6e3}.guide-content ul,.guide-content ol{margin-bottom:20px;padding-left:30px}.guide-content li{margin-bottom:10px;color:#e8e6e3}.guide-content strong{color:#d4af37;font-weight:600}.guide-table{width:100%;border-collapse:collapse;margin:20px 0;background:#1a0f0a99;border-radius:8px;overflow:hidden}.guide-table thead{background:linear-gradient(135deg,#8b4513,#654321)}.guide-table th{padding:12px;text-align:left;color:#d4af37;font-weight:700;border-bottom:2px solid #d4af37}.guide-table td{padding:10px 12px;border-bottom:1px solid rgba(139,69,19,.3);color:#e8e6e3}.guide-table tbody tr:hover{background:#8b451333}.guide-table tbody tr:last-child td{border-bottom:none}.path-card{background:#8b451333;border:2px solid #8b4513;border-radius:12px;padding:25px;margin:25px 0;box-shadow:0 4px 12px #0000004d}.path-card h2{color:#d4af37;font-size:2em;margin-top:0;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.flavor-text{font-style:italic;color:#c9a961;text-align:center;margin:15px 0 25px;padding:15px;background:#0000004d;border-radius:8px;border-left:4px solid #d4af37}@media print{.creation-guide{background:#fff;color:#000;padding:0}.guide-header{border-bottom:2px solid #333}.guide-header h1{color:#333;text-shadow:none}.guide-actions{display:none}.guide-content{background:#fff;box-shadow:none;padding:20px;color:#000}.guide-subtitle{color:#333}.guide-content h1{color:#333;border-bottom:2px solid #666}.guide-content h2,.guide-content h3{color:#444}.guide-content p,.guide-content li,.guide-table td,.guide-content strong{color:#000}.guide-table{background:#fff;border:1px solid #333}.guide-table thead{background:#f0f0f0}.guide-table th{color:#000;border-bottom:2px solid #333}.guide-table td{border-bottom:1px solid #ccc}.path-card{background:#f9f9f9;border:2px solid #666;page-break-inside:avoid}.path-card h2{color:#000;text-shadow:none}.flavor-text{color:#333;background:#f0f0f0;border-left:4px solid #666}.page-break{page-break-before:always}section{page-break-inside:avoid}}@page{margin:.75in}@media(max-width:768px){.creation-guide{padding:20px 10px}.guide-header{flex-direction:column;align-items:flex-start;gap:15px;padding-bottom:15px}.guide-header h1{font-size:1.8em}.guide-actions{width:100%;justify-content:space-between}.print-btn,.close-btn{padding:8px 16px;font-size:14px}.guide-content{padding:25px 20px}.guide-subtitle{font-size:1.4em}.guide-content h1{font-size:1.6em}.guide-content h2{font-size:1.3em}.guide-content h3{font-size:1.1em}.guide-content p,.guide-content li{font-size:14px}.guide-table{font-size:13px;overflow-x:auto;display:block}.guide-table th,.guide-table td{padding:8px 6px}.path-card{padding:18px;margin:20px 0}.path-card h2{font-size:1.6em}.flavor-text{font-size:14px;padding:12px}}@media(max-width:480px){.creation-guide{padding:15px 5px}.guide-header{padding-bottom:12px}.guide-header h1{font-size:1.5em}.print-btn,.close-btn{padding:6px 12px;font-size:13px}.guide-content{padding:20px 15px}.guide-subtitle{font-size:1.2em}.guide-content h1{font-size:1.4em;margin-top:20px}.guide-content h2{font-size:1.2em}.guide-content h3{font-size:1em}.guide-content p,.guide-content li{font-size:13px}.guide-content ul,.guide-content ol{padding-left:20px}.guide-table{font-size:11px}.guide-table th,.guide-table td{padding:6px 4px}.path-card{padding:15px;margin:15px 0}.path-card h2{font-size:1.4em}.path-card h3{font-size:1em}.flavor-text{font-size:13px;padding:10px}.guide-table{min-width:300px}.guide-content section{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:320px){.guide-header h1{font-size:1.3em}.print-btn,.close-btn{padding:5px 10px;font-size:12px}.guide-content{padding:15px 10px}.guide-subtitle{font-size:1.1em}.guide-content h1{font-size:1.2em}.guide-content h2{font-size:1.1em}.guide-content h3{font-size:.95em}.guide-content p,.guide-content li{font-size:12px}.guide-table{font-size:10px}.guide-table th,.guide-table td{padding:4px 3px}.path-card{padding:12px}.path-card h2{font-size:1.2em}.flavor-text{font-size:12px;padding:8px}}.encounter-builder{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e0e0e0;padding:20px}.encounter-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#ffffff0d;border-radius:12px;margin-bottom:20px}.encounter-header-left{display:flex;align-items:center;gap:20px}.encounter-header h1{margin:0;font-size:1.8em;color:#fff}.back-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .2s}.back-button:hover{background:#fff3}.encounter-header-right{display:flex;gap:10px}.encounter-header-right button{padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:all .2s}.save-btn{background:#4caf50;color:#fff}.save-btn:hover{background:#45a049}.load-btn{background:#2196f3;color:#fff}.load-btn:hover{background:#1976d2}.clear-btn{background:#ffffff1a;color:#ff6b6b;border:1px solid #ff6b6b!important}.clear-btn:hover{background:#ff6b6b33}.random-btn{background:linear-gradient(135deg,#9c27b0,#673ab7);color:#fff}.random-btn:hover{background:linear-gradient(135deg,#7b1fa2,#512da8)}.view-toggle{display:flex;gap:10px;margin-bottom:20px}.view-toggle button{flex:1;max-width:200px;padding:15px 30px;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;color:#ccc;border-radius:10px;cursor:pointer;font-size:1.1em;font-weight:600;transition:all .3s}.view-toggle button:hover{background:#ffffff1a;border-color:#ffffff4d}.view-toggle button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#764ba2;color:#fff}.difficulty-summary{background:#ffffff0d;border-radius:12px;padding:20px;margin-bottom:20px;border-left:4px solid #666}.difficulty-info{display:flex;flex-direction:column;gap:10px}.difficulty-label{display:flex;align-items:center;gap:15px;font-size:1.2em}.difficulty-rating{font-weight:700;font-size:1.3em}.difficulty-details{display:flex;align-items:center;gap:15px;color:#aaa;flex-wrap:wrap}.separator{color:#555}.thresholds{font-size:.9em;color:#bbb}.combatants-view{display:grid;grid-template-columns:1fr 1fr;gap:20px}.combatants-section{background:#ffffff08;border-radius:12px;padding:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header h2{margin:0;font-size:1.3em;color:#fff}.add-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .2s,box-shadow .2s}.add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.empty-state{text-align:center;padding:40px 20px;color:#888;font-style:italic}.combatants-list{display:flex;flex-direction:column;gap:15px}.combatant-card{background:#ffffff0d;border-radius:10px;padding:15px;border:1px solid rgba(255,255,255,.1);transition:all .2s}.combatant-card:hover{border-color:#fff3}.combatant-card.player{border-left:3px solid #4CAF50}.combatant-card.monster{border-left:3px solid #f44336}.combatant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.combatant-main{display:flex;align-items:center;gap:10px;flex:1}.combatant-name{font-weight:700;font-size:1.1em;color:#fff}.name-input{flex:1;max-width:250px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 12px;border-radius:6px;font-size:1em}.name-input::placeholder{color:#888}.difficulty-badge{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600}.remove-btn{background:#ff6b6b33;border:none;color:#ff6b6b;width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:1.2em;transition:all .2s}.remove-btn:hover{background:#ff6b6b66}.combatant-stats{display:flex;gap:15px;margin-bottom:12px;flex-wrap:wrap}.stat-group{display:flex;flex-direction:column;gap:4px;align-items:center}.stat-group label{font-size:.75em;color:#888;text-transform:uppercase;letter-spacing:.5px}.stat-input{width:60px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px;border-radius:6px;text-align:center;font-size:1em}.stat-input:focus{outline:none;border-color:#667eea}.stat-input.boon{border-color:#4caf5080}.stat-input.bane{border-color:#f4433680}.stat-input.level{border-color:#9c27b080;width:50px}.max-health{font-size:.85em;color:#888}.conditions-section{border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.conditions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.conditions-header span{font-size:.9em;color:#aaa}.condition-dropdown-wrapper{position:relative}.add-condition-btn{background:#667eea33;border:1px solid rgba(102,126,234,.4);color:#667eea;padding:5px 12px;border-radius:5px;cursor:pointer;font-size:.85em;transition:all .2s}.add-condition-btn:hover{background:#667eea4d}.condition-dropdown{position:absolute;top:100%;right:0;background:#1a1a2e;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px;z-index:100;width:300px;max-height:400px;overflow-y:auto;box-shadow:0 10px 30px #00000080}.condition-option{padding:10px 12px;cursor:pointer;border-radius:6px;transition:all .2s;margin-bottom:4px}.condition-option:hover{background:#ffffff1a}.condition-option.active{background:#667eea33}.condition-name{font-weight:600;color:#fff;display:block}.condition-banes{font-size:.8em;color:#ff6b6b;margin-left:8px}.condition-desc{font-size:.8em;color:#888;display:block;margin-top:4px}.conditions-list{display:flex;flex-wrap:wrap;gap:6px}.no-conditions{color:#666;font-style:italic;font-size:.9em}.condition-tag{background:#ff980033;border:1px solid rgba(255,152,0,.4);color:#ffb74d;padding:4px 10px;border-radius:15px;font-size:.85em;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s}.condition-tag:hover{background:#ff98004d}.bane-indicator{background:#f443364d;color:#ff6b6b;padding:1px 5px;border-radius:8px;font-size:.75em}.remove-condition{color:#ff6b6b;font-weight:700;margin-left:3px}.monster-stat-block{border-top:1px solid rgba(255,255,255,.1);background:#0003;margin:12px -15px -15px;padding:12px 15px 15px;border-radius:0 0 10px 10px}.stat-block-row{display:flex;gap:15px;margin-bottom:6px;flex-wrap:wrap}.stat-block-row span{color:#ccc;font-size:.85em}.stat-block-row.immune span{color:#81c784}.stat-block-section{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.stat-block-section h5{margin:0 0 6px;color:#a5b4fc;font-size:.85em;text-transform:uppercase;letter-spacing:.5px}.stat-block-section p{margin:4px 0;font-size:.85em;color:#bbb;line-height:1.45}.bestiary-view{background:#ffffff08;border-radius:12px;padding:20px}.bestiary-filters{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.encounter-builder .search-input,.encounter-builder input[type=text],.encounter-builder input[type=number],.bestiary-view .search-input,.bestiary-filters .search-input{flex:1;min-width:200px;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2);color:#fff!important;padding:12px 15px;border-radius:8px;font-size:1em}.encounter-builder .search-input::placeholder,.bestiary-view .search-input::placeholder,.bestiary-filters .search-input::placeholder{color:#888!important}.encounter-builder .search-input:focus,.bestiary-view .search-input:focus,.bestiary-filters .search-input:focus{outline:none;border-color:#4a9eff;background:#ffffff26!important;color:#fff!important}.encounter-builder input:-webkit-autofill,.encounter-builder input:-webkit-autofill:hover,.encounter-builder input:-webkit-autofill:focus,.bestiary-view input:-webkit-autofill,.bestiary-filters input:-webkit-autofill{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0px 1000px #2a2a3e inset!important;transition:background-color 5000s ease-in-out 0s}.filter-select{background:#2a2a3e;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 15px;border-radius:8px;cursor:pointer}.filter-select option{background:#2a2a3e;color:#fff}.results-count{color:#888;font-size:.9em}.bestiary-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;min-height:200px;max-height:calc(100vh - 350px);overflow-y:auto;padding:5px}.enemy-card{background:#ffffff1a;border-radius:10px;border:2px solid rgba(255,255,255,.2);overflow:visible;transition:all .2s}.enemy-card:hover{border-color:#fff3}.enemy-card.expanded{background:#ffffff14}.enemy-card-header{display:flex;flex-direction:column;padding:12px;cursor:pointer;width:100%;box-sizing:border-box;gap:10px}.enemy-info{flex:1;min-width:0}.enemy-info h3{margin:0 0 6px;color:#fff;font-size:1em;word-wrap:break-word}.enemy-tags{display:flex;gap:8px;flex-wrap:wrap}.difficulty-tag{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;padding:3px 10px;border-radius:10px;font-size:.8em;font-weight:600}.descriptor-tag{background:#667eea33;color:#a5b4fc;padding:3px 10px;border-radius:10px;font-size:.8em}.add-monster-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:transform .2s;flex-shrink:0;white-space:nowrap}.add-monster-btn:hover{transform:scale(1.05)}.enemy-card-stats{padding:0 12px 12px;border-top:1px solid rgba(255,255,255,.1)}.enemy-lore-section{border-top:1px solid rgba(255,255,255,.1);padding:10px 12px}.lore-toggle-btn{background:#ffc10726;border:1px solid rgba(255,193,7,.3);color:#ffc107;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:600;transition:all .2s;width:100%;text-align:left}.lore-toggle-btn:hover{background:#ffc10740;border-color:#ffc10780}.enemy-lore-content{margin-top:10px;padding:12px;background:#ffc1070d;border-radius:6px;border-left:3px solid rgba(255,193,7,.3)}.enemy-lore-content p{margin:0;font-size:.9em;color:#ccc;line-height:1.6;font-style:italic}.enemy-card-details{padding:0 15px 15px;border-top:1px solid rgba(255,255,255,.1)}.stat-row{display:flex;gap:20px;margin-bottom:8px;flex-wrap:wrap}.stat-row span{color:#ccc;font-size:.9em}.stat-row.immune span{color:#81c784}.traits-section,.actions-section,.reactions-section,.end-round-section{margin-top:15px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05)}.traits-section h4,.actions-section h4,.reactions-section h4,.end-round-section h4{margin:0 0 10px;color:#fff;font-size:.95em}.traits-section p,.actions-section p,.reactions-section p,.end-round-section p{margin:6px 0;font-size:.9em;color:#bbb;line-height:1.5}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#1a1a2e;border-radius:12px;padding:25px;width:90%;max-width:500px;border:1px solid rgba(255,255,255,.1)}.modal h2{margin:0 0 20px;color:#fff}.encounter-name-input{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 15px;border-radius:8px;font-size:1em;margin-bottom:20px;box-sizing:border-box}.modal-buttons{display:flex;justify-content:flex-end;gap:10px}.modal-buttons button{padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:all .2s}.modal-buttons button:first-child{background:#ffffff1a;color:#ccc}.modal-buttons button.primary{background:#4caf50;color:#fff}.no-encounters{text-align:center;color:#888;padding:20px}.saved-encounters-list{max-height:300px;overflow-y:auto;margin-bottom:20px}.saved-encounter-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff0d;border-radius:8px;margin-bottom:8px}.encounter-info strong{display:block;color:#fff}.encounter-meta{font-size:.85em;color:#888}.encounter-actions{display:flex;gap:8px}.encounter-actions button{padding:6px 12px;border-radius:5px;border:none;cursor:pointer;font-size:.85em}.encounter-actions button:first-child{background:#2196f3;color:#fff}.encounter-actions .delete-btn{background:#f4433633;color:#ff6b6b}@media(max-width:1024px){.combatants-view{grid-template-columns:1fr}}@media(max-width:768px){.encounter-header{flex-direction:column;gap:15px;align-items:stretch}.encounter-header-left{justify-content:space-between}.encounter-header-right{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.encounter-header-right button{flex:1 1 auto;min-width:80px;max-width:150px;padding:10px 12px;font-size:13px;text-align:center;display:flex;align-items:center;justify-content:center}.difficulty-details{flex-direction:column;align-items:flex-start;gap:8px}.separator{display:none}.combatant-stats{justify-content:center}.bestiary-filters{flex-direction:column}.search-input,.filter-select{width:100%}.bestiary-list{grid-template-columns:repeat(2,1fr)}.add-monster-btn{align-self:flex-end}}@media(max-width:480px){.bestiary-list{grid-template-columns:1fr}.encounter-builder{padding:10px}.encounter-header-right{gap:6px}.encounter-header-right button{min-width:70px;max-width:120px;padding:8px 10px;font-size:12px}.view-toggle button{padding:12px 15px;font-size:.95em}.stat-group{flex:1;min-width:60px}.condition-dropdown{width:280px;right:-50px}}.random-encounter-modal{max-width:550px}.random-warning{text-align:center;padding:20px 0}.random-warning .warning-icon{font-size:3em;margin-bottom:15px}.random-warning p{color:#e0e0e0;margin:0 0 10px;line-height:1.5}.random-warning .warning-hint{color:#888;font-size:.9em;margin-bottom:20px}.random-config .random-info{text-align:center;color:#e0e0e0;margin-bottom:20px;padding:10px;background:#ffffff0d;border-radius:8px}.difficulty-selector{margin-bottom:20px}.difficulty-selector label{display:block;color:#ccc;margin-bottom:12px;font-weight:500}.difficulty-options{display:flex;gap:10px}.difficulty-option{flex:1;padding:15px 10px;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:5px}.difficulty-option:hover{background:#ffffff1a}.difficulty-option.selected{border-color:currentColor;background:#ffffff1a}.difficulty-option.easy{color:#4caf50}.difficulty-option.easy.selected{border-color:#4caf50;box-shadow:0 0 15px #4caf504d}.difficulty-option.average{color:#ff9800}.difficulty-option.average.selected{border-color:#ff9800;box-shadow:0 0 15px #ff98004d}.difficulty-option.hard{color:#f44336}.difficulty-option.hard.selected{border-color:#f44336;box-shadow:0 0 15px #f443364d}.difficulty-option .diff-name{font-weight:700;font-size:1.1em}.difficulty-option .diff-value{font-size:.85em;opacity:.8}.enemy-type-filter{margin:20px 0;padding:15px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.enemy-type-filter>label{display:block;color:#ccc;font-weight:500;margin-bottom:8px}.enemy-type-filter .filter-hint{color:#888;font-size:.85em;margin:0 0 12px}.type-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding:5px}.type-checkbox{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ffffff0d;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.85em}.type-checkbox:hover{background:#ffffff1a}.type-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#4CAF50;cursor:pointer}.type-checkbox .type-label{color:#e0e0e0;flex:1}.type-checkbox .type-count{color:#888;font-size:.85em}.type-checkbox:has(input:checked){background:#4caf5033;border:1px solid rgba(76,175,80,.4)}.type-checkbox:has(input:checked) .type-label{color:#4caf50}.clear-types-btn{margin-top:12px;padding:8px 16px;background:#ff98001a;color:#ff9800;border:1px solid rgba(255,152,0,.3);border-radius:6px;cursor:pointer;font-size:.85em;transition:all .2s}.clear-types-btn:hover{background:#ff980033}.replace-warning{text-align:center;color:#ff9800;font-size:.9em;margin-bottom:15px;padding:8px;background:#ff98001a;border-radius:6px}.generate-btn{background:linear-gradient(135deg,#9c27b0,#673ab7)!important}.generate-btn:hover{background:linear-gradient(135deg,#7b1fa2,#512da8)!important}@media(max-width:480px){.difficulty-options{flex-direction:column}.difficulty-option{flex-direction:row;justify-content:space-between;padding:12px 15px}}.print-btn{background:linear-gradient(135deg,#607d8b,#455a64)!important}.print-btn:hover{background:linear-gradient(135deg,#455a64,#37474f)!important}.print-overlay{position:fixed;inset:0;background:#000000e6;z-index:2000;overflow-y:auto;padding:20px}.print-content{max-width:800px;margin:0 auto;background:#fff;color:#000;padding:30px;border-radius:8px;position:relative}.print-close-btn{position:absolute;top:10px;right:10px;background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.print-close-btn:hover{background:#d32f2f}.print-header{text-align:center;border-bottom:2px solid #333;padding-bottom:15px;margin-bottom:20px}.print-header h1{margin:0 0 10px;font-size:24px;color:#333}.print-difficulty{display:flex;justify-content:center;gap:30px;font-size:14px}.print-section{margin-bottom:25px}.print-section h2{font-size:18px;color:#333;border-bottom:1px solid #ccc;padding-bottom:8px;margin-bottom:15px}.print-players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.print-player-card{border:1px solid #ccc;border-radius:6px;padding:12px;background:#f9f9f9}.print-player-name{font-weight:700;font-size:16px;margin-bottom:8px;color:#333}.print-player-stats{display:flex;flex-wrap:wrap;gap:10px;font-size:13px}.print-player-stats span{background:#e0e0e0;padding:2px 8px;border-radius:4px}.print-conditions{margin-top:8px;font-size:12px;color:#c62828}.print-monsters-list{display:flex;flex-direction:column;gap:20px}.print-monster-card{border:2px solid #333;border-radius:8px;overflow:hidden;page-break-inside:avoid}.print-monster-header{background:#333;color:#fff;padding:10px 15px;display:flex;justify-content:space-between;align-items:center}.print-monster-header h3{margin:0;font-size:18px}.print-difficulty-badge{background:#ff9800;color:#000;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700}.print-stat-block{padding:15px}.print-stat-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:8px;font-size:13px}.print-stat-row span{white-space:nowrap}.print-immune{color:#c62828}.print-abilities{margin-top:12px;padding-top:10px;border-top:1px solid #ddd}.print-abilities h4{margin:0 0 8px;font-size:14px;color:#333;text-transform:uppercase}.print-abilities p{margin:6px 0;font-size:12px;line-height:1.5}.print-footer{margin-top:30px;padding-top:15px;border-top:1px solid #ccc;text-align:center;font-size:12px;color:#666}@media print{body *{visibility:hidden}.print-overlay,.print-overlay *{visibility:visible}.print-overlay{position:absolute;left:0;top:0;background:#fff;padding:0}.print-content{max-width:100%;margin:0;padding:20px;border-radius:0;box-shadow:none}.no-print{display:none!important}.print-monster-card,.print-section{break-inside:avoid}}.monster-buttons{display:flex;gap:10px;flex-wrap:wrap}.monster-buttons .add-btn{padding:8px 12px;font-size:.85em}.monster-buttons .custom-btn{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.monster-buttons .custom-btn:hover{background:linear-gradient(135deg,#ab47bc,#8e24aa)}.monster-buttons .library-btn{background:linear-gradient(135deg,#607d8b,#455a64)}.monster-buttons .library-btn:hover{background:linear-gradient(135deg,#78909c,#546e7a)}.custom-enemy-modal{max-width:800px;width:95%;max-height:90vh;display:flex;flex-direction:column}.custom-enemy-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:15px}.custom-enemy-header h2{margin:0;font-size:1.4em}.custom-enemy-header .close-btn{background:none;border:none;color:#999;font-size:1.5em;cursor:pointer;padding:0;line-height:1}.custom-enemy-header .close-btn:hover{color:#fff}.custom-enemy-form{flex:1;overflow-y:auto;padding-right:10px;max-height:calc(90vh - 180px)}.form-section{background:#0003;border-radius:8px;padding:15px;margin-bottom:15px}.form-section h3{margin:0 0 12px;font-size:1em;color:#4fc3f7;border-bottom:1px solid rgba(79,195,247,.3);padding-bottom:8px}.form-row{display:flex;gap:15px;flex-wrap:wrap}.form-group{flex:1;min-width:150px}.form-group.small{flex:0 0 80px;min-width:80px}.form-group label{display:block;font-size:.8em;color:#aaa;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#0000004d!important;color:#fff!important;font-size:.9em}.form-group input::placeholder,.form-group textarea::placeholder{color:#888!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4fc3f7;color:#fff!important}.form-group input[type=number]{text-align:center}.form-group .mod{display:block;text-align:center;font-size:.8em;color:#888;margin-top:2px}.attributes-row{display:flex;justify-content:space-between}.attributes-row .form-group{flex:1;max-width:100px;text-align:center}.ability-item{background:#0003;border-radius:6px;padding:10px;margin-bottom:10px;position:relative}.ability-item .ability-name{width:100%;margin-bottom:8px;font-weight:700}.ability-item .ability-desc{width:100%;min-height:60px;resize:vertical}.ability-item .remove-ability-btn{position:absolute;top:5px;right:5px;background:#f443364d;border:none;color:#f44336;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1em;line-height:1}.ability-item .remove-ability-btn:hover{background:#f4433680}.action-item .action-header{display:flex;gap:10px;margin-bottom:8px}.action-item .action-type{flex:0 0 120px}.action-item .ability-name{flex:1;margin-bottom:0}.action-item .action-traits{flex:1}.add-ability-btn{background:#4caf5033;border:1px dashed rgba(76,175,80,.5);color:#4caf50;padding:8px 15px;border-radius:6px;cursor:pointer;width:100%;font-size:.9em}.add-ability-btn:hover{background:#4caf504d;border-color:#4caf50}.lore-textarea{width:100%;min-height:80px;resize:vertical}.custom-enemy-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(255,255,255,.1);margin-top:15px}.footer-left,.footer-right{display:flex;gap:10px}.save-library-btn{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;color:#fff;padding:10px 15px;border-radius:6px;cursor:pointer}.save-library-btn:hover{background:linear-gradient(135deg,#42a5f5,#1e88e5)}.export-btn{background:linear-gradient(135deg,#607d8b,#455a64);border:none;color:#fff;padding:10px 15px;border-radius:6px;cursor:pointer}.export-btn:hover{background:linear-gradient(135deg,#78909c,#546e7a)}.custom-enemy-library-modal{max-width:600px;width:95%;max-height:80vh}.library-actions{display:flex;gap:10px;margin-bottom:15px}.import-btn{background:linear-gradient(135deg,#4caf50,#388e3c);border:none;color:#fff;padding:10px 15px;border-radius:6px;cursor:pointer;font-size:.9em}.import-btn:hover{background:linear-gradient(135deg,#66bb6a,#43a047)}.export-all-btn{background:linear-gradient(135deg,#ff9800,#f57c00);border:none;color:#fff;padding:10px 15px;border-radius:6px;cursor:pointer;font-size:.9em}.export-all-btn:hover{background:linear-gradient(135deg,#ffb74d,#fb8c00)}.empty-library{text-align:center;padding:30px;color:#888}.custom-enemies-list{max-height:400px;overflow-y:auto}.custom-enemy-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#0003;border-radius:8px;margin-bottom:10px}.custom-enemy-info{display:flex;flex-direction:column;gap:4px}.custom-enemy-info strong{font-size:1em;color:#fff}.custom-enemy-meta{font-size:.8em;color:#888}.custom-enemy-actions{display:flex;gap:8px}.custom-enemy-actions button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.85em;background:#ffffff1a;color:#fff}.custom-enemy-actions button:hover{background:#fff3}.custom-enemy-actions .delete-btn{background:#f4433633;color:#f44336}.custom-enemy-actions .delete-btn:hover{background:#f4433666}@media(max-width:768px){.custom-enemy-modal{max-height:95vh}.custom-enemy-form{max-height:calc(95vh - 200px)}.form-row{flex-direction:column}.form-group,.form-group.small{min-width:100%}.attributes-row{flex-wrap:wrap}.attributes-row .form-group{flex:1 1 45%;max-width:none;margin-bottom:10px}.action-item .action-header{flex-direction:column}.action-item .action-type,.action-item .action-traits{flex:1;width:100%}.custom-enemy-footer{flex-direction:column;gap:15px}.footer-left,.footer-right,.monster-buttons{width:100%;justify-content:center}.monster-buttons .add-btn{flex:1;text-align:center}}.print-enemy-btn{background:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.print-enemy-btn:hover{background:#1976d2}.custom-enemy-actions .print-btn{background:#2196f3;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.custom-enemy-actions .print-btn:hover{background:#1976d2}.custom-enemy-print{max-width:600px}.custom-enemy-print .print-monster-card{page-break-inside:avoid}.print-descriptors{font-style:italic;color:#666;margin-bottom:15px;font-size:14px}.print-lore{margin-top:20px;padding-top:15px;border-top:1px solid #ddd}.print-lore h4{font-size:14px;color:#4a0e8f;margin-bottom:8px}.print-lore p{font-size:13px;color:#555;line-height:1.5}@media print{.print-descriptors{color:#333}.print-lore h4{color:#000}.print-lore p{color:#333}}.toast{position:fixed;top:100px;right:30px;background-color:#fff;color:#333;padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;z-index:10000;transition:all .3s ease;border-left:4px solid #4CAF50}.toast.show{opacity:1;transform:translate(0);animation:slideIn .3s ease}.toast.hide{opacity:0;transform:translate(100%)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon{font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0}.toast.success{border-left-color:#4caf50}.toast.success .toast-icon{background-color:#4caf50;color:#fff}.toast.info{border-left-color:#2196f3}.toast.info .toast-icon{background-color:#2196f3;color:#fff}.toast.warning{border-left-color:#ff9800}.toast.warning .toast-icon{background-color:#ff9800;color:#fff}.toast.error{border-left-color:#f44336}.toast.error .toast-icon{background-color:#f44336;color:#fff}.toast-message{flex:1;font-size:15px;line-height:1.4}@media(max-width:768px){.toast{right:10px;left:10px;min-width:auto;max-width:none}}.App{min-height:100vh;background-color:#f5f5f5;overflow-x:hidden;width:100%;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}@media(max-width:768px){button,a,input[type=button],input[type=submit],input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}*{-webkit-tap-highlight-color:rgba(0,0,0,.1)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html{scroll-behavior:smooth}input,textarea,select{font-size:16px!important}}.app-nav{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #00000026;padding:0;position:sticky;top:0;z-index:1000;border-bottom:3px solid #4CAF50}.app-nav.dark-mode{background:linear-gradient(135deg,#434343,#000);box-shadow:0 4px 12px #0006;border-bottom-color:#66bb6a}.nav-container{max-width:1400px;margin:0 auto;width:100%}.nav-header{text-align:center;padding:12px 20px 8px;color:#fff}.nav-header h1{margin:0;font-size:1.8em;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.nav-header p{margin:4px 0 0;font-size:.9em;opacity:.9}.nav-buttons{display:flex}.nav-buttons button{flex:1;padding:16px 24px;border:none;background:#ffffff1a;font-size:1.1em;font-weight:600;cursor:pointer;color:#fffc;transition:all .3s;border-bottom:4px solid transparent;position:relative}.nav-buttons button:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .3s}.nav-buttons button:hover:before{opacity:1}.nav-buttons button:hover{background:#fff3;color:#fff;transform:translateY(-2px)}.nav-buttons button.active{color:#fff;border-bottom-color:#4caf50;background:#4caf504d;box-shadow:inset 0 -4px #4caf5080}.app-nav.dark-mode .nav-buttons button.active{border-bottom-color:#66bb6a;background:#66bb6a4d;box-shadow:inset 0 -4px #66bb6a80}.nav-buttons button.active:after{content:"▼";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);color:#4caf50;font-size:1.2em}.app-nav.dark-mode .nav-buttons button.active:after{color:#66bb6a}.back-btn{background:#ffffff26!important;border-left:1px solid rgba(255,255,255,.2)!important;font-size:.95em!important}.back-btn:before{content:""!important}@media(max-width:768px){.nav-header h1{font-size:1.3em}.nav-header p{font-size:.8em}.nav-buttons button{padding:14px 16px;font-size:1em}}@media(max-width:480px){.nav-header{padding:8px 12px 6px}.nav-header h1{font-size:1.1em}.nav-header p{display:none}.nav-buttons button{font-size:.9em;padding:12px 8px}}.trademark-footer{background:linear-gradient(135deg,#1a1a1a,#0d0d0d);border-top:1px solid #333;padding:20px;text-align:center;margin-top:auto}.trademark-footer p{color:#666;font-size:11px;line-height:1.6;max-width:800px;margin:0 auto;font-style:italic}@media(max-width:768px){.trademark-footer{padding:15px 12px}.trademark-footer p{font-size:10px;line-height:1.5}}@media(max-width:480px){.trademark-footer{padding:12px 10px}.trademark-footer p{font-size:9px;line-height:1.4}}
