@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";@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@600&family=Source+Sans+3:wght@400;600;700&display=swap";.dice-roller-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;font-size:1.2rem;transition:all .2s;display:flex;position:relative}.dice-roller-btn:hover{background:#94a3b81a;border-color:#38bdf880}.dice-modal-overlay{z-index:5000;min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.dice-modal{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:1rem;flex-shrink:0;width:100%;max-width:520px;max-height:min(90dvh,100dvh - 2rem);margin:auto;overflow-y:auto;box-shadow:0 25px 50px #00000073}.dice-modal-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.dice-modal-header-actions{align-items:center;gap:.75rem;display:flex}.dice-modal-header h2{color:var(--color-text);margin:0;font-size:1.2rem}.dice-modal-subtitle{color:var(--color-accent);margin:.25rem 0 0;font-size:.85rem;font-weight:500}.dice-history-notation-detail{color:#6b7280;font-weight:400}.dice-modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.25rem;font-size:1.75rem;line-height:1;transition:background .2s,color .2s}.dice-modal-close:hover{color:var(--color-text);background:#94a3b81a}.dice-modal-body{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.dice-type-grid{grid-template-columns:repeat(4,1fr);gap:.55rem;display:grid}.dice-type-btn{color:var(--color-text);cursor:pointer;letter-spacing:.02em;background:linear-gradient(165deg,#3341558c 0%,#0f172ad9 100%);border:1px solid #94a3b82e;border-radius:.75rem;flex-direction:column;align-items:center;gap:.35rem;padding:.65rem .35rem .55rem;font-size:.78rem;font-weight:600;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:flex;box-shadow:0 2px 8px #00000040,inset 0 1px #ffffff0f}.dice-type-btn:hover:not(:disabled){background:linear-gradient(165deg, #38bdf81f 0%, var(--color-surface-muted) 100%);border-color:#38bdf873;transform:translateY(-3px);box-shadow:0 8px 20px #00000059,0 0 0 1px #38bdf826,inset 0 1px #ffffff14}.dice-type-btn:active:not(:disabled){transform:translateY(-1px)scale(.98)}.dice-type-btn:disabled{opacity:.45;cursor:not-allowed}.dice-type-icon{filter:drop-shadow(0 3px 6px #00000059);justify-content:center;align-items:center;width:36px;height:36px;transition:transform .18s;display:flex}.dice-type-btn:hover:not(:disabled) .dice-type-icon{transform:scale(1.06)}.dice-pool-section h3,.dice-tray-section h3,.dice-history-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0 0 .6rem;font-size:.75rem}.dice-pool-empty{color:#6b7280;margin:0;font-size:.875rem}.dice-pool-list{flex-wrap:wrap;gap:.5rem;display:flex}.dice-pool-item{border:1px solid var(--color-border-subtle);background:#1e293bcc;border-radius:.5rem;align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.875rem;display:flex}.dice-pool-count-btn{border:1px solid var(--color-border);background:var(--color-input-bg);width:24px;height:24px;color:var(--color-text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:flex}.dice-pool-count-btn:hover{border-color:#38bdf880}.dice-pool-label{text-align:center;min-width:2rem;font-weight:600}.dice-options-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dice-modifier-field{color:var(--color-text-secondary);align-items:center;gap:.4rem;font-size:.875rem;display:flex}.dice-modifier-field input{border:1px solid var(--color-border);background:var(--color-surface-muted);width:4rem;color:var(--color-text);border-radius:.5rem;padding:.4rem .5rem;font-size:.875rem}.dice-mode-group{gap:.35rem;display:flex}.dice-mode-btn{border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);cursor:pointer;background:#1e293b99;border-radius:.5rem;padding:.35rem .65rem;font-size:.75rem;transition:all .15s}.dice-mode-btn.active{color:var(--color-accent);background:#38bdf81f;border-color:#38bdf899}.dice-tray{background:radial-gradient(ellipse at center, #1e293be6 0%, var(--color-surface) 100%);border:1px solid #94a3b826;border-radius:.75rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;min-height:120px;padding:1rem;display:flex}.dice-tray-placeholder{color:#6b7280;text-align:center;width:100%;font-size:.875rem}.dice-tray-total{text-align:center;width:100%;color:var(--color-accent);margin-top:.25rem;font-size:1.5rem;font-weight:700}.dice-tray-total span{color:var(--color-text-secondary);margin-bottom:.15rem;font-size:.875rem;font-weight:400;display:block}.dice-tray-d20-note{text-align:center;color:#a78bfa;width:100%;font-size:.8rem}.die-face-wrap{-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.die-face-wrap.is-rolling{animation:.12s ease-in-out infinite alternate dice-shake}.die-face-wrap.is-rolling .die-shape-svg{animation:.35s ease-in-out infinite alternate dice-spin-subtle}.die-shape-svg{display:block;overflow:visible}.die-face-wrap.sides-4 .die-shape-svg{transform:translateY(2px)}.die-face-wrap.sides-10 .die-shape-svg{transform:translateY(1px)}@keyframes dice-shake{0%{transform:rotate(-8deg)translateY(0)}to{transform:rotate(8deg)translateY(-4px)}}@keyframes dice-spin-subtle{0%{transform:scale(.96)rotate(-4deg)}to{transform:scale(1.02)rotate(4deg)}}.dice-roll-btn{background:linear-gradient(135deg, var(--color-accent), #6366f1);color:#fff;cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:opacity .2s,transform .15s}.dice-roll-btn:hover:not(:disabled){transform:translateY(-1px)}.dice-roll-btn:disabled{opacity:.5;cursor:not-allowed}.dice-pool-actions{gap:.5rem;margin-top:.5rem;display:flex}.dice-clear-pool-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:.5rem;padding:.35rem .75rem;font-size:.8rem}.dice-clear-pool-btn:hover{color:#f87171;border-color:#ef444466}.dice-history-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.dice-history-header h3{margin:0}.dice-history-clear{color:#6b7280;cursor:pointer;background:0 0;border:none;font-size:.75rem;text-decoration:underline}.dice-history-clear:hover{color:var(--color-text-secondary)}.dice-history-list{flex-direction:column;gap:.4rem;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.dice-history-item{background:#1e293b80;border-radius:.5rem;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.5rem .65rem;font-size:.8rem;display:flex}.dice-history-notation{color:var(--color-text-secondary);flex-shrink:0}.dice-history-result{color:var(--color-text);text-align:right;font-weight:600}.dice-history-time{color:#6b7280;flex-shrink:0;font-size:.7rem}.dice-history-empty{color:#6b7280;margin:0;font-size:.875rem}@media (width<=480px){.dice-type-grid{grid-template-columns:repeat(3,1fr)}.dice-face{width:44px;height:44px;font-size:1rem}}.dice-share-section{background:#1e293b80;border:1px solid #94a3b826;border-radius:.5rem;margin-top:1rem;padding:1rem}.dice-share-toggle{color:var(--color-text);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.dice-share-toggle input{width:1rem;height:1rem;accent-color:var(--color-accent)}.dice-share-game-field{color:var(--color-text-secondary);flex-direction:column;gap:.35rem;margin-top:.75rem;font-size:.85rem;display:flex}.dice-share-game-field select{border:1px solid var(--color-border-subtle);background:var(--color-input-bg);color:var(--color-text);border-radius:.375rem;padding:.5rem .75rem;font-size:.9rem}.dice-share-hint{color:#6b7280;margin:.5rem 0 0;font-size:.8rem}.dice-modal-tabs{border-bottom:1px solid var(--color-border-subtle);gap:0;padding:0 1.5rem;display:flex}.dice-modal-tabs button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:.65rem 1rem;font-size:.875rem;font-weight:600;transition:color .15s,border-color .15s}.dice-modal-tabs button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.dice-settings-panel{flex-direction:column;gap:1rem;display:flex}.dice-settings-intro{color:var(--color-text-secondary);margin:0;font-size:.85rem;line-height:1.45}.dice-settings-grid{flex-direction:column;gap:1rem;display:flex}.dice-settings-field{color:var(--color-text-secondary);flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.dice-settings-field select,.dice-settings-field input[type=range]{width:100%}.dice-settings-field select{border:1px solid var(--color-border-subtle);background:var(--color-input-bg);color:var(--color-text);border-radius:.375rem;padding:.5rem .75rem;font-size:.9rem}.dice-settings-field input[type=range]{accent-color:var(--color-accent)}.dice-settings-checkbox{color:var(--color-text);cursor:pointer;flex-direction:row;align-items:center;gap:.5rem}.dice-settings-checkbox input{width:1rem;height:1rem;accent-color:var(--color-accent)}.dice-settings-color-row{align-items:center;gap:.75rem;display:flex}.dice-settings-color-row input[type=color]{border:1px solid var(--color-border-subtle);cursor:pointer;background:0 0;border-radius:.375rem;width:2.5rem;height:2rem;padding:0}.dice-settings-color-value{color:var(--color-text);font-family:ui-monospace,monospace;font-size:.8rem}.dice-settings-mode{width:fit-content}.dice-settings-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dice-settings-save-status{color:#4ade80;min-height:1.25rem;font-size:.8rem}.dice-settings-note{color:#6b7280;margin:0;font-size:.75rem}.dice-tray-3d-wrap{background:radial-gradient(ellipse at center, var(--color-surface-raised) 0%, #0f172a 100%);border:1px solid #94a3b826;border-radius:.75rem;width:100%;min-height:220px;position:relative;overflow:hidden}.dice-tray-3d{width:100%;height:220px;min-height:220px;position:relative;overflow:hidden}.dice-tray-3d canvas,.dice-tray-3d canvas.dice-box-canvas{z-index:1;width:100%!important;height:100%!important;display:block!important;position:absolute!important;inset:0!important}.dice-tray-3d-status,.dice-tray-3d-error{color:var(--color-text-secondary);pointer-events:none;justify-content:center;align-items:center;margin:0;font-size:.875rem;display:flex;position:absolute;inset:0}.dice-tray-3d-error{color:#f87171}.dice-tray-3d-summary{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.dice-visual-toggle{border:1px solid var(--color-border-subtle);border-radius:.5rem;font-size:.75rem;display:inline-flex;overflow:hidden}.dice-visual-toggle button{color:var(--color-text-secondary);cursor:pointer;background:#1e293b99;border:none;padding:.3rem .65rem;transition:background .15s,color .15s}.dice-visual-toggle button.active{color:var(--color-accent);background:#38bdf826}.dice-visual-toggle button:disabled{opacity:.5;cursor:not-allowed}.dice-tray-3d-hint{color:#6b7280;text-align:center;margin:.35rem 0 0;font-size:.75rem}.notifications-container{position:relative}.notifications-bell{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;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{background:var(--color-danger);color:#fff;border:2px solid var(--color-surface-muted);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{background:var(--color-surface);border:1px solid var(--color-border-subtle);z-index:1000;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 var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1rem;display:flex}.notifications-header h3{color:var(--color-text);margin:0;font-size:1.1rem}.mark-all-read-btn{color:var(--color-accent);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{border-left:3px solid var(--color-accent);background:#38bdf80d}.notification-icon{flex-shrink:0;font-size:1.5rem}.notification-content{flex:1;min-width:0}.notification-content h4{color:var(--color-text);margin:0 0 .25rem;font-size:.9rem}.notification-content p{color:var(--color-text-secondary);margin:0 0 .25rem;font-size:.85rem;line-height:1.4}.notification-time{color:#6b7280;font-size:.75rem}.notification-delete{color:var(--color-text-secondary);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:var(--color-danger);background:#ef44441a}@media (width<=640px){.notifications-dropdown{width:calc(100vw - 2rem);right:-1rem}}.avatar-framed{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-framed__inner{aspect-ratio:1;isolation:isolate;width:100%;height:100%;position:relative}.avatar-framed__photo{z-index:1;background:var(--color-surface-muted);border-radius:50%;position:absolute;overflow:hidden}.avatar-framed__img,.avatar-framed__placeholder{object-fit:cover;width:100%;height:100%;display:block}.avatar-framed__placeholder{background:var(--color-primary-gradient);color:var(--color-text-inverse);justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-framed__frame{z-index:10;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.avatar-framed--sidebar{width:7.5rem;height:7.5rem}.avatar-framed--sidebar .avatar-framed__photo{inset:16%}.avatar-framed--sidebar .avatar-framed__placeholder{font-size:2.75rem}.avatar-framed--md{width:6.5rem;height:6.5rem}.avatar-framed--md .avatar-framed__photo{inset:15%}.avatar-framed--md .avatar-framed__placeholder{font-size:2rem}.avatar-framed--sm{width:3.25rem;height:3.25rem}.avatar-framed--sm .avatar-framed__photo{inset:14%}.avatar-framed--sm .avatar-framed__placeholder{font-size:1rem}.confirm-dialog-overlay{z-index:1100;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:0 20px 50px var(--color-shadow);padding:1.25rem 1.35rem 1.1rem}.confirm-dialog-title{color:var(--color-text);margin:0 0 .5rem;font-size:1.05rem}.confirm-dialog-message{color:var(--color-text-secondary);margin:0 0 1.15rem;font-size:.92rem;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:.65rem;display:flex}.confirm-dialog-btn{width:auto;min-width:6.5rem}.games-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.games-section{margin-top:2rem}.games-section-desc{color:var(--text-secondary);margin:.25rem 0 1rem;font-size:.95rem}.games-empty-section{padding:1rem 0}.games-empty-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.games-list-item{align-items:flex-start}.games-list-badges{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.games-role-badge{font-size:.75rem}.games-role-badge--master{color:#93c5fd;background:#3b82f640}.games-role-badge--player{color:#6ee7b7;background:#10b98133}@media (width<=640px){.games-list-badges{flex-flow:wrap}}.game-dice-feed-live{color:#4ade80;white-space:nowrap;font-size:.75rem;font-weight:500}.game-dice-feed-empty,.game-dice-feed-error{color:var(--color-text-secondary);margin:0;font-size:.9rem}.game-dice-feed-error{color:#f87171}.game-dice-feed-list{flex-direction:column;gap:.75rem;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.game-dice-feed-item{background:#1e293b99;border:1px solid #94a3b826;border-radius:.5rem;padding:.75rem 1rem}.game-dice-feed-meta{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem;font-size:.85rem;display:flex}.game-dice-feed-meta strong{color:var(--color-accent)}.game-dice-feed-time{color:#6b7280;font-size:.75rem}.game-dice-feed-body{color:var(--color-text);flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;font-size:.9rem;display:flex}.game-dice-feed-label{color:#fbbf24;font-weight:600}.game-dice-feed-notation{color:var(--color-text-secondary)}.game-dice-feed-result strong{color:#4ade80;font-size:1.05rem}.character-options{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.option-radio{border:1px solid var(--border-color);cursor:pointer;border-radius:4px;align-items:center;gap:.75rem;padding:.75rem;transition:background-color .2s;display:flex}.option-radio:hover{background-color:var(--color-overlay-subtle)}.option-radio input[type=radio]{cursor:pointer}.option-radio span{color:var(--text-primary);flex:1}.character-select{margin-top:.5rem;margin-left:2rem}.character-select select{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-primary);border-radius:4px;padding:.75rem;font-size:1rem}.character-select-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-primary);border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:1rem}.selected-character-preview{margin-top:1rem}.character-preview-card{background:var(--color-overlay-subtle);border:1px solid var(--border-color);border-radius:4px;padding:1rem}.character-preview-card h4{color:var(--text-primary);margin:0 0 .5rem}.character-preview-badges{flex-wrap:wrap;gap:.5rem;display:flex}.character-preview-badges span{background:var(--color-overlay-subtle);color:var(--text-secondary);border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.game-system-badge{background:var(--color-accent-muted);border:1px solid var(--color-accent-muted);color:var(--text-primary);border-radius:4px;margin-bottom:1rem;padding:.5rem 1rem;font-size:.9rem}.game-system-badge strong{color:var(--color-accent)}.character-form{background:#ffffff05;border-radius:4px;margin-top:.5rem;margin-left:2rem;padding:1rem}.modal-description{color:var(--text-secondary);margin-bottom:1rem}@media (width<=640px){.form-row{grid-template-columns:1fr}.character-select,.character-form{margin-left:0}}.master-badge{background:var(--color-accent-muted);color:#93c5fd;border-radius:999px;flex-shrink:0;padding:.35rem .75rem;font-size:.875rem;font-weight:600}.game-header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.game-pending-invites{background:#fbbf2414;border:1px solid #fbbf2440;border-radius:8px;margin-bottom:1rem;padding:.85rem 1rem}.game-pending-invites-title{color:#fcd34d;margin:0 0 .65rem;font-size:.9rem}.game-pending-invites-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.game-pending-invite-row{justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.player-badge{color:#6ee7b7;background:#10b98133;border-radius:999px;flex-shrink:0;padding:.35rem .75rem;font-size:.875rem;font-weight:600}.game-access-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.my-player-section{border:1px solid var(--color-border-subtle);background:#1e293b80;border-radius:10px;padding:1rem 1.25rem}.my-player-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.game-players-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.game-player-row{background:var(--color-table-wrap-bg);border:1px solid #94a3b826;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.game-player-info{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;min-width:0;display:flex}.game-player-actions{flex-wrap:wrap;flex-shrink:0;gap:.4rem;display:flex}.game-player-row--me{border-color:#10b98159}.game-player-name{color:var(--text-primary);font-weight:600}.game-player-character{color:var(--text-secondary);font-size:.9rem}.game-player-you{color:#6ee7b7;font-size:.75rem;font-weight:600}@media (width<=640px){.game-player-row{flex-direction:column;align-items:stretch}.game-player-actions{justify-content:flex-end}.game-header-actions{justify-content:flex-end;width:100%}}.game-invite-actions{flex-wrap:wrap;gap:.5rem;display:flex}.invite-empty-state{flex-direction:column;gap:.75rem;display:flex}.invite-empty-state p{margin:0}.invite-pending-list{color:var(--text-secondary);margin:0;padding-left:1.25rem;font-size:.9rem}.invite-pending-hint{margin:0 0 .75rem;font-size:.875rem}.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:var(--color-surface);border:1px solid var(--color-border-subtle);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 var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{color:var(--color-text);margin:0;font-size:1.25rem}.modal-close{color:var(--color-text-secondary);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:var(--color-text);background:#94a3b81a}.modal-body{padding:1.5rem}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.field label{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;display:block}.field .input{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);width:100%;color:var(--color-text);border-radius:.5rem;padding:.75rem;font-family:inherit;font-size:.9rem}.sessions-list{flex-direction:column;gap:1rem;display:flex}.session-card{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);border-radius:.75rem;padding:1.25rem;transition:all .2s}.session-card:hover{background:var(--color-input-bg);border-color:#38bdf84d}.session-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.session-header h3{color:var(--color-text);margin:0 0 .25rem;font-size:1.1rem}.session-date-subtitle{color:var(--color-text-secondary);margin:0;font-size:.85rem}.session-actions{flex-shrink:0;gap:.5rem;display:flex}.session-notes{border-top:1px solid var(--color-border-subtle);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{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);cursor:pointer;border-radius:.75rem;padding:1rem;transition:all .2s}.calendar-session-card:hover{background:var(--color-input-bg);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 var(--color-border-subtle);flex-direction:column;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.calendar-day{color:var(--color-accent);font-size:2rem;font-weight:700;line-height:1}.calendar-month{color:var(--color-text-secondary);text-transform:uppercase;margin-top:.25rem;font-size:.85rem}.calendar-content h4{color:var(--color-text);margin:0 0 .5rem;font-size:1rem}.calendar-notes{color:var(--color-text-secondary);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:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);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{background:linear-gradient(135deg, var(--color-accent), #6366f1);color:#fff;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{background:var(--color-border-subtle);color:var(--color-text-secondary)}.live-session-banner{background:linear-gradient(135deg,#22c55e26,#38bdf81a);border:1px solid #22c55e66;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.live-session-banner-content{align-items:center;gap:.75rem;display:flex}.live-session-banner p{color:var(--color-text-secondary);margin:.25rem 0 0;font-size:.9rem}.live-pulse{background:#22c55e;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:1.5s infinite live-pulse;box-shadow:0 0 #22c55eb3}@keyframes live-pulse{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.upcoming-sessions-panel{background:#38bdf814;border:1px solid #38bdf833;border-radius:.75rem;margin-bottom:1.25rem;padding:1rem}.upcoming-sessions-title{color:#7dd3fc;margin:0 0 .75rem;font-size:.95rem}.upcoming-sessions-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.upcoming-sessions-list li{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.9rem;display:flex}.upcoming-date{color:var(--color-text);font-weight:600}.upcoming-notes{color:var(--color-text-muted)}.session-live-badge{color:#4ade80;background:#22c55e33;border-radius:.5rem;align-items:center;padding:.35rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.session-live-btn{background:linear-gradient(135deg,#22c55e,#16a34a)}@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%}}.avatar-frame-section .avatar-frame-hint{margin-bottom:1rem}.avatar-frame-preview-wrap{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-muted);flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:1rem;display:flex}.avatar-frame-saving{font-size:.85rem}.avatar-frame-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;display:grid}.avatar-frame-option{border-radius:var(--radius-md);border:2px solid var(--color-border-subtle);background:var(--color-surface-subtle);cursor:pointer;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem;transition:border-color .15s,box-shadow .15s;display:flex}.avatar-frame-option input{opacity:0;pointer-events:none;position:absolute}.avatar-frame-option.is-selected{border-color:var(--color-accent-border);box-shadow:0 0 0 1px var(--color-accent-muted)}.avatar-frame-option-img{object-fit:contain;width:4.5rem;height:4.5rem}.avatar-frame-option-none{width:4.5rem;height:4.5rem;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.avatar-frame-option-label{text-align:center;color:var(--color-text);font-size:.78rem;line-height:1.2}.theme-toggle{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-subtle);gap:.25rem;padding:.2rem;display:inline-flex}.theme-toggle-btn{border-radius:calc(var(--radius-md) - 2px);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.theme-toggle-btn:hover{color:var(--color-text);background:var(--color-overlay-hover)}.theme-toggle-btn.active{color:var(--color-text);background:var(--color-accent-muted);box-shadow:inset 0 0 0 1px var(--color-accent-border)}.theme-toggle--compact .theme-toggle-btn{flex:1;justify-content:center;min-width:2.25rem;padding:.4rem .5rem}.theme-toggle--compact .theme-toggle-label{display:none}.theme-toggle-icon{font-size:1rem;line-height:1}.theme-toggle-label{white-space:nowrap}.theme-toggle--compact{flex-wrap:nowrap;width:100%}@media (width<=640px){.sidebar-footer .theme-toggle{flex-wrap:nowrap}}.theme-appearance-section .page-subtitle.theme-appearance-hint{margin-bottom:1rem}.theme-appearance-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-muted);margin-bottom:1rem;padding:1rem 1.15rem}.theme-appearance-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:.65rem;font-size:.8rem;font-weight:600;display:block}.theme-appearance-backgrounds{margin-top:.25rem}.fantasy-background-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.fantasy-background-option{cursor:pointer;border-radius:var(--radius-md);border:2px solid var(--color-border-subtle);background:var(--color-surface-subtle);flex-direction:column;gap:.4rem;padding:.35rem;transition:border-color .15s,box-shadow .15s;display:flex}.fantasy-background-option input{opacity:0;pointer-events:none;position:absolute}.fantasy-background-option.is-selected{border-color:var(--color-accent-border);box-shadow:0 0 0 1px var(--color-accent-muted)}.fantasy-background-thumb{aspect-ratio:16/10;border-radius:calc(var(--radius-md) - 4px);border:1px solid var(--color-border-subtle);background-position:50%;background-size:cover;width:100%;display:block}.fantasy-background-name{color:var(--color-text);text-align:center;font-size:.82rem;font-weight:500;line-height:1.2}.fantasy-background-coming{margin:.75rem 0 0;font-size:.85rem}.friends-list,.pending-requests,.search-section{flex-direction:column;gap:1rem;display:flex}.tabs{border-bottom:1px solid var(--color-border-subtle);gap:.5rem;margin-bottom:1.5rem;display:flex}.tab{color:var(--color-text-secondary);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:var(--color-text)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-content{margin-top:1rem}.friend-card{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.friend-card:hover{background:var(--color-input-bg);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{background:linear-gradient(135deg, var(--color-accent), #6366f1);color:#fff;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:var(--color-text);margin:0 0 .25rem;font-size:1rem}.friend-info p{color:var(--color-text-secondary);margin:0;font-size:.85rem}.friend-actions{gap:.5rem;display:flex}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-danger{color:var(--color-danger);background:#ef444433;border:1px solid #ef44444d}.btn-danger:hover{background:#ef44444d}.status-badge{color:#fbbf24;background:#fbbf2433;border-radius:.5rem;padding:.4rem .8rem;font-size:.8rem}.pending-section{margin-bottom:2rem}.pending-section h2{color:var(--color-text);margin-bottom:1rem;font-size:1.1rem}.search-box{margin-bottom:1.5rem}.search-box input{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);width:100%;color:var(--color-text);border-radius:.75rem;padding:.75rem 1rem;font-size:.9rem}.search-box input:focus{border-color:var(--color-accent);background:var(--color-input-bg);outline:none}.empty-state{text-align:center;color:var(--color-text-secondary);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%}}.invitations-code-hint{color:var(--text-secondary);margin-top:1rem;font-size:.95rem}.invitations-code-hint a{color:var(--color-accent)}.invitations-list{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.invitation-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.invitation-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.invitation-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.invitation-game-info h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.25rem}.invitation-system{color:var(--text-secondary);margin:0;font-size:.9rem}.invitation-badge{background:var(--primary-color);color:#fff;border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.invitation-inviter{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.inviter-avatar{flex-shrink:0}.inviter-avatar img{object-fit:cover;border-radius:50%;width:48px;height:48px}.avatar-placeholder{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:700;display:flex}.inviter-info{flex:1}.inviter-info p{color:var(--text-primary);margin:.25rem 0}.invitation-message{color:var(--text-secondary);font-style:italic;margin-top:.5rem!important}.invitation-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.invitation-date{color:var(--text-secondary);font-size:.875rem}.invitation-actions{gap:.75rem;display:flex}@media (width<=640px){.invitation-footer{flex-direction:column;align-items:stretch}.invitation-actions{width:100%}.invitation-actions button{flex:1}}.join-game-page .join-game-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;max-width:480px;margin-top:1.5rem;padding:1.5rem}.join-game-form label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.join-game-form input{box-sizing:border-box;letter-spacing:.15em;text-align:center;border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;font-family:ui-monospace,monospace;font-size:1.25rem}.join-game-form input:focus{border-color:var(--primary-color);outline:none}.join-game-hint{color:var(--text-secondary);margin:.5rem 0 1rem;font-size:.875rem}.join-game-form .btn-primary{width:100%;margin-top:.5rem}.join-game-links{border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:1.5rem;padding-top:1rem;font-size:.9rem}.join-game-links p{margin:.5rem 0}.join-game-links a{color:var(--color-accent)}.error-text{color:#fca5a5;margin:.5rem 0}.success-text{color:#86efac;margin:.5rem 0}.campaign-form{max-width:600px;margin-top:2rem}.field{margin-bottom:1.5rem}.field label{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.required{color:var(--color-danger)}.field .input{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);width:100%;color:var(--color-text);border-radius:.75rem;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.field .input:focus{border-color:var(--color-accent);background:var(--color-input-bg);outline:none}.field textarea.input{resize:vertical;min-height:120px}.field select.input{cursor:pointer}.loading-text{color:var(--color-text-secondary);padding:.75rem 0;font-style:italic}.field-hint{color:var(--color-text-secondary);margin:.4rem 0 0;font-size:.82rem}.form-actions{border-top:1px solid var(--color-border-subtle);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%}}.character-sheet{background:var(--card-bg);border:1px solid var(--color-border);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 var(--color-border);margin-bottom:2rem;padding-bottom:1rem}.sheet-tabs{border-bottom:2px solid var(--color-border-subtle);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:var(--color-overlay-subtle)}.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 var(--color-border);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{border:1px solid var(--color-border-subtle);background:#ffffff05;border-radius:8px;padding:1rem;transition:all .2s}.ability-card:hover{border-color:var(--color-input-border);background:#ffffff0a;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:var(--color-accent);background:var(--color-accent-muted);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{border:1px solid var(--color-border-subtle);text-align:center;cursor:pointer;background:#ffffff08;border-radius:6px;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;transition:all .2s;display:flex}.ability-type-card:hover{background:var(--color-overlay-subtle);border-color:var(--color-input-border);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%{background:var(--color-accent-muted);border-color:var(--primary-color)}}.character-avatar{border:2px solid var(--color-border);background:var(--color-overlay-subtle);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{background:var(--color-accent-muted);color:var(--color-accent);border-radius:4px;padding:.25rem .75rem;font-size:.9rem;font-weight:500}.character-class-level .level{background:var(--color-border-subtle);color:var(--text-secondary);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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);cursor:pointer;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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.alignment-select option{background:var(--color-input-option-bg);color:var(--color-input-text)}.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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);text-align:center;cursor:pointer;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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.hit-dice-num-select option,.hit-dice-type-select option{background:var(--color-input-option-bg);color:var(--color-input-text)}.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{background:var(--color-accent-muted);border:2px solid var(--color-accent-muted);text-align:center;box-sizing:border-box;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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);width:100%;color:var(--color-input-text);text-align:center;cursor:pointer;border-radius:4px;margin-bottom:.5rem;padding:.5rem;font-family:inherit;font-size:.9rem;font-weight:600}.spellcasting-ability-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.spellcasting-ability-display{color:var(--text-primary);font-size:1.5rem;font-weight:700}.character-dotes-section{border-bottom:1px solid var(--color-border-subtle);margin-bottom:1.25rem;padding-bottom:1rem}.character-dotes-list{flex-direction:column;gap:.75rem;display:flex}.character-dotes-section .trait-block{border:1px solid var(--color-border-subtle);background:#ffffff08;border-radius:6px;padding:.65rem .75rem}.character-dotes-section .trait-name{margin-bottom:.35rem;font-size:.9rem;font-weight:600}.character-dotes-section .trait-description{color:var(--text-secondary);white-space:pre-wrap;font-size:.8rem;line-height:1.45}.spellcasting-ability-select option{background:var(--color-input-option-bg);color:var(--color-input-text)}.combat-banner{border:2px solid var(--color-border);background:#ffffff05;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;padding:1.5rem;display:grid}.combat-banner-item{border:2px solid var(--color-border-subtle);background:#ffffff03;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{border:1px solid var(--color-border-subtle);background:#ffffff05;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:var(--color-danger)}.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{background:var(--color-accent-muted);border:2px solid var(--color-accent-muted);text-align:center;box-sizing:border-box;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 var(--color-border);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{border:1px solid var(--color-border-subtle);background:#ffffff05;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{background:var(--color-accent-muted);color:var(--color-accent);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{border:1px solid var(--color-border-subtle);background:#ffffff05;border-radius:6px;padding:1rem}.section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border-subtle);margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.section-title-red{color:var(--color-danger);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border-subtle);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)){background:var(--color-accent-muted);border-left:3px solid var(--primary-color);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{border:1px solid var(--color-border-subtle);background:#ffffff05;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);background:var(--color-accent-muted);border:2px solid var(--color-accent-muted);text-align:center;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{border:1px solid var(--color-border-subtle);text-align:center;background:#ffffff05;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{border:1px solid var(--color-border);background:var(--color-overlay-subtle);color:var(--text-primary);cursor:pointer;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;background:var(--color-overlay-subtle);border:1px solid var(--color-border);width:60px;color:var(--text-primary);border-radius:4px;padding:.5rem;font-family:inherit;font-size:1.5rem;font-weight:700}.hp-value-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.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{border:1px solid var(--color-border-subtle);background:#ffffff05;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}.page-content:has(.character-editor-page--sheet-view){padding-left:.35rem;padding-right:.35rem}.character-editor-page--sheet-view{max-width:100%;padding:.25rem 0 1rem}.character-editor-page--sheet-view .character-sheet-container{margin-top:.25rem}.character-editor-page--sheet-view .character-sheet{border-radius:6px;padding:.45rem .35rem}.character-editor-page--sheet-view .character-editor-header{margin-bottom:.75rem;padding:0 .15rem}.character-editor-page--sheet-view .sheet-content,.character-editor-page--sheet-view .sheet-left-column,.character-editor-page--sheet-view .sheet-right-column{gap:.65rem}.character-editor-page--sheet-view .saving-throws-section,.character-editor-page--sheet-view .skills-section,.character-editor-page--sheet-view .weapons-section,.character-editor-page--sheet-view .armors-section,.character-editor-page--sheet-view .items-section,.character-editor-page--sheet-view .traits-section,.character-editor-page--sheet-view .proficiencies-section,.character-editor-page--sheet-view .character-dotes-section{padding:.55rem .4rem}.character-editor-page--sheet-view .equipment-table{column-gap:.4rem}.character-name-section{flex-direction:column;align-items:stretch;gap:.75rem;width:100%}.character-avatar{align-self:center}.character-name{text-align:center;width:100%;font-size:1.5rem}.character-class-level{flex-direction:column;align-items:stretch;gap:.5rem;width:100%}.character-class-level .race,.character-class-level .class,.character-class-level .level,.character-class-level .alignment-text{text-align:center;box-sizing:border-box;width:100%}.alignment-selectors{flex-direction:column;gap:.5rem;width:100%}.alignment-select{width:100%}.center-stats-section{grid-template-columns:1fr;width:100%;max-width:100%}.center-stats-section .ability-score-card{box-sizing:border-box;width:100%}.background-traits-grid{grid-template-columns:1fr;gap:1rem}.background-traits-section .background-section{box-sizing:border-box;width:100%}.saving-throws-list{flex-direction:column;grid-template-columns:1fr;gap:.35rem;display:flex}.saving-throw-row{box-sizing:border-box;width:100%;padding:.35rem 0}.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{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;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}.equipment-table--weapons.weapons-list{grid-template-columns:minmax(0,1fr) 3.25rem 4rem 2.5rem minmax(5.25rem,max-content);align-items:center;gap:.1rem .65rem;display:grid}.equipment-table--weapons .weapons-header,.equipment-table--weapons .weapon-row{grid-column:1/-1;grid-template-columns:subgrid;border-bottom:1px solid #94a3b81a;align-items:center;gap:0;padding:.4rem 0;display:grid}.equipment-table--weapons .weapons-header{border-bottom-color:var(--color-border-subtle);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;font-size:.75rem;font-weight:600}.equipment-table--armors.weapons-list{grid-template-columns:minmax(0,1fr) 2.5rem 2.5rem 3.25rem 4rem 2.5rem minmax(7rem,max-content);align-items:center;gap:.1rem .65rem;display:grid}.equipment-table--armors .armor-header,.equipment-table--armors .armor-row{grid-column:1/-1;grid-template-columns:subgrid;border-bottom:1px solid #94a3b81a;align-items:center;gap:0;padding:.4rem 0;display:grid}.equipment-table--armors .armor-header{border-bottom-color:var(--color-border-subtle);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;font-size:.75rem;font-weight:600}.equipment-table .weapon-empty{border-bottom:none;grid-column:1/-1;padding:.5rem 0}.equipment-table .weapon-row>*,.equipment-table .weapons-header>*{min-width:0}.equipment-table--weapons .weapon-header-name,.equipment-table--weapons .equipment-name-link{text-align:left;justify-self:start}.equipment-table--weapons .weapon-header-bonus,.equipment-table--weapons .weapon-bonus.equipment-col-hide-mobile{text-align:center;justify-self:center}.equipment-table--weapons .weapon-header-damage,.equipment-table--weapons .weapon-header-quantity,.equipment-table--weapons .equipment-col-damage,.equipment-table--weapons .equipment-col-qty{text-align:center;white-space:nowrap;justify-self:center}.equipment-table--weapons .weapon-header-actions{text-align:right;justify-self:end}.equipment-table--weapons .weapon-actions{justify-self:end}.equipment-table--armors .weapon-header-name,.equipment-table--armors .equipment-name-link{text-align:left;justify-self:start}.equipment-table--armors .equipment-col-ac,.equipment-table--armors .weapon-header-bonus.equipment-col-ac{text-align:center;white-space:nowrap;justify-self:center}.equipment-table--armors .equipment-col-equip,.equipment-table--armors .weapon-header-equip.equipment-col-equip{text-align:center;justify-self:center}.equipment-table--armors .weapon-header-actions{text-align:right;justify-self:end}.equipment-table--armors .weapon-actions{justify-self:end}@media (width<=640px){.equipment-table--weapons.weapons-list{grid-template-columns:minmax(0,1fr) 3.25rem 2rem minmax(4.75rem,max-content)}.equipment-table--armors.weapons-list{grid-template-columns:minmax(0,1fr) 2.5rem 2.25rem 2.75rem}.equipment-table .equipment-col-hide-mobile{display:none!important}.equipment-table .equipment-name-link{word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;font-size:.85rem;font-weight:600;line-height:1.3}.equipment-table .equipment-col-damage,.equipment-table .equipment-col-qty,.equipment-table .equipment-col-ac{font-size:.85rem;font-weight:600}.equipment-table .weapon-header-actions,.equipment-table .weapon-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.2rem}.equipment-table .sheet-roll-action-btn,.equipment-table .armor-equip-btn{width:1.65rem;height:1.65rem;font-size:.8rem}.equipment-table .weapons-header{font-size:.65rem}}.equipment-table--items.weapons-list{grid-template-columns:minmax(0,1fr) minmax(0,2fr) 2.5rem 2.75rem;align-items:start;gap:.1rem .65rem;display:grid}.equipment-table--items .equipment-items-header,.equipment-table--items .weapon-row{grid-column:1/-1;grid-template-columns:subgrid;border-bottom:1px solid #94a3b81a;align-items:start;gap:0;padding:.4rem 0;display:grid}.equipment-table--items .equipment-items-header{border-bottom-color:var(--color-border-subtle);color:var(--color-text-secondary);text-transform:uppercase;align-items:center;padding-bottom:.5rem;font-size:.75rem;font-weight:600}.equipment-table--items .equipment-items-desc-header,.equipment-table--items .equipment-items-desc{text-align:left;justify-self:stretch}.equipment-table--items .weapon-header-quantity,.equipment-table--items .weapon-quantity{text-align:center;justify-self:center}@supports not (grid-template-columns:subgrid){.equipment-table--weapons .weapons-header,.equipment-table--weapons .weapon-row{grid-template-columns:minmax(0,1fr) 3.25rem 4rem 2.5rem minmax(5.25rem,max-content)}.equipment-table--armors .armor-header,.equipment-table--armors .armor-row{grid-template-columns:minmax(0,1fr) 2.5rem 2.5rem 3.25rem 4rem 2.5rem 2.75rem}.equipment-table--items .equipment-items-header,.equipment-table--items .weapon-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr) 2.5rem 2.75rem}}.equipment-table--armors .weapon-actions,.equipment-table--items .weapon-actions{gap:.15rem}.equipment-table--armors .weapon-header-actions{letter-spacing:0;font-size:.65rem}.armor-row.is-equipped{background:#3b82f614}.weapon-header-equip{text-align:center;color:#ffffffa6;font-size:.7rem;font-weight:600}.armor-equip-btn{background:var(--color-field-inset-bg);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;border:1px solid #94a3b873;border-radius:4px;padding:0;font-size:.85rem;line-height:1}.armor-equip-btn.is-on{color:#93c5fd;background:#3b82f640;border-color:#3b82f6bf}.armor-equip-btn:hover{border-color:var(--primary-color)}.armor-equip-readonly{text-align:center;width:1.75rem;color:var(--text-secondary);display:inline-block}.combat-banner-ac-wrap{flex-direction:column;align-items:center;gap:.15rem;display:flex}.combat-banner-ac-hint{color:#ffffff8c;letter-spacing:.02em;font-size:.65rem;font-weight:500}.combat-banner-ac-manual{color:#fbbf24e6;font-size:.6rem}.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}.equipment-name-link{width:100%;color:var(--primary-color,var(--color-accent));font:inherit;text-align:left;text-underline-offset:2px;cursor:pointer;word-wrap:break-word;overflow-wrap:break-word;background:0 0;border:none;margin:0;padding:0;font-weight:600;line-height:1.4;-webkit-text-decoration:underline #60a5fa73;text-decoration:underline #60a5fa73;display:block}.equipment-name-link:hover{color:#93c5fd;text-decoration-color:#93c5fdbf}.equipment-detail-overlay{z-index:1100}.equipment-detail-modal{background:var(--card-bg,var(--color-input-option-bg));border:1px solid var(--color-border);border-radius:10px;flex-direction:column;width:min(96vw,920px);max-height:92vh;display:flex;overflow:hidden}.equipment-detail-modal-header{border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.equipment-detail-modal-header h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.equipment-detail-modal-body{flex:1;padding:1rem 1.1rem 1.25rem;overflow-y:auto}.equipment-detail-layout{margin-top:.5rem}.equipment-detail-layout.monstruo-detail-layout{align-items:flex-start}.equipment-detail-status{margin:0 0 .75rem;font-size:.9rem}.equipment-detail-error{color:#f87171}.equipment-detail-qty{margin:0 0 .75rem;font-size:.85rem}.equipment-detail-catalog-link{margin:1rem 0 0;font-size:.85rem}.equipment-detail-catalog-link a{color:var(--primary-color,var(--color-accent))}@media (width<=768px){.equipment-detail-modal{border-radius:0;width:100%;max-height:100vh}.equipment-detail-layout.monstruo-detail-layout{flex-direction:column}}.weapon-damage:not(.equipment-col-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:var(--color-text-secondary)}.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;align-items:flex-start;gap:.5rem;width:100%;padding:.65rem .5rem;display:flex}.trait-edit-row:last-child{border-bottom:none}.trait-edit-row-body{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.trait-name{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;width:100%;font-weight:600;line-height:1.35}.trait-description{color:var(--text-secondary);word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;width:100%;font-size:.9rem;line-height:1.45}.trait-description--empty{font-style:italic}.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-list--stacked{gap:0}.trait-block{border-bottom:1px solid #94a3b81a;flex-direction:column;gap:.35rem;padding:.65rem 0;font-size:.9rem;display:flex}.trait-block:last-child{border-bottom:none}.trait-block .trait-name{font-weight:600}.trait-block .trait-description{color:#e2e8f0eb}.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 var(--color-border-subtle);grid-template-columns:auto 1fr;gap:.5rem;padding:.5rem 0;display:grid}.proficiency-header-name,.proficiency-header-description{color:var(--color-text-secondary);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{border:1px solid var(--color-border-subtle);background:#ffffff05;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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);width:100%;min-height:100px;color:var(--color-input-text);resize:vertical;border-radius:6px;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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.background-trait-textarea::placeholder{color:var(--color-input-placeholder)}.background-section{border:1px solid var(--color-border-subtle);background:#ffffff05;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 var(--color-border-subtle);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.weapon-remove-btn.is-confirm{color:#a7f3d0;letter-spacing:.04em;background:#10b98138;border-color:#34d3998c;min-width:2.1rem;font-size:.72rem}.weapon-remove-btn.is-confirm:hover{background:#10b98159}.weapon-remove-btn.is-cancel{color:var(--color-text-secondary);background:#94a3b82e;border-color:#94a3b873;font-size:.78rem}.weapon-remove-btn.is-cancel:hover{background:#94a3b852}.equipment-bag-toast-stack{z-index:2100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.45rem;display:flex;position:fixed;bottom:1rem;right:1rem}.equipment-bag-toast{background:var(--color-surface);max-width:min(460px,100vw - 2rem);color:var(--color-text);border:1px solid #38bdf88c;border-radius:10px;padding:.6rem .85rem;font-size:.88rem;animation:.2s ease-out equipment-toast-in;box-shadow:0 10px 24px #02061773}@keyframes equipment-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.po-readonly{color:var(--color-text);min-width:2.5rem;font-weight:600}.equipment-catalog-link,.equipment-readonly-hint a{color:var(--color-accent);text-decoration:underline}.class-features-text{color:var(--text-primary);padding:1.5rem;font-size:.95rem;line-height:1.6}.sheet-roll-hint{color:#6b7280;margin:-.35rem 0 .75rem;font-size:.75rem}.sheet-roll-modifier{color:var(--color-accent);font-weight:700;font-size:inherit;cursor:pointer;text-align:center;background:#38bdf81f;border:1px solid #38bdf859;border-radius:6px;min-width:2.25rem;padding:.15rem .45rem;font-family:inherit;transition:background .15s,transform .15s}.sheet-roll-modifier:hover{background:#38bdf838;transform:translateY(-1px)}.sheet-roll-modifier.ability-modifier{padding:.2rem .55rem;font-size:1.35rem}.sheet-roll-action-btn{cursor:pointer;background:#38bdf81a;border:1px solid #38bdf84d;border-radius:6px;padding:.2rem .45rem;font-size:.95rem;line-height:1;transition:background .15s}.sheet-roll-action-btn:hover:not(:disabled){background:#38bdf833}.sheet-roll-action-btn:disabled{opacity:.35;cursor:not-allowed}.equipment-picker-modal{flex-direction:column;width:95vw;max-width:520px;max-height:85vh;display:flex}.equipment-picker-body{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex;overflow:hidden}.equipment-picker-filters{flex-direction:column;gap:.75rem;display:flex}.equipment-picker-field-label,.equipment-picker-filters label{color:var(--color-text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.equipment-picker-tipo-field{flex-direction:column;gap:.35rem;display:flex}.equipment-picker-tipo-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.equipment-picker-tipo-tab{border:1px solid var(--color-border);background:var(--color-filter-panel-bg);width:auto;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;padding:.4rem .7rem;font-family:inherit;font-size:.8rem;font-weight:500}.equipment-picker-tipo-tab:hover{color:var(--color-text);border-color:#94a3b88c}.equipment-picker-tipo-tab.active{color:#e0e7ff;background:#6366f159;border-color:#818cf8a6}.equipment-picker-filters input{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:8px;padding:.55rem .65rem;font-family:inherit;font-size:.95rem}.equipment-picker-filters input:hover{border-color:#94a3b880}.equipment-picker-filters input:focus{border-color:#6366f199;outline:none;box-shadow:0 0 0 2px #6366f133}.equipment-picker-list{border:1px solid var(--color-border-subtle);background:var(--color-filter-panel-bg);border-radius:8px;flex:1;min-height:200px;max-height:360px;padding:.35rem .5rem;overflow-y:auto}.equipment-picker-list ul{margin:0;padding:0;list-style:none}.equipment-picker-list li{border-bottom:1px solid #94a3b81f;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem .25rem;display:grid}.equipment-picker-list li:last-child{border-bottom:none}.equipment-picker-item-info{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.equipment-picker-item-name{color:var(--color-link-table);word-break:break-word;font-weight:600}.equipment-picker-add-btn{white-space:nowrap;cursor:pointer;background:linear-gradient(135deg, var(--color-accent), #6366f1);color:#fff;border:none;border-radius:6px;flex-shrink:0;width:auto;min-width:4.75rem;max-width:none;padding:.35rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.2}.equipment-picker-add-btn:hover:not(:disabled){filter:brightness(1.08)}.equipment-picker-add-btn:disabled{opacity:.65;cursor:default}.equipment-picker-modal .weapon-modal-footer .weapon-modal-cancel{width:auto;min-width:6rem}.equipment-picker-list.is-loading{opacity:.7}.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-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.monstruo-detail-back{flex-shrink:0}.monstruo-nav-bar{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);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:var(--color-text-secondary);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:var(--color-text-muted);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:var(--color-text-muted);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, var(--color-input-option-bg) 0%, var(--color-bg-base) 100%);border:1px solid var(--color-border-subtle);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:var(--color-text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.monstruo-art-caption{color:var(--color-text);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{background:var(--color-field-inset-bg);color:var(--color-link-table);border-radius:4px;padding:.1rem .35rem;font-size:.75rem}.monstruo-art-upload{width:100%;margin-top:1rem}.monstruo-art-upload-title{color:var(--color-text-secondary);margin:0 0 .5rem;font-size:.85rem;font-weight:700}.monstruo-art-upload input[type=file]{border:1px dashed var(--color-border);background:var(--color-filter-panel-bg);width:100%;color:var(--color-text);border-radius:10px;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 .objeto-rareza-badge{text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border:1px solid #2c1a0433;border-radius:4px;padding:.12rem .45rem;font-size:10px;font-weight:700;display:inline-block}.stat-block .objeto-rareza-badge.rareza-comun{color:#2c2418;background:#c9c4b8}.stat-block .objeto-rareza-badge.rareza-poco-comun{color:#1a3d14;background:#b8d4b0}.stat-block .objeto-rareza-badge.rareza-raro{color:#1a2d4d;background:#b8cce8}.stat-block .objeto-rareza-badge.rareza-muy-raro{color:#3d1a5c;background:#d4c0ec}.stat-block .objeto-rareza-badge.rareza-epico{color:#4d3808;background:#ecd9a8}.stat-block .objeto-rareza-badge.rareza-legendario{color:#4d1838;background:#e8c0d4}.stat-block .objeto-rareza-badge.rareza-artefacto{color:#5c1414;background:#e8b8b8}.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 .objeto-titled-block{white-space:pre-wrap;background:#7a200d0d;border:1px solid #7a200d40;border-left:3px solid #7a200d8c;border-radius:6px;margin:10px 0;padding:8px 10px}.stat-block .objeto-inline-title{color:#7a200d;margin-right:.35rem;font-style:normal;font-weight:700;display:inline-block}.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}.monstruo-action-rolls{vertical-align:middle;gap:4px;margin-left:6px;display:inline-flex}.monstruo-roll-btn{cursor:pointer;vertical-align:middle;background:#6366f126;border:1px solid #6366f159;border-radius:4px;padding:2px 5px;font-size:14px;line-height:1}.monstruo-roll-btn:hover{background:#6366f14d}.monstruo-action-dice-hint{color:#6b6560;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}.game-character-view-page .game-character-view-header{margin-bottom:1.5rem}.game-character-view-title{margin-top:.75rem}.game-character-view-badge{color:#7dd3fc;background:#38bdf826;border:1px solid #38bdf840;border-radius:.5rem;margin-top:.5rem;padding:.35rem .75rem;font-size:.82rem;display:inline-block}.game-character-view-page .character-sheet-container{margin-top:0}.deck-card{--deck-accent:#895981;--deck-radius:.11in;box-sizing:border-box;border-radius:var(--deck-radius);background:radial-gradient(circle at 18% 12%, #ffffff38, transparent 42%), linear-gradient(168deg, color-mix(in srgb, var(--deck-accent) 55%, white) 0%, var(--deck-accent) 52%, color-mix(in srgb, var(--deck-accent) 72%, black) 100%);-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-direction:column;width:100%;height:100%;padding:.1in;font-family:"Source Sans 3",Segoe UI,sans-serif;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000002e}.deck-card-panel{border:1px solid color-mix(in srgb, var(--deck-accent) 35%, white);border-radius:calc(var(--deck-radius) - .02in);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#faf8f5;flex-direction:column;flex:1;min-height:0;padding:5px 6px 6px;display:flex;box-shadow:inset 0 1px #ffffffd9}.deck-card-head{text-align:center;margin-bottom:4px}.deck-card-head-row{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.deck-card-title{color:#1a1512;text-align:left;flex:1;margin:0;font-family:Cinzel,Libre Baskerville,Georgia,serif;font-size:9.5pt;font-weight:600;line-height:1.15}.deck-card-badge{color:#fff;background:var(--deck-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 3px;font-size:7pt;font-weight:700;display:flex;box-shadow:0 1px 3px #00000038}.deck-card-title-ornament{background:linear-gradient(90deg, transparent, var(--deck-accent), transparent);opacity:.55;width:72%;max-width:140px;height:2px;margin:3px auto 0;display:block}.deck-card-chips{flex-shrink:0;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:4px;display:grid}.deck-card-chip{background:color-mix(in srgb, var(--deck-accent) 10%, white);border:1px solid color-mix(in srgb, var(--deck-accent) 22%, transparent);text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:4px;padding:2px 3px}.deck-card-chip-label{text-transform:uppercase;letter-spacing:.04em;color:var(--deck-accent);font-size:5pt;font-weight:700;line-height:1.1;display:block}.deck-card-chip-value{color:#2d2a26;font-size:5.5pt;font-weight:600;line-height:1.15;display:block}.deck-card-description-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.deck-card-d20-watermark{opacity:.12;filter:blur(.8px);mix-blend-mode:multiply;pointer-events:none;object-fit:contain;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:0 0;width:70%;max-width:1.35in;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.deck-card-description{z-index:1;color:#3d3832;-webkit-print-color-adjust:exact;print-color-adjust:exact;flex:1;min-height:0;margin:0;font-size:6.5pt;line-height:1.32;position:relative;overflow:hidden}.deck-card-foot{color:#fffffff2;border-radius:calc(var(--deck-radius) - .03in);background:#00000047;flex-shrink:0;justify-content:space-between;gap:4px;margin-top:4px;padding:3px 6px;font-size:5.5pt;font-weight:600;line-height:1.1;display:flex}.deck-card-foot span:last-child{text-align:right}.deck-card--back{justify-content:center;align-items:center}.deck-card--back .deck-card-back-inner{justify-content:center}.deck-card-back-inner{text-align:center;color:#fff;flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;padding:6px 8px;display:flex}.deck-card-back-visual{flex-shrink:0;justify-content:center;align-items:center;width:1.05in;height:1.05in;margin:0 auto 6px;display:flex}.deck-card-back-visual--photo{border:2px solid #ffffffd9;border-radius:50%;width:1.15in;height:1.15in;overflow:hidden;box-shadow:0 2px 10px #00000040}.deck-card-back-image{object-fit:contain;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:0 0;width:100%;height:100%;display:block}.deck-card-back-visual--photo .deck-card-back-image{object-fit:cover}.deck-card-back-emblem{background:radial-gradient(circle at 30% 30%,#ffffff59,#0000);border:3px solid #ffffffd9;border-radius:50%;width:100%;height:100%;box-shadow:0 2px 8px #0003}.deck-card-back-clase{letter-spacing:.04em;margin:0;font-family:Cinzel,Georgia,serif;font-size:12pt;font-weight:600}.deck-card-back-subclase{opacity:.9;margin:4px 0 0;font-size:8pt}.deck-card-title-ornament--back{opacity:.75;background:linear-gradient(90deg,#0000,#ffffffe6,#0000);margin:8px auto}.deck-card-back-title{opacity:.88;margin:6px 0 0;font-size:7pt;font-style:italic;line-height:1.2}.deck-card-back-brand{letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin:12px 0 0;font-size:7pt;font-weight:600}.deck-print-root{margin-top:1.5rem}.deck-print-sheet{box-sizing:border-box;margin:0 auto 1.75rem}@media screen{.deck-print-sheet{background:var(--color-filter-panel-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--color-border);border-radius:var(--radius-md);width:8.5in;height:11.5in;box-shadow:0 8px 24px var(--color-shadow);justify-content:center;align-items:center;padding:.5in;display:flex}.deck-print-page{background:var(--color-table-wrap-bg)}}.deck-print-page{box-sizing:border-box;flex-shrink:0;width:7.5in;height:10.5in;margin:0;padding:0;display:grid}.deck-print-root--separated{--deck-sheet-gap:.125in}.deck-print-root--separated .deck-print-page{gap:var(--deck-sheet-gap);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.deck-print-root--separated .deck-card-slot{width:100%;height:100%}.deck-print-root--tight .deck-print-page{grid-template-rows:repeat(3,3.5in);grid-template-columns:repeat(3,2.5in);gap:0}.deck-print-root--tight .deck-card-slot{box-sizing:border-box;width:2.5in;height:3.5in;padding:0;overflow:hidden}.deck-card-slot{box-sizing:border-box;border-radius:var(--deck-radius,.11in);padding:0;overflow:hidden}@media print{@page{size:letter portrait;margin:.25in}html.baraja-print-mode,html.baraja-print-mode body{background:#fff!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}html.baraja-print-mode .sidebar,html.baraja-print-mode .sidebar-overlay,html.baraja-print-mode .topbar,html.baraja-print-mode .scroll-to-top-btn,html.baraja-print-mode .baraja-header,html.baraja-print-mode .baraja-filters,html.baraja-print-mode .baraja-preview-header{display:none!important}html.baraja-print-mode .app-shell,html.baraja-print-mode .content-area,html.baraja-print-mode .page-content,html.baraja-print-mode .baraja-page,html.baraja-print-mode .baraja-preview,html.baraja-print-mode .deck-print-root{background:0 0!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}html.baraja-print-mode .deck-print-sheet{width:auto!important;height:auto!important;box-shadow:none!important;background:0 0!important;margin:0!important;padding:0!important;display:block!important}html.baraja-print-mode .deck-print-root--tight .deck-print-page{page-break-after:always!important;break-after:page!important;box-sizing:border-box!important;background:0 0!important;grid-template-rows:repeat(3,3.5in)!important;grid-template-columns:repeat(3,2.5in)!important;gap:0!important;width:7.5in!important;max-width:none!important;height:10.5in!important;margin:0 auto!important;padding:0!important;display:grid!important}html.baraja-print-mode .deck-print-root--separated .deck-print-page{page-break-after:always!important;break-after:page!important;box-sizing:border-box!important;background:0 0!important;grid-template-rows:repeat(3,1fr)!important;grid-template-columns:repeat(3,1fr)!important;gap:.125in!important;width:7.5in!important;max-width:none!important;height:10.5in!important;margin:0 auto!important;padding:0!important;display:grid!important}html.baraja-print-mode .deck-print-sheet+.deck-print-sheet{page-break-before:always!important;break-before:page!important}html.baraja-print-mode .deck-print-root--tight .deck-card-slot{box-sizing:border-box!important;width:2.5in!important;height:3.5in!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important}html.baraja-print-mode .deck-print-root--separated .deck-card-slot{box-sizing:border-box!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important}html.baraja-print-mode .deck-print-root--tight .deck-card{border-radius:var(--deck-radius,.11in)!important;width:2.5in!important;height:3.5in!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;display:flex!important}html.baraja-print-mode .deck-print-root--separated .deck-card{border-radius:var(--deck-radius,.11in)!important;width:100%!important;height:100%!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;display:flex!important}html.baraja-print-mode .deck-card-panel,html.baraja-print-mode .deck-card-chip,html.baraja-print-mode .deck-card-foot,html.baraja-print-mode .deck-card-description,html.baraja-print-mode .deck-card-d20-watermark,html.baraja-print-mode .deck-card-back-image{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.baraja-page{max-width:980px}.baraja-preview{padding:.5rem 0 1rem;overflow-x:auto}.baraja-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.baraja-filters{background:var(--color-filter-panel-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.25rem}.baraja-filters-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.baraja-field{flex-direction:column;gap:.35rem;font-size:.88rem;display:flex}.baraja-field span{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.baraja-color-row{align-items:center;gap:.5rem;display:flex}.baraja-color-row input[type=color]{cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0;width:44px;height:38px;padding:2px}.baraja-color-row select{flex:1}.baraja-type-toggles{color:var(--color-text);flex-wrap:wrap;gap:1.25rem;margin-top:1rem;display:flex}.baraja-back-section{border-top:1px solid var(--color-border-subtle);margin-top:1.15rem;padding-top:1.15rem}.baraja-subsection-title{color:var(--color-text);margin:0 0 .85rem;font-size:.92rem;font-weight:700}.baraja-hint{margin:.65rem 0 0;font-size:.85rem}.baraja-check{cursor:pointer;align-items:center;gap:.45rem;font-size:.9rem;display:flex}.baraja-actions{align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.baraja-actions .btn-primary{width:auto}.baraja-count{font-size:.9rem}.baraja-error{color:var(--color-danger);margin:1rem 0 0;font-size:.9rem}.baraja-preview-header{margin-bottom:1.25rem}.baraja-preview-title{color:var(--color-text-secondary);margin:0 0 .75rem;font-size:1rem;line-height:1.6}.baraja-preview-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.baraja-layout-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-btn-secondary-bg);display:inline-flex;overflow:hidden}.baraja-layout-toggle button{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:.55rem 1rem;font-size:.88rem;font-weight:600;transition:background .15s,color .15s}.baraja-layout-toggle button+button{border-left:1px solid var(--color-border)}.baraja-layout-toggle button.is-active{color:var(--color-text);background:var(--color-accent-muted)}.baraja-layout-toggle button:not(.is-active):hover{background:var(--color-overlay-hover);color:var(--color-text)}.baraja-preview-actions .btn-primary{width:auto;padding:.65rem 1.35rem;font-weight:700}@media print{html.baraja-print-mode .no-print{display:none!important}}@media (width<=640px){.baraja-filters-grid{grid-template-columns:1fr}}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.character-card{background:var(--color-surface-raised);border:1px solid var(--color-input-border);box-shadow:0 4px 18px var(--color-shadow);border-radius:12px;padding:1.25rem 1.35rem;transition:transform .15s,box-shadow .15s,border-color .15s}.character-card--clickable{cursor:pointer}.character-card--clickable:focus-visible{outline:2px solid var(--color-accent-border);outline-offset:2px}.character-card:hover{border-color:var(--color-accent-border);box-shadow:0 8px 24px var(--color-shadow);transform:translateY(-2px)}.character-card-top{align-items:flex-start;gap:1rem;display:flex}.character-card--has-portrait .character-card-top,.character-card--has-portrait .character-header{margin-bottom:0}.character-card-bottom{border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin-top:.85rem;padding-top:.85rem;display:flex}.character-card-bottom .character-info{flex:1;min-width:0;margin-bottom:0}.character-card--has-portrait .character-notes{border-top:1px solid var(--color-border-subtle);margin-top:.75rem;padding-top:.75rem}.character-card-portrait{border:2px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-shrink:0;width:80px;height:80px;overflow:hidden;box-shadow:0 2px 8px #0003}.character-card-portrait img{object-fit:cover;width:100%;height:100%;display:block}.character-card-main{flex:1;min-width:0}.character-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.character-header h3{color:var(--text-primary);margin:0;font-size:1.25rem}.character-info{flex-wrap:wrap;gap:.5rem;margin-bottom:0;display:flex}.character-card:not(.character-card--has-portrait) .character-info{margin-bottom:0}.character-card:not(.character-card--has-portrait) .character-header{margin-bottom:.75rem}.character-badge{color:var(--color-text);border:1px solid var(--color-border-subtle);background:#3b82f640;border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.character-badge--muted{color:var(--color-text-secondary);background:#94a3b826}.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(--color-border-subtle);margin-top:1rem;padding-top:.75rem}.character-date{color:#64748b;font-size:.8rem}.system-badge{border:1px solid var(--color-accent-muted);background:var(--color-accent-muted)!important;color:var(--color-accent)!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:var(--color-overlay-subtle)}.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:var(--color-danger);margin-left:2px}.form-group label:has(+textarea[required]):after{content:" *";color:var(--color-danger);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{background:var(--color-overlay-subtle);color:var(--text-primary)}.modal-actions .btn-secondary:hover{background:var(--color-overlay-hover)}.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%}}.dnd2024-builder{background:linear-gradient(135deg,#6366f11f,#0f172a80);border:1px solid #6366f159;border-radius:10px;margin-bottom:.5rem;padding:1.25rem 1.5rem}.dnd2024-builder--loading,.dnd2024-builder--error{border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}.dnd2024-builder--error{color:#fca5a5;background:#ef44441a}.dnd2024-builder-header{margin-bottom:1rem}.dnd2024-builder-header .section-title{margin:0 0 .35rem}.dnd2024-builder-hint{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.45}.dnd2024-builder-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.dnd2024-builder select{border:1px solid var(--color-border);background:var(--color-field-inset-bg);width:100%;color:var(--color-text);border-radius:6px;padding:.55rem .75rem;font-size:.95rem}.dnd2024-builder-meta{color:var(--color-text-muted);margin:.75rem 0 0;font-size:.88rem}.dnd2024-builder-warn{color:#fcd34d;margin:.5rem 0 0;font-size:.85rem}.dnd2024-builder-apply{width:auto;margin-top:.75rem}.dnd2024-equipo-section{border-top:1px solid #6366f140;margin-top:1.25rem;padding-top:1rem}.dnd2024-equipo-section-title{color:var(--color-text);margin:0 0 .35rem;font-size:1.05rem;font-weight:600}.dnd2024-equipo-section-hint{margin:0 0 1rem}.dnd2024-equipo-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1rem;display:grid}.dnd2024-equipo-panel{background:var(--color-filter-panel-bg);border:1px solid #6366f147;border-radius:8px;margin-top:0;padding:1rem}.dnd2024-equipo-title{color:var(--color-text);margin:0 0 .65rem;font-size:1rem;font-weight:600}.dnd2024-equipo-apply-toggle{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.88rem;display:flex}.dnd2024-equipo-opciones{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.dnd2024-equipo-radio{color:var(--color-text);cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.dnd2024-equipo-radio--inline{margin-right:1rem;display:inline-flex}.dnd2024-equipo-texto-mini{color:var(--color-text-muted);font-weight:400}.dnd2024-equipo-paquete-choice{margin-bottom:.75rem;font-size:.88rem}.dnd2024-equipo-paquete-label{color:var(--color-text-muted);margin-bottom:.35rem;display:block}.dnd2024-equipo-list{border:1px solid var(--color-border-subtle);background:var(--color-filter-panel-bg);border-radius:8px;max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.dnd2024-equipo-list li+li{border-top:1px solid #94a3b81f}.dnd2024-equipo-item{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;padding:.45rem .65rem;font-size:.88rem;display:flex}.dnd2024-equipo-item-kind{text-transform:uppercase;letter-spacing:.04em;color:#818cf8;min-width:4.5rem;font-size:.72rem}.dnd2024-equipo-item-name{color:var(--color-text);flex:1}.dnd2024-equipo-item-meta{color:var(--color-text-muted);font-size:.8rem}.dnd2024-equipo-item-meta--warn{color:#fcd34d;font-style:italic}.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{background:var(--color-overlay-subtle);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;transition:all .2s;display:flex}.btn-back:hover{background:var(--color-overlay-hover);transform:translate(-2px)}.header-actions{gap:.75rem;display:flex}.header-actions .btn-secondary{padding:.5rem 1rem;font-size:.9rem}.character-btn-copiar{color:#93c5fd;border-color:#60a5fa59}.character-btn-copiar:hover:not(:disabled){color:#bfdbfe;border-color:#60a5fa8c}.character-btn-eliminar{color:#fca5a5;border-color:#f8717159}.character-btn-eliminar:hover:not(:disabled){color:#fecaca;border-color:#f871718c}.error-banner{color:#fca5a5;background:#ef444433;border:1px solid #ef44444d;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.error-banner strong{color:var(--color-danger)}.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:var(--color-danger);margin-left:2px}.form-group input,.form-group textarea,.form-group select{border-radius:6px;font-size:1rem}.alignment-selectors-form{align-items:center;gap:.5rem;display:flex}.alignment-selectors-form select{flex:1}.auto-save-indicator{background:var(--color-surface-raised);border:1px solid var(--color-border);z-index:1000;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 6px #0000004d}.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{border:1px solid var(--color-border-subtle);background:#ffffff08;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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:#ffffff80;cursor:pointer;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{background:var(--color-accent-muted);border:1px solid var(--color-accent-muted);color:var(--primary-color);cursor:pointer;border-radius:6px;width:100%;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.multiclass-add-btn:hover{background:var(--color-accent-muted);transform:translateY(-2px)}.autocomplete-wrapper{flex:1;position:relative}.autocomplete-input{border:1px solid var(--color-input-border);background:var(--bg-color);width:100%;color:var(--color-input-text);box-sizing:border-box;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.autocomplete-dropdown{background:var(--card-bg);border:1px solid var(--color-border);z-index:1000;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:var(--color-overlay-subtle)}.highlight-section{animation:2s ease-in-out highlight}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-input-placeholder);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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.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{border:1px solid var(--color-input-border);background:var(--bg-color);color:var(--text-primary);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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.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:var(--color-overlay-subtle)}.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{background:var(--color-overlay-subtle);color:var(--text-primary)}.form-actions .btn-secondary:hover{background:var(--color-overlay-hover)}.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:not(.character-editor-page--sheet-view){padding:1rem}.character-editor-page--sheet-view{max-width:100%;padding:.35rem .25rem 1rem}.character-editor-page--sheet-view .character-sheet{padding:.5rem .4rem}.character-editor-page--sheet-view .saving-throws-section,.character-editor-page--sheet-view .weapons-section,.character-editor-page--sheet-view .armors-section,.character-editor-page--sheet-view .items-section{padding:.6rem .45rem}.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%}.background-traits-grid{grid-template-columns:1fr;gap:1rem}.background-traits-section .background-section,.background-section{box-sizing:border-box;width:100%}.saving-throws-edit-grid,.skills-edit-grid{grid-template-columns:1fr}}.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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.weapon-input::placeholder{color:var(--color-input-placeholder)}.weapon-delete-btn{color:var(--color-danger);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{background:var(--color-accent-muted);border:1px solid var(--color-accent-muted);color:var(--color-accent);cursor:pointer;text-align:center;border-radius:6px;padding:.75rem;font-size:.9rem;font-weight:600;transition:all .2s}.weapon-add-btn:hover{background:var(--color-accent-muted);border-color:#3b82f680}.section-title-with-button{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.weapon-add-header-btn{background:var(--color-accent-muted);border:1px solid var(--color-accent-muted);color:var(--color-accent);cursor:pointer;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:var(--color-accent-muted);border-color:#3b82f680}.po-field-container{align-items:center;gap:.5rem;margin-left:auto;margin-right:auto;display:flex}.po-label{color:var(--color-text-secondary);text-transform:uppercase;white-space:nowrap;font-size:.9rem;font-weight:600}.po-input{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);text-align:center;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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.po-value{color:var(--text-primary);text-align:center;background:var(--color-overlay-subtle);border:1px solid var(--color-border);border-radius:4px;min-width:60px;padding:.4rem .75rem;font-size:1rem;font-weight:700}.weapon-edit-btn{background:var(--color-accent-muted);border:1px solid var(--color-accent-muted);color:var(--color-accent);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1rem;transition:all .2s;display:flex}.po-readonly{color:var(--text-primary,#e2e8f0);font-weight:600}.equipment-readonly-hint{margin:0 0 1rem;font-size:.9rem}.equipment-readonly-hint a,.equipment-catalog-link{color:var(--color-accent);text-decoration:underline}.weapon-remove-btn{color:#fca5a5;cursor:pointer;background:#f8717126;border:1px solid #f8717159;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:.85rem;display:flex}.weapon-remove-btn:hover{color:#fecaca;background:#f8717147}.weapon-edit-btn:hover{background:var(--color-accent-muted);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:var(--color-input-option-bg);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 var(--color-border-subtle);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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.weapon-modal-field input::placeholder{color:var(--color-input-placeholder)}.weapon-modal-field select{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);cursor:pointer;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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.weapon-modal-field select option{background:var(--color-input-option-bg);color:var(--color-input-text)}.weapon-modal-field textarea{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);resize:vertical;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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.weapon-modal-field textarea::placeholder{color:var(--color-input-placeholder)}.weapon-modal-footer{border-top:1px solid var(--color-border-subtle);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:var(--color-danger);background:#ef444433;border:1px solid #ef44444d;margin-right:auto}.weapon-modal-delete:hover{background:#ef44444d;border-color:#ef444480}.weapon-modal-cancel{background:var(--color-overlay-subtle);color:var(--text-secondary);border:1px solid var(--color-border)}.weapon-modal-cancel:hover{background:var(--color-overlay-subtle);color:var(--text-primary)}.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{background:var(--color-overlay-subtle);border:1px solid var(--color-border);color:var(--color-input-text);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);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.weapon-bonus-dice-select option,.weapon-bonus-ability-select option{background:var(--color-input-option-bg);color:var(--color-input-text)}.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{border:1px solid var(--color-border-subtle);background:#ffffff05;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:var(--color-overlay-subtle)}.class-features-table th{text-align:center;color:var(--text-primary);border:1px solid var(--color-border);background:var(--color-overlay-subtle);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);border:1px solid var(--color-border-subtle);vertical-align:middle;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}.dote-edit-list{flex-direction:column;gap:1rem;display:flex}.dote-edit-row{border:1px solid var(--color-border-subtle);background:#ffffff08;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;padding:.85rem;display:grid}.dote-edit-active{color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-direction:column;align-items:center;gap:.25rem;padding-top:.35rem;font-size:.7rem;display:flex}.dote-edit-active input{cursor:pointer;width:1rem;height:1rem}.dote-edit-fields{flex-direction:column;gap:.5rem;min-width:0;display:flex}.dote-edit-name{background:var(--color-overlay-subtle);border:1px solid var(--color-border);width:100%;color:var(--text-primary);border-radius:6px;padding:.5rem .75rem;font-size:.95rem}.dote-edit-description{background:var(--color-overlay-subtle);border:1px solid var(--color-border);width:100%;color:var(--text-secondary);resize:vertical;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.85rem}.list-filters-mobile-bar{display:none}.list-filters-toggle-btn{justify-content:center;gap:.35rem;width:100%}.list-filters-active-badge{color:var(--color-accent);font-size:.85em;font-weight:500}@media (width<=640px){.list-filters-mobile-bar{margin-bottom:.75rem;display:block}.list-filters-form:not(.is-filters-open) .list-filters-panel{display:none}.list-filters-form.is-filters-open .list-filters-panel{margin-bottom:.5rem}}.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{flex:1;min-width:200px}.monstruos-select{min-width:160px}.monstruos-range-filters{border:1px solid var(--color-border);background:var(--color-filter-panel-bg);border-radius:12px;margin-top:1rem;padding:1rem 1.1rem}.monstruos-range-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);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:var(--color-legend);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{flex:1;min-width:0}.monstruos-range-pair span{color:var(--color-text-muted);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{color:var(--color-text);margin:0;font-size:.95rem}.monstruos-stats strong{color:var(--color-text)}.monstruos-page-size{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.monstruos-table-wrap{border:1px solid var(--color-border);background:var(--color-table-wrap-bg);border-radius:12px;position:relative;overflow-x:auto}.monstruos-table-wrap.is-loading{opacity:.55;pointer-events:none}.monstruos-loading-overlay{background:var(--color-loading-overlay);color:var(--color-text);justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.monstruos-pagination{border-top:1px solid var(--color-border-subtle);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:var(--color-text-secondary);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{border:1px solid var(--color-border);background:var(--color-pagination-bg);min-width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;border-radius:8px;padding:0 .5rem;font-size:.9rem}.monstruos-page-btn:hover:not(:disabled){background:var(--color-accent-muted);border-color:var(--color-accent-border)}.monstruos-page-btn.active,.monstruos-page-btn.is-active{background:var(--color-pagination-active-bg);border-color:var(--color-accent);color:var(--color-text);font-weight:600}.monstruos-page-btn:disabled{opacity:.5;cursor:not-allowed}.monstruos-ellipsis{color:var(--color-text-muted);padding:0 .35rem}.monstruos-table{border-collapse:collapse;table-layout:fixed;width:100%;color:var(--color-text);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 var(--color-table-row-border);padding:.75rem 1rem}.monstruos-table th{color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;background:var(--color-table-header-bg);white-space:nowrap;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:var(--color-accent-hover)}.monstruos-sort-btn.active{color:var(--color-sort-active)}.sort-icon{color:var(--color-sort-active);font-size:.75rem;line-height:1}.sort-icon-inactive{color:var(--color-text-muted);opacity:.7}.monstruos-table tbody tr:hover{background:var(--color-table-row-hover)}.monstruos-nombre{font-weight:600}.monstruos-link{color:var(--color-link-table);font-weight:600;text-decoration:none}.monstruos-link:hover{color:var(--color-link-table-hover);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<=640px){.monstruos-table-wrap{overflow-x:visible}.monstruos-table{table-layout:auto;font-size:.85rem}.monstruos-table thead tr th:nth-child(2),.monstruos-table thead tr th:nth-child(3),.monstruos-table thead tr th:nth-child(5),.monstruos-table thead tr th:nth-child(6),.monstruos-table thead tr th:nth-child(7),.monstruos-table thead tr th:nth-child(9),.monstruos-table tbody tr td:nth-child(2),.monstruos-table tbody tr td:nth-child(3),.monstruos-table tbody tr td:nth-child(5),.monstruos-table tbody tr td:nth-child(6),.monstruos-table tbody tr td:nth-child(7),.monstruos-table tbody tr td:nth-child(9){display:none}.monstruos-table th,.monstruos-table td{padding:.65rem .5rem}.monstruos-table th.monstruos-col-actions,.monstruos-table td.monstruos-col-actions{width:auto;display:table-cell}.monstruos-nombre{word-break:break-word;min-width:0}.monstruos-actions-cell{flex-direction:column;align-items:stretch;gap:.25rem}.monstruos-btn-ver{text-align:center;width:100%;padding:.4rem .5rem}}.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:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);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:var(--color-table-wrap-bg);border:1px solid var(--color-border-subtle);border-radius:10px;padding:1rem 1.25rem}.mm-edit-section h2{color:var(--color-text-secondary);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:var(--color-text-muted);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{border:1px solid var(--color-border);background:var(--color-bg-base);color:var(--color-text);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{border:1px solid var(--color-border);background:var(--color-bg-base);width:3.5rem;color:var(--color-text);border-radius:6px;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:var(--color-text-secondary);align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.mm-edit-action-dice{grid-template-columns:1fr 2fr;gap:.5rem;display:grid}.mm-action-dice-block{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem 0;display:flex}.mm-action-dice-label{color:var(--color-text-muted);min-width:2.5rem;font-size:.8rem}.mm-dice-editor{flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.mm-dice-select,.mm-dice-num-input{border:1px solid var(--color-border);background:var(--color-bg-base);color:var(--color-text);text-align:center;border-radius:6px;width:3rem;min-width:3rem;padding:.4rem .35rem;font-size:.9rem}.mm-dice-num-input{width:2.75rem}.mm-dice-save-btn{white-space:nowrap;padding:.35rem .65rem;font-size:.8rem}.mm-dice-feedback{width:100%;font-size:.75rem}.mm-dice-feedback.is-ok{color:#86efac}.mm-dice-feedback.is-error{color:#fca5a5}.mm-dice-stored-hint{color:#64748b;width:100%;font-size:.75rem}.mm-dice-select option{background:var(--color-input-option-bg);color:var(--color-text)}.mm-dice-sep,.mm-dice-plus{color:var(--color-text-muted);font-weight:600}.mm-dice-mod-input{border:1px solid var(--color-border);background:var(--color-bg-base);width:4rem;color:var(--color-text);border-radius:6px;padding:.4rem .5rem}.mm-dice-mod-input:disabled,.mm-dice-select:disabled{opacity:.45;cursor:not-allowed}@media (width<=520px){.mm-edit-action-dice{grid-template-columns:1fr}.mm-action-dice-block{flex-direction:column;align-items:stretch}}.mis-monstruo-edit-page .monstruo-detail-header{flex-wrap:wrap;align-items:center}.mis-monstruo-edit-header-main{flex:1;min-width:200px}.mis-monstruo-edit-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.auto-save-indicator{background:#22c55e1a;border:1px solid #22c55e40;border-radius:6px;padding:.35rem .75rem;font-size:.875rem}.auto-saving{color:#86efac;align-items:center;gap:.5rem;display:flex}.auto-saving:before{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:.75rem;height:.75rem;animation:.8s linear infinite mm-spin}.auto-saved{color:#86efac;align-items:center;gap:.35rem;display:flex}.auto-saved:before{content:"✓";font-weight:700}.auto-pending{color:#fcd34d}.auto-pending:before{content:"●";margin-right:.35rem}@keyframes mm-spin{to{transform:rotate(360deg)}}.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}}.objeto-detail-title{color:var(--color-link-table);font-weight:600}.monstruos-btn-eliminar{color:#fca5a5;border-color:#f8717159}.monstruos-btn-eliminar:hover:not(:disabled){color:#fecaca;border-color:#f871718c}.objeto-tipo-badge,.objeto-rareza-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.objeto-rareza-badge.rareza-comun{background:var(--color-border-subtle);color:var(--color-text)}.objeto-rareza-badge.rareza-poco-comun{color:#86efac;background:#22c55e26}.objeto-rareza-badge.rareza-raro{color:#93c5fd;background:#3b82f626}.objeto-rareza-badge.rareza-muy-raro{color:#c4b5fd;background:#a855f726}.objeto-rareza-badge.rareza-epico{color:#fcd34d;background:#f59e0b26}.objeto-rareza-badge.rareza-legendario{color:#f9a8d4;background:#ec489926}.objeto-rareza-badge.rareza-artefacto{color:#fca5a5;background:#ef444433}.objeto-edit-form select{border-radius:.5rem;font-size:.9rem}.objeto-full-width{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.objeto-full-width textarea{resize:vertical;width:100%}.objeto-text-field{border-radius:.5rem;font-size:.9rem}.objeto-sections-editor{flex-direction:column;gap:.6rem;margin-bottom:.75rem;display:flex}.objeto-sections-title{color:var(--color-text);margin:0;font-weight:600}.objeto-section-entry{border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.objeto-checkbox-label{align-items:center;gap:.5rem;padding-top:1.5rem;display:flex;flex-direction:row!important}.objeto-checkbox-label input[type=checkbox]{width:auto}.objeto-section-hint{margin:0 0 .75rem;font-size:.85rem}.objeto-inline-field{flex-direction:column;gap:.35rem;display:flex}.objeto-dice-field{grid-column:1/-1}.objeto-stat-block{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:.75rem;padding:1.25rem 1.5rem}.objeto-stat-header{border-bottom:2px solid var(--color-border-subtle);margin-bottom:1rem;padding-bottom:.75rem}.objeto-stat-header h2{color:#f8fafc;margin:0;font-size:1.35rem}.objeto-stat-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:.5rem 1rem;margin-top:.35rem;font-size:.85rem;display:flex}.objeto-stat-meta span{text-transform:capitalize}.objeto-stat-section{margin-top:1rem}.objeto-stat-section h3{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 .35rem;font-size:.8rem}.objeto-stat-section p{color:var(--color-text-secondary);white-space:pre-wrap;margin:0;line-height:1.55}.objeto-stat-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.objeto-stat-list li{background:#1e293b80;border:1px solid #94a3b81f;border-radius:.5rem;padding:.65rem .75rem}.objeto-stat-list strong{color:var(--color-text)}.objeto-stat-dice{color:var(--color-accent);margin-left:.35rem;font-size:.8rem;display:inline-block}.objeto-assign-panel{border:1px solid var(--color-border-subtle);background:var(--color-field-inset-bg);border-radius:.75rem;margin-top:1.5rem;padding:1.25rem}.objeto-assign-panel h3{color:var(--color-text);margin:0 0 1rem;font-size:1rem}.objeto-assign-panel-toggle{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.objeto-assign-panel.is-compact{background:0 0;border:0;margin-top:0;padding:0}.objeto-assign-form{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.objeto-assign-form label{color:var(--color-text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.objeto-assign-form select,.objeto-assign-form input{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);border-radius:.5rem;padding:.45rem .6rem}.objeto-assign-form .objeto-assign-span-2{grid-column:1/-1}.objeto-assign-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.objeto-assign-item{background:#1e293b99;border:1px solid #94a3b826;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.875rem;display:flex}.objeto-assign-item-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.objeto-assign-summary{color:var(--color-text-secondary);background:#38bdf814;border:1px solid #38bdf833;border-radius:.5rem;margin:0 0 1rem;padding:.5rem .75rem;font-size:.875rem}.objeto-qty-controls{background:var(--color-field-inset-bg);border:1px solid var(--color-border-subtle);border-radius:.5rem;align-items:center;gap:.25rem;padding:.15rem .35rem;display:flex}.objeto-qty-btn{width:1.6rem;height:1.6rem;color:var(--color-text);cursor:pointer;background:#94a3b826;border:none;border-radius:.35rem;font-size:1rem;line-height:1}.objeto-qty-btn:hover:not(:disabled){background:#38bdf840}.objeto-qty-btn:disabled{opacity:.35;cursor:not-allowed}.objeto-qty-value{text-align:center;min-width:2rem;color:var(--color-accent);font-size:.85rem;font-weight:700}.objeto-assign-item-info{flex-direction:column;gap:.15rem;display:flex}.objeto-assign-badge{text-transform:uppercase;color:var(--color-accent);background:#38bdf826;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.objeto-tipo-badge{text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.objeto-tipo-badge.tipo-objeto{background:var(--color-border-subtle);color:var(--color-text-secondary)}.objeto-tipo-badge.tipo-armadura{color:#4ade80;background:#22c55e26}.objeto-tipo-badge.tipo-arma{color:#f87171;background:#ef444426}.objeto-mod-row{grid-template-columns:1fr auto auto;align-items:end;gap:.5rem;display:grid}.objeto-ca-attr-row{max-width:28rem}.objeto-combat-grid{align-items:end}.objeto-checkbox-inline{padding-top:0}@media (width<=640px){.objeto-mod-row{grid-template-columns:1fr}.objeto-ca-attr-row{grid-template-columns:1fr;max-width:none}}.compendio-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.compendio-tab{border:1px solid var(--color-border);background:var(--color-btn-secondary-bg);color:var(--color-text-secondary);cursor:pointer;border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.compendio-tab:hover{border-color:var(--color-accent-border);color:var(--color-text)}.compendio-tab.active{background:var(--color-accent-muted);border-color:var(--color-accent-border);color:var(--color-text)}.compendio-page .compendio-filters-row{align-items:stretch}.compendio-filter-field{flex-direction:column;gap:.45rem;min-width:10rem;display:flex}.compendio-filter-label{color:var(--color-text-muted);font-size:.8rem;font-weight:600;line-height:1.2}.compendio-filter-select{width:100%;min-width:0}.compendio-page .compendio-filter-search{flex:14rem;min-width:0}.compendio-filters-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.85rem;width:100%;margin-top:.85rem;display:grid}.compendio-filters-grid .compendio-filter-field{min-width:0}.compendio-filters-toggle{color:var(--color-accent);cursor:pointer;background:0 0;border:none;margin-top:.65rem;padding:0;font-size:.85rem;text-decoration:underline}.compendio-col-nivel{white-space:nowrap;width:4.5rem}.compendio-col-nombre{word-break:break-word;min-width:0}.compendio-mobile-meta{color:var(--color-text-muted);margin-top:.25rem;font-size:.78rem;line-height:1.35;display:none}.compendio-detail-grid{background:var(--color-filter-panel-bg);border:1px solid var(--color-border);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1.25rem;margin:1.25rem 0;padding:1rem 1.25rem;display:grid}.compendio-detail-item dt{color:var(--color-text-muted);margin-bottom:.2rem;font-size:.75rem}.compendio-detail-item dd{color:var(--color-text);margin:0;font-size:.95rem}.compendio-description{color:var(--color-text-secondary);white-space:pre-wrap;margin-top:1.25rem;line-height:1.6}.compendio-clases-list{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.compendio-clase-pill{background:var(--color-accent-muted);color:#bfdbfe;border:1px solid #3b82f659;border-radius:999px;padding:.2rem .55rem;font-size:.8rem}@media (width<=640px){.compendio-page .compendio-filters-row{flex-direction:column;align-items:stretch;gap:.85rem}.compendio-page .compendio-filter-search,.compendio-page .compendio-filter-field,.compendio-page .compendio-filters-row .btn-primary,.compendio-page .compendio-filters-row .btn-secondary{flex:auto;width:100%;min-width:0}.compendio-filters-grid{grid-template-columns:1fr;gap:.85rem}.compendio-page .compendio-table-wrap{overflow-x:visible}.compendio-page .compendio-table thead tr th,.compendio-page .compendio-table tbody tr td{display:table-cell}.compendio-page .compendio-table .compendio-col-hide-mobile{display:none!important}.compendio-page .compendio-table th.monstruos-col-actions,.compendio-page .compendio-table td.monstruos-col-actions{vertical-align:middle;width:5.5rem}.compendio-page .compendio-table .compendio-col-nombre{width:auto}.compendio-mobile-meta{display:block}.compendio-page .compendio-table .monstruos-btn-ver{text-align:center;width:100%;padding:.45rem .5rem;font-size:.78rem}}.especies-nota-clave{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.95rem;font-style:italic}.especies-resumen-rasgos,.especies-lore,.especies-rasgos-section{background:var(--color-filter-panel-bg);border:1px solid var(--color-border);border-radius:10px;margin-top:1.5rem;padding:1rem 1.25rem}.especies-section-title{color:var(--color-text);margin:0 0 .85rem;font-size:1.1rem}.especies-resumen-rasgos p,.especies-lore p{color:var(--color-text-secondary);margin:.35rem 0;line-height:1.55}.especies-rasgo-group{margin-top:1rem}.especies-rasgo-group:first-of-type{margin-top:0}.especies-rasgo-group-title{color:var(--color-accent);margin:0 0 .5rem;font-size:.95rem;font-weight:600}.especies-rasgo-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.especies-rasgo-card{background:var(--color-surface-muted);border:1px solid var(--color-border-subtle);border-radius:8px;padding:.75rem .9rem}.especies-rasgo-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.especies-rasgo-tipo{background:var(--color-accent-muted);color:var(--color-accent);border:1px solid #3b82f659;border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.especies-rasgo-meta{color:var(--color-text-muted);margin:0;font-size:.8rem}.especies-rasgo-desc{color:var(--color-text-secondary);margin:.35rem 0 0;font-size:.9rem;line-height:1.5}.cookie-consent-banner{z-index:950;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom,0));background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -8px 32px var(--color-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:fixed;bottom:0;left:0;right:0}.cookie-consent-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.25rem;max-width:960px;margin:0 auto;display:flex}.cookie-consent-text{color:var(--color-text-secondary);flex:16rem;margin:0;font-size:.88rem;line-height:1.45}.cookie-consent-link{color:var(--color-link);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.cookie-consent-link:hover{color:var(--color-link-hover)}.cookie-consent-actions{flex-shrink:0}.cookie-consent-accept{width:auto;min-width:7rem;padding-left:1.25rem;padding-right:1.25rem}@media (width<=640px){.cookie-consent-inner{flex-direction:column;align-items:stretch}.cookie-consent-accept{width:100%}}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-base:#0f172a;--color-bg-elevated:#0f172a;--color-surface:#0f172af2;--color-surface-muted:#0f172ae6;--color-surface-subtle:#0f172a8c;--color-surface-raised:#1e293beb;--color-surface-hover:#1e293bfa;--color-border:#94a3b859;--color-border-subtle:#94a3b840;--color-border-strong:#94a3b88c;--color-text:#e5e7eb;--color-text-secondary:#9ca3af;--color-text-muted:#94a3b8;--color-text-inverse:#0f172a;--color-accent:#38bdf8;--color-accent-hover:#7dd3fc;--color-accent-muted:#38bdf833;--color-accent-border:#38bdf880;--color-accent-end:#6366f1;--color-input-bg:#0f172ae6;--color-input-bg-hover:#1e293bd9;--color-input-border:#94a3b873;--color-input-text:#e5e7eb;--color-input-placeholder:#94a3b8a6;--color-input-option-bg:#1e293b;--color-focus-border:#38bdf8;--shadow-focus:0 0 0 3px #38bdf840;--color-overlay:#0000008c;--color-overlay-subtle:#ffffff14;--color-overlay-hover:#ffffff1f;--color-danger:#ef4444;--color-danger-bg:#ef444433;--color-danger-border:#ef444459;--color-success:#4ade80;--color-success-bg:#22c55e33;--color-success-border:#22c55e59;--color-warning:#fbbf24;--color-warning-bg:#eab30826;--color-link:#38bdf8;--color-link-hover:#7dd3fc;--color-sidebar-bg:#0f172aeb;--color-topbar-bg:#0f172af2;--color-nav-active-bg:linear-gradient(135deg, #38bdf833, #818cf82e);--color-primary-gradient:linear-gradient(135deg, #38bdf8, #6366f1);--color-btn-secondary-bg:#0f172ae6;--color-btn-secondary-hover:#1e293bf2;--color-shadow:#00000059;--color-shadow-strong:#0f172af2;--color-filter-panel-bg:#1e293b73;--color-table-wrap-bg:#1e293b59;--color-table-header-bg:#1e293bbf;--color-table-row-hover:#6366f11a;--color-table-row-border:#94a3b81f;--color-field-inset-bg:#0f172aa6;--color-legend:#cbd5e1;--color-link-table:#a5b4fc;--color-link-table-hover:#c7d2fe;--color-sort-active:#a5b4fc;--color-pagination-bg:#1e293b8c;--color-pagination-active-bg:#6366f159;--color-loading-overlay:#0f172a8c;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--font-size-input:.95rem;--input-padding-y:.6rem;--input-padding-x:.8rem;--bg-color:var(--color-input-bg);--card-bg:var(--color-surface-raised);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--border-color:var(--color-border);--primary-color:var(--color-accent)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-base:#f1f5f9;--color-bg-elevated:#fff;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-surface-subtle:#f1f5f9;--color-surface-raised:#fff;--color-surface-hover:#f8fafc;--color-border:#64748b59;--color-border-subtle:#64748b33;--color-border-strong:#47556973;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-inverse:#f8fafc;--color-accent:#0284c7;--color-accent-hover:#0369a1;--color-accent-muted:#0284c71f;--color-accent-border:#0284c773;--color-accent-end:#4f46e5;--color-input-bg:#fff;--color-input-bg-hover:#f8fafc;--color-input-border:#64748b73;--color-input-text:#0f172a;--color-input-placeholder:#94a3b8;--color-input-option-bg:#fff;--color-focus-border:#0284c7;--shadow-focus:0 0 0 3px #0284c733;--color-overlay:#0f172a66;--color-overlay-subtle:#0f172a0a;--color-overlay-hover:#0f172a14;--color-danger:#dc2626;--color-danger-bg:#dc26261a;--color-danger-border:#dc262659;--color-success:#16a34a;--color-success-bg:#16a34a1f;--color-success-border:#16a34a59;--color-warning:#ca8a04;--color-warning-bg:#eab30826;--color-link:#0284c7;--color-link-hover:#0369a1;--color-sidebar-bg:#fffffff5;--color-topbar-bg:#fffffff5;--color-nav-active-bg:linear-gradient(135deg, #0284c724, #4f46e51f);--color-primary-gradient:linear-gradient(135deg, #0ea5e9, #6366f1);--color-btn-secondary-bg:#fff;--color-btn-secondary-hover:#f1f5f9;--color-shadow:#0f172a1f;--color-shadow-strong:#0f172a2e;--color-filter-panel-bg:#fff;--color-table-wrap-bg:#fff;--color-table-header-bg:#e2e8f0;--color-table-row-hover:#0284c714;--color-table-row-border:#64748b33;--color-field-inset-bg:#fff;--color-legend:#334155;--color-link-table:#0369a1;--color-link-table-hover:#0284c7;--color-sort-active:#0284c7;--color-pagination-bg:#fff;--color-pagination-active-bg:#0284c726;--color-loading-overlay:#f1f5f9d9;--bg-color:var(--color-input-bg);--card-bg:var(--color-surface-raised);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--border-color:var(--color-border);--primary-color:var(--color-accent)}[data-theme=fantasy]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-base:transparent;--color-bg-elevated:transparent;--color-surface:#1c120cd1;--color-surface-muted:#20160ec7;--color-surface-subtle:#18100aa6;--color-surface-raised:#241810e0;--color-surface-hover:#2a1c12eb;--color-border:#d4a57452;--color-border-subtle:#d4a57433;--color-border-strong:#d4a57480;--color-text:#f5e6d3;--color-text-secondary:#d4c4a8;--color-text-muted:#a89880;--color-text-inverse:#1c1209;--color-accent:#5eead4;--color-accent-hover:#99f6e4;--color-accent-muted:#5eead42e;--color-accent-border:#5eead473;--color-accent-end:#d4a574;--color-input-bg:#140c08bf;--color-input-bg-hover:#1c120cd9;--color-input-border:#d4a57466;--color-input-text:#f5e6d3;--color-input-placeholder:#d4c4a88c;--color-input-option-bg:#2a1c12;--color-focus-border:#5eead4;--shadow-focus:0 0 0 3px #5eead440;--color-overlay:#080504a6;--color-overlay-subtle:#d4a5741a;--color-overlay-hover:#d4a57429;--color-danger:#f87171;--color-danger-bg:#ef444438;--color-danger-border:#ef444466;--color-success:#4ade80;--color-success-bg:#22c55e33;--color-success-border:#22c55e59;--color-warning:#fbbf24;--color-warning-bg:#eab3082e;--color-link:#5eead4;--color-link-hover:#99f6e4;--color-sidebar-bg:#180e08e0;--color-topbar-bg:#180e08e6;--color-nav-active-bg:linear-gradient(135deg, #d4a57447, #5eead426);--color-primary-gradient:linear-gradient(135deg, #d4a574, #b8860b);--color-btn-secondary-bg:#1c120cd1;--color-btn-secondary-hover:#2a1c12e6;--color-shadow:#00000073;--color-shadow-strong:#0000008c;--color-filter-panel-bg:#1c120cd1;--color-table-wrap-bg:#1c120ccc;--color-table-header-bg:#2a1c12eb;--color-table-row-hover:#5eead41a;--color-table-row-border:#d4a57426;--color-field-inset-bg:#140c08bf;--color-legend:#e8d5b7;--color-link-table:#7dd3fc;--color-link-table-hover:#bae6fd;--color-sort-active:#5eead4;--color-pagination-bg:#1c120cd1;--color-pagination-active-bg:#d4a57447;--color-loading-overlay:#0c0806bf;--bg-color:var(--color-input-bg);--card-bg:var(--color-surface-raised);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--border-color:var(--color-border);--primary-color:var(--color-accent);--theme-bg-overlay:#0c08069e;--theme-bg-overlay-strong:#080504c7;--theme-glass-blur:12px}[data-theme=fantasy][data-fantasy-bg=adventurer-study]{--theme-bg-image:url(/themes/fantasy/adventurer-study.jpg);--theme-bg-position:center center}[data-theme=fantasy][data-fantasy-bg=foggy-castle]{--theme-bg-image:url(/themes/fantasy/foggy-castle.png);--theme-bg-position:center center}[data-theme=fantasy][data-fantasy-bg=gaming-table]{--theme-bg-image:url(/themes/fantasy/gaming-table.png);--theme-bg-position:center center}[data-theme=fantasy][data-fantasy-bg=world-map]{--theme-bg-image:url(/themes/fantasy/world-map.png);--theme-bg-position:center center}[data-theme=fantasy][data-fantasy-bg=adventure-path]{--theme-bg-image:url(/themes/fantasy/adventure-path.png);--theme-bg-position:center center}[data-theme=fantasy] body:before{content:"";z-index:-2;background-image:var(--theme-bg-image);background-size:cover;background-position:var(--theme-bg-position,center center);background-repeat:no-repeat;background-attachment:fixed;position:fixed;inset:0;transform:scale(1.02)}[data-theme=fantasy] body:after{content:"";z-index:-1;background:var(--theme-bg-overlay);pointer-events:none;position:fixed;inset:0}[data-theme=fantasy] body{background:0 0}[data-theme=fantasy] #root{min-height:100%}[data-theme=fantasy] .sidebar,[data-theme=fantasy] .topbar,[data-theme=fantasy] .auth-card,[data-theme=fantasy] .stat-card,[data-theme=fantasy] .list-item,[data-theme=fantasy] .character-card,[data-theme=fantasy] .monstruos-table-wrap,[data-theme=fantasy] .monstruos-range-filters,[data-theme=fantasy] .monstruos-page-btn,[data-theme=fantasy] .terms-modal,[data-theme=fantasy] .form-section,[data-theme=fantasy] .character-sheet,[data-theme=fantasy] .compendio-detail-grid,[data-theme=fantasy] .especies-resumen-rasgos,[data-theme=fantasy] .especies-lore,[data-theme=fantasy] .especies-rasgos-section,[data-theme=fantasy] .theme-appearance-card,[data-theme=fantasy] .page .section{-webkit-backdrop-filter:blur(var(--theme-glass-blur))}[data-theme=fantasy] .sidebar-overlay{background:var(--theme-bg-overlay-strong);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=fantasy] .page-content{position:relative}[data-theme=fantasy] .page-title{text-shadow:0 1px 3px #00000073}[data-theme=fantasy] .page-subtitle,[data-theme=fantasy] .muted{text-shadow:0 1px 2px #00000059}[data-theme=fantasy] input:not(.input-unstyled),[data-theme=fantasy] textarea:not(.input-unstyled),[data-theme=fantasy] select:not(.input-unstyled){-webkit-backdrop-filter:blur(6px)}[data-theme=fantasy] .btn-primary{box-shadow:0 2px 12px #00000059}[data-theme=fantasy] .scroll-to-top-btn{-webkit-backdrop-filter:blur(var(--theme-glass-blur))}.form-group label,.field-group label,.field span,label.field>span,.form-label,.objeto-edit-form label,.mis-monstruo-edit-form label{color:var(--color-text);margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.form-group,.field-group{flex-direction:column;gap:.25rem;display:flex}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]):not(.input-unstyled),textarea:not(.input-unstyled),select:not(.input-unstyled),.ui-input,.objeto-text-field,.weapon-input,.po-input,.autocomplete-input,.multiclass-level-input{box-sizing:border-box;width:100%;padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--font-size-input);color:var(--color-input-text);background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-md);font-family:inherit;line-height:1.4;transition:border-color .15s,box-shadow .15s,background-color .15s}textarea:not(.input-unstyled){resize:vertical;min-height:4.5rem}select:not(.input-unstyled),.ui-input--select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 12px) calc(50% + 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2rem}select option{background:var(--color-input-option-bg);color:var(--color-input-text)}input::placeholder,textarea::placeholder{color:var(--color-input-placeholder)}input:hover:not(:disabled):not(.input-unstyled),textarea:hover:not(:disabled):not(.input-unstyled),select:hover:not(:disabled):not(.input-unstyled){background:var(--color-input-bg-hover);border-color:var(--color-border-strong)}input:focus:not(.input-unstyled),textarea:focus:not(.input-unstyled),select:focus:not(.input-unstyled){border-color:var(--color-focus-border);box-shadow:var(--shadow-focus);outline:none}input:disabled,textarea:disabled,select:disabled{opacity:.65;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--color-accent);cursor:pointer}input[type=number].po-input,.po-input{text-align:center;width:auto;min-width:4rem}.weapon-edit-row input,.dote-edit-row input,.trait-edit-row input,.proficiency-edit-row input{font-size:.9rem}.large-textarea{min-height:8rem}.error-text,.form-error{color:var(--color-danger);font-size:.8rem}.muted,.text-muted{color:var(--color-text-secondary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--color-bg-base);color:var(--color-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{min-height:100vh;color:var(--color-text);grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .3s;display:grid;position:relative}.app-shell.sidebar-closed{grid-template-columns:0 minmax(0,1fr)}.sidebar{border-right:1px solid var(--color-border-subtle);background:var(--color-sidebar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:100;flex-direction:column;min-height:0;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{background:var(--color-overlay);z-index:99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;inset:0}.sidebar-header{flex-shrink:0;margin-bottom:1rem;position:relative}.sidebar-close-btn{color:var(--color-text-secondary);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{background:var(--color-overlay-hover);color:var(--color-text)}.sidebar-profile{justify-content:center;align-items:center;padding:.25rem 2rem .5rem;display:flex}.sidebar-profile-avatar{object-fit:cover;border:3px solid var(--color-accent-border);width:7.5rem;height:7.5rem;box-shadow:0 4px 20px var(--color-shadow);border-radius:50%}.sidebar-profile-avatar--placeholder{background:var(--color-primary-gradient);color:var(--color-text-inverse);justify-content:center;align-items:center;font-size:2.75rem;font-weight:700;display:flex}.logo{background:var(--color-primary-gradient);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:var(--color-text-secondary);font-size:.8rem}.sidebar-nav{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:.5rem;min-height:0;margin:0 -.35rem;padding:0 .35rem .5rem;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:999px}.nav-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle);margin-top:.15rem;padding:.75rem .9rem .4rem;font-size:.7rem;font-weight:600}.nav-section-label:first-child{margin-top:0;padding-top:0}.nav-link{color:var(--color-text);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:var(--color-overlay-hover)}.nav-link.active{background:var(--color-nav-active-bg);color:var(--color-text)}.nav-link-badge{background:var(--color-danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:auto;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-flex}.stat-hint{margin-top:.35rem;font-size:.8rem;display:block}.dashboard-quick-links{flex-wrap:wrap;gap:.75rem;display:flex}.sidebar-footer{border-top:1px dashed var(--color-input-border);flex-shrink:0;margin-top:.75rem;padding-top:1rem}.user-info{margin-bottom:.7rem}.user-name{font-size:.9rem;font-weight:600;display:block}.user-email{color:var(--color-text-secondary);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{background:var(--color-primary-gradient);color:var(--color-text-inverse)}.btn-primary:disabled{opacity:.7;cursor:default}.btn-secondary{background:var(--color-btn-secondary-bg);color:var(--color-text);border:1px solid var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-btn-secondary-hover)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.btn-danger:hover{background:var(--color-danger-bg);filter:brightness(1.08)}.content-area{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:200;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--color-border-subtle);background:var(--color-topbar-bg);padding:1.25rem 1.5rem;position:sticky;top:0}.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{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:background .2s,border-color .2s;display:flex}.menu-toggle-btn:hover{background:var(--color-overlay-hover);border-color:var(--color-accent-border)}.topbar-logo{align-items:center;min-width:0;display:flex}.topbar-brand-img{object-fit:contain;object-position:left center;width:auto;max-width:min(14rem,52vw);height:2.5rem;display:block}.page-content{flex:1;padding:.5rem 1.5rem 2rem}.scroll-to-top-btn{z-index:150;border:1px solid var(--color-border-strong);background:var(--color-surface);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;border-radius:999px;font-size:1.25rem;line-height:1;transition:transform .2s,background .2s,border-color .2s;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 8px 24px #00000059}.scroll-to-top-btn:hover{background:var(--color-surface-hover);border-color:var(--color-accent-border);transform:translateY(-2px)}.scroll-to-top-btn:active{transform:translateY(0)}.page{max-width:960px;margin:0 auto}.page-title{margin-bottom:.25rem;font-size:1.4rem}.page-subtitle{color:var(--color-text-secondary);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:var(--color-text-secondary);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:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1rem}.stat-label{color:var(--color-text-secondary);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:var(--color-surface-muted);border:1px solid var(--color-border);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:var(--color-text);font-size:.85rem}.list-item .muted{color:var(--color-text-secondary)}.list-item.clickable{color:inherit;text-decoration:none;transition:transform 70ms,border-color 70ms,background 70ms}.list-item.clickable:hover{border-color:var(--color-accent-border);background:var(--color-surface-hover);transform:translateY(-1px)}.badge{border:1px solid var(--color-border-strong);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:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:999px;padding:.25rem .6rem;font-size:.8rem}.link{color:var(--color-link);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:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:420px;box-shadow:0 24px 60px var(--color-shadow-strong);border-radius:1.4rem;padding:1.8rem}.auth-header{text-align:center;margin-bottom:1.4rem;position:relative}.auth-theme-row{justify-content:flex-end;margin-bottom:.5rem;display:flex}.auth-brand-img{object-fit:contain;width:100%;max-width:17.5rem;height:auto;max-height:4rem;margin:0 auto .75rem;display:block}.auth-tagline{color:var(--color-text-secondary);margin:0;font-size:.9rem}.auth-form{flex-direction:column;gap:.8rem;display:flex}.field span{margin-bottom:.25rem;font-size:.85rem;display:block}.error-text{color:var(--color-danger);font-size:.8rem}.auth-checkbox{color:var(--color-text);cursor:pointer;align-items:flex-start;gap:.55rem;font-size:.85rem;display:flex}.auth-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;margin-top:.15rem}.auth-hint{color:var(--color-text-secondary);margin:-.25rem 0 0;font-size:.78rem}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap input{padding-right:4.5rem}.password-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.25rem .4rem;font-size:.78rem;position:absolute;right:.5rem}.password-toggle:hover{color:var(--color-link);background:var(--color-accent-muted)}.terms-link{color:var(--color-link);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.terms-link:hover{color:var(--color-accent-hover)}.terms-overlay{background:var(--color-overlay);z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.terms-modal{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:520px;max-height:85vh;box-shadow:0 24px 60px var(--color-shadow);border-radius:1rem;flex-direction:column;display:flex}.terms-modal-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex}.terms-modal-header h2{margin:0;font-size:1.05rem}.terms-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem .5rem;font-size:1.5rem;line-height:1}.terms-modal-body{color:var(--color-text);padding:1rem 1.2rem;font-size:.88rem;line-height:1.55;overflow-y:auto}.terms-modal-body h3{color:var(--color-text);margin:1rem 0 .35rem;font-size:.92rem}.terms-modal-body h3:first-of-type{margin-top:.5rem}.terms-modal-footer{border-top:1px solid var(--color-border-subtle);padding:.85rem 1.2rem 1.1rem}.alert{border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.alert-error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.sidebar-theme{margin-bottom:.85rem}.sidebar-theme-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:.45rem;font-size:.75rem;font-weight:600;display:block}.sidebar-footer .theme-toggle{justify-content:stretch;width:100%}.sidebar-footer .theme-toggle-btn{flex:1;justify-content:center}.topbar-actions{align-items:center;gap:.5rem;display:flex}@media (width>=641px){.app-shell{min-height:100vh;display:block}.sidebar{z-index:100;width:260px;height:100dvh;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.closed{transform:translate(-100%)}.content-area{min-height:100vh;margin-left:260px;transition:margin-left .3s}.app-shell.sidebar-closed .content-area{margin-left:0}}@media (width<=640px){.app-shell{grid-template-columns:minmax(0,1fr)!important}.sidebar{z-index:1000;width:260px;max-width:85vw;height:100dvh;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:2px 0 10px #0000004d}.content-area{margin-left:0}.sidebar.closed{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.topbar{padding:1rem 1.1rem}.topbar-left{gap:.5rem;min-width:0}.topbar-logo{min-width:0}.topbar-brand-img{max-width:min(10.5rem,48vw);height:2rem}.menu-toggle-btn{flex-shrink:0;padding:.35rem}.logo{flex-shrink:0;width:28px;height:28px;font-size:.75rem}.page-content{padding-inline:1.1rem;padding-bottom:1.5rem}.grid-3{grid-template-columns:1fr}.page-title{font-size:1.25rem}.scroll-to-top-btn{width:2.5rem;height:2.5rem;font-size:1.1rem;bottom:1rem;right:1rem}}
