body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app-container{min-height:100vh;background-color:#111827;padding:1rem;zoom:1.4}.app-content{max-width:min(1400px,100%);margin:0 auto}.app-header{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.75rem;text-align:center}.card{background-color:#1f2937;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;overflow:hidden}.card-padding{padding:.5rem}.card-padding-lg{padding:1rem}.card-spacing{margin-top:.5rem}.table-container{overflow-x:auto}.table-editable{width:100%;font-size:.875rem;border-collapse:collapse}.table-editable th{padding:.25rem .5rem;text-align:left;color:#fff;font-weight:700;font-size:.75rem;border:1px solid #4b5563;background-color:#374151}.table-editable th.th-center{text-align:center}.table-editable th.th-drag,.table-editable th.th-checkbox{width:2rem}.table-editable th.th-actions{width:4.5rem}.table-editable th.th-gs{width:4rem}.table-editable tbody tr{border:1px solid #4b5563;transition:opacity .2s,transform .2s}.table-editable td{padding:.125rem .5rem;border:1px solid #4b5563}.table-editable td.td-center{text-align:center}.table-editable td.td-drag{padding:.125rem .25rem;text-align:center;cursor:move}.table-editable td.td-actions{padding:.125rem .25rem;text-align:center;white-space:nowrap}.drag-handle{display:inline-flex;align-items:center;justify-content:center;color:#ffffff80;cursor:move;-webkit-user-select:none;user-select:none;transition:color .2s}.drag-handle:hover{color:#fffc}.table-editable tbody tr.dragging{opacity:.5}.table-editable tbody tr.drag-over,.table-editable tbody tr.drag-over td{border-top:3px solid #3b82f6}.table-editable tbody tr.drag-spacer{height:auto;min-height:2.5rem;border:none;pointer-events:auto}.table-editable tbody tr.drag-spacer td{border:none!important;padding:0!important;height:2.5rem}.table-export{font-size:.875rem;border-collapse:collapse;background-color:#fff}.table-export tr{border:1px solid #4b5563}.table-export td{padding:0;border:1px solid #4b5563;font-size:.75rem;line-height:0}.table-export td.td-icon{padding:0;width:2rem;font-size:0}.table-export td.td-text{padding:2px .5rem;color:#000;font-weight:600;line-height:1}.table-export td.td-center{text-align:center}.table-export td.td-raid{background-color:#f3f4f6;text-align:center;padding:2px .5rem;line-height:1}.table-export td.td-raid.locked{background-color:#fca5a5}.table-export th{padding:2px .5rem;text-align:center;color:#fff;font-weight:700;font-size:.7rem;border:1px solid #4b5563;background-color:#374151}.export-container{background-color:transparent;display:flex;align-items:flex-start;gap:1.5rem}.export-table-frame{display:inline-block;border:6px solid #1f2937;border-radius:.25rem;overflow:hidden;isolation:isolate}.export-shortcut-hint{font-size:2rem;font-weight:700;letter-spacing:.02em;color:#6b7280;line-height:1.3;padding-top:.25rem}.lock-icon{display:inline-flex;align-items:center;justify-content:center;color:#991b1b}.td-raid-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.td-raid-clickable:hover{opacity:.8;box-shadow:inset 0 0 0 2px #3b82f680}.td-raid-clickable:active{opacity:.6}.input-editable{width:100%;padding:.125rem .25rem;font-size:.75rem;background-color:#ffffff4d;border:none;color:#000}.input-editable:focus{outline:none;ring:1px solid #3b82f6}.input-name{font-weight:700}.input-spec{font-weight:600}.input-gs{text-align:center;font-weight:600}.input-editable:disabled{opacity:.5}.checkbox{cursor:pointer}.btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600;border:none;cursor:pointer;transition:background-color .2s}.btn-blue{background-color:#2563eb;color:#fff}.btn-blue:hover{background-color:#1d4ed8}.btn-purple{background-color:#9333ea;color:#fff}.btn-purple:hover{background-color:#7e22ce}.btn-orange{background-color:#ea580c;color:#fff}.btn-orange:hover{background-color:#c2410c}.btn-action{padding:.125rem;background-color:transparent;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .2s}.td-actions .btn-action+.btn-action{margin-left:.125rem}.btn-swap:hover{background-color:#3b82f6b3}.btn-delete:hover{background-color:#dc2626b3}.toolbar{padding:.5rem;background-color:#374151;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #4b5563;flex-wrap:wrap;gap:.5rem}.toolbar-actions{display:flex;gap:.5rem;align-items:center}.toolbar-info{color:#d1d5db;font-size:.75rem}.section-title{color:#fff;font-weight:700;margin-bottom:.25rem;font-size:.875rem}.class-icon{width:2rem;height:1.3rem;object-fit:cover;display:block}.hidden{display:none}.th-raid{width:3rem}.welcome-overlay{height:100vh;max-height:100vh;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;padding:0 1rem;padding-top:min(15vh,8rem);box-sizing:border-box;animation:welcomeFadeIn .4s ease-out}body.welcome-only{overflow:hidden;height:100vh;margin:0}body.welcome-only .app-container{height:100vh;overflow:hidden;padding:0}@keyframes welcomeFadeIn{0%{opacity:0}to{opacity:1}}.welcome-popup{position:relative;background:linear-gradient(145deg,#1f2937,#111827);border:1px solid #4b5563;border-radius:.75rem;padding:2rem;max-width:22rem;width:100%;box-shadow:0 25px 50px -12px #00000080;animation:welcomePopIn .5s cubic-bezier(.34,1.56,.64,1)}.welcome-popup-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:linear-gradient(135deg,#3b82f626,#9333ea1a);filter:blur(12px);z-index:-1;opacity:.8}@keyframes welcomePopIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-title{margin:0 0 .5rem;font-size:1.35rem;font-weight:700;color:#f9fafb;text-align:center}.welcome-subtitle{margin:0 0 1.25rem;font-size:.875rem;color:#9ca3af;text-align:center;line-height:1.4}.welcome-form{display:flex;flex-direction:column;gap:.75rem}.welcome-input{width:100%;padding:.6rem .75rem;font-size:1rem;color:#f9fafb;background-color:#374151;border:1px solid #4b5563;border-radius:.5rem;box-sizing:border-box}.welcome-input::placeholder{color:#6b7280}.welcome-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.welcome-input:disabled{opacity:.7;cursor:not-allowed}.welcome-btn{padding:.6rem 1rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:.5rem;cursor:pointer;transition:transform .15s,box-shadow .15s}.welcome-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #2563eb66}.welcome-btn:active:not(:disabled){transform:translateY(0)}.welcome-btn:disabled{opacity:.7;cursor:not-allowed}.welcome-form-actions{display:flex;gap:.75rem;margin-top:.25rem}.welcome-form-actions .welcome-btn{flex:1}.welcome-btn-secondary{background:linear-gradient(135deg,#4b5563,#374151)!important}.welcome-btn-secondary:hover:not(:disabled){box-shadow:0 4px 14px #4b556366!important}.welcome-error{margin:.75rem 0 0;font-size:.8rem;color:#f87171;text-align:center}.add-character-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;box-sizing:border-box;animation:welcomeFadeIn .2s ease-out}.add-character-popup{animation:welcomePopIn .3s cubic-bezier(.34,1.56,.64,1)}.armory-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#111827bf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.armory-loading-spinner{width:2.5rem;height:2.5rem;border:3px solid #4b5563;border-top-color:#3b82f6;border-radius:50%;animation:armory-spin .8s linear infinite}.armory-loading-text{margin:0;font-size:.9rem;color:#d1d5db}@keyframes armory-spin{to{transform:rotate(360deg)}}.app-version{position:fixed;bottom:.5rem;right:.5rem;font-size:.7rem;color:#6b7280;background:transparent;border:none;padding:0;margin:0;font-family:inherit;opacity:.85;cursor:pointer;transition:opacity .2s,color .2s}.app-version:hover{opacity:1;color:#9ca3af}.changelog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:120;padding:1rem;box-sizing:border-box}.changelog-modal{width:min(42rem,100%);max-height:80vh;background:#111827;border:1px solid #374151;border-radius:.75rem;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column}.changelog-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #374151}.changelog-title{margin:0;color:#f9fafb;font-size:1rem}.changelog-close{display:inline-flex;align-items:center;justify-content:center;color:#d1d5db;background:transparent;border:1px solid #4b5563;border-radius:.4rem;width:1.8rem;height:1.8rem;cursor:pointer}.changelog-close:hover{background:#1f2937;color:#f9fafb}.changelog-body{overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.9rem}.changelog-entry{border:1px solid #374151;border-radius:.5rem;background:#1f2937;padding:.75rem}.changelog-entry-head{display:flex;align-items:center;justify-content:space-between;color:#f9fafb;margin-bottom:.5rem}.changelog-entry-head h3{margin:0;font-size:.95rem}.changelog-entry-head span{font-size:.75rem;color:#9ca3af}.changelog-section h4{margin:.4rem 0 .3rem;font-size:.8rem;color:#dbeafe}.changelog-section ul{margin:0;padding-left:1rem}.changelog-section li{color:#d1d5db;font-size:.78rem;line-height:1.35}.changelog-empty{margin:0;color:#9ca3af;font-size:.85rem}@media (max-width: 1400px){.app-container{padding:.5rem;zoom:1.2}.app-content{max-width:100%}.card-padding{padding:.35rem}.card-padding-lg{padding:.5rem}.export-container{gap:.75rem}.export-table-frame{border-width:4px}.welcome-overlay{padding:0 .5rem;padding-top:min(12vh,5rem)}.welcome-popup{padding:1.25rem}.add-character-overlay,.changelog-overlay{padding:.5rem}.changelog-modal{width:min(100%,100vw - 1rem)}.toolbar{padding:.35rem;gap:.35rem}.toolbar-actions{gap:.35rem}.app-version{bottom:.25rem;right:.25rem}}@media (max-width: 480px){.app-container{padding:0;zoom:1}.app-content{max-width:100%}.card-padding{padding:.25rem}.card-padding-lg{padding:.35rem}.card-spacing{margin-top:.35rem}.export-container{flex-direction:column;gap:.5rem}.export-table-frame{border-width:2px}.welcome-overlay{padding:0;padding-top:min(10vh,4rem)}.welcome-popup{padding:1rem;margin:0 .25rem}.add-character-overlay,.changelog-overlay{padding:.25rem}.changelog-modal{width:100%;max-width:none}.toolbar{padding:.25rem;gap:.25rem}.btn{padding:.2rem .5rem;font-size:.7rem}.app-header{font-size:1.2rem;margin-bottom:.5rem}.app-version{bottom:.15rem;right:.15rem;font-size:.65rem}.table-editable th,.table-editable td{padding:.1rem .25rem;font-size:.7rem}.table-editable th.th-gs{width:2.5rem}.input-editable{font-size:.7rem}}
