.character-sheet-modal{max-width:1200px;width:95vw}.character-sheet-container{display:flex;flex-direction:column;gap:1.5rem}.character-sheet-tabs{display:flex;gap:.5rem;border-bottom:2px solid rgba(255,255,255,.2);padding-bottom:.5rem}.tab-button{padding:.75rem 1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px 8px 0 0;color:rgba(255,255,255,.7);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.tab-button:hover{background:rgba(255,255,255,.1);color:white;border-color:rgba(255,255,255,.3)}.tab-button.active{background:linear-gradient(135deg,#2F4A72,#0E2C40);border-color:rgba(47,74,114,.8);color:white;box-shadow:0 4px 15px rgba(47,74,114,.4)}.character-sheet-body{padding:1rem 0;min-height:500px}.character-sheet-content{display:grid;grid-template-columns:400px 1fr;grid-gap:2rem;gap:2rem}.character-image-section{display:flex;flex-direction:column;align-items:center}.character-sheet-image{width:100%;height:auto;max-height:500px;object-fit:cover;border:2px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);border-radius:12px}.character-info-section{display:flex;flex-direction:column;gap:1.5rem}.stats-section{background:linear-gradient(135deg,rgba(47,74,114,.3),rgba(14,44,64,.3));border:1px solid rgba(47,74,114,.5);border-radius:12px;padding:1.5rem}.stats-section h3{color:rgb(255,255,255);font-size:1.3rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.stat-label{color:rgba(255,255,255,.7);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{color:white;font-size:1.8rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.basic-info-section{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.5rem}.basic-info-section h3{color:white;font-size:1.3rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.info-grid{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:rgba(255,255,255,.03);border-radius:6px;border:1px solid rgba(255,255,255,.1)}.info-label{color:rgba(255,255,255,.7);font-weight:600;font-size:.9rem}.info-value{color:white;font-weight:500;font-size:.95rem}.status-badge{padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.active{background:linear-gradient(135deg,rgba(47,74,114,.5),rgba(14,44,64,.5));color:#4ecdc4;border:1px solid rgba(47,74,114,.8)}.status-badge.inactive{background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2)}.npc-badge{padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;background:rgba(251,191,36,.3);color:#fbbf24;border:1px solid rgba(251,191,36,.5)}.race-description{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.race-description h4{color:white;font-size:1.1rem;margin-bottom:.75rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.race-description p{color:rgba(255,255,255,.8);line-height:1.6;font-size:.95rem}.skills-tab-content{padding:1rem}.skills-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2)}.skills-header h3{color:white;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.skill-points-display{color:rgba(255,255,255,.8);font-size:1rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,rgba(47,74,114,.3),rgba(14,44,64,.3));border:1px solid rgba(47,74,114,.5);border-radius:8px}.skill-points-display strong{color:#D4B67A;font-size:1.2rem;margin-left:.5rem}.skills-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:1rem;gap:1rem}.skill-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.25rem;transition:all .3s ease}.skill-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.2);border-color:rgba(47,74,114,.6)}.skill-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.skill-header h4{color:white;font-size:1.1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.skill-badges{display:flex;gap:.5rem;flex-wrap:wrap}.skill-badge{padding:.25rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.skill-badge.type{background:rgba(168,85,247,.3);color:#a855f7;border:1px solid rgba(168,85,247,.5)}.skill-badge.branch{background:rgba(59,130,246,.3);color:#3b82f6;border:1px solid rgba(59,130,246,.5)}.skill-badge.passive{background:rgba(34,197,94,.3);color:#22c55e;border:1px solid rgba(34,197,94,.5)}.skill-description{color:rgba(255,255,255,.8);line-height:1.5;margin-bottom:1rem;font-size:.9rem}.skill-meta{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;color:rgba(255,255,255,.6)}.skill-cost,.skill-rank,.skill-target{font-weight:500}.empty-skills{text-align:center;padding:3rem;color:rgba(255,255,255,.6);font-size:1rem}.tab-content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:2rem}.tab-content-placeholder h3{color:white;font-size:1.8rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.tab-content-placeholder p{color:rgba(255,255,255,.7);font-size:1.1rem}@media (max-width:900px){.character-sheet-content{grid-template-columns:1fr}.character-image-section{max-width:400px;margin:0 auto}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.skills-list{grid-template-columns:1fr}}@media (max-width:600px){.character-sheet-tabs{overflow-x:auto;flex-wrap:nowrap}.tab-button{padding:.6rem 1rem;font-size:.85rem;white-space:nowrap}.stats-grid{grid-template-columns:1fr}.skills-header{flex-direction:column;align-items:flex-start;gap:1rem}}