@import "https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,700;1,700&family=Roboto+Condensed:wght@400;700&display=swap";.notifications-container{position:relative}.notifications-bell{color:#e5e7eb;cursor:pointer;background:0 0;border:1px solid #94a3b84d;border-radius:.5rem;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;transition:all .2s;display:flex;position:relative}.notifications-bell:hover{background:#94a3b81a;border-color:#38bdf880}.bell-icon{font-size:1.2rem}.notification-badge{color:#fff;background:#ef4444;border:2px solid #0f172ae6;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.notifications-overlay{z-index:999;position:fixed;inset:0}.notifications-dropdown{z-index:1000;background:#0f172afa;border:1px solid #94a3b833;border-radius:.75rem;flex-direction:column;width:380px;max-width:90vw;max-height:500px;display:flex;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 10px 25px #0000004d}.notifications-header{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;padding:1rem;display:flex}.notifications-header h3{color:#e5e7eb;margin:0;font-size:1.1rem}.mark-all-read-btn{color:#38bdf8;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem .5rem;font-size:.85rem;transition:background .2s}.mark-all-read-btn:hover{background:#38bdf81a}.notifications-list{max-height:400px;overflow-y:auto}.notification-item{cursor:pointer;border-bottom:1px solid #94a3b81a;gap:.75rem;padding:1rem;transition:background .2s;display:flex;position:relative}.notification-item:hover{background:#94a3b80d}.notification-item.unread{background:#38bdf80d;border-left:3px solid #38bdf8}.notification-icon{flex-shrink:0;font-size:1.5rem}.notification-content{flex:1;min-width:0}.notification-content h4{color:#e5e7eb;margin:0 0 .25rem;font-size:.9rem}.notification-content p{color:#9ca3af;margin:0 0 .25rem;font-size:.85rem;line-height:1.4}.notification-time{color:#6b7280;font-size:.75rem}.notification-delete{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.notification-delete:hover{color:#ef4444;background:#ef44441a}@media (width<=640px){.notifications-dropdown{width:calc(100vw - 2rem);right:-1rem}}.section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.modal-overlay{z-index:2000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#0f172afa;border:1px solid #94a3b833;border-radius:1rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000004d}.modal-header{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{color:#e5e7eb;margin:0;font-size:1.25rem}.modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;transition:all .2s;display:flex}.modal-close:hover{color:#e5e7eb;background:#94a3b81a}.modal-body{padding:1.5rem}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.field label{color:#e5e7eb;margin-bottom:.5rem;font-size:.9rem;display:block}.field .input{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b833;border-radius:.5rem;width:100%;padding:.75rem;font-family:inherit;font-size:.9rem}.sessions-list{flex-direction:column;gap:1rem;display:flex}.session-card{background:#0f172a99;border:1px solid #94a3b833;border-radius:.75rem;padding:1.25rem;transition:all .2s}.session-card:hover{background:#0f172acc;border-color:#38bdf84d}.session-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.session-header h3{color:#e5e7eb;margin:0 0 .25rem;font-size:1.1rem}.session-date-subtitle{color:#9ca3af;margin:0;font-size:.85rem}.session-actions{flex-shrink:0;gap:.5rem;display:flex}.session-notes{border-top:1px solid #94a3b833;margin-top:.75rem;padding-top:.75rem}.session-notes p{color:#d1d5db;white-space:pre-wrap;margin:0;line-height:1.6}.sessions-calendar{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem;display:grid}.calendar-session-card{cursor:pointer;background:#0f172a99;border:1px solid #94a3b833;border-radius:.75rem;padding:1rem;transition:all .2s}.calendar-session-card:hover{background:#0f172acc;border-color:#38bdf84d;transform:translateY(-2px)}.calendar-session-card.past{opacity:.7}.calendar-session-card.scheduled{background:#fbbf240d;border-color:#fbbf2480}.calendar-date{border-bottom:1px solid #94a3b833;flex-direction:column;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.calendar-day{color:#38bdf8;font-size:2rem;font-weight:700;line-height:1}.calendar-month{color:#9ca3af;text-transform:uppercase;margin-top:.25rem;font-size:.85rem}.calendar-content h4{color:#e5e7eb;margin:0 0 .5rem;font-size:1rem}.calendar-notes{color:#9ca3af;margin:.5rem 0 0;font-size:.85rem;line-height:1.4}.calendar-badge{color:#fbbf24;background:#fbbf2433;border-radius:.25rem;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem;display:inline-block}.attendance-list{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.attendance-item{background:#0f172a99;border:1px solid #94a3b833;border-radius:.5rem;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.attendance-user{flex:1;align-items:center;gap:.75rem;display:flex}.attendance-avatar{object-fit:cover;border:2px solid #38bdf84d;border-radius:50%;width:40px;height:40px}.attendance-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#38bdf8,#6366f1);border:2px solid #38bdf84d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.attendance-controls{flex-direction:column;gap:.5rem;min-width:200px;display:flex}.attendance-badge{border-radius:.5rem;padding:.4rem .8rem;font-size:.85rem;font-weight:500}.attendance-badge.attended{color:#4ade80;background:#22c55e33}.attendance-badge.absent{color:#f87171;background:#ef444433}.attendance-badge.unknown{color:#9ca3af;background:#94a3b833}@media (width<=640px){.modal-content{max-width:100%;margin:1rem}.modal-header,.modal-body{padding:1rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.session-header{flex-direction:column}.session-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}.sessions-calendar{grid-template-columns:1fr}.attendance-item{flex-direction:column}.attendance-controls{width:100%}}.friends-list,.pending-requests,.search-section{flex-direction:column;gap:1rem;display:flex}.tabs{border-bottom:1px solid #94a3b833;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-size:.9rem;transition:all .2s}.tab:hover{color:#e5e7eb}.tab.active{color:#38bdf8;border-bottom-color:#38bdf8}.tab-content{margin-top:1rem}.friend-card{background:#0f172a99;border:1px solid #94a3b833;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.friend-card:hover{background:#0f172acc;border-color:#38bdf84d}.friend-card .btn-primary,.friend-card .btn-secondary,.friend-card .btn-danger{white-space:nowrap;flex-shrink:0;width:auto;min-width:100px}.friend-avatar{flex-shrink:0}.friend-avatar img{object-fit:cover;border:2px solid #38bdf84d;border-radius:50%;width:48px;height:48px}.friend-avatar .avatar-placeholder{color:#fff;background:linear-gradient(135deg,#38bdf8,#6366f1);border:2px solid #38bdf84d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:700;display:flex}.friend-info{flex:1;min-width:0}.friend-info h3{color:#e5e7eb;margin:0 0 .25rem;font-size:1rem}.friend-info p{color:#9ca3af;margin:0;font-size:.85rem}.friend-actions{gap:.5rem;display:flex}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.status-badge{color:#fbbf24;background:#fbbf2433;border-radius:.5rem;padding:.4rem .8rem;font-size:.8rem}.pending-section{margin-bottom:2rem}.pending-section h2{color:#e5e7eb;margin-bottom:1rem;font-size:1.1rem}.search-box{margin-bottom:1.5rem}.search-box input{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b833;border-radius:.75rem;width:100%;padding:.75rem 1rem;font-size:.9rem}.search-box input:focus{background:#0f172acc;border-color:#38bdf8;outline:none}.empty-state{text-align:center;color:#9ca3af;padding:3rem 1rem}.empty-state p{margin:0;font-size:.9rem}@media (width<=640px){.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab{white-space:nowrap;padding:.6rem 1rem;font-size:.85rem}.friend-card{flex-wrap:wrap}.friend-card .btn-primary,.friend-card .btn-secondary,.friend-card .btn-danger{width:100%;min-width:auto}.friend-actions{justify-content:flex-end;width:100%}}.campaign-form{max-width:600px;margin-top:2rem}.field{margin-bottom:1.5rem}.field label{color:#e5e7eb;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.required{color:#ef4444}.field .input{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b833;border-radius:.75rem;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.field .input:focus{background:#0f172acc;border-color:#38bdf8;outline:none}.field textarea.input{resize:vertical;min-height:120px}.field select.input{cursor:pointer}.loading-text{color:#9ca3af;padding:.75rem 0;font-style:italic}.form-actions{border-top:1px solid #94a3b833;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}@media (width<=640px){.form-actions{flex-direction:column}.form-actions button{width:100%}}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.character-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.character-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.character-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.character-header h3{color:var(--text-primary);margin:0;font-size:1.25rem}.character-actions{gap:.5rem;display:flex}.btn-icon{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:.25rem .5rem;font-size:1rem;transition:color .2s}.btn-icon:hover{color:var(--text-primary)}.character-info{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.character-badge{background:var(--primary-color);color:#fff;border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.character-background{color:var(--text-secondary);margin:.75rem 0;font-size:.9rem;line-height:1.5}.character-background strong{color:var(--text-primary);margin-bottom:.25rem;display:block}.character-background p{color:var(--text-secondary);margin:0}.character-notes{color:var(--text-secondary);border-top:1px solid var(--border-color);margin-top:.75rem;padding-top:.75rem;font-size:.875rem}.character-notes strong{color:var(--text-primary);margin-bottom:.25rem;display:block}.character-notes p{color:var(--text-secondary);margin:0}.character-footer{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:.75rem}.character-date{color:var(--text-secondary);font-size:.8rem}.system-badge{border:1px solid #3b82f64d;color:#60a5fa!important;background:#3b82f633!important}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border-radius:12px;flex-direction:column;width:100%;max-width:650px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.modal-header .btn-icon{border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.5rem;font-size:1.5rem;transition:background-color .2s;display:flex}.modal-header .btn-icon:hover{background-color:#ffffff1a}.modal-content form,.character-form-modal{flex-direction:column;flex:1;padding:1.5rem;display:flex;overflow-y:auto}.character-modal{flex-direction:column;display:flex}.modal-content form::-webkit-scrollbar{width:8px}.character-form-modal::-webkit-scrollbar{width:8px}.modal-content form::-webkit-scrollbar-track{background:0 0}.character-form-modal::-webkit-scrollbar-track{background:0 0}.modal-content form::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.character-form-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.modal-content form::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.character-form-modal::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.character-form-modal .form-group:first-child{margin-top:0}.character-form-modal .form-row{margin-bottom:1.25rem}.character-form-modal .form-row:last-child{margin-bottom:0}.form-group{margin-bottom:1.25rem}.form-group:last-of-type{margin-bottom:0}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}:is(.form-group label:has(+input[required]),.form-group label:has(+textarea[required])){position:relative}.form-group label:has(+input[required]):after{content:" *";color:#ef4444;margin-left:2px}.form-group label:has(+textarea[required]):after{content:" *";color:#ef4444;margin-left:2px}.form-group input,.form-group textarea{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.form-row .form-group{margin-bottom:0}.modal-actions{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.modal-actions .btn-secondary{color:var(--text-primary);background:#ffffff1a}.modal-actions .btn-secondary:hover{background:#ffffff26}.modal-actions .btn-primary{background:var(--primary-color);color:#fff}.modal-actions .btn-primary:hover{background:var(--primary-color);opacity:.9;transform:translateY(-1px)}.modal-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=640px){.characters-grid,.form-row{grid-template-columns:1fr}.modal-overlay{padding:.5rem}.modal-content{border-radius:8px;max-height:95vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.25rem}.modal-content form{padding:1rem}.modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-actions button{width:100%}}.character-sheet{background:var(--card-bg);border:1px solid #94a3b84d;border-radius:8px;max-width:1400px;margin:0 auto;padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:visible}.sheet-header{border-bottom:2px solid #94a3b84d;margin-bottom:2rem;padding-bottom:1rem}.sheet-tabs{border-bottom:2px solid #94a3b833;gap:.5rem;margin-bottom:2rem;display:flex}.sheet-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;position:relative;top:2px}.sheet-tab:hover{color:var(--text-primary);background:#ffffff0d}.sheet-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.sheet-tab-content{min-height:400px}.abilities-tab-content{padding:2rem 0}.abilities-section{flex-direction:column;gap:2rem;display:flex}.ability-category{flex-direction:column;gap:1rem;display:flex}.ability-category-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #94a3b84d;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.abilities-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.ability-card{background:#ffffff05;border:1px solid #94a3b833;border-radius:8px;padding:1rem;transition:all .2s}.ability-card:hover{background:#ffffff0a;border-color:#94a3b866;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.ability-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.ability-card-title{flex-direction:column;flex:1;gap:.25rem;display:flex}.ability-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.ability-level{color:#60a5fa;background:#3b82f633;border-radius:4px;width:fit-content;padding:.125rem .5rem;font-size:.85rem;display:inline-block}.ability-uses{color:#34d399;background:#22c55e33;border-radius:4px;width:fit-content;padding:.125rem .5rem;font-size:.85rem;display:inline-block}.ability-description{color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;font-size:.9rem;line-height:1.6}.ability-empty{text-align:center;color:var(--text-secondary);padding:3rem 1rem;font-style:italic}.ability-type-cards{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.ability-type-card{text-align:center;cursor:pointer;background:#ffffff08;border:1px solid #94a3b833;border-radius:6px;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;transition:all .2s;display:flex}.ability-type-card:hover{background:#ffffff0d;border-color:#94a3b866;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.ability-type-icon{color:var(--text-secondary);opacity:.8;font-size:1.5rem;line-height:1}.ability-type-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:500}.header-top{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.character-name-section{flex:1;align-items:center;gap:1rem;display:flex}.classes-list-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;padding:1rem}.classes-list-section.highlight-section{animation:2s ease-in-out highlight}@keyframes highlight{0%,to{background:var(--card-bg);border-color:var(--border-color)}50%{border-color:var(--primary-color);background:#3b82f633}}.character-avatar{background:#ffffff0d;border:2px solid #94a3b84d;border-radius:8px;flex-shrink:0;width:80px;height:80px;overflow:hidden}.character-avatar img{object-fit:cover;width:100%;height:100%}.character-name{color:var(--text-primary);border-bottom:2px solid #0000;margin:0 0 .5rem;padding-bottom:.25rem;font-size:2rem;font-weight:700}.character-class-level{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.character-class-level .race,.character-class-level .class{color:#60a5fa;background:#3b82f633;border-radius:4px;padding:.25rem .75rem;font-size:.9rem;font-weight:500}.character-class-level .level{color:var(--text-secondary);background:#94a3b833;border-radius:4px;padding:.25rem .75rem;font-size:.9rem}.alignment-text{color:#c4b5fd;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#8b5cf640,#7c3aed33);border:1px solid #8b5cf666;border-radius:4px;padding:.25rem .75rem;font-size:.9rem;font-weight:600;box-shadow:0 2px 4px #8b5cf626}.alignment-selectors{align-items:center;gap:.5rem;display:flex}.alignment-select{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;padding:.25rem .5rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.alignment-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.alignment-select option{color:#fff;background:#1e293b}.btn-edit-sheet{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.5rem;font-weight:500;transition:all .2s}.btn-edit-sheet:hover{opacity:.9;transform:translateY(-1px)}.top-stats-section{flex-direction:column;gap:2rem;margin-bottom:2rem;display:flex}.top-stats-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:2rem;display:grid}.top-left-stats,.top-right-stats{flex-direction:column;gap:1.5rem;display:flex}.top-left-stats{justify-content:flex-start}.top-right-stats{justify-content:space-between;min-height:100%}.center-stats-row{justify-content:center;width:100%;display:flex}.center-stats-section{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:600px;display:grid}.hit-dice-editor{justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.hit-dice-num-select,.hit-dice-type-select{color:#fff;text-align:center;cursor:pointer;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;min-width:60px;padding:.5rem;font-family:inherit;font-size:1.2rem;font-weight:700}.hit-dice-num-select:focus,.hit-dice-type-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.hit-dice-num-select option,.hit-dice-type-select option{color:#fff;background:#1e293b}.hit-dice-separator{color:var(--text-primary);font-size:1.5rem;font-weight:700}.magic-stats-top-section{box-sizing:border-box;flex:1;grid-template-columns:repeat(3,1fr);align-content:start;gap:1rem;width:100%;display:grid}.magic-stat-top-box{text-align:center;box-sizing:border-box;background:#3b82f61a;border:2px solid #3b82f64d;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;min-width:0;padding:1rem;display:flex}.magic-stat-top-box label{color:#fff9;text-transform:uppercase;letter-spacing:.5px;text-align:center;font-size:.75rem;font-weight:600}.magic-stat-top-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.spellcasting-ability-select{color:#fff;text-align:center;cursor:pointer;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;font-size:.9rem;font-weight:600}.spellcasting-ability-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.spellcasting-ability-select option{color:#fff;background:#1e293b}.combat-banner{background:#ffffff05;border:2px solid #94a3b84d;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;padding:1.5rem;display:grid}.combat-banner-item{background:#ffffff03;border:2px solid #94a3b833;border-radius:6px;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex}.combat-banner-value{color:var(--text-primary);font-size:2rem;font-weight:700}.combat-banner-item label{color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.below-hp-section{margin-bottom:2rem}.below-hp-boxes,.below-hp-box{background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex}.below-hp-box label{color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.inspiration-checkbox-container{justify-content:center;align-items:center;margin-top:.5rem;display:flex}.inspiration-checkbox-large{cursor:pointer;width:2rem;height:2rem;accent-color:var(--primary-color)}.hit-dice-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.death-saves-container{flex-direction:column;gap:.75rem;width:100%;margin-top:.5rem;display:flex}.death-saves-section{flex-direction:column;align-items:center;gap:.5rem;display:flex}.death-saves-label{color:var(--text-secondary);text-transform:uppercase;font-size:.7rem;font-weight:500}.death-saves-checkboxes{gap:.5rem;display:flex}.death-save-checkbox{cursor:pointer;accent-color:#22c55e;width:1.5rem;height:1.5rem}.death-save-checkbox.failure{accent-color:#ef4444}.sheet-content{grid-template-columns:300px 1fr;align-items:start;gap:2rem;display:grid}.sheet-left-column{flex-direction:column;gap:1.5rem;min-width:0;display:flex;overflow:visible}.ability-scores-section{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;display:grid}.ability-score-card{text-align:center;box-sizing:border-box;background:#3b82f61a;border:2px solid #3b82f64d;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;min-width:0;padding:1rem;display:flex}.ability-label{color:#fff9;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.ability-modifier{color:var(--text-primary);font-size:1.5rem;font-weight:700}.ability-score{color:var(--text-secondary);border-top:1px solid #94a3b84d;width:100%;margin-top:.25rem;padding-top:.25rem;font-size:.875rem}.ability-name{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.info-section{background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;padding:1rem}.info-row{border-bottom:1px solid #94a3b81a;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.info-row:last-child{border-bottom:none}.info-row label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.info-row span{color:var(--text-primary);font-size:.9rem}.proficiency-badge{color:#60a5fa;background:#3b82f633;border-radius:4px;padding:.25rem .5rem;font-weight:600}.inspiration-checkbox{cursor:pointer;width:1.25rem;height:1.25rem}.saving-throws-section,.skills-section,.weapons-section,.armors-section,.items-section,.traits-section,.proficiencies-section{background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;padding:1rem}.section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #94a3b833;margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.section-title-red{color:#ef4444;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #94a3b833;margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.saving-throws-list{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.skills-list{flex-direction:column;gap:.5rem;display:flex}.saving-throw-row,.skill-row{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.proficiency-checkbox{cursor:pointer;width:1rem;height:1rem;accent-color:var(--primary-color)}.proficiency-checkbox:disabled{cursor:not-allowed;opacity:.6}.proficiency-checkbox:disabled:checked{opacity:1;filter:none;accent-color:var(--primary-color)}:is(.skill-row:has(.proficiency-checkbox:checked),.saving-throw-row:has(.proficiency-checkbox:checked)){border-left:3px solid var(--primary-color);background:#3b82f61a;border-radius:4px;padding-left:.5rem}.ability-abbr{color:var(--text-secondary);min-width:2.5rem;font-size:.85rem;font-weight:600}.modifier,.skill-modifier{color:var(--text-primary);text-align:right;min-width:2.5rem;font-weight:600}.ability-name{color:var(--text-secondary);font-size:.9rem}.skill-name{color:var(--text-primary);flex:1;font-size:.9rem}.skill-ability{color:var(--text-secondary);font-size:.8rem}.passive-perception-section{background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;padding:1rem}.passive-perception-box{flex-direction:column;align-items:center;gap:.5rem;display:flex}.passive-perception-box label{color:var(--text-secondary);text-align:center;font-size:.85rem}.passive-value{color:var(--text-primary);text-align:center;background:#3b82f633;border:2px solid #3b82f64d;border-radius:6px;min-width:80px;padding:.5rem 1.5rem;font-size:1.5rem;font-weight:700}.sheet-right-column{flex-direction:column;gap:1.5rem;min-width:0;display:flex;overflow:visible}.hp-main-container{flex-direction:column;flex-shrink:0;gap:.5rem;width:100%;display:flex}.hp-main-title{color:#f97316;text-align:center;text-transform:uppercase;letter-spacing:.5px;padding:.5rem 0;font-size:1rem;font-weight:700}.hp-container{justify-content:space-between;align-items:stretch;gap:1rem;width:100%;display:flex}.hit-points-section{text-align:center;background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;flex-direction:column;align-items:center;padding:1rem;display:flex}.hp-header{justify-content:center;align-items:center;width:100%;margin-bottom:1rem;display:flex}.hp-header label{color:var(--text-primary);text-align:center;font-size:.9rem;font-weight:600}.hp-buttons{gap:.5rem;display:flex}.hp-btn{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;padding:.25rem .75rem;font-size:.8rem;transition:all .2s}.hp-btn.damage:hover{background:#ef444433;border-color:#ef44444d}.hp-btn.heal:hover{background:#22c55e33;border-color:#22c55e4d}.hp-values{justify-content:center;align-items:center;gap:1rem;width:100%;display:flex}.hp-current,.hp-max,.hp-temp{flex-direction:column;align-items:center;gap:.25rem;display:flex}.hp-label{color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;font-weight:600}.hp-value-input{text-align:center;width:60px;color:var(--text-primary);background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;padding:.5rem;font-family:inherit;font-size:1.5rem;font-weight:700}.hp-value-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.hp-value-input[readonly]{cursor:default;opacity:.8;background:#ffffff05}.hp-separator{color:var(--text-secondary);font-size:1.5rem;font-weight:300}.background-section,.notes-section,.custom-stats-section{background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;padding:1rem}.background-text,.notes-text{color:var(--text-secondary);white-space:pre-wrap;font-size:.9rem;line-height:1.6}.custom-stats-list{flex-direction:column;gap:.5rem;display:flex}.custom-stat-row{border-bottom:1px solid #94a3b81a;justify-content:space-between;padding:.5rem 0;display:flex}.custom-stat-row:last-child{border-bottom:none}.custom-stat-key{color:var(--text-secondary);font-weight:500}.custom-stat-value{color:var(--text-primary);font-weight:500}@media (width<=1024px){.top-stats-row{grid-template-columns:1fr;gap:1.5rem}.center-stats-section{grid-template-columns:repeat(3,1fr);max-width:100%}.sheet-content{grid-template-columns:1fr;gap:1.5rem}.ability-scores-section{grid-template-columns:repeat(3,1fr);gap:.75rem}.combat-banner,.below-hp-boxes{grid-template-columns:repeat(2,1fr)}.combat-banner{grid-template-columns:1fr}.sheet-left-column,.sheet-right-column{width:100%}}@media (width<=640px){.character-sheet{padding:1rem}.ability-scores-section{grid-template-columns:repeat(2,1fr);gap:.5rem}.magic-stats-top-section{grid-template-columns:1fr}.combat-banner{grid-template-columns:repeat(2,1fr)}.below-hp-boxes{grid-template-columns:1fr}.header-top{flex-direction:column;gap:1rem}.sheet-content,.sheet-left-column,.sheet-right-column{gap:1rem}}.weapons-list{flex-direction:column;gap:.5rem;display:flex}.weapons-header{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #94a3b833;grid-template-columns:2fr 2fr 2fr 1fr auto;gap:.5rem;padding:.5rem 0;font-size:.75rem;font-weight:600;display:grid}.weapon-row{border-bottom:1px solid #94a3b81a;grid-template-columns:2fr 2fr 2fr 1fr auto;align-items:start;gap:.5rem;padding:.5rem 0;font-size:.9rem;display:grid}.traits-section .weapon-row,.proficiencies-section .weapon-row,.traits-section .weapons-header,.proficiencies-section .weapons-header{grid-template-columns:2fr 3fr auto}.weapon-row:last-child{border-bottom:none}.weapon-name,.weapon-bonus,.weapon-damage,.weapon-quantity{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;-webkit-hyphens:auto;hyphens:auto;line-height:1.4}.weapon-damage{overflow-wrap:break-word;word-break:break-word;max-width:100%}.weapon-header-name,.weapon-header-bonus,.weapon-header-damage,.weapon-header-quantity,.weapon-header-actions{color:#ffffffb3}.weapon-actions{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.weapon-empty{text-align:center;color:var(--text-secondary);padding:1rem;font-style:italic}.trait-edit-container{flex-direction:column;gap:.75rem;width:100%;display:flex}.trait-edit-row{border-bottom:1px solid #94a3b81a;grid-template-columns:auto 1fr auto;align-items:start;gap:.5rem;width:100%;padding:.5rem;display:grid}.trait-edit-row:last-child{border-bottom:none}.trait-name{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;min-width:0;max-width:fit-content;font-weight:600}.trait-description{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;min-width:0;line-height:1.4}.trait-edit-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.2rem;transition:color .2s}.trait-edit-btn:hover{color:var(--primary-color)}.trait-list{flex-direction:column;gap:.5rem;display:flex}.trait-header{border-bottom:1px solid #94a3b833;grid-template-columns:auto 1fr;gap:.5rem;padding:.5rem 0;display:grid}.trait-header-name,.trait-header-description{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.trait-row{border-bottom:1px solid #94a3b81a;grid-template-columns:auto 1fr;align-items:start;gap:.5rem;padding:.5rem 0;font-size:.9rem;display:grid}.trait-row:last-child{border-bottom:none}.trait-empty{text-align:center;color:var(--text-secondary);padding:1rem;font-style:italic}.proficiency-edit-container{flex-direction:column;gap:.75rem;width:100%;display:flex}.proficiency-edit-row{border-bottom:1px solid #94a3b81a;grid-template-columns:auto 1fr auto;align-items:start;gap:.5rem;width:100%;padding:.5rem;display:grid}.proficiency-edit-row:last-child{border-bottom:none}.proficiency-name{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;min-width:0;max-width:fit-content;font-weight:600}.proficiency-description{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;min-width:0;line-height:1.4}.proficiency-edit-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.2rem;transition:color .2s}.proficiency-edit-btn:hover{color:var(--primary-color)}.proficiency-list{flex-direction:column;gap:.5rem;display:flex}.proficiency-header{border-bottom:1px solid #94a3b833;grid-template-columns:auto 1fr;gap:.5rem;padding:.5rem 0;display:grid}.proficiency-header-name,.proficiency-header-description{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.proficiency-row{border-bottom:1px solid #94a3b81a;grid-template-columns:auto 1fr;align-items:start;gap:.5rem;padding:.5rem 0;font-size:.9rem;display:grid}.proficiency-row:last-child{border-bottom:none}.proficiency-empty{text-align:center;color:var(--text-secondary);padding:1rem;font-style:italic}.background-traits-section{background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;width:100%;padding:1rem}.background-traits-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.background-traits-section .background-section{margin:0}.background-trait-textarea{color:#fff;resize:vertical;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:6px;width:100%;min-height:100px;margin-top:.5rem;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.background-trait-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.background-trait-textarea::placeholder{color:#fff6}.background-section{background:#ffffff05;border:1px solid #94a3b833;border-radius:6px;width:100%;padding:1rem}.background-content{color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:.5rem;font-size:.9rem;line-height:1.6}.section-title-with-button{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.class-features-text{color:var(--text-primary);padding:1.5rem;font-size:.95rem;line-height:1.6}.character-editor-page{background:0 0;max-width:1200px;margin:0 auto;padding:2rem}.character-sheet-container{background:0 0}.character-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.btn-back{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff1a;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;transition:all .2s;display:flex}.btn-back:hover{background:#ffffff26;transform:translate(-2px)}.header-actions{gap:.75rem;display:flex}.header-actions .btn-secondary{padding:.5rem 1rem;font-size:.9rem}.error-banner{color:#fca5a5;background:#ef444433;border:1px solid #ef44444d;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.error-banner strong{color:#ef4444}.character-editor-form{flex-direction:column;gap:2rem;display:flex}.form-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.section-title{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header .section-title{margin:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;font-weight:500}.required{color:#ef4444;margin-left:2px}.form-group input,.form-group textarea,.form-group select{background:var(--bg-color);color:#fff;box-sizing:border-box;border:1px solid #94a3b866;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group select option{color:#fff;background:#1e293b}.alignment-selectors-form{align-items:center;gap:.5rem;display:flex}.alignment-selectors-form select{flex:1}.auto-save-indicator{z-index:1000;background:#1e293bf2;border:1px solid #94a3b84d;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 6px #0000004d}.auto-saving{color:#60a5fa;align-items:center;gap:.5rem;display:flex}.auto-saving:before{content:"";border:2px solid #60a5fa4d;border-top-color:#60a5fa;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.auto-saved{color:#34d399;align-items:center;gap:.5rem;display:flex}.auto-saved:before{content:"✓";color:#34d399;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.multiclass-container{flex-direction:column;gap:1rem;display:flex}.multiclass-item{background:#ffffff08;border:1px solid #94a3b833;border-radius:8px;padding:1rem}.multiclass-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.multiclass-badge{background:var(--primary-color);color:#fff;text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.multiclass-remove{color:#fca5a5;cursor:pointer;background:#ef444433;border:1px solid #ef44444d;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.2rem;line-height:1;transition:all .2s;display:flex}.multiclass-remove:hover{background:#ef44444d;transform:scale(1.1)}.multiclass-fields{align-items:center;gap:.75rem;display:flex}.multiclass-level-input{text-align:center;width:80px!important;padding:.75rem!important}.multiclass-toggle-primary{color:#ffffff80;cursor:pointer;background:#ffffff1a;border:1px solid #94a3b84d;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .2s;display:flex}.multiclass-toggle-primary:hover:not(:disabled){color:gold;background:#ffd70033;border-color:#ffd70066;transform:scale(1.05)}.multiclass-toggle-primary.active{color:gold;background:#ffd7004d;border-color:#ffd70080}.multiclass-toggle-primary:disabled{opacity:.5;cursor:not-allowed}.multiclass-add-btn{color:var(--primary-color);cursor:pointer;background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;width:100%;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.multiclass-add-btn:hover{background:#3b82f64d;transform:translateY(-2px)}.autocomplete-wrapper{flex:1;position:relative}.autocomplete-input{background:var(--bg-color);color:#fff;box-sizing:border-box;border:1px solid #94a3b866;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.autocomplete-dropdown{background:var(--card-bg);z-index:1000;border:1px solid #94a3b84d;border-radius:6px;max-height:200px;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000004d}.autocomplete-item{cursor:pointer;color:var(--text-primary);padding:.75rem 1rem;transition:background .2s}.autocomplete-item:hover{background:#ffffff1a}.highlight-section{animation:2s ease-in-out highlight}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff6;opacity:1}.form-group input:hover,.form-group textarea:hover{border-color:#94a3b899}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.large-textarea{resize:vertical;min-height:120px;line-height:1.6}.custom-fields-list{flex-direction:column;gap:1rem;display:flex}.empty-message{color:var(--text-secondary);text-align:center;border:1px dashed var(--border-color);background:#ffffff05;border-radius:6px;padding:2rem;font-style:italic}.custom-field-row{grid-template-columns:1fr 1fr auto;align-items:center;gap:1rem;display:grid}.custom-field-key,.custom-field-value{background:var(--bg-color);color:var(--text-primary);border:1px solid #94a3b866;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.custom-field-key:hover,.custom-field-value:hover{border-color:#94a3b899}.custom-field-key:focus,.custom-field-value:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.btn-add-field{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.btn-add-field:hover{opacity:.9;transform:translateY(-1px)}.btn-remove-field{color:#fca5a5;cursor:pointer;background:#ef444433;border:1px solid #ef44444d;border-radius:6px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:.5rem;font-size:1rem;transition:all .2s;display:flex}.btn-remove-field:hover{background:#ef44444d;transform:scale(1.05)}.skills-edit-grid,.saving-throws-edit-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.skill-checkbox-row,.saving-throw-checkbox-row{background:#ffffff08;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;transition:background .2s;display:flex}.skill-checkbox-row:hover,.saving-throw-checkbox-row:hover{background:#ffffff0d}.skill-checkbox-row input[type=checkbox],.saving-throw-checkbox-row input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}.skill-checkbox-row label,.saving-throw-checkbox-row label{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;flex:1;font-size:.95rem}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding-top:1.5rem;display:flex}.form-actions button{cursor:pointer;border:none;border-radius:6px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .2s}.form-actions .btn-secondary{color:var(--text-primary);background:#ffffff1a}.form-actions .btn-secondary:hover{background:#ffffff26}.form-actions .btn-primary{background:var(--primary-color);color:#fff}.form-actions .btn-primary:hover{opacity:.9;transform:translateY(-1px)}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-container{min-height:400px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.character-sheet-container{margin-top:1rem}.header-actions .btn-secondary.active{background:var(--primary-color);color:#fff}.header-actions .btn-secondary.active:hover{opacity:.9}@media (width<=768px){.character-editor-page{padding:1rem}.character-editor-header{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column;width:100%}.header-actions .btn-secondary{width:100%}.form-grid{grid-template-columns:1fr}.custom-field-row{grid-template-columns:1fr;gap:.75rem}.btn-remove-field{width:100%}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.weapons-edit-container{flex-direction:column;gap:.75rem;display:flex}.weapon-edit-row{grid-template-columns:2fr 2fr 2fr auto;align-items:center;gap:.5rem;display:grid}.weapon-input{color:#fff;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:6px;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.weapon-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.weapon-input::placeholder{color:#fff6}.weapon-delete-btn{color:#ef4444;cursor:pointer;background:#ef444433;border:1px solid #ef44444d;border-radius:6px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:1.5rem;font-weight:700;line-height:1;transition:all .2s;display:flex}.weapon-delete-btn:hover{background:#ef44444d;border-color:#ef444480}.weapon-add-btn{color:#60a5fa;cursor:pointer;text-align:center;background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;padding:.75rem;font-size:.9rem;font-weight:600;transition:all .2s}.weapon-add-btn:hover{background:#3b82f64d;border-color:#3b82f680}.section-title-with-button{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.weapon-add-header-btn{color:#60a5fa;cursor:pointer;background:#3b82f633;border:1px solid #3b82f64d;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;font-weight:700;line-height:1;transition:all .2s;display:flex}.weapon-add-header-btn:hover{background:#3b82f64d;border-color:#3b82f680}.po-field-container{align-items:center;gap:.5rem;margin-left:auto;margin-right:auto;display:flex}.po-label{color:#ffffffb3;text-transform:uppercase;white-space:nowrap;font-size:.9rem;font-weight:600}.po-input{color:#fff;text-align:center;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;width:80px;padding:.4rem .75rem;font-family:inherit;font-size:1rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.po-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.po-value{color:var(--text-primary);text-align:center;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;min-width:60px;padding:.4rem .75rem;font-size:1rem;font-weight:700}.weapon-edit-btn{color:#60a5fa;cursor:pointer;background:#3b82f633;border:1px solid #3b82f64d;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1rem;transition:all .2s;display:flex}.weapon-edit-btn:hover{background:#3b82f64d;border-color:#3b82f680}.weapon-edit-row{border-bottom:1px solid #94a3b81a;grid-template-columns:2fr 2fr 2fr 1fr auto;align-items:center;gap:.5rem;padding:.5rem;display:grid}.weapon-edit-row:last-child{border-bottom:none}.weapon-name,.weapon-bonus,.weapon-damage,.weapon-quantity{color:var(--text-primary)}.weapon-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.weapon-modal{background:#1e293b;border:2px solid #94a3b880;border-radius:12px;width:90%;max-width:500px;max-height:90vh;padding:0;overflow-y:auto;box-shadow:0 20px 60px #000c}.weapon-modal-header{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.weapon-modal-header h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.weapon-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:2rem;font-weight:300;line-height:1;transition:color .2s;display:flex}.weapon-modal-close:hover{color:var(--text-primary)}.weapon-modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.weapon-modal-field{flex-direction:column;gap:.5rem;display:flex}.weapon-modal-field label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.weapon-modal-field input{color:#fff;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.weapon-modal-field input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.weapon-modal-field input::placeholder{color:#fff6}.weapon-modal-field select{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.weapon-modal-field select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.weapon-modal-field select option{color:#fff;background:#1e293b}.weapon-modal-field textarea{color:#fff;resize:vertical;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.weapon-modal-field textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.weapon-modal-field textarea::placeholder{color:#fff6}.weapon-modal-footer{border-top:1px solid #94a3b833;justify-content:space-between;gap:.75rem;padding:1.5rem;display:flex}.weapon-modal-cancel,.weapon-modal-save,.weapon-modal-delete{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s}.weapon-modal-delete{color:#ef4444;background:#ef444433;border:1px solid #ef44444d;margin-right:auto}.weapon-modal-delete:hover{background:#ef44444d;border-color:#ef444480}.weapon-modal-cancel{color:var(--text-secondary);background:#ffffff0d;border:1px solid #94a3b84d}.weapon-modal-cancel:hover{color:var(--text-primary);background:#ffffff1a}.weapon-modal-save{background:var(--primary-color);color:#fff}.weapon-modal-save:hover{opacity:.9}.weapon-bonus-editor{align-items:center;gap:.5rem;display:flex}.weapon-bonus-dice-select,.weapon-bonus-ability-select{color:#fff;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:4px;min-width:60px;padding:.5rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.weapon-bonus-dice-select:focus,.weapon-bonus-ability-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.weapon-bonus-dice-select option,.weapon-bonus-ability-select option{color:#fff;background:#1e293b}.weapon-bonus-separator{color:var(--text-primary);font-size:1.2rem;font-weight:700}.weapon-bonus-plus{color:var(--text-primary);font-size:1rem;font-weight:600}.class-features-table-container{background:#ffffff05;border:1px solid #94a3b833;border-radius:8px;margin-bottom:3rem;padding:1.5rem;overflow-x:auto}.class-features-title{color:var(--text-primary);text-align:center;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.class-features-table{border-collapse:collapse;background:0 0;width:100%;font-size:.9rem}.class-features-table thead{background:#ffffff0d}.class-features-table th{text-align:center;color:var(--text-primary);background:#ffffff0d;border:1px solid #94a3b84d;padding:.75rem .5rem;font-weight:600}.class-features-table tr.sub-header th{color:var(--text-secondary);background:#ffffff08;font-size:.85rem;font-weight:500}.class-features-table tbody tr{background:#ffffff05;transition:background .2s}.class-features-table tbody tr:nth-child(2n){background:#ffffff0a}.class-features-table tbody tr:hover{background:#ffffff0f}.class-features-table tbody tr.current-level{border:2px solid var(--primary-color);background:#3b82f626;font-weight:600}.class-features-table tbody tr.current-level td{color:var(--primary-color)}.class-features-table td{text-align:center;color:var(--text-primary);vertical-align:middle;border:1px solid #94a3b833;padding:.6rem .5rem}.class-features-table .level-cell{background:#ffffff08;min-width:50px;font-weight:600}.class-features-table .prof-bonus-cell{min-width:80px;font-weight:600}.class-features-table .features-cell{text-align:left;color:var(--text-secondary);min-width:300px;max-width:400px;padding:.6rem 1rem;font-size:.85rem}.class-features-table .spell-slot-cell{min-width:50px;font-weight:500}.monstruos-filters-form{margin-bottom:1.25rem}.monstruos-page .monstruos-filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.monstruos-search{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b859;border-radius:8px;flex:1;min-width:200px;padding:.6rem .85rem;font-size:.95rem}.monstruos-select{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b859;border-radius:8px;min-width:160px;padding:.6rem .85rem}.monstruos-range-filters{background:#0f172a59;border:1px solid #94a3b833;border-radius:12px;margin-top:1rem;padding:1rem 1.1rem}.monstruos-range-title{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin:0 0 .75rem;font-size:.85rem;font-weight:600}.monstruos-range-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.monstruos-range-group{border:none;min-width:0;margin:0;padding:0}.monstruos-range-group legend{color:#cbd5e1;margin-bottom:.4rem;padding:0;font-size:.8rem;font-weight:600}.monstruos-range-pair{align-items:center;gap:.4rem;display:flex}.monstruos-range-pair input{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b859;border-radius:8px;flex:1;min-width:0;padding:.5rem .6rem;font-size:.9rem}.monstruos-range-pair span{color:#64748b;flex-shrink:0}.monstruos-range-hint{margin:.75rem 0 0;font-size:.8rem}.monstruos-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.monstruos-stats{margin:0;font-size:.95rem}.monstruos-stats strong{color:#f1f5f9}.monstruos-page-size{color:#94a3b8;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.monstruos-page-size select{color:#e5e7eb;background:#0f172a99;border:1px solid #94a3b859;border-radius:8px;padding:.45rem .65rem}.monstruos-table-wrap{background:#0f172a66;border:1px solid #94a3b833;border-radius:12px;position:relative;overflow-x:auto}.monstruos-table-wrap.is-loading{opacity:.55;pointer-events:none}.monstruos-loading-overlay{color:#e5e7eb;background:#0f172a80;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.monstruos-pagination{border-top:1px solid #94a3b826;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;display:flex}.monstruos-pagination-info{color:#cbd5e1;font-size:.95rem}.monstruos-pagination-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.monstruos-page-numbers{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.monstruos-page-btn{color:#e5e7eb;cursor:pointer;background:#0f172a80;border:1px solid #94a3b84d;border-radius:8px;min-width:2.25rem;height:2.25rem;padding:0 .5rem;font-size:.9rem}.monstruos-page-btn:hover:not(:disabled){background:#6366f133;border-color:#6366f180}.monstruos-page-btn.active{background:#6366f159;border-color:#6366f1;font-weight:600}.monstruos-page-btn:disabled{opacity:.5;cursor:not-allowed}.monstruos-ellipsis{color:#64748b;padding:0 .35rem}.monstruos-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.9rem}.monstruos-table th.monstruos-col-actions,.monstruos-table td.monstruos-col-actions{white-space:nowrap;vertical-align:middle;width:7rem}.monstruos-table th.monstruos-col-tags,.monstruos-table td.monstruos-col-tags{vertical-align:middle;width:12rem}.monstruos-table .btn-secondary{width:auto;display:inline-block}.monstruos-actions-cell,.monstruos-tags{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.monstruos-table th,.monstruos-table td{text-align:left;border-bottom:1px solid #94a3b81f;padding:.75rem 1rem}.monstruos-table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#0f172a99;font-size:.8rem;font-weight:600}.monstruos-sort-btn{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;display:inline-flex}.monstruos-sort-btn:hover{color:#e2e8f0}.monstruos-sort-btn.active{color:#a5b4fc}.sort-icon{color:#818cf8;font-size:.75rem;line-height:1}.sort-icon-inactive{color:#475569;opacity:.7}.monstruos-table tbody tr:hover{background:#6366f114}.monstruos-nombre{font-weight:600}.monstruos-link{color:#a5b4fc;font-weight:600;text-decoration:none}.monstruos-link:hover{color:#c7d2fe;text-decoration:underline}.monstruos-btn-ver{white-space:nowrap;padding:.35rem .75rem;font-size:.8rem}.monstruos-tags .badge{padding:.2rem .45rem;font-size:.7rem}@media (width<=768px){.monstruos-table .monstruos-col-pg,.monstruos-table th.monstruos-col-pg,.monstruos-table .monstruos-col-actions,.monstruos-table th.monstruos-col-actions{display:none}}.monstruo-detail-page{padding-bottom:2rem}.monstruo-detail-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.monstruo-detail-header-main{flex:1;min-width:0}.monstruo-detail-back{flex-shrink:0}.monstruo-nav-bar{background:#0f172a99;border:1px solid #94a3b833;border-radius:10px;margin-bottom:1.5rem;padding:.75rem 1rem}.monstruo-nav-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.monstruo-nav-btn.is-disabled{opacity:.4;pointer-events:none;cursor:default}.monstruo-nav-position{color:#cbd5e1;text-align:center;min-width:5rem;font-size:.9rem}.monstruo-nav-filters{border-top:1px solid #94a3b826;margin-top:.75rem;padding-top:.75rem;font-size:.85rem}.monstruo-nav-filters-label{color:#94a3b8;margin-bottom:.35rem;display:block}.monstruo-nav-filters-list{flex-wrap:wrap;gap:.35rem .75rem;margin:0;padding:0;list-style:none;display:flex}.monstruo-nav-filters-list li{color:#c7d2fe;background:#6366f126;border-radius:4px;padding:.15rem .5rem}.monstruo-detail-meta{color:#94a3b8;font-size:.9rem}.monstruo-detail-layout{grid-template-columns:minmax(280px,480px) minmax(260px,1fr);align-items:start;gap:1.5rem 2rem;max-width:1100px;margin:0 auto;display:grid}.monstruo-detail-stat-col{min-width:0}.monstruo-art-panel{min-width:0;position:sticky;top:1rem}.monstruo-art-frame{background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);border:1px solid #94a3b840;border-radius:12px;justify-content:center;align-items:center;min-height:280px;padding:1rem;display:flex;position:relative;box-shadow:0 8px 32px #0006}.monstruo-art-frame.is-loading{opacity:.7}.monstruo-art-image{object-fit:contain;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:min(70vh,560px)}.monstruo-art-loading{color:#94a3b8;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.monstruo-art-caption{color:#e2e8f0;text-align:center;margin:.75rem 0 .35rem;font-size:.95rem;font-weight:600}.monstruo-art-hint{text-align:center;margin:0;font-size:.8rem;line-height:1.4}.monstruo-art-hint code{color:#a5b4fc;background:#0f172a99;border-radius:4px;padding:.1rem .35rem;font-size:.75rem}.monstruo-art-upload{width:100%;margin-top:1rem}.monstruo-art-upload-title{color:#cbd5e1;margin:0 0 .5rem;font-size:.85rem;font-weight:700}.monstruo-art-upload input[type=file]{color:#e5e7eb;background:#0f172a59;border:1px dashed #94a3b859;border-radius:10px;width:100%;margin-bottom:.6rem;padding:.45rem .55rem}.monstruo-art-caption{max-width:100%}@media (width<=900px){.monstruo-detail-layout{grid-template-columns:1fr;max-width:480px}.monstruo-art-panel{order:-1;position:static}.monstruo-art-image{max-height:360px}}.stat-block{box-sizing:border-box;color:#2c1a04;background-color:#fdf1dc;border:5px solid #7a200d;border-left:1px solid #c9b18a;border-right:1px solid #c9b18a;width:100%;max-width:480px;padding:18px 20px;font-family:Libre Baskerville,Georgia,serif;font-size:13px;line-height:1.45;box-shadow:0 4px 24px #00000059}.stat-block .creature-name{color:#7a200d;text-transform:capitalize;margin:0 0 4px;font-family:Playfair Display,Georgia,serif;font-size:26px;font-weight:700;line-height:1.15}.stat-block .creature-type{color:#5c5750;margin:0 0 8px;font-size:12px;font-style:italic}.stat-block .creature-tags{color:#6b6358;margin:0 0 6px;font-size:11px}.stat-block .tapered-rule{background:linear-gradient(90deg,#0000,#7a200d 10% 90%,#0000);border:none;height:4px;margin:10px 0}.stat-block .property-line{margin:5px 0}.stat-block .property-line strong{color:#7a200d}.stat-block .abilities-table{border-collapse:collapse;text-align:center;width:100%;margin:10px 0}.stat-block .abilities-table th{color:#7a200d;padding-bottom:4px;font-family:Roboto Condensed,sans-serif;font-size:12px;font-weight:700}.stat-block .abilities-table td{color:#7a200d;font-size:12px}.stat-block .section-heading{color:#7a200d;border-bottom:1px solid #7a200d;margin:14px 0 8px;padding-bottom:3px;font-family:Playfair Display,Georgia,serif;font-size:18px}.stat-block .section-subheading{color:#7a200d;text-transform:uppercase;letter-spacing:.03em;margin:10px 0 4px;font-family:Roboto Condensed,sans-serif;font-size:13px;font-weight:700}.stat-block .property-block{margin:8px 0}.stat-block .property-block strong{font-style:italic;font-weight:700}.stat-block .property-block .limitacion{color:#5c5750;font-size:11px;font-style:normal;font-weight:400}.stat-block .spell-list,.stat-block .ray-list{margin:6px 0;padding-left:0;list-style:none}.stat-block .spell-list li,.stat-block .ray-list li{margin-bottom:6px;padding-left:0}.stat-block .conjuro-meta{color:#5c5750;font-size:11px}.stat-block .stat-footer{color:#6b6358;text-align:right;margin-top:12px;font-size:11px}.mis-monstruo-nuevo-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.mis-monstruo-nuevo-card{background:#0f172a99;border:1px solid #94a3b833;border-radius:12px;padding:1.25rem}.mis-monstruo-nuevo-card h2{margin:0 0 .5rem;font-size:1.1rem}.mis-monstruo-nuevo-search{gap:.5rem;margin:1rem 0;display:flex}.mis-monstruo-nuevo-search input{flex:1}.mis-monstruo-nuevo-results{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.mis-monstruo-nuevo-results li{border-top:1px solid #94a3b826;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.mm-edit-form{flex-direction:column;gap:1.5rem;display:flex}.mm-edit-section{background:#0f172a80;border:1px solid #94a3b833;border-radius:10px;padding:1rem 1.25rem}.mm-edit-section h2{color:#cbd5e1;margin:0 0 1rem;font-size:1rem}.mm-edit-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.mm-edit-grid label,.mm-edit-full{color:#94a3b8;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.mm-edit-grid input,.mm-edit-full textarea,.mm-edit-list input,.mm-edit-list textarea{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b84d;border-radius:6px;padding:.4rem .5rem}.mm-edit-full{margin-bottom:.75rem}.mm-edit-abilities{flex-wrap:wrap;gap:.75rem;display:flex}.mm-edit-ability{align-items:center;gap:.35rem;display:flex}.mm-edit-ability-label{color:#c7d2fe;width:2.5rem;font-weight:700}.mm-edit-ability input{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b84d;border-radius:6px;width:3.5rem;padding:.35rem}.mm-edit-list{flex-direction:column;gap:.75rem;display:flex}.mm-edit-list-item{background:#0003;border-radius:8px;flex-direction:column;gap:.35rem;padding:.75rem;display:flex}.mm-edit-remove{align-self:flex-start;font-size:.8rem}.mm-edit-inline{color:#cbd5e1;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.mis-monstruo-edit-page .monstruo-detail-header{flex-wrap:wrap;align-items:center}.mis-monstruo-edit-toolbar{margin-left:auto}.mis-monstruo-edit-layout{grid-template-columns:1fr minmax(260px,340px);align-items:start;gap:1.5rem;display:grid}.mis-monstruo-edit-art{position:sticky;top:1rem}.monstruo-detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=900px){.mis-monstruo-edit-layout{grid-template-columns:1fr}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:#e5e7eb;background:#0f172a;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{color:#e5e7eb;grid-template-columns:260px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .3s;display:grid;position:relative}.app-shell.sidebar-closed{grid-template-columns:0 minmax(0,1fr)}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:100;background:#0f172ae6;border-right:1px solid #94a3b840;flex-direction:column;padding:1.5rem;transition:transform .3s,opacity .3s;display:flex;position:relative;overflow:hidden}.sidebar.closed{opacity:0;pointer-events:none;transform:translate(-100%)}.sidebar.open{opacity:1;transform:translate(0)}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:fixed;inset:0}.sidebar-header{margin-bottom:2rem;position:relative}.sidebar-close-btn{color:#9ca3af;cursor:pointer;z-index:10;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:background .2s,color .2s;display:flex;position:absolute;top:0;right:0}.sidebar-close-btn:hover{color:#e5e7eb;background:#94a3b81a}.user-info-header{align-items:center;gap:.75rem;display:flex}.user-avatar-header{object-fit:cover;border:2px solid #38bdf84d;border-radius:50%;width:48px;height:48px}.user-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#38bdf8,#6366f1);border:2px solid #38bdf84d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;font-weight:700;display:flex}.user-details-header{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.user-details-header .user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.user-details-header .user-email{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.logo{background:linear-gradient(135deg,#38bdf8,#6366f1);border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.sidebar-title h1{font-size:1rem}.sidebar-title p{color:#9ca3af;font-size:.8rem}.sidebar-nav{flex-direction:column;gap:.5rem;margin-bottom:auto;display:flex}.nav-link{color:#e5e7eb;border-radius:.9rem;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:#0f172ae6}.nav-link.active{color:#f9fafb;background:linear-gradient(135deg,#38bdf833,#818cf82e)}.sidebar-footer{border-top:1px dashed #94a3b866;margin-top:1.5rem;padding-top:1.25rem}.user-info{margin-bottom:.7rem}.user-name{font-size:.9rem;font-weight:600;display:block}.user-email{color:#9ca3af;font-size:.8rem;display:block}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:.8rem;width:100%;padding:.55rem .9rem;font-size:.9rem;font-weight:500}.btn-primary{color:#fff;background:linear-gradient(135deg,#38bdf8,#6366f1)}.btn-primary:disabled{opacity:.7;cursor:default}.btn-secondary{color:#e5e7eb;background:#0f172ae6;border:1px solid #94a3b880}.btn-danger{color:#ef4444;background:#ef444433;border:1px solid #ef44444d}.btn-danger:hover{background:#ef44444d}.content-area{flex-direction:column;min-height:100vh;display:flex}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172ae6;border-bottom:1px solid #94a3b840;padding:1.25rem 1.5rem}.topbar-content{justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar-left{align-items:center;gap:1rem;display:flex}.menu-toggle-btn{color:#e5e7eb;cursor:pointer;background:0 0;border:1px solid #94a3b84d;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:background .2s,border-color .2s;display:flex}.menu-toggle-btn:hover{background:#94a3b81a;border-color:#38bdf880}.topbar-logo{align-items:center;gap:.75rem;display:flex}.topbar-title h1{margin:0;font-size:1.1rem;font-weight:600}.topbar-title p{color:#9ca3af;margin:0;font-size:.8rem}.page-content{flex:1;padding:.5rem 1.5rem 4rem}.bottom-nav{display:none}.page{max-width:960px;margin:0 auto}.page-title{margin-bottom:.25rem;font-size:1.4rem}.page-subtitle{color:#9ca3af;margin-bottom:1.4rem;font-size:.95rem}.page-header-with-action{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header-with-action>div{flex:1;min-width:200px}.empty-campaigns{text-align:center;color:#9ca3af;padding:3rem 1rem}.empty-campaigns p{margin-bottom:1.5rem;font-size:1.1rem}.game-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.master-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:.75rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 4px 6px #0000001a}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:#0f172af2;border:1px solid #94a3b84d;border-radius:1rem;padding:1rem}.stat-label{color:#9ca3af;margin-bottom:.35rem;font-size:.8rem;display:block}.stat-value{font-size:1.4rem;font-weight:600}.section{margin-bottom:2rem}.section-title{margin-bottom:.7rem;font-size:1rem}.list{flex-direction:column;gap:.6rem;display:flex}.list-item{background:#0f172ae6;border:1px solid #94a3b859;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.list-item h3{font-size:.98rem}.list-item p{color:#cbd5f5;font-size:.85rem}.list-item .muted{color:#9ca3af}.list-item.clickable{color:inherit;text-decoration:none;transition:transform 70ms,border-color 70ms,background 70ms}.list-item.clickable:hover{background:#0f172afa;border-color:#38bdf8b3;transform:translateY(-1px)}.badge{border:1px solid #94a3b8b3;border-radius:999px;padding:.2rem .6rem;font-size:.75rem}.badge.success{background:#16a34a2e;border-color:#16a34ab3}.badge.warning{background:#eab30821;border-color:#eab308b3}.badge.info{background:#38bdf826;border-color:#38bdf8b3}.badge-row{flex-wrap:wrap;gap:.4rem;display:flex}.pill-list{flex-wrap:wrap;gap:.4rem;list-style:none;display:flex}.pill{background:#0f172ae6;border:1px solid #94a3b899;border-radius:999px;padding:.25rem .6rem;font-size:.8rem}.link{color:#38bdf8;font-size:.9rem;text-decoration:none}.back-link{margin-bottom:.6rem;display:inline-block}.auth-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:#0f172afa;border:1px solid #94a3b866;border-radius:1.4rem;width:100%;max-width:420px;padding:1.8rem;box-shadow:0 24px 60px #0f172af2}.auth-header{text-align:center;margin-bottom:1.4rem}.auth-header .logo{margin:0 auto .9rem}.auth-header h1{margin-bottom:.2rem;font-size:1.3rem}.auth-header p{color:#9ca3af;font-size:.9rem}.auth-form{flex-direction:column;gap:.8rem;display:flex}.field span{margin-bottom:.25rem;font-size:.85rem;display:block}.field input{color:#e5e7eb;background:#0f172ae6;border:1px solid #94a3b899;border-radius:.8rem;width:100%;padding:.6rem .8rem;font-size:.9rem}.field input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 1px #38bdf880}.error-text{color:#f97373;font-size:.8rem}.alert{border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-success{color:#4ade80;background:#22c55e33;border:1px solid #22c55e4d}.alert-error{color:#f87171;background:#ef444433;border:1px solid #ef44444d}@media (width<=640px){.app-shell{grid-template-columns:minmax(0,1fr)!important}.sidebar{z-index:1000;width:260px;max-width:85vw;position:fixed;top:0;bottom:0;left:0;box-shadow:2px 0 10px #0000004d}.sidebar.closed{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.topbar{padding:1rem 1.1rem}.topbar-left{gap:.75rem}.topbar-logo{gap:.6rem}.menu-toggle-btn{padding:.4rem}.topbar-title h1{font-size:1rem}.topbar-title p{font-size:.75rem}.logo{width:32px;height:32px;font-size:.8rem}.page-content{padding-inline:1.1rem;padding-bottom:4.5rem}.grid-3{grid-template-columns:1fr}.page-title{font-size:1.25rem}.bottom-nav{background:#0f172afa;border-top:1px solid #94a3b859;justify-content:center;gap:.8rem;padding:.4rem .7rem .9rem;display:flex;position:sticky;bottom:0;left:0;right:0}.bottom-link{text-align:center;color:#9ca3af;border-radius:999px;flex:1;padding:.4rem .7rem;font-size:.8rem;text-decoration:none}.bottom-link.active{color:#e5e7eb;background:#0f172af2;border:1px solid #94a3b899}}
