:root{--breakpoint-mobile: 320px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1440px;--bg-primary: #121214;--bg-primary-rgb: 18, 18, 20;--bg-secondary: #1E1E24;--bg-secondary-rgb: 30, 30, 36;--bg-tertiary: #282830;--bg-tertiary-rgb: 40, 40, 48;--bg-inset: #0D0D0F;--bg-inset-rgb: 13, 13, 15;--font-family: "Inter", "Segoe UI", system-ui, sans-serif;--font-family-display: "Exo 2", system-ui, sans-serif;--text-primary: #E0E0E0;--text-secondary: #C0C0C0;--text-muted: #A0A0A0;--border-primary: #333336;--border-secondary: #444449;--selection-primary: #5C6BC0;--selection-primary-rgb: 92, 107, 192;--selection-hover: #7986CB;--selection-bg: rgba(92, 107, 192, .2);--accent-primary: #D32F2F;--accent-primary-rgb: 211, 47, 47;--accent-primary-hover: #B71C1C;--accent-primary-bg: rgba(211, 47, 47, .5);--danger-primary: #F44336;--danger-primary-rgb: 244, 67, 54;--danger-secondary: #E57373;--danger-primary-hover: #D32F2F;--danger-bg: #3E2723;--danger-text: #FFAB91;--success-primary: #43A047;--success-primary-rgb: 67, 160, 71;--success-secondary: #81c784;--success-primary-hover: #2E7D32;--success-bg: rgba(46, 125, 50, .3);--success-text: #81c784;--info-primary: #1976D2;--info-bg: rgba(25, 118, 210, .3);--info-text: #64b5f6;--warning-primary: #FF9800;--warning-primary-rgb: 255, 152, 0;--warning-secondary: #FFB74D;--warning-bg: #331F00;--trait-bg: rgba(211, 47, 47, .15);--trait-text: #FF7E7E;--trait-border: rgba(211, 47, 47, .3);--rarity-commercial-primary: #8C6239;--rarity-commercial-secondary: #A67C52;--rarity-commercial-light: #D7CCC8;--rarity-commercial-mid: #BCAAA4;--rarity-commercial-dark: #A1887F;--rarity-commercial-stroke: #3E2723;--rarity-tactical-primary: #4B5320;--rarity-tactical-secondary: #7C8457;--rarity-tactical-accent: #C5E1A5;--rarity-tactical-stroke: #212121;--rarity-advanced-primary: #0D47A1;--rarity-advanced-secondary: #1565C0;--rarity-advanced-light: #42A5F5;--rarity-advanced-accent: #E3F2FD;--rarity-advanced-stroke: #000000;--rarity-superior-primary: #4A148C;--rarity-superior-secondary: #AB47BC;--rarity-superior-light: #E1BEE7;--rarity-superior-accent: #7B1FA2;--rarity-superior-stroke: #000000;--rarity-elite-primary: #FFD700;--rarity-elite-secondary: #FFC107;--rarity-elite-light: #FFF9C4;--rarity-elite-accent: #F57F17;--rarity-elite-stroke: #3E2723;--rarity-elite-gem-fill: #81D4FA;--rarity-elite-gem-stroke: #0288D1;--rarity-ultimate-primary: #FF5722;--rarity-ultimate-secondary: #BF360C;--rarity-ultimate-light: #FF8A65;--rarity-ultimate-mid: #FFAB91;--rarity-ultimate-accent: #FFCCBC;--rarity-paragon-primary: #ECEFF1;--rarity-paragon-secondary: #78909C;--rarity-paragon-light: #B0BEC5;--rarity-paragon-dark: #263238;--rarity-paragon-accent: #80DEEA;--rarity-paragon-accent-secondary: #4DD0E1;--rarity-paragon-glow: #E0F7FA;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-2sm: 10px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-2lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--spacing-4xl: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--font-xs: .75rem;--font-sm: .85rem;--font-base: .95rem;--font-md: 1rem;--font-lg: 1.1rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--font-4xl: 2.5rem;--radius-xs: 3px;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4);--shadow-card: 0 2px 4px rgba(0, 0, 0, .2);--shadow-card-hover: 0 4px 8px rgba(0, 0, 0, .3);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .3);--shadow-glow-accent: 0 2px 6px rgba(var(--accent-primary-rgb), .15);--shadow-glow-accent-lg: 0 4px 12px rgba(var(--accent-primary-rgb), .3);--shadow-glow-success: 0 4px 12px rgba(var(--success-primary-rgb), .3);--shadow-glow-danger: 0 4px 12px rgba(var(--danger-primary-rgb), .3);--shadow-glow-selection: 0 4px 12px rgba(var(--selection-primary-rgb), .3);--shadow-glow-warning: 0 0 8px rgba(var(--warning-primary-rgb), .4);--shadow-glow-warning-hover: 0 2px 6px rgba(0, 0, 0, .4), 0 0 12px rgba(var(--warning-primary-rgb), .6);--shadow-glow-ring: 0 0 20px rgba(var(--accent-primary-rgb), .2);--shadow-glow-ring-success: 0 0 20px rgba(var(--success-primary-rgb), .3);--shadow-glow-ring-warning: 0 0 20px rgba(var(--warning-primary-rgb), .3);--shadow-glow-ring-danger: 0 0 20px rgba(var(--danger-primary-rgb), .4);--nav-height: 60px;--overlay-modal: rgba(0, 0, 0, .8);--overlay-sidebar: rgba(0, 0, 0, .5);--overlay-sm: rgba(0, 0, 0, .2);--z-sidebar: 100;--z-modal: 200;--z-tooltip: 300;--z-portal: 9999;--proficiency-untrained: #6b7280;--proficiency-trained: #16a34a;--proficiency-expert: #2563eb;--proficiency-master: #7c3aed;--proficiency-legendary-start: #f59e0b;--proficiency-legendary-end: #d97706;--badge-text-color: #ffffff;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;font-family:var(--font-family);line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--accent-primary-rgb: 30, 136, 229;--bg-primary-rgb: 245, 247, 250;--bg-secondary-rgb: 238, 241, 247;--bg-tertiary-rgb: 230, 235, 245;--selection-primary-rgb: 12, 71, 161;--bg-primary: #F5F7FA;--bg-secondary: #EEF1F7;--bg-tertiary: #E6EBF5;--bg-inset: #DDE5F0;--text-primary: #2B2F33;--text-secondary: #595E60;--text-muted: #6B7075;--border-primary: #D0D8E8;--border-secondary: #C2CBE0;--selection-primary: #0C47A1;--selection-hover: #1E3A8A;--selection-bg: rgba(12, 71, 161, .15);--accent-primary: #1E88E5;--accent-primary-hover: #1565C0;--accent-primary-bg: rgba(30, 136, 229, .35);--danger-primary: #B00020;--danger-primary-rgb: 176, 0, 32;--danger-secondary: #CF6679;--danger-primary-hover: #8E0019;--danger-bg: #FADADD;--danger-text: #B00020;--success-primary: #588C73;--success-primary-rgb: 88, 140, 115;--success-secondary: #89B8A3;--success-primary-hover: #406652;--success-bg: #E2F0E9;--success-text: #2e7d32;--info-primary: #1565C0;--info-bg: #E3F2FD;--info-text: #1976d2;--warning-primary: #D4AF37;--warning-primary-rgb: 212, 175, 55;--warning-secondary: #E8D17A;--warning-bg: #FCF8E3;--trait-bg: rgba(30, 136, 229, .15);--trait-text: #0D47A1;--trait-border: rgba(30, 136, 229, .3);--rarity-commercial-primary: #6B4423;--rarity-commercial-secondary: #8B5A38;--rarity-commercial-light: #C5B5AB;--rarity-commercial-mid: #A89A8C;--rarity-commercial-dark: #8D7A6B;--rarity-commercial-stroke: #2E1C0F;--rarity-tactical-primary: #3A4218;--rarity-tactical-secondary: #5F6B3E;--rarity-tactical-accent: #9CCC65;--rarity-tactical-stroke: #1A1A1A;--rarity-advanced-primary: #0A3A7D;--rarity-advanced-secondary: #1051A0;--rarity-advanced-light: #2E89DB;--rarity-advanced-accent: #BBDEFB;--rarity-advanced-stroke: #000000;--rarity-superior-primary: #380E68;--rarity-superior-secondary: #8B3A9A;--rarity-superior-light: #C9A8D4;--rarity-superior-accent: #621787;--rarity-superior-stroke: #1A0033;--rarity-elite-primary: #D4AF00;--rarity-elite-secondary: #CFA000;--rarity-elite-light: #FAF3B4;--rarity-elite-accent: #B56B0F;--rarity-elite-stroke: #2A1B0F;--rarity-elite-gem-fill: #4FC3F7;--rarity-elite-gem-stroke: #0277BD;--rarity-ultimate-primary: #D84315;--rarity-ultimate-secondary: #9C2600;--rarity-ultimate-light: #E97048;--rarity-ultimate-mid: #F09070;--rarity-ultimate-accent: #FCBBA1;--rarity-paragon-primary: #546E7A;--rarity-paragon-secondary: #78909C;--rarity-paragon-light: #B0BEC5;--rarity-paragon-dark: #263238;--rarity-paragon-accent: #00ACC1;--rarity-paragon-accent-secondary: #00BCD4;--rarity-paragon-glow: #B2EBF2;--bg-inset-rgb: 221, 229, 240;--proficiency-untrained: #6b7280;--proficiency-trained: #16a34a;--proficiency-expert: #2563eb;--proficiency-master: #7c3aed;--proficiency-legendary-start: #f59e0b;--proficiency-legendary-end: #d97706;--badge-text-color: #ffffff;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .16);--shadow-card: 0 1px 4px rgba(0, 0, 0, .1);--shadow-card-hover: 0 3px 8px rgba(0, 0, 0, .16);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .14);--overlay-modal: rgba(0, 0, 0, .6);--overlay-sidebar: rgba(0, 0, 0, .35);--overlay-sm: rgba(0, 0, 0, .08);color-scheme:light}a{font-weight:500;color:var(--accent-primary);text-decoration:inherit}a:hover{color:var(--accent-primary-hover)}body{margin:0;min-height:100dvh}h1{font-family:var(--font-family-display);font-size:var(--font-4xl);line-height:1.1}button{border-radius:var(--radius-lg);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-secondary);cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-inset);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-sm);transition:background var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--border-secondary) var(--bg-inset)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--breakpoint-mobile: 320px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1440px}@media(max-width:767px){.hide-mobile{display:none!important}}.show-mobile{display:none!important}@media(max-width:767px){.show-mobile{display:block!important}}@media(max-width:767px){button,.sci-fi-button,[role=button],input[type=button],input[type=submit],input[type=reset]{min-height:44px;min-width:44px}.sci-fi-checkbox,.sci-fi-toggle,input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}.language-add-btn,.language-remove-btn,.container-toggle,.hp-btn{min-width:44px;min-height:44px}.condition-track-pip{min-width:unset;min-height:unset}.icon-btn{min-width:44px;min-height:44px}.modal-content{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}input,textarea,select{font-size:16px}}@media(min-width:768px)and (max-width:1023px){.hide-tablet{display:none!important}.show-tablet{display:block!important}}@media(min-width:1024px){.hide-desktop{display:none!important}.show-desktop{display:block!important}}@media(max-width:767px){h1{font-size:1.8rem;line-height:1.2}h2{font-size:1.4rem}h3{font-size:1.1rem}.sci-fi-panel,.stat-block,.weapon-item,.armor-item,.equipment-item{padding:10px}}@media(min-width:768px)and (max-width:1023px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}}@media(max-width:767px){.flex-desktop-row{flex-direction:column!important}.gap-desktop-lg{gap:var(--spacing-sm)!important}}@media(max-width:767px){.p-desktop-lg{padding:var(--spacing-md)!important}.m-desktop-lg{margin:var(--spacing-md)!important}.p-desktop-xl{padding:var(--spacing-lg)!important}.m-desktop-xl{margin:var(--spacing-lg)!important}}.scroll-x-mobile{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(min-width:1024px){.scroll-x-mobile{overflow-x:visible}}.grid-2-col{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}@media(max-width:767px){.grid-2-col{grid-template-columns:1fr;gap:var(--spacing-md)}}@media(min-width:768px)and (max-width:1023px){.grid-2-col{gap:var(--spacing-md)}}.grid-3-col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}@media(max-width:1023px){.grid-3-col{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.grid-3-col{grid-template-columns:1fr;gap:var(--spacing-md)}}.sidebar-overlay{position:fixed;inset:0;background:var(--overlay-sidebar);z-index:calc(var(--z-sidebar) - 10);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow);pointer-events:none}.sidebar-overlay.active{opacity:1;visibility:visible;pointer-events:auto}@media(max-width:767px){.responsive-table{border:none;display:block}.responsive-table thead{display:none}.responsive-table tbody{display:block}.responsive-table tr{display:block;border:1px solid var(--border-secondary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);background:var(--bg-tertiary);padding:var(--spacing-2sm)}.responsive-table td{display:block;text-align:left;padding:8px 0;border:none;border-bottom:1px solid var(--border-primary)}.responsive-table td:last-child{border-bottom:none}.responsive-table td:before{content:attr(data-label);font-weight:700;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;display:block;margin-bottom:4px}}@media(max-width:767px){.modal-content{width:calc(100vw - 20px);max-height:90vh;border-radius:var(--radius-xl)}.modal-grid-body{grid-template-columns:1fr;height:auto;max-height:calc(70dvh - var(--nav-height) - var(--spacing-2xl))}.modal-selection-list{max-height:30vh;margin-bottom:10px}.modal-detail-panel{max-height:40vh}}@media(min-width:768px)and (max-width:1023px){.modal-content{width:90vw;max-width:800px}.modal-grid-body{height:60vh}}@media(max-width:767px){.inventory-grid-container{grid-template-columns:1fr;height:auto;width:100%}.weapons-section,.armor-section,.equipment-section{width:100%}.inventory-left-pane,.inventory-right-pane{max-height:none;height:auto}.weapon-item,.armor-item,.equipment-item{grid-template-columns:20px 1fr auto auto!important;gap:8px}.armor-item .stat-inline,.equipment-item .stat-inline{grid-column:2 / -3;margin-top:4px}.weapon-item-traits,.armor-item-traits{grid-column:2 / -1}}@media(min-width:768px)and (max-width:1023px){.inventory-grid-container{grid-template-columns:1fr;height:auto;width:100%}.weapon-item{grid-template-columns:20px 1fr 120px 100px 80px!important}.armor-item{grid-template-columns:20px minmax(150px,2fr) repeat(2,auto) 40px 40px!important;gap:var(--spacing-2sm)}}@media(max-width:1023px){.main-grid{grid-template-columns:1fr;gap:15px}}@media(min-width:768px)and (max-width:1023px){.main-grid{grid-template-columns:1fr 1fr}}@media(max-width:767px){.skills-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.skills-table thead th{font-size:.75rem;padding:8px 4px}.skills-table td{padding:6px 4px;font-size:.85rem}}@media(max-width:767px){.top-nav{padding:0 8px;gap:2px;min-height:var(--nav-height);overflow:hidden}.top-nav button:not(.hamburger-menu){padding:0 8px;font-size:.75rem;white-space:nowrap;flex-shrink:1;min-width:0}.nav-user-info{display:none}.theme-toggle-switch{margin-left:0;flex-shrink:0;gap:4px}.theme-toggle-switch .toggle-label{display:none}.theme-toggle-switch .toggle-track{width:35px;height:18px}.theme-toggle-switch .toggle-thumb{width:14px;height:14px}}@media(min-width:768px)and (max-width:1023px){.top-nav button{padding:0 20px;font-size:1rem}}@media(max-width:767px){.editor-container{grid-template-columns:1fr;border-radius:0;border:none}.editor-sidebar{display:none;position:fixed;top:var(--nav-height);left:0;width:100%;max-width:250px;height:calc(100dvh - var(--nav-height));z-index:var(--z-modal);overflow-y:auto;border:none;border-right:1px solid var(--border-primary)}.editor-sidebar.active{display:flex;flex-direction:column}.editor-sidebar button{padding:15px;text-align:left}.editor-panel{padding:15px}}@media(min-width:768px)and (max-width:1023px){.editor-container{grid-template-columns:120px 1fr}.editor-sidebar{overflow-y:auto}.editor-sidebar button{padding:15px;font-size:.85rem}.editor-panel{padding:15px}}@media(max-width:767px){.attr-grid{grid-template-columns:1fr 1fr}.defenses-content{gap:15px}.defense-row{flex-wrap:wrap;gap:var(--spacing-sm)}.def-box{width:100%}}@media(max-width:767px){.bio-row select,.bio-row input,.sci-fi-input,.sci-fi-select,.sci-fi-textarea{font-size:16px}}@media(max-width:767px){.power-card-meta-grid{grid-template-columns:1fr;gap:10px}.power-card-header{flex-direction:column;align-items:flex-start}.power-meta-top{align-items:flex-start;text-align:left}}@media(max-width:767px){.content-overlay,.modal-overlay{padding:10px}body{font-size:14px}}@media(max-width:767px){.description-image--right{float:none;margin-left:0;margin-inline:auto}}.character-select-screen{position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);background:var(--bg-primary)}.character-select-container{max-width:1200px;width:100%;margin-top:auto;margin-bottom:auto}.character-select-container h1{text-align:center;color:var(--text-primary);font-family:var(--font-family-display);margin-bottom:var(--spacing-2xl);font-size:var(--font-4xl)}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.character-card{position:relative;background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);cursor:pointer;transition:all var(--transition-slow);min-height:150px;display:flex;flex-direction:column}.character-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-card-hover)}.character-card-content{flex:1;display:flex;flex-direction:column;justify-content:center}.character-card h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);font-size:var(--font-xl)}.character-card p{margin:0;color:var(--text-muted)}.character-card .char-detail{margin:var(--spacing-xs) 0;font-size:var(--font-base);line-height:1.4}.character-card.create-new{border-style:dashed;justify-content:center;align-items:center;text-align:center}.character-card.create-new:hover{background:var(--bg-secondary)}.plus-icon{font-size:var(--font-4xl);color:var(--accent-primary);margin-bottom:var(--spacing-sm);display:block}.delete-char-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:32px;height:32px;background:rgba(var(--bg-inset-rgb),.8);color:var(--text-primary);font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--transition-normal)}.character-card:hover .delete-char-btn{opacity:1}@media(max-width:1023px){.delete-char-btn{opacity:1;width:44px;height:44px}}@media(max-width:350px){.character-select-screen{padding:var(--spacing-md)}.character-grid{grid-template-columns:1fr}}.delete-char-btn:hover{background:var(--danger-primary);border-color:var(--danger-primary)}.error-message{background:rgba(var(--danger-primary-rgb),.2);border:1px solid var(--danger-primary);color:var(--danger-primary);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xl);text-align:center}.character-name-truncate,.char-detail-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rotating-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.background-image{position:absolute;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity 2s ease-in-out;will-change:opacity}.rotating-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(var(--bg-primary-rgb),.72),rgba(var(--bg-primary-rgb),.88),rgba(var(--bg-primary-rgb),.96));z-index:1;pointer-events:none}.login-screen{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center}.login-content{position:relative;z-index:2;text-align:center;max-width:400px;padding:var(--spacing-3xl);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-content h1{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-family:var(--font-family-display);font-size:var(--font-3xl);font-weight:700}.login-content p{margin-bottom:var(--spacing-2xl);color:var(--text-secondary);font-size:var(--font-lg);line-height:1.6}.login-content .sci-fi-button{width:100%;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-md)}@media(max-width:767px){.login-content{padding:var(--spacing-xl);max-width:calc(100vw - 40px)}.login-content h1{font-size:var(--font-2xl)}.login-content p{font-size:var(--font-base)}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;background:var(--bg-secondary);border:2px solid var(--danger-primary);border-radius:var(--radius-lg);margin:var(--spacing-xl)}.error-boundary__title{color:var(--danger-primary);margin-bottom:var(--spacing-lg);font-size:var(--font-3xl)}.error-boundary__message{color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:500px}.error-boundary__actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:center}.error-boundary__actions .sci-fi-button{min-width:140px}.error-boundary__details{margin-top:var(--spacing-2xl);text-align:left;max-width:600px;width:100%}.error-boundary__details summary{cursor:pointer;color:var(--text-muted);margin-bottom:var(--spacing-md)}.error-boundary__pre{background:var(--bg-inset);padding:var(--spacing-md);overflow-x:auto;font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid var(--border-primary);color:var(--danger-text);margin:0}.validation-footer{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-xl);min-height:40px;background:var(--bg-inset);border-top:2px solid var(--warning-primary);opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto;transition:opacity var(--transition-fast) ease-out,transform var(--transition-fast) ease-out,visibility 0s linear 0s}.validation-footer--hidden{opacity:0;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:opacity var(--transition-fast) ease-out,transform var(--transition-fast) ease-out,visibility 0s linear var(--transition-fast)}.validation-footer__icon{flex-shrink:0;font-size:var(--font-base);color:var(--warning-primary);line-height:1}.validation-footer__label{flex-shrink:0;font-size:var(--font-sm);font-family:var(--font-family-display);color:var(--text-muted);white-space:nowrap;letter-spacing:.02em}.validation-footer__chips{display:flex;flex-wrap:nowrap;gap:var(--spacing-sm);flex:1;min-width:0;overflow-x:auto;list-style:none;margin:0;padding:var(--spacing-xs) 0;scrollbar-width:thin;scrollbar-color:var(--border-primary) transparent}.validation-footer__chips::-webkit-scrollbar{height:3px}.validation-footer__chips::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--radius-xs)}.validation-footer__chip-item{flex-shrink:0}.validation-footer__chip{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:transparent;border:1px solid var(--warning-primary);border-radius:var(--radius-sm);color:var(--warning-primary);font-size:var(--font-xs);font-family:var(--font-family-display);letter-spacing:.02em;white-space:nowrap;cursor:default;line-height:1.4;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.validation-footer__chip--interactive{cursor:pointer}.validation-footer__chip--interactive:hover,.validation-footer__chip--interactive:focus-visible{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-muted);outline:none}.validation-footer__chip--interactive:focus-visible{box-shadow:0 0 0 2px var(--warning-primary)}.validation-footer__dismiss{flex-shrink:0;margin-left:var(--spacing-sm);background:transparent;border:none;color:var(--text-muted);font-size:var(--font-xl);line-height:1;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.validation-footer__dismiss:hover,.validation-footer__dismiss:focus-visible{color:var(--text-primary);background:var(--bg-secondary);outline:none}.validation-footer__dismiss:focus-visible{box-shadow:0 0 0 2px var(--border-primary)}@media(prefers-reduced-motion:reduce){.validation-footer,.validation-footer--hidden{transition:opacity var(--transition-fast) ease-out,visibility 0s linear var(--transition-fast);transform:none}}@media(max-width:1023px){.validation-footer{padding:0 var(--spacing-lg)}}@media(max-width:767px){.validation-footer{padding:0 var(--spacing-md);min-height:44px;gap:var(--spacing-xs)}.validation-footer__dismiss{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:var(--font-lg)}.validation-footer__chip{padding:3px var(--spacing-sm);font-size:var(--font-xs);min-height:28px}}html,body{margin:0;padding:0;height:100dvh;width:100vw;overflow:hidden;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}*:focus-visible{outline:2px solid var(--selection-primary);outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--selection-primary);outline-offset:2px}.sci-fi-panel{background:var(--bg-secondary);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--border-secondary);transition:border-color var(--transition-normal)}.sci-fi-panel:hover{border-color:var(--accent-primary)}.sci-fi-table{border-collapse:collapse;background-color:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:var(--font-base)}.sci-fi-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:var(--spacing-2sm);border:1px solid var(--border-secondary)}.sci-fi-table td{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-secondary)}.sci-fi-table tr:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.stat-inline{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-sm)}.stat-inline .stat-inline-label{color:var(--text-muted);font-size:var(--font-xs);text-transform:uppercase}.stat-inline .stat-inline-value{color:var(--text-secondary);font-weight:600;display:flex;align-items:center;gap:var(--spacing-xs)}.stat-inline .stat-inline-value.highlight{color:var(--accent-primary);font-weight:700}#root{height:100%;display:flex;flex-direction:column}.app-wrapper{display:flex;flex-direction:column;height:100%}.top-nav{flex:0 0 var(--nav-height);display:flex;background:var(--bg-inset);border-bottom:2px solid var(--border-secondary);align-items:center;padding:0 var(--spacing-xl);position:relative;z-index:10}.top-nav button{background:transparent;border:none;color:var(--text-muted);padding:0 var(--spacing-2xl);height:100%;font-size:var(--font-lg);font-family:var(--font-family-display);letter-spacing:.03em;cursor:pointer;transition:var(--transition-normal)}.top-nav button:hover{color:var(--text-primary);background:var(--bg-secondary)}.top-nav button.active{background:var(--bg-secondary);color:var(--text-primary);border-bottom:4px solid var(--accent-primary)}.top-nav .hamburger-menu{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:100%;background:transparent;border:none;cursor:pointer;padding:0;gap:var(--spacing-xs);margin-right:var(--spacing-sm)}.top-nav .hamburger-menu span{width:24px;height:2px;background:var(--text-primary);border-radius:var(--radius-xs);transition:all var(--transition-slow);display:block}@media(max-width:1023px){.top-nav .hamburger-menu{display:flex}.top-nav .hamburger-menu.active span:nth-child(1){transform:rotate(45deg) translateY(10px)}.top-nav .hamburger-menu.active span:nth-child(2){opacity:0}.top-nav .hamburger-menu.active span:nth-child(3){transform:rotate(-45deg) translateY(-10px)}}.nav-back-btn{margin-left:auto}.nav-debug-btn{margin-left:var(--spacing-lg)}.nav-user-info{font-size:var(--font-sm);color:var(--text-muted);padding:0 var(--spacing-sm)}.theme-toggle-switch{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--spacing-xs)}.theme-toggle-switch .toggle-label{font-size:var(--font-base);font-weight:500;color:var(--text-muted);transition:color var(--transition-normal)}.theme-toggle-switch .toggle-label.active{color:var(--text-primary)}.theme-toggle-switch .toggle-track{width:40px;height:20px;background-color:var(--bg-inset);border:1px solid var(--border-primary);border-radius:var(--radius-xl);position:relative}.theme-toggle-switch .toggle-thumb{position:absolute;width:16px;height:16px;background-color:var(--text-muted);border-radius:50%;top:1px;left:1px;transition:transform var(--transition-normal),background-color var(--transition-normal)}.theme-toggle-switch .toggle-thumb.dark{transform:translate(20px);background-color:var(--accent-primary)}.theme-toggle-switch .toggle-thumb.light{background-color:var(--accent-primary)}.nav-user-menu-container{position:relative;margin-left:auto;display:flex;align-items:center}.top-nav .nav-avatar-btn{position:relative;width:34px;height:34px;min-width:34px;min-height:34px;max-width:34px;max-height:34px;padding:0;background:transparent;border:2px solid var(--border-secondary);border-radius:50%;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.top-nav .nav-avatar-btn:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow-accent);background:transparent}.top-nav .nav-avatar-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.nav-avatar-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.nav-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--accent-primary);font-size:var(--font-xs);font-weight:700;letter-spacing:.05em;border-radius:50%;pointer-events:none}.nav-user-menu{position:fixed;top:var(--nav-height);right:var(--spacing-xl);min-width:220px;background:var(--bg-inset);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000;animation:nav-menu-appear var(--transition-fast) ease-out}@keyframes nav-menu-appear{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.nav-user-menu{animation:none}}.nav-user-menu-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)}.nav-user-menu-avatar{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--border-secondary);box-sizing:border-box}.nav-user-menu-avatar-fallback{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--accent-primary);font-size:var(--font-base);font-weight:700;flex-shrink:0;box-sizing:border-box}.nav-user-menu-username{font-size:var(--font-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-menu-divider{height:1px;background:var(--border-primary);margin:0}.nav-user-menu .nav-user-menu-item{-webkit-appearance:none;appearance:none;display:block;width:100%;margin:0;padding:var(--spacing-sm) var(--spacing-md);box-sizing:border-box;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-sm);font-family:inherit;line-height:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.nav-user-menu .nav-user-menu-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-user-menu .nav-user-menu-item--danger{color:var(--text-secondary)}.nav-user-menu .nav-user-menu-item--danger:hover{background:var(--bg-secondary);color:var(--danger-primary)}.nav-user-menu-theme{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.nav-user-menu-theme-label{font-size:var(--font-sm);color:var(--text-secondary);flex-shrink:0}.nav-user-menu .theme-toggle-switch .toggle-label{font-size:var(--font-sm)}.content-area{flex:1;position:relative;overflow:hidden;display:flex}.content-overlay{position:relative;z-index:1;width:100%;height:100%;padding:var(--spacing-2lg);padding-bottom:calc(var(--spacing-2lg) + 44px);overflow-y:auto;background:transparent;box-sizing:border-box}.editor-container{display:grid;grid-template-columns:180px 1fr;grid-template-rows:100%;height:100%;width:fit-content;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary);box-sizing:border-box}@media(max-width:1023px){.editor-container{grid-template-columns:1fr;border-radius:0;border:none}}.editor-sidebar{background:var(--bg-primary);border-right:1px solid var(--border-primary);overflow-y:auto}@media(max-width:1023px){.editor-sidebar{position:fixed;top:var(--nav-height);left:0;width:100%;max-width:250px;height:calc(100dvh - var(--nav-height));z-index:var(--z-sidebar);display:none;flex-direction:column;border:none;border-right:1px solid var(--border-primary)}.editor-sidebar.active{display:flex}.editor-sidebar.mobile-sidebar{position:fixed;top:var(--nav-height);left:0;width:100%;max-width:250px;height:calc(100dvh - var(--nav-height));z-index:var(--z-sidebar);display:none;flex-direction:column;border:none;border-right:1px solid var(--border-primary);background:var(--bg-primary);overflow-y:auto}.editor-sidebar.mobile-sidebar.active{display:flex}}@media(min-width:1024px){.editor-sidebar.play-mode-nav{display:none!important}}.editor-sidebar button{width:100%;text-align:left;background:transparent;border:none;padding:var(--spacing-xl);color:var(--text-muted);border-bottom:1px solid var(--bg-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-family-display);font-size:var(--font-base);letter-spacing:.03em;transition:color var(--transition-fast),background var(--transition-fast),border-left-color var(--transition-fast)}.editor-sidebar button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.editor-sidebar button.active{background:var(--bg-tertiary);color:var(--accent-primary);border-left:4px solid var(--accent-primary)}.tab-warning-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--warning-primary);box-shadow:var(--shadow-glow-warning)}.editor-panel{padding:var(--spacing-2lg);padding-bottom:calc(var(--spacing-2lg) + 44px);background:var(--bg-secondary);overflow:auto;min-width:0;animation:fadeIn var(--transition-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bio-container{display:grid;grid-template-columns:350px minmax(0,1fr);grid-template-rows:100%;height:100%;gap:var(--spacing-xl);width:100%;background-color:var(--bg-secondary);box-sizing:border-box}@media(max-width:1023px){.bio-container{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--spacing-md);height:auto}.bio-form{max-height:50vh;max-width:none}.bio-info-panel{max-height:50vh}}@media(max-width:767px){.bio-container{display:flex;flex-direction:column;height:auto;gap:var(--spacing-xs)}.bio-form{flex-shrink:0;max-height:none}.bio-form>h2{display:none}.name-level-row{flex-direction:row;align-items:flex-start}.bio-info-panel{max-height:none;min-height:35vh}}.bio-form{display:flex;flex-direction:column;gap:var(--spacing-lg);overflow-y:auto;padding-right:var(--spacing-2sm)}.bio-row{background:var(--bg-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid transparent}.bio-row label{display:block;color:var(--text-muted);font-size:var(--font-sm);margin-bottom:var(--spacing-xs);text-transform:uppercase;font-weight:700}.bio-row select,.bio-row input{width:100%;background:var(--bg-inset);color:var(--text-primary);padding:var(--spacing-2sm);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);font-size:var(--font-md)}.bio-row.clickable:hover{border-color:var(--accent-primary);cursor:pointer;background:var(--bg-primary)}.bio-row.clickable.selected-row,.bio-row.clickable.selected-row:hover{border:1px solid var(--accent-primary);background:var(--bg-primary)}.bio-level-field{width:60px}.bio-info-panel{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.info-title{margin:0;color:var(--text-secondary);font-size:var(--font-lg);font-family:var(--font-family-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-secondary);padding:var(--spacing-2lg) var(--spacing-2lg) var(--spacing-lg) var(--spacing-2lg);flex-shrink:0;background:var(--bg-primary);z-index:2}.info-content{padding:var(--spacing-lg) var(--spacing-2lg) var(--spacing-2lg) var(--spacing-2lg);overflow-y:auto;flex:1}.power-card-display{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-2sm);color:var(--text-secondary);margin-bottom:var(--spacing-2sm)}.power-card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-secondary);padding-bottom:var(--spacing-2sm);gap:var(--spacing-lg)}.power-title-line{display:flex;align-items:center;gap:var(--spacing-2sm);flex-wrap:nowrap}.power-name{font-size:var(--font-2xl);color:var(--accent-primary);margin:0;line-height:1.2;flex-shrink:1;max-width:fit-content}.power-meta-top{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);text-align:right;flex-shrink:0}.power-action-cost{font-size:var(--font-xl);display:flex;flex-shrink:0}.power-level{font-size:var(--font-base);font-weight:700;color:var(--text-muted)}.power-card-traits{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.power-card-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-base)}.power-card-meta-grid>div>strong{color:var(--text-muted);font-size:var(--font-sm);text-transform:uppercase;margin-bottom:2px}.power-card-divider{border:none;height:1px;background-color:var(--border-secondary);margin:var(--spacing-xs) 0}.name-level-row{display:flex;gap:var(--spacing-2sm)}.name-input-wrapper{flex:1}.divider{border:none;height:1px;background-color:var(--border-primary);margin:var(--spacing-2lg) 0;opacity:.5}@media(max-width:767px){.bio-form{gap:var(--spacing-xs);overflow-y:visible;padding-right:0}.bio-row{padding:var(--spacing-xs) var(--spacing-sm)}.bio-row label{margin-bottom:2px}.divider{display:none}.bio-info-panel{height:auto;overflow-y:auto}.info-title{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-md)}.info-content{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-lg)}}.tab-header{margin-bottom:var(--spacing-2lg)}.attr-matrix{--attr-label-col: 120px;--attr-data-col: 80px;display:grid;align-items:center;gap:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-2sm);width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:fit-content}@media(max-width:767px){.attr-matrix{--attr-label-col: 80px;--attr-data-col: 60px;padding:var(--spacing-sm);padding-bottom:var(--spacing-lg);border-radius:var(--radius-md);gap:var(--spacing-sm) var(--spacing-xs)}}@media(max-width:480px){.attr-matrix{--attr-label-col: 70px;--attr-data-col: 50px;padding:var(--spacing-sm);padding-bottom:var(--spacing-md);border-radius:var(--radius-sm);gap:var(--spacing-sm) var(--spacing-xs)}}.matrix-header-row{display:contents}.corner-spacer{width:var(--attr-label-col, 100px);flex-shrink:0}.col-header{width:var(--attr-data-col, 80px);height:100px;position:relative;display:flex;align-items:flex-end;justify-content:center}@media(max-width:767px){.col-header{height:80px}}@media(max-width:480px){.col-header{height:70px}}.col-header span{transform:rotate(-45deg);transform-origin:bottom center;white-space:nowrap;font-weight:700;color:var(--text-muted);text-transform:uppercase;font-size:var(--font-sm);margin-bottom:var(--spacing-lg)}@media(max-width:767px){.col-header span{font-size:var(--font-xs);margin-bottom:var(--spacing-md)}}@media(max-width:480px){.col-header span{font-size:.6rem;margin-bottom:var(--spacing-2sm)}}.matrix-row{display:contents}.row-label{width:var(--attr-label-col, 100px);flex-shrink:0;padding:var(--spacing-md) var(--spacing-2sm);display:flex;justify-content:space-between;align-items:center;font-weight:700;border-right:2px solid var(--border-secondary);background:var(--bg-primary);font-size:var(--font-base)}@media(max-width:767px){.row-label{padding:var(--spacing-sm) var(--spacing-xs);font-size:var(--font-sm)}}@media(max-width:480px){.row-label{padding:var(--spacing-sm) var(--spacing-sm);font-size:var(--font-xs)}}.attr-code{color:var(--text-secondary)}.attr-current{color:var(--text-primary);font-weight:700;font-size:var(--font-xl);background:var(--border-secondary);padding:2px 6px;border-radius:var(--radius-sm)}.matrix-col{width:var(--attr-data-col, 80px);display:flex;justify-content:center;align-items:center;border-right:1px solid var(--border-primary);padding:var(--spacing-sm) 0;flex-shrink:0}@media(max-width:767px){.matrix-col{padding:6px 0}}@media(max-width:480px){.matrix-col{padding:var(--spacing-xs) 0}}.sci-fi-checkbox{width:24px;height:24px;border:2px solid var(--border-secondary);border-radius:var(--radius-sm);background:var(--bg-inset);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none}.sci-fi-checkbox:hover{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1)}.sci-fi-checkbox.checked{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.15)}.checkbox-fill{width:14px;height:14px;background:var(--accent-primary);border-radius:var(--radius-xs)}.sci-fi-checkbox.fixed{border-color:var(--warning-primary);background:var(--warning-bg);cursor:default;color:var(--warning-primary);font-size:var(--font-sm)}.sci-fi-checkbox.locked{border-color:var(--border-primary);background:var(--bg-inset);opacity:.3;cursor:not-allowed}.sci-fi-checkbox.flaw .flaw-marker{color:var(--danger-secondary);font-weight:700}.sci-fi-checkbox.disabled{border-color:var(--bg-secondary);background:transparent;color:var(--text-muted);cursor:default;font-size:var(--font-xl);font-weight:700;border:none}.matrix-footer-row{display:flex;margin-top:var(--spacing-2sm);border-top:2px solid var(--border-secondary);padding-top:var(--spacing-2sm)}.col-footer-cell{width:var(--attr-data-col, 80px);display:flex;justify-content:center;background:var(--bg-tertiary);border-top:2px solid var(--border-secondary);border-right:1px solid var(--border-primary);flex-shrink:0;padding:var(--spacing-2sm);text-align:center}.col-footer{text-align:center;font-size:var(--font-xs);padding:var(--spacing-xs);border-radius:var(--radius-sm);width:90%;background:var(--bg-tertiary);color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}@media(max-width:767px){.col-footer{font-size:.65rem;padding:3px}}@media(max-width:480px){.col-footer{font-size:.55rem;padding:2px}}.col-footer.valid{background:var(--success-bg);color:var(--success-secondary);border:1px solid var(--success-primary)}.col-footer.invalid{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-primary)}.markdown-body p{margin-bottom:1rem;line-height:1.6}.markdown-body ul{padding-left:var(--spacing-2lg);margin-bottom:1rem}.description-image{max-width:min(400px,100%);height:auto;display:block}.description-image--right{float:right;margin-left:var(--spacing-md);margin-bottom:var(--spacing-sm)}.loading,.error-screen{height:100dvh;display:flex;align-items:center;justify-content:center;font-size:var(--font-2xl);color:var(--text-primary)}.error-screen{flex-direction:column;gap:var(--spacing-2lg);color:var(--danger-primary)}.class-tab-container{min-height:100%;display:flex;flex-direction:column}.class-tab-container>h2{font-family:var(--font-family-display);font-size:var(--font-base);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--spacing-sm) 0}.progression-list{flex:1;min-height:0;overflow-y:auto;padding-right:var(--spacing-2sm)}.weapon-prog-slots-section{flex-shrink:0;border-top:1px solid var(--border-secondary);padding:var(--spacing-md) 0 var(--spacing-xs);overflow-y:auto;max-height:220px}.weapon-prog-slots-section h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-sm);font-family:var(--font-family-display);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.weapon-prog-slot-row{margin-bottom:var(--spacing-sm)}.level-row{display:flex;align-items:center;padding:var(--spacing-2sm);background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--spacing-2sm);border-left:4px solid var(--border-secondary)}.level-row.future-level{opacity:.5;border-left-color:var(--bg-secondary)}.level-badge{font-size:var(--font-xl);font-weight:700;color:var(--text-muted);width:80px;min-width:80px;flex-shrink:0;text-align:center;border-right:1px solid var(--border-secondary);margin-right:var(--spacing-lg);display:flex;align-items:center;justify-content:center}.level-content{flex:1;display:flex;align-items:center;gap:var(--spacing-2sm);flex-wrap:wrap}.feature-tag{background:var(--border-primary);padding:var(--spacing-xs) var(--spacing-2sm);border-radius:var(--radius-sm);font-size:var(--font-base);color:var(--text-secondary)}.feature-item{padding:var(--spacing-xs) var(--spacing-sm);border-left:2px solid var(--border-secondary);font-size:var(--font-sm);color:var(--text-secondary);transition:border-color var(--transition-fast),color var(--transition-fast)}.feature-item--class{border-left-color:var(--accent-primary);color:var(--text-primary)}.feature-item--feat{border-left-color:var(--trait-text);color:var(--text-primary)}.feature-item--ancestry{border-left-color:var(--success-primary);color:var(--text-primary)}.feature-item--background{border-left-color:var(--info-primary);color:var(--text-primary)}.feat-slot-btn{appearance:none;-webkit-appearance:none;font:inherit;background:var(--bg-primary);border:1px dashed var(--border-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;min-width:150px;transition:var(--transition-normal);text-align:left;position:relative;padding-right:var(--spacing-xl)}.feat-slot-btn:hover{border-color:var(--accent-primary);background:var(--bg-secondary)}.feat-slot-btn.filled{border-style:solid;border-color:var(--accent-primary);background:var(--accent-primary-bg)}.slot-type{font-size:var(--font-xs);color:var(--text-muted);text-transform:uppercase}.slot-type--feat{color:var(--trait-text)}.slot-type--feature{color:var(--accent-primary)}.slot-val{font-size:var(--font-base);color:var(--text-primary);font-weight:700}.modal-overlay{position:fixed;inset:0;background:var(--overlay-modal);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);animation:fadeIn var(--transition-normal) ease}.modal-content{background:var(--bg-secondary);width:600px;max-height:80vh;border-radius:var(--radius-lg);border:1px solid var(--border-secondary);display:flex;flex-direction:column;animation:slideUp var(--transition-slow) ease}@media(max-width:767px){.modal-content{width:calc(100vw - 20px);max-height:90vh;border-radius:var(--radius-lg)}.modal-content.wide{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.modal-content.feat-selection-modal,.modal-content.power-selection-modal{min-width:auto;max-width:calc(100vw - 20px);height:85vh}}@media(min-width:768px)and (max-width:1023px){.modal-content{width:90vw;max-width:800px}.modal-content.wide{width:90vw;max-width:900px}.modal-content.feat-selection-modal,.modal-content.power-selection-modal{width:95vw;max-width:950px;height:80vh}}.modal-content--debug{max-width:90vw;max-height:90vh;overflow:auto}.debug-modal-inner{padding:var(--spacing-xl)}.debug-modal-inner h4{margin-top:0;margin-bottom:var(--spacing-sm)}.debug-modal-inner h4+h4,.debug-modal-inner pre+h4{margin-top:var(--spacing-xl)}.debug-modal-pre{background:var(--bg-inset);padding:var(--spacing-lg);border-radius:var(--radius-sm);overflow:auto;font-size:var(--font-sm);line-height:1.4;margin:0}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary)}.modal-header h3{margin:0;color:var(--text-primary);font-family:var(--font-family-display);letter-spacing:.03em}.modal-header button,.close-button{background:none;border:none;color:var(--text-muted);font-size:var(--font-xl);cursor:pointer;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:color var(--transition-fast),background var(--transition-fast)}.modal-header button:hover,.close-button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.modal-grid-body{display:grid;grid-template-columns:300px 1fr;height:60vh;overflow:hidden;flex-grow:1;gap:var(--spacing-2lg)}@media(max-width:767px){.modal-grid-body{grid-template-columns:1fr;height:auto;max-height:calc(70dvh - var(--nav-height) - var(--spacing-2xl))}.modal-selection-list{max-height:30vh;margin-bottom:var(--spacing-2sm)}.modal-detail-panel{max-height:40vh}}@media(min-width:768px)and (max-width:1023px){.modal-grid-body{height:60vh}}.modal-selection-list{overflow-y:auto;padding:var(--spacing-2sm);background:var(--bg-secondary);border-right:1px solid var(--border-primary)}.modal-list{overflow-y:auto;max-height:50vh;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.modal-level-header{position:sticky;top:-10px;z-index:1;padding:var(--spacing-xs) var(--spacing-2sm);margin:0 -10px 8px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);font-size:var(--font-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.modal-detail-panel{padding:var(--spacing-2lg);overflow-y:auto;display:flex;flex-direction:column}.modal-list-item{position:relative;background:var(--bg-tertiary);padding:var(--spacing-2sm);margin-bottom:var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:background-color var(--transition-normal),border-color var(--transition-normal);font:inherit;width:100%;text-align:left}.modal-list-item:hover{background:var(--bg-primary);border-color:var(--accent-primary)}.modal-list-item:focus-visible{outline:2px solid var(--selection-primary);outline-offset:1px;background:var(--bg-primary)}.modal-list-item.is-selected{border-left:4px solid var(--accent-primary);background:var(--bg-primary)}.modal-list-item.is-invalid{border-left:4px solid var(--warning-primary)}.modal-list-item.is-invalid:hover{background-color:var(--warning-bg);border-color:var(--border-secondary)}.meta-info-row{display:flex;align-items:center;gap:var(--spacing-lg);font-size:var(--font-sm);color:var(--text-muted);margin-bottom:var(--spacing-2sm)}.status-tag-invalid{background-color:var(--danger-bg);color:var(--danger-primary);padding:3px 8px;border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-sm)}.modal-item-top{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.feat-name{font-weight:700;color:var(--text-primary)}.feat-level{color:var(--text-muted);font-size:var(--font-base)}.feat-traits{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.trait-tag{background:var(--trait-bg);color:var(--trait-text);border:1px solid var(--trait-border);font-size:var(--font-xs);padding:2px 6px;margin-right:var(--spacing-xs);border-radius:var(--radius-xs);text-transform:uppercase;white-space:nowrap}.feat-summary{font-size:var(--font-sm);color:var(--text-secondary);margin:0}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;gap:var(--spacing-2sm);background:var(--bg-tertiary)}.modal-footer .sci-fi-button{min-width:120px}.status-count{font-size:var(--font-lg);font-weight:700}.status-msg{font-size:var(--font-sm);text-transform:uppercase;color:var(--text-muted)}.feat-slot-btn.static{cursor:default;border:1px solid var(--border-secondary);background:var(--bg-tertiary);opacity:.9}.feat-slot-btn.static:hover{transform:none;box-shadow:none;border-color:var(--border-secondary);background:var(--bg-tertiary)}.feat-slot-btn.static .slot-type{color:var(--text-muted);font-style:italic}.feat-slot-btn.static .slot-type--feat{color:var(--trait-text)}.feat-slot-btn.static .slot-type--feature{color:var(--accent-primary)}.feat-slot-btn.static .slot-val{color:var(--text-secondary)}.sci-fi-tooltip{background:var(--bg-inset);border:1px solid var(--border-secondary);box-shadow:var(--shadow-dropdown);padding:var(--spacing-2sm) var(--spacing-lg);border-radius:var(--radius-sm);max-width:300px;pointer-events:none;color:var(--text-primary)}.sci-fi-tooltip h4{margin:0 0 var(--spacing-xs) 0;color:var(--accent-primary);font-family:var(--font-family-display);font-size:var(--font-base);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--accent-primary-bg);padding-bottom:3px}.sci-fi-tooltip .tooltip-body{font-size:var(--font-sm);line-height:1.4;color:var(--text-secondary)}.sci-fi-tooltip:has(.power-card-display){padding:0;max-width:600px;max-height:90vh;overflow-y:auto;pointer-events:auto}.sci-fi-tooltip:has(.power-card-display) h4{display:none}.sci-fi-tooltip:has(.power-card-display) .tooltip-body{padding:0}.lore-skill-attr{font-size:var(--font-sm);color:var(--text-muted)}.lore-skill-attr--indent{margin-left:var(--spacing-sm)}.class-tab-empty-text{color:var(--text-muted);padding:var(--spacing-2sm)}.configurable-option-wrapper,.feat-slot-btn--has-inputs{margin-bottom:var(--spacing-xs)}.sub-input-container{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-left:var(--spacing-lg);border-left:2px solid var(--border-secondary);padding-left:var(--spacing-2sm)}.sub-input-container .slot-type{color:var(--text-muted)}.sub-input-container--deep{padding-left:var(--spacing-md)}.feat-slot-btn.small{width:100%;padding:var(--spacing-xs) var(--spacing-sm);min-height:30px;border:1px dashed var(--border-secondary);background:var(--bg-primary)}.feat-slot-btn.small:hover{border-color:var(--accent-primary);background:var(--bg-secondary)}.feat-slot-btn.small .slot-type{font-size:var(--font-xs);color:var(--text-muted)}.feat-slot-btn.small .slot-val{font-size:var(--font-base)}.feat-slot-btn.small.filled{border-style:solid;border-color:var(--border-secondary)}.feat-slot-btn--sub{font-size:var(--font-sm);padding:var(--spacing-sm) var(--spacing-2sm);margin-top:var(--spacing-xs)}.slot-remove-btn{border:none;appearance:none;-webkit-appearance:none;font:inherit;position:absolute;top:4px;right:6px;font-size:var(--font-xl);line-height:.8;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);transition:all var(--transition-fast);z-index:10;background:var(--overlay-sm)}.slot-remove-btn:hover{color:var(--danger-secondary);background:var(--danger-bg);transform:scale(1.1)}.sci-fi-input,.sci-fi-textarea,.sci-fi-select{width:100%;background:var(--bg-inset);color:var(--text-primary);padding:var(--spacing-2sm);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);font-size:var(--font-md);font-family:inherit;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.sci-fi-input:focus,.sci-fi-textarea:focus,.sci-fi-select:focus{outline:none;border-color:var(--selection-primary);box-shadow:0 0 0 2px rgba(var(--selection-primary-rgb),.6)}.sci-fi-textarea{resize:vertical;min-height:80px}.sci-fi-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background:var(--accent-primary);color:var(--text-primary);border:none;padding:var(--spacing-2sm) var(--spacing-lg);border-radius:var(--radius-sm);cursor:pointer;font-weight:700;transition:all var(--transition-normal)}.sci-fi-button:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-glow-accent-lg)}.sci-fi-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.sci-fi-button--success{background:var(--success-primary)}.sci-fi-button--success:hover{background:var(--success-primary-hover)}.sci-fi-button--danger{background:var(--danger-primary)}.sci-fi-button--danger:hover{background:var(--danger-primary-hover)}.sci-fi-button--secondary{background:var(--selection-primary)}.sci-fi-button--secondary:hover{background:var(--selection-hover)}.sci-fi-button--ghost{background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary)}.sci-fi-button--ghost:hover{background:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-primary);box-shadow:none}.sci-fi-button--sm{padding:var(--spacing-sm) var(--spacing-2sm);font-size:var(--font-sm)}.sci-fi-button--lg{padding:var(--spacing-lg) var(--spacing-2lg);font-size:var(--font-lg)}.flex-row{display:flex;flex-direction:row;align-items:center}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent-primary)}.sheet-container{background:var(--bg-secondary);height:100%;overflow-y:auto;padding:var(--spacing-xl);color:var(--text-secondary);font-size:var(--font-base);width:100%;max-width:none}@media(max-width:767px){.sheet-container{padding:var(--spacing-lg);font-size:var(--font-sm)}}@media(max-width:480px){.sheet-container{padding:var(--spacing-2sm)}}.sheet-header{background:var(--bg-secondary);border-bottom:2px solid var(--accent-primary);padding:var(--spacing-lg) 0 var(--spacing-lg);margin-bottom:var(--spacing-2lg)}.sheet-header h1{margin:0;font-size:var(--font-4xl);font-family:var(--font-family-display);font-weight:700;letter-spacing:.05em;color:var(--accent-primary);line-height:1.15}@media(max-width:767px){.sheet-header h1{font-size:1.8rem}}@media(max-width:480px){.sheet-header h1{font-size:1.4rem}}.header-main-row{display:flex;align-items:flex-start;gap:var(--spacing-2xl);margin-bottom:var(--spacing-2lg);flex-wrap:wrap}@media(max-width:767px){.header-main-row{flex-direction:column;gap:var(--spacing-lg)}}.header-main-row .portrait-container{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg);flex-shrink:0}@media(max-width:767px){.header-main-row .portrait-container{margin:0 auto}}.bio-summary-block{background:var(--bg-tertiary);padding:var(--spacing-2sm) var(--spacing-lg);border-radius:var(--radius-md);margin:var(--spacing-2sm);display:grid;grid-template-columns:auto auto;gap:var(--spacing-2lg);align-items:center;max-width:fit-content}@media(max-width:767px){.bio-summary-block{grid-template-columns:1fr;gap:var(--spacing-lg);padding:var(--spacing-2sm) var(--spacing-md);margin:var(--spacing-sm);max-width:fit-content}}.bio-summary-col{display:flex;flex-direction:column;gap:var(--spacing-2sm);max-width:fit-content}.bio-summary-col:first-child{padding-right:var(--spacing-2lg);border-right:1px solid var(--border-primary)}@media(max-width:767px){.bio-summary-col:first-child{padding-right:0;border-right:none}}.bio-summary-item .bio-label{display:block;font-size:var(--font-sm);color:var(--text-muted);margin-bottom:var(--spacing-xs);text-transform:uppercase;max-width:fit-content}.bio-summary-value{font-weight:700;font-size:var(--font-lg);max-width:fit-content}.hp-ring{position:relative;width:140px;height:140px;min-width:120px;min-height:120px;border-radius:50%;flex-shrink:0;aspect-ratio:1 / 1;--hp-fill-angle: calc(var(--hp-percent, 0) * 2.7deg);--track-color: var(--bg-inset);--fill-color: var(--success-primary);background-image:radial-gradient(var(--bg-tertiary) 0,var(--bg-tertiary) 65%,transparent 65.5%),conic-gradient(from -135deg,var(--fill-color) 0deg,var(--fill-color) var(--hp-fill-angle),var(--track-color) var(--hp-fill-angle),var(--track-color) 270deg,transparent 270deg);background-size:100% 100%,100% 100%;background-repeat:no-repeat;background-position:center center,center center;transition:background-image var(--transition-slow);box-shadow:var(--shadow-glow-ring)}@media(max-width:767px){.hp-ring{width:90px;height:90px;aspect-ratio:1 / 1}}@media(max-width:480px){.hp-ring{width:80px;height:80px;aspect-ratio:1 / 1}}.hp-ring.hp-full{--fill-color: var(--success-primary);box-shadow:var(--shadow-glow-ring-success);aspect-ratio:1 / 1}.hp-ring.hp-medium{--fill-color: var(--warning-primary);box-shadow:var(--shadow-glow-ring-warning);aspect-ratio:1 / 1}.hp-ring.hp-low{--fill-color: var(--danger-primary);box-shadow:var(--shadow-glow-ring-danger);aspect-ratio:1 / 1}.hp-ring-container{display:flex;flex-direction:row;align-items:flex-start;gap:var(--spacing-sm);flex-shrink:0}.hp-reset-btn{position:absolute;top:2px;left:2px;z-index:1;width:33px;height:33px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;font-size:19px;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);opacity:.7;transform:rotate(0)}.hp-reset-btn:hover:not(:disabled){color:var(--success-primary);border-color:var(--success-primary);background:var(--bg-tertiary);opacity:1;transform:rotate(-30deg)}.hp-reset-btn:disabled{opacity:.25;cursor:default}@media(prefers-reduced-motion:reduce){.hp-reset-btn{transition:none}.hp-reset-btn:hover:not(:disabled){transform:none}}.hp-center-display{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;color:var(--text-primary)}.hp-center-current{font-size:var(--font-3xl);font-weight:700;color:var(--text-primary)}.hp-center-max{font-size:var(--font-md);color:var(--text-muted);margin-top:-5px}.hp-controls{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:stretch;width:min-content}.hp-adjust-input{width:100%;padding:var(--spacing-xs) var(--spacing-xs);text-align:center;background:var(--bg-inset);border:1px solid var(--border-secondary);color:var(--text-primary);border-radius:var(--radius-sm);font-size:var(--font-sm);box-sizing:border-box}.hp-adjust-input::-webkit-outer-spin-button,.hp-adjust-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hp-adjust-input[type=number]{-moz-appearance:textfield}.hp-adjust-btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-weight:700;cursor:pointer;transition:background-color var(--transition-normal);width:100%;font-size:.78rem}.hp-adjust-btn.damage{background-color:var(--danger-primary)}.hp-adjust-btn.damage:hover{background-color:var(--danger-primary-hover)}.hp-adjust-btn.heal{background-color:var(--success-primary)}.hp-adjust-btn.heal:hover{background-color:var(--success-primary-hover)}.hp-adjust-btn.set-temphp{background-color:var(--accent-primary)}.hp-adjust-btn.set-temphp:hover{background-color:var(--accent-primary-hover)}@media(max-width:767px){.hp-ring-container{flex-shrink:1;max-width:100%;min-width:0}.hp-controls{flex-direction:row;flex-wrap:wrap;width:100%}.hp-adjust-input{flex:1 0 100%;font-size:16px}.hp-adjust-btn{flex:1 1 auto;white-space:nowrap;width:auto;text-align:center;min-height:44px}}.hp-temp-overlay{position:absolute;bottom:var(--spacing-lg);font-size:var(--font-sm);font-weight:700;color:var(--accent-primary);background:rgba(var(--bg-tertiary-rgb),.8);padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap;transform:translateY(100%);margin-top:var(--spacing-xs)}.main-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:var(--spacing-xl)}@media(max-width:1023px){.main-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}}@media(min-width:768px)and (max-width:1023px){.main-grid{grid-template-columns:1fr 2fr}}.col-left,.col-center,.col-right{display:flex;flex-direction:column;min-width:0}.stats-top-row{display:flex;flex-direction:column;gap:0}@media(max-width:1023px){.stats-top-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}}@media(max-width:767px){.stats-top-row{gap:var(--spacing-2sm)}}@media(max-width:480px){.stats-top-row{gap:var(--spacing-sm)}}@media(max-width:1023px){.col-left,.col-center,.col-right{width:100%}}@media(max-width:767px){.col-left,.col-center,.col-right{width:calc(100% + -0px);padding:0 10px}}@media(max-width:480px){.col-left,.col-center,.col-right{padding:0 8px}}.stat-block{background:var(--bg-tertiary);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border:1px solid var(--border-primary);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-normal);width:100%;box-sizing:border-box}@media(max-width:767px){.stat-block{padding:var(--spacing-2sm);margin-bottom:var(--spacing-md);width:100%}}@media(max-width:480px){.stat-block{padding:var(--spacing-sm);margin-bottom:var(--spacing-2sm);width:100%}}.stat-block:hover{box-shadow:var(--shadow-card-hover)}.stat-block h2{margin:0 0 var(--spacing-2sm) 0;font-size:var(--font-sm);font-family:var(--font-family-display);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-secondary);padding-bottom:var(--spacing-sm)}@media(max-width:767px){.stat-block h2{margin-bottom:var(--spacing-2sm);padding-bottom:var(--spacing-sm)}}@media(max-width:480px){.stat-block h2{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs)}}.attr-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}@media(max-width:767px){.attr-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}}@media(max-width:480px){.attr-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}}.attr-box{background:var(--bg-primary);text-align:center;padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-secondary)}@media(max-width:480px){.attr-box{padding:var(--spacing-xs)}}.attr-label{font-size:var(--font-xs);color:var(--text-muted);display:block}@media(max-width:480px){.attr-label{font-size:.65rem}}.attr-val{font-size:var(--font-2xl);font-weight:700;color:var(--text-primary)}.attr-val--positive,.attr-val--negative{color:inherit}@media(max-width:480px){.attr-val{font-size:var(--font-xl)}}.saves-list .skill-row,.skills-section .skill-row{display:flex;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-primary);font-size:var(--font-base);width:100%}.saves-list .skill-row:last-child,.skills-section .skill-row:last-child{border-bottom:none}.skill-name{font-weight:700;display:flex;align-items:center;gap:var(--spacing-2sm);flex:1}.skill-total{font-weight:700;color:var(--text-primary);margin:0 0 0 var(--spacing-xs)}.defenses-content{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-lg);align-items:start}@media(max-width:767px){.defenses-content{gap:var(--spacing-md)}}.defense-row{display:flex}.def-box{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100px;min-height:90px;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--spacing-sm);flex-shrink:0}.def-box--keystat{background:var(--bg-secondary);border-width:2px;width:108px;min-height:100px}.def-box--keystat .def-val{font-size:var(--font-4xl)}@media(max-width:767px){.def-box--keystat{width:96px;min-height:90px}.def-box--keystat .def-val{font-size:var(--font-3xl)}}@media(max-width:767px){.def-box{width:90px;min-height:80px;padding:var(--spacing-sm)}}@media(max-width:480px){.def-box{width:80px;min-height:70px;padding:var(--spacing-xs)}}.def-label{font-size:var(--font-base);color:var(--text-muted);display:block}.def-val{font-size:var(--font-3xl);font-weight:700;color:var(--text-primary)}.saves-section{flex:1}.saves-section h3{margin:0 0 var(--spacing-2sm) 0;font-size:var(--font-sm);font-family:var(--font-family-display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-secondary);padding-bottom:var(--spacing-xs)}.defenses-special-section{display:flex;flex-direction:column;min-width:0;width:100%;grid-column:1 / -1}@media(max-width:1023px){.defenses-special-section{min-width:auto}}.defenses-special-section h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-sm);font-family:var(--font-family-display);font-weight:600;letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-secondary);padding-bottom:var(--spacing-xs)}.defense-special-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:help;transition:opacity var(--transition-normal)}.defense-special-item:hover{opacity:.8}.defense-special-type{font-weight:700;font-size:var(--font-base)}.defense-special-value{font-weight:700;font-size:var(--font-md)}.defense-group{margin-bottom:var(--spacing-lg)}.defense-items-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.defense-special-item--resistance{background:var(--success-bg);border-left:3px solid var(--success-text)}.defense-special-item--immunity{background:var(--info-bg);border-left:3px solid var(--info-text)}.defense-special-item--weakness{background:var(--danger-bg);border-left:3px solid var(--danger-text)}.defense-special-value--resistance{color:var(--success-text)}.defense-special-value--weakness{color:var(--danger-text)}.item-meta-tag{margin-left:var(--spacing-sm);color:var(--text-muted)}@media(max-width:1023px){.inventory-grid-container{grid-template-columns:1fr;height:auto}}@media(max-width:767px){.inventory-grid-container{gap:var(--spacing-lg)}.inventory-left-pane,.inventory-right-pane{max-height:50vh}.weapon-item,.armor-item,.equipment-item{grid-template-columns:20px 1fr auto auto!important;gap:var(--spacing-sm)}.weapon-item-traits,.armor-item-traits{grid-column:2 / -1}}@media(min-width:768px)and (max-width:1023px){.weapon-item{grid-template-columns:20px 1fr 120px 100px 80px!important}.armor-item{grid-template-columns:20px 1fr 80px 80px 80px!important}}.empty-list{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--spacing-2lg)}.weapon-item,.armor-item,.equipment-item{display:grid;gap:var(--spacing-2sm);align-items:center;background:var(--bg-secondary);padding:var(--spacing-2sm) var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid var(--border-secondary);box-shadow:var(--shadow-xs);transition:all var(--transition-normal)}@media(max-width:767px){.weapon-item,.armor-item,.equipment-item{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}}@media(max-width:480px){.weapon-item,.armor-item,.equipment-item{padding:var(--spacing-sm) var(--spacing-2sm);gap:var(--spacing-sm)}}.weapon-item{grid-template-columns:20px minmax(180px,2fr) minmax(140px,auto) minmax(120px,auto) minmax(90px,auto) 30px 30px;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);align-items:center}@media(max-width:1023px)and (orientation:portrait){.weapon-item{grid-template-columns:20px minmax(120px,2fr) minmax(140px,auto) auto auto 30px 30px;gap:var(--spacing-2sm)}.weapon-item .stat-inline{font-size:var(--font-sm)}.weapon-item .weapon-detail-stack{display:none}}@media(max-width:1199px)and (orientation:landscape){.weapon-item{grid-template-columns:20px minmax(100px,1fr) auto auto auto 26px 26px;gap:var(--spacing-sm)}.weapon-item .stat-inline{font-size:var(--font-sm)}.weapon-item .weapon-detail-stack:first-of-type{display:none}.weapon-item .weapon-detail-stack:last-of-type{display:flex;flex-direction:column;font-size:var(--font-xs);white-space:nowrap}}@media(max-height:500px)and (orientation:landscape){.weapon-item{grid-template-columns:20px minmax(100px,1fr) auto auto auto 26px 26px;gap:var(--spacing-sm)}.weapon-item .stat-inline{font-size:var(--font-xs)}.weapon-item .weapon-detail-stack:first-of-type{display:none}.weapon-item .weapon-detail-stack:last-of-type{display:flex;flex-direction:column;font-size:var(--font-xs);white-space:nowrap}}@media(max-width:767px)and (orientation:portrait){.weapon-item{grid-template-columns:20px 1fr 26px 26px;gap:var(--spacing-sm)}.weapon-item .stat-inline{font-size:var(--font-xs)}.weapon-item .weapon-name-and-traits{grid-column:2 / -3}.weapon-item .weapon-stats-stack{grid-column:2 / -3;margin-top:var(--spacing-xs)}.weapon-item .weapon-detail-stack{display:none}}@media(max-height:400px)and (orientation:landscape){.weapon-item{grid-template-columns:18px minmax(80px,1fr) auto auto auto 24px 24px;gap:var(--spacing-xs)}.weapon-item .stat-inline{font-size:.65rem}.weapon-item .weapon-detail-stack:first-of-type{display:none}.weapon-item .weapon-detail-stack:last-of-type{display:flex;flex-direction:column;font-size:.65rem;white-space:nowrap}}@media(max-width:480px)and (orientation:portrait){.weapon-item{grid-template-columns:18px 1fr 24px 24px;gap:var(--spacing-xs)}.weapon-item .stat-inline{font-size:var(--font-xs)}.weapon-item .weapon-name-and-traits{grid-column:2 / -3}.weapon-item .weapon-stats-stack{grid-column:2 / -3;margin-top:var(--spacing-xs)}}.armor-item{grid-template-columns:20px minmax(180px,2fr) repeat(5,auto) 40px 40px;gap:var(--spacing-md)}@media(max-width:1023px){.armor-item{grid-template-columns:20px minmax(120px,2fr) repeat(2,auto) 38px 38px;gap:var(--spacing-2sm)}}.equipment-item{grid-template-columns:20px minmax(150px,2fr) minmax(70px,1fr) minmax(70px,1fr) 40px 40px}@media(max-width:1023px){.equipment-item{grid-template-columns:20px minmax(100px,2fr) auto auto 40px 40px;gap:var(--spacing-sm)}}@media(max-width:767px){.equipment-item{grid-template-columns:20px 1fr auto auto auto auto!important;gap:var(--spacing-sm)}}@media(max-width:480px){.equipment-item{grid-template-columns:18px 1fr auto auto auto auto!important;gap:var(--spacing-xs)}}.weapon-item:hover,.armor-item:hover,.equipment-item:hover{border-left-color:var(--accent-primary)}.sci-fi-toggle{width:20px;height:20px;cursor:pointer;accent-color:var(--accent-primary)}@media(max-width:480px){.sci-fi-toggle{width:18px;height:18px}}.weapon-name-and-traits,.armor-name-and-category,.equipment-name-and-traits{display:flex;flex-direction:column;gap:var(--spacing-xs)}.weapon-name{font-weight:700;color:var(--text-primary);font-size:var(--font-md)}@media(max-width:767px){.weapon-name{font-size:var(--font-base)}}@media(max-width:480px){.weapon-name{font-size:var(--font-sm)}}.armor-name{font-weight:700;color:var(--text-primary);font-size:var(--font-md)}@media(max-width:767px){.armor-name{font-size:var(--font-base)}}@media(max-width:480px){.armor-name{font-size:var(--font-sm)}}.armor-category{font-size:var(--font-sm);color:var(--text-muted);text-transform:uppercase}@media(max-width:480px){.armor-category{font-size:var(--font-xs)}}.equipment-name{font-weight:700;color:var(--text-primary);font-size:var(--font-md)}@media(max-width:767px){.equipment-name{font-size:var(--font-base)}}@media(max-width:480px){.equipment-name{font-size:var(--font-sm)}}.equipment-stat{font-size:var(--font-base);text-align:center;background:var(--bg-inset);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-secondary)}@media(max-width:767px){.equipment-stat{font-size:var(--font-sm);padding:3px 6px}}@media(max-width:480px){.equipment-stat{font-size:var(--font-xs);padding:2px 4px}}.weapon-item-traits{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.weapon-item .weapon-range,.weapon-item .weapon-bulk,.weapon-item .weapon-hands,.weapon-item .weapon-ammo{font-size:var(--font-sm);color:var(--text-secondary);text-align:center}@media(max-width:767px){.weapon-item .weapon-range,.weapon-item .weapon-bulk,.weapon-item .weapon-hands,.weapon-item .weapon-ammo,.weapon-item .weapon-detail-stack{font-size:var(--font-xs)}}@media(max-width:480px){.weapon-item .weapon-range,.weapon-item .weapon-bulk,.weapon-item .weapon-hands,.weapon-item .weapon-ammo,.weapon-item .weapon-detail-stack{font-size:var(--font-xs)}}.weapon-item .weapon-range.placeholder,.weapon-item .weapon-ammo.placeholder{visibility:hidden}.edit-item-btn,.remove-item-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-normal);font-size:var(--font-md);display:flex;align-items:center;justify-content:center;min-width:30px;min-height:30px}@media(max-width:767px){.edit-item-btn,.remove-item-btn{font-size:var(--font-sm);padding:2px;min-width:26px;min-height:26px}}@media(max-width:480px){.edit-item-btn,.remove-item-btn{font-size:var(--font-xs);padding:2px;min-width:24px;min-height:24px}}.edit-item-btn:hover{color:var(--accent-primary);background:var(--bg-secondary)}.remove-item-btn:hover{color:var(--danger-primary);background:var(--danger-bg)}.consume-item-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-normal);font-size:var(--font-md)}.consume-item-btn:hover{color:var(--warning-primary);background:var(--warning-bg)}.split-item-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-normal);font-size:var(--font-md)}.split-item-btn:hover{color:var(--accent-primary);background:var(--accent-primary-bg)}.modal-content.wide{width:800px}.modal-content.feat-selection-modal,.modal-content.power-selection-modal{width:900px;max-width:min(1200px,95vw);height:85vh}.error-message,.loading-text{color:var(--danger-secondary);text-align:center;padding:var(--spacing-2lg)}.weapon-group-header,.armor-group-header{padding:var(--spacing-sm) var(--spacing-2sm);font-family:var(--font-family-display);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-sm);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);margin-top:var(--spacing-2sm);border-top:1px solid var(--border-primary)}.weapon-group-header.type-header{font-size:var(--font-base);color:var(--text-primary);background-color:var(--bg-inset);margin-top:var(--spacing-xs)}.weapon-list-name,.armor-list-name{font-weight:700}.weapon-list-level,.armor-list-level{font-size:var(--font-sm);color:var(--text-muted)}.description-meta{display:flex;gap:var(--spacing-2lg);font-size:var(--font-base);color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.weapon-stats,.armor-stats{background:var(--bg-inset);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2sm)}.weapon-stats div,.armor-stats div{display:flex;justify-content:space-between}.weapon-stats strong,.armor-stats strong{color:var(--text-muted)}.weapon-traits,.armor-traits{margin-bottom:var(--spacing-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.btn-buy{background:var(--success-primary)}.btn-buy:hover{background:var(--success-primary-hover)}.btn-free{background:var(--accent-primary)}.btn-free:hover{background:var(--accent-primary-hover)}.modal-list-item.is-invalid .tooltip{visibility:hidden;opacity:0;position:absolute;bottom:105%;left:50%;transform:translate(-50%);background-color:var(--bg-inset);color:var(--text-primary);padding:var(--spacing-2sm);border-radius:var(--radius-md);font-size:var(--font-sm);white-space:nowrap;z-index:10;transition:opacity var(--transition-normal),visibility var(--transition-normal);pointer-events:none}.modal-list-item.is-invalid:hover .tooltip{visibility:visible;opacity:1}.modal-detail-panel .power-traits{margin-bottom:var(--spacing-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.modal-detail-panel .power-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2sm);background:var(--bg-tertiary);padding:var(--spacing-2sm);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);font-size:var(--font-base)}.modal-detail-panel .power-meta-grid>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--border-primary);padding-bottom:var(--spacing-xs)}.modal-detail-panel .power-meta-grid>div>strong{color:var(--text-muted)}.modal-detail-panel.power-card-container{background-color:var(--bg-primary)}.modal-detail-panel .feat-traits{margin-bottom:var(--spacing-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.weapon-card{display:grid;grid-template-columns:minmax(220px,2fr) auto;gap:var(--spacing-md);align-items:center;justify-items:start;width:100%;background:var(--bg-secondary);padding:var(--spacing-2sm) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);border-left:4px solid var(--border-secondary);transition:all var(--transition-normal);box-shadow:var(--shadow-xs);overflow:hidden}.weapon-card:hover{border-left-color:var(--accent-primary)}.weapon-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.weapon-body{display:flex;gap:var(--spacing-md);align-items:center}.weapon-card .weapon-meta-col{display:grid;grid-template-columns:auto auto;column-gap:var(--spacing-sm);row-gap:var(--spacing-xs);font-size:var(--font-sm);color:var(--text-secondary);text-align:left;white-space:nowrap;align-items:center}@media(max-height:500px)and (orientation:landscape){.weapon-card{grid-template-columns:minmax(120px,1fr) auto;gap:var(--spacing-sm);align-items:center}.weapon-card .stat-inline,.weapon-card .weapon-meta-col{font-size:var(--font-xs)}}@media(max-width:767px)and (orientation:portrait){.weapon-card{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);align-items:stretch}.weapon-card .weapon-name-and-traits{margin-bottom:0}.weapon-card .weapon-body{gap:var(--spacing-sm);align-items:flex-start}.weapon-card .stat-inline{font-size:var(--font-sm)}.weapon-card .weapon-meta-col{font-size:var(--font-xs)}}@media(min-width:768px)and (max-width:1023px)and (orientation:portrait){.weapon-card{grid-template-columns:minmax(180px,2fr) auto;gap:var(--spacing-2sm)}.weapon-card .stat-inline,.weapon-card .weapon-meta-col{font-size:var(--font-sm)}}@media(min-width:768px)and (max-width:1199px)and (orientation:landscape){.weapon-card{grid-template-columns:minmax(150px,1fr) auto;gap:var(--spacing-2sm)}.weapon-card .stat-inline,.weapon-card .weapon-meta-col{font-size:var(--font-sm)}}.weapon-card .weapon-name-and-traits{display:flex;flex-direction:column;gap:var(--spacing-xs);justify-self:start;align-items:flex-start;min-width:0;overflow:hidden}.weapon-card .weapon-name{font-weight:700;color:var(--text-primary);font-size:var(--font-md)}.weapon-card .weapon-item-traits{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:flex-start;min-width:0}.armor-card{display:grid;grid-template-columns:minmax(200px,1fr) repeat(5,auto);gap:var(--spacing-md);align-items:center;background:var(--bg-secondary);padding:var(--spacing-2sm) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);border-left:4px solid var(--border-secondary);transition:all var(--transition-normal);box-shadow:var(--shadow-xs);overflow:hidden}.armor-card:hover{border-left-color:var(--accent-primary)}@media(max-width:767px){.armor-card{display:flex;flex-wrap:wrap;gap:var(--spacing-2sm) var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);align-items:center}.armor-card .armor-name-and-traits{flex-basis:100%;margin-bottom:0}.armor-card .armor-item-traits{display:none}.armor-card .stat-inline{font-size:var(--font-xs);flex-shrink:0}}@media(min-width:768px)and (max-width:1023px){.armor-card{grid-template-columns:minmax(180px,1fr) repeat(2,auto);gap:var(--spacing-2sm) var(--spacing-md)}.armor-card .armor-name-and-traits{grid-column:1 / -1;margin-bottom:var(--spacing-sm)}.armor-card .stat-inline{font-size:var(--font-sm)}}.armor-card .armor-name-and-traits{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;overflow:hidden}.weapon-name-and-traits,.armor-name-and-traits{display:flex;flex-direction:column;gap:var(--spacing-xs)}.weapon-name,.armor-name{font-weight:700;color:var(--text-primary);font-size:var(--font-md);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weapon-item-traits,.armor-item-traits,.action-item-traits{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.action-item-traits{padding-top:var(--spacing-xs)}.trait-tag-small{background:var(--border-primary);color:var(--text-secondary);font-size:var(--font-xs);padding:2px 6px;border:1px solid var(--border-secondary);border-radius:var(--radius-xs);text-transform:capitalize}.trait-tag-inline{font-size:var(--font-xs);padding:2px 5px;background:var(--bg-inset);border:1px solid var(--border-secondary);border-radius:var(--radius-xs);color:var(--text-muted)}.weapon-detail-stack{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-sm);color:var(--text-secondary);text-align:center}.weapon-stats-stack{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.weapon-detail-stack>span{white-space:nowrap}.power-card{background:var(--bg-tertiary);padding:var(--spacing-2sm);border-radius:var(--radius-sm);margin-bottom:var(--spacing-2sm);border:1px solid var(--border-secondary)}.pwr-header{display:flex;justify-content:space-between}.action-card{background:var(--bg-tertiary);padding:var(--spacing-2sm);border-radius:var(--radius-sm);margin-bottom:var(--spacing-2sm);border:1px solid var(--border-secondary)}.action-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-secondary);padding-bottom:var(--spacing-sm)}.action-remove-btn{margin-left:var(--spacing-sm);color:var(--text-muted);flex-shrink:0}.action-title-line{display:flex;align-items:center;gap:var(--spacing-sm)}.action-name{font-size:var(--font-lg);color:var(--text-primary);margin:0}.action-cost{font-size:var(--font-xl)}.row-center-gap{display:flex;align-items:flex-start;gap:var(--spacing-2sm);flex-wrap:wrap}@media(max-width:767px){.row-center-gap{flex-wrap:wrap;gap:var(--spacing-sm)}.row-center-gap .def-box{flex:0 0 auto;min-width:fit-content}.row-center-gap .col-gap{flex:1 1 auto;min-width:200px}.defense-row .def-box--keystat{flex:0 0 auto;width:96px}}@media(max-width:480px){.row-center-gap{gap:var(--spacing-sm)}.row-center-gap .col-gap{min-width:150px}}.col-gap{display:flex;flex-direction:column;gap:3px}.muted-small{font-size:var(--font-sm);color:var(--text-muted)}.credits-display-sheet{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.credits-display-sheet__label{color:var(--text-muted);font-size:var(--font-sm);font-weight:600}.sense-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.sense-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-xs);padding:2px 7px;background:var(--bg-inset);border:1px solid var(--border-secondary);border-radius:var(--radius-xs);color:var(--text-secondary)}.sense-chip--default{color:var(--text-muted);border-color:var(--border-primary)}.sense-chip__name{text-transform:capitalize}.sense-chip__value{color:var(--accent-primary);font-weight:600}.companion-senses-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--spacing-xs)}.perception-block .row-center-gap{flex-wrap:nowrap;align-items:flex-start}.perception-block .col-gap{flex:1;min-width:0}@media(max-width:767px){.perception-block .row-center-gap{flex-wrap:wrap}.perception-block .col-gap{flex:1 1 auto;min-width:160px}}.modal-body{padding:var(--spacing-2lg)}.modal-body input.sci-fi-input{width:100%}.lore-skill-list{max-height:400px;overflow-y:auto}.lore-skill-button{display:block;width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition-normal),border-color var(--transition-normal);font:inherit}.lore-skill-button:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.lore-skill-name{font-weight:700;margin-bottom:var(--spacing-xs)}.lore-skill-traits{font-size:var(--font-sm);color:var(--text-muted)}.lore-skill-empty{text-align:center;color:var(--text-muted);padding:var(--spacing-2lg)}.lore-skill-intro{margin-bottom:var(--spacing-2sm);color:var(--text-secondary)}.modal-footer button:not(:disabled):hover{opacity:.9}.modal-footer button:disabled{cursor:not-allowed}@media(min-width:768px)and (max-width:1400px){.bio-container{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--spacing-lg)}.bio-info-panel{max-height:300px;overflow-y:auto}}.unsaved-indicator{margin-top:auto;padding:var(--spacing-md);text-align:center;border-top:1px solid var(--border-primary)}.loading-skeleton{padding:var(--spacing-lg) 0}.skeleton-line{height:16px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:var(--spacing-4xl) var(--spacing-xl);color:var(--text-secondary);max-width:600px;margin:0 auto}.empty-state-icon{font-size:2.5rem;margin-bottom:var(--spacing-lg);opacity:.4}.empty-state h3{color:var(--text-primary);font-family:var(--font-family-display);margin-bottom:var(--spacing-md);font-size:var(--font-xl)}.empty-state p{margin-bottom:var(--spacing-md);line-height:1.6}.empty-state ul{color:var(--text-muted);font-size:var(--font-sm);line-height:1.8;text-align:left;display:inline-block;margin-top:var(--spacing-md)}.empty-state ul li{margin-bottom:var(--spacing-sm)}@media(max-width:767px){.content-overlay,.modal-overlay{padding:var(--spacing-2sm)}body,html{font-size:14px}.sci-fi-panel,.stat-block,.weapon-item,.armor-item,.equipment-item{padding:var(--spacing-2sm)}.skills-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.skills-table thead th{font-size:var(--font-xs);padding:var(--spacing-sm) var(--spacing-xs)}.skills-table td{padding:var(--spacing-sm) var(--spacing-xs);font-size:var(--font-sm)}.attr-grid{grid-template-columns:1fr 1fr}.defenses-content{gap:var(--spacing-lg)}.def-box{width:100%}.power-card-meta-grid{grid-template-columns:1fr;gap:var(--spacing-2sm)}.power-card-header{flex-direction:column;align-items:flex-start}.power-meta-top{align-items:flex-start;text-align:left}}button:disabled,.sci-fi-button:disabled{opacity:.5;cursor:not-allowed;position:relative}button:disabled:hover:after,.sci-fi-button:disabled:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background:var(--bg-inset);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-xs);white-space:nowrap;z-index:var(--z-tooltip);border:1px solid var(--border-secondary);pointer-events:none}.companions-list{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md) 0}.companion-slot-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--bg-secondary);transition:border-color var(--transition-fast)}.companion-slot-card.empty{border-style:dashed;border-color:var(--border-secondary);background:var(--bg-tertiary)}.companion-slot-card.filled:hover{border-color:var(--accent-primary)}.companion-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.companion-slot-title{display:flex;flex-direction:column;gap:2px}.slot-label{font-weight:600;color:var(--text-primary);font-size:var(--font-base)}.slot-source{font-size:var(--font-xs)}.companion-slot-actions{display:flex;gap:var(--spacing-xs);align-items:center}.companion-select-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--accent-primary);color:var(--text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);font-weight:500;transition:background var(--transition-fast)}.companion-select-btn:hover{background:var(--accent-primary-hover)}.companion-edit-btn,.companion-clear-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);font-size:var(--font-md);display:flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;transition:color var(--transition-fast),background var(--transition-fast)}.companion-edit-btn:hover{color:var(--accent-primary);background:var(--bg-secondary)}.companion-clear-btn:hover{color:var(--danger-primary);background:var(--danger-bg)}.companion-slot-empty-body{text-align:center;padding:var(--spacing-lg) 0}.companion-slot-empty-body p{margin-bottom:var(--spacing-md)}.companion-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.companion-name-section{margin-bottom:var(--spacing-xs)}.companion-display-name{margin:0;font-size:var(--font-lg);color:var(--text-primary);cursor:pointer}.companion-display-name:hover{color:var(--accent-primary)}.companion-base-name{font-weight:400;font-size:var(--font-sm)}.companion-name-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-inset);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-lg);font-weight:600}.companion-template-choice{display:flex;align-items:center;gap:var(--spacing-sm)}.companion-template-choice label{color:var(--text-secondary);font-size:var(--font-sm);white-space:nowrap;flex-shrink:0}.companion-template-choice .sci-fi-select{flex:1;max-width:200px}.companion-specialization-choice{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.companion-specialization-choice label{color:var(--text-secondary);font-size:var(--font-sm)}.companion-specialization-choice .sci-fi-select{max-width:200px}.companion-speed-choice{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-left:var(--spacing-sm);border-left:2px solid var(--border-subtle)}.companion-speed-choice label{color:var(--text-secondary);font-size:var(--font-sm)}.companion-speed-choice .sci-fi-select{max-width:200px}.companion-ability-flags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.companion-ability-flag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:.75rem}.companion-traits-row{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.companion-stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:var(--spacing-xs);background:var(--bg-tertiary);padding:var(--spacing-sm);border-radius:var(--radius-sm)}.companion-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.companion-stat-item strong{font-size:var(--font-xs);color:var(--text-muted);text-transform:uppercase}.companion-stat-item span{font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.companion-attrs-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-xs)}.companion-attr-cell{display:flex;flex-direction:column;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--spacing-xs)}.companion-attr-cell .attr-label{font-size:var(--font-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.companion-attr-cell .attr-val{font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.companion-attr-cell .attr-val--positive{color:var(--success-text)}.companion-attr-cell .attr-val--negative{color:var(--danger-text)}.companion-info-row{font-size:var(--font-sm);color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.companion-info-row strong{color:var(--text-muted)}.skill-total{font-weight:600;color:var(--text-primary)}.companion-skill-entry{display:inline-flex;gap:var(--spacing-xs);align-items:center}.companion-standard-skills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.companion-weapons-block{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.companion-weapon-row{display:flex;justify-content:space-between;width:100%;gap:var(--spacing-sm)}.companion-weapon-name{color:var(--text-primary);font-weight:500}.companion-weapon-stats{color:var(--text-secondary);white-space:nowrap}.personal-tab{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-xl);padding:var(--spacing-lg);align-items:start}.personal-fields-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.personal-fields-grid{display:grid;grid-template-columns:auto auto auto;gap:var(--spacing-md) var(--spacing-lg);align-items:end}.personal-fieldset{border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin:0}.personal-legend{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 var(--spacing-xs)}.personal-height-row{display:flex;gap:var(--spacing-md)}.personal-field-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.personal-label{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.personal-number-input{width:5rem;text-align:center}.personal-textarea-group{width:100%}.personal-textarea{width:100%;resize:vertical;min-height:80px;font-family:inherit;line-height:1.5;box-sizing:border-box}@media(max-width:900px){.personal-tab{grid-template-columns:1fr}.personal-portrait-section{display:flex;justify-content:center}.personal-fields-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.personal-fields-grid{grid-template-columns:1fr}}.mod-section-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.mod-section-header h3{margin:0;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.mod-section-header--spaced{margin-top:var(--spacing-xl)}.mod-section-count{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--text-muted);background:var(--bg-inset);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-subtle, var(--bg-tertiary));font-variant-numeric:tabular-nums}.mod-section-description{font-size:.82rem;color:var(--text-muted);margin:0 0 var(--spacing-sm) 0;line-height:1.4}.rig-slot-badge{background:var(--accent-primary-bg);color:var(--accent-primary);border-color:var(--accent-primary);font-size:.65rem;letter-spacing:.05em}.mod-rig-slot--empty{cursor:not-allowed;opacity:.5;pointer-events:none}.mod-preview-panel{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mod-preview-header{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap}.mod-preview-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.mod-preview-level{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.mod-preview-traits{margin-top:var(--spacing-xs)}.mod-description{font-size:.85rem;line-height:1.55;color:var(--text-secondary)}.mod-summary{font-size:.85rem;color:var(--text-secondary);margin:0}.inline-mod-price{margin-left:auto;font-size:var(--font-xs);font-weight:600;color:var(--text-muted);white-space:nowrap}.mod-buy-free-btn{margin-top:var(--spacing-sm);align-self:flex-start}.level-content--group{flex-direction:column;align-items:stretch}.level-slots{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.level-slot-entry{flex:1 1 auto;min-width:180px}.level-slot-entry .feat-slot-btn{width:100%}
