:root{--bg-primary: #0e0e14;--bg-secondary: #16161f;--bg-card: #1c1c28;--bg-card-hover: #222235;--border-subtle: #2a2a3d;--border-accent: #4a3f6b;--text-primary: #e8e6f0;--text-secondary: #9090b0;--text-muted: #5a5a7a;--accent-gold: #d4a843;--accent-gold-dim: #8a6a20;--rarity-common: #c8c8d4;--rarity-uncommon: #52e052;--rarity-rare: #53dee6;--rarity-epic: #c47cfc;--rarity-legendary: #e7f067;--rarity-common-bg: rgba(200, 200, 212, .08);--rarity-uncommon-bg: rgba(82, 224, 82, .08);--rarity-rare-bg: rgba(83, 222, 230, .08);--rarity-epic-bg: rgba(196, 124, 252, .08);--rarity-legendary-bg: rgba(231, 240, 103, .08)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.app{flex:1;display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:0 16px;width:100%}.app-header{padding:24px 0 20px;margin-bottom:12px;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}.app-title{font-size:32px;font-weight:700;color:var(--accent-gold);letter-spacing:.5px}.app-subtitle{color:var(--text-secondary);font-size:18px}.app-byline{color:var(--text-muted);font-size:14px;margin-left:auto}.header-upload-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.saved-section{margin-bottom:20px}.saved-section-title{font-size:15px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.saved-cards{display:flex;flex-wrap:wrap;gap:10px}.saved-card{position:relative;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 40px 12px 16px;cursor:pointer;transition:border-color .15s,background .15s;min-width:160px}.saved-card:hover{border-color:var(--border-accent);background:var(--bg-card-hover)}.saved-card-name{font-size:18px;font-weight:700;color:var(--accent-gold);margin-bottom:2px}.saved-card-meta{font-size:13px;color:var(--text-muted);line-height:1.4}.saved-card-file-status{font-size:11px;font-weight:600;line-height:1.6}.saved-card-delete{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s,background .15s}.saved-card-delete:hover{color:#f87171;background:#f871711a}.paste-panels{display:flex;gap:16px;margin-bottom:24px}.paste-panels .paste-panel{flex:1;margin-bottom:0}@media(max-width:640px){.paste-panels{flex-direction:column}}.paste-panel{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:24px;margin-bottom:24px}.paste-panel-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.paste-panel-hint{color:var(--text-secondary);font-size:12px;margin-bottom:14px;line-height:1.6}.paste-panel-hint code{background:var(--bg-card);padding:1px 5px;border-radius:3px;font-family:Consolas,Courier New,monospace;font-size:11px;color:var(--rarity-rare)}.changelog-section{margin-top:75px}.changelog-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase}.changelog-entries{display:flex;flex-direction:column;gap:10px}.changelog-entry{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:16px 20px;opacity:.5}.changelog-entry:hover{opacity:1}.changelog-entry-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.changelog-version{font-size:11px;font-weight:700;color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-gold) 30%,transparent);border-radius:4px;padding:2px 7px;letter-spacing:.4px;text-transform:uppercase}.changelog-entry-title{font-size:14px;font-weight:600;color:var(--text-primary)}.changelog-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.changelog-list li{color:var(--text-secondary);font-size:13px;line-height:1.5}.paste-textarea{width:100%;min-height:140px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-family:Consolas,Courier New,monospace;font-size:12px;padding:12px;resize:vertical;outline:none;transition:border-color .2s}.paste-textarea:focus{border-color:var(--border-accent)}.paste-textarea::placeholder{color:var(--text-muted)}.paste-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.btn{padding:8px 18px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,background .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--accent-gold);color:#1a0e00}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-secondary:hover{border-color:var(--border-accent);color:var(--text-primary)}.btn-upload-data{width:196px;height:34px;position:relative;overflow:hidden;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.btn-upload-data--loaded{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-subtle)}.btn-upload-data--loaded:hover{background:var(--bg-card-hover);border-color:var(--border-accent);color:var(--text-primary)}.btn-upload-label-default,.btn-upload-label-hover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0 10px;transition:opacity .15s;white-space:nowrap}.btn-upload-label-hover,.btn-upload-data--loaded:hover .btn-upload-label-default{opacity:0}.btn-upload-data--loaded:hover .btn-upload-label-hover{opacity:1}.btn-upload-data--missing{background:var(--bg-primary);color:#851717;border:1px solid #851717;animation:pulse 3s 4}.btn-upload-data--missing:hover{border:2px solid #851717;color:var(--text-primary)}.paste-error{color:#f87171;font-size:12px;margin-top:8px}@keyframes pulse{0%{transform:scale(1);background:var(--bg-primary)}50%{transform:scale(1.2);color:#fff}to{transform:scale(1);background:var(--bg-primary)}}.char-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:20px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;box-shadow:10px 10px 5px #00000047;z-index:1000}.char-card-right{margin-left:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.char-info{padding-right:10px}.update-time{margin-top:5px;color:var(--text-muted)!important}.char-name{font-size:28px;font-weight:700;color:var(--accent-gold)}.server-name{font-size:15px;margin-bottom:25px}.char-meta{color:var(--text-secondary);font-size:12px}.char-stat{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 16px;min-width:100px}.char-stat-value{font-size:20px;font-weight:700;color:var(--text-primary)}.char-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.cs-storage{margin-left:auto;display:flex;gap:20px;align-items:center}.view-tabs{display:flex;gap:10px;border-radius:0 0 10px 10px;border-top:0px;padding:0 10px;margin-bottom:20px}.view-tab{padding:0 25px 5px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;background:none;border:1px solid var(--border-subtle);border-top:0px;transition:color .15s,border-color .15s;background-color:#111118;width:150px;height:40px;border-radius:0 0 12px 12px;box-shadow:5px 5px 5px #00000047}.view-tab:hover{color:var(--text-primary);border:2px solid var(--rarity-common);border-top:0px}.view-tab.active{color:var(--accent-gold);border:2px solid var(--accent-gold);border-top:0px}.storage-container,.work-orders-container{display:flex;flex-direction:column;gap:10px;padding-top:8px}.work-orders-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px}.work-orders-toolbar-count{font-size:14px;color:var(--text-secondary);font-weight:500}.work-orders-toolbar-actions{display:flex;gap:6px;margin-left:auto}.work-orders-toolbar-btn{font-size:12px;padding:4px 12px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s}.work-orders-toolbar-btn--active,.work-orders-toolbar-btn:hover{border-color:var(--accent-gold-dim);color:var(--accent-gold)}.work-orders-toolbar-count-inventory{color:var(--text-muted)}.work-orders-layout{display:flex;gap:16px;align-items:flex-start}.work-orders-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.work-orders-list{display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow-y:auto;padding-right:4px}.work-orders-summary{flex:1;min-width:0;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:16px 18px;position:sticky;top:16px;max-height:70vh;overflow-y:auto}.work-orders-summary-title{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.work-order-summary-grid{display:grid;grid-template-columns:auto 1fr auto}.work-order-npc-header{grid-column:1 / -1;display:flex;align-items:baseline;gap:8px;padding:10px 0 5px;margin-bottom:2px}.work-order-npc-header:first-child{padding-top:0}.work-order-npc-name{font-size:12px;font-weight:700;color:var(--text-secondary);letter-spacing:.01em}.work-order-npc-location{font-size:11px;color:var(--text-muted)}.work-order-summary-item{display:flex;align-items:center;gap:8px;padding:6px;margin-left:20px;border-bottom:1px solid var(--border-subtle)}.work-order-summary-item--clickable{cursor:pointer;min-width:200px;border-radius:0;transition:background .1s}.work-order-summary-item--clickable:hover{background:color-mix(in srgb,var(--text-primary) 8%,var(--bg-card))}.work-order-summary-remove{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:0 8px 0 6px;border-radius:3px;align-self:center;justify-self:center;transition:color .15s}.work-order-summary-remove:hover{color:#f87171}.work-order-summary-locations{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.work-orders-summary-empty{font-size:12px;color:var(--text-muted);font-style:italic}.work-orders-summary-rewards{display:flex;flex-wrap:wrap;gap:6px;padding-top:20px}.work-order-card{background:var(--bg-card);border:2px solid var(--border-subtle);border-radius:8px;padding:14px 18px;transition:border-color .15s;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.5}.work-order-card:hover,.work-order-card--selected{border-color:#504473;opacity:1}.work-order-card--selected:hover{border-color:var(--text-primary)}.work-order-card--inventory{opacity:.5}.work-order-card--inventory:hover,.work-order-card--inventory.work-order-card--selected{opacity:1}.work-order-tag{font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.work-order-tag--inventory{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted)}.work-order-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.work-order-name{font-size:16px;font-weight:600;color:var(--text-primary)}.work-order-skill{font-size:11px;font-weight:600;color:var(--text-muted);border:1px solid var(--text-muted);padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px}.work-order-objectives{display:flex;flex-direction:column;gap:6px;margin:12px 0}.work-order-objective-row{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.work-order-objective{display:flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 10px;flex-shrink:0}.work-order-objective--clickable{cursor:pointer;transition:border-color .1s,background .1s}.work-order-objective--clickable:hover{border-color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 8%,var(--bg-card))}.work-order-storage-bubbles{display:flex;flex-wrap:wrap;gap:4px;height:-webkit-fill-available;height:stretch;margin-left:auto;flex-direction:column}.work-order-storage-bubble{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;width:fit-content}.work-order-storage-bubble--have{color:#52e052;background:#52e0521a;border:1px solid rgba(82,224,82,.25);cursor:pointer}.work-order-storage-bubble--partial{color:#f8a537;background:#f8a5371a;border:1px solid rgba(248,165,55,.25);cursor:pointer}.work-order-storage-bubble--location{color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 10%,transparent);border:1px solid var(--accent-gold);font-weight:500;cursor:pointer;transition:border-color .1s,color .1s,background .1s}.work-order-storage-bubble--inactive{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-subtle)}.work-order-storage-bubble--none{color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);font-weight:500;font-style:italic}.work-order-qty{font-size:13px;font-weight:700;color:var(--accent-gold)}.work-order-item-icon{width:40px;height:40px;object-fit:contain;flex-shrink:0;image-rendering:pixelated}.work-order-item{font-size:13px;color:var(--text-secondary)}.work-order-description{font-size:12px;color:var(--text-secondary);line-height:1.5;font-style:italic}.work-order-rewards{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:8px}.work-order-reward{font-size:12px;font-weight:600;padding:2px 9px;border-radius:20px}.work-order-reward--gold{color:var(--accent-gold);background:#d4a8431a;border:1px solid rgba(212,168,67,.2)}.work-order-reward--xp{color:var(--rarity-rare);background:#53dee614;border:1px solid rgba(83,222,230,.15)}.work-order-reward--levelup{color:var(--rarity-epic);background:var(--rarity-epic-bg);border:1px solid rgba(196,124,252,.25)}.work-orders-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.work-orders-empty-title{font-size:18px;color:var(--text-secondary);margin-bottom:8px}.work-orders-empty-hint{font-size:13px}.controls{display:flex;gap:12px;margin-bottom:6px;flex-wrap:wrap;align-items:center}.search-wrap{position:relative;flex:1;min-width:120px;max-width:200px}.search-input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:13px;padding:8px 30px 8px 12px;outline:none;transition:border-color .2s}.search-input:focus{border-color:var(--border-accent)}.search-input::placeholder{color:var(--text-muted)}.search-clear{position:absolute;right:0;top:0;bottom:0;width:28px;background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:0 6px 6px 0;transition:color .15s}.search-clear:hover{color:var(--text-primary)}.filter-select{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:13px;padding:8px 12px;outline:none;cursor:pointer}.filter-select:focus{border-color:var(--border-accent)}.filter-dropdown-wrap{position:relative}.filter-dropdown-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:15px;cursor:pointer;transition:border-color .15s,background .15s,color .15s;flex-shrink:0}.filter-dropdown-btn:hover{border-color:var(--border-accent);color:var(--text-primary)}.filter-dropdown-btn.active{background:var(--accent-gold);border-color:var(--accent-gold);color:#1a1408}.filter-dropdown-menu{position:absolute;top:calc(100% + 5px);left:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:4px;z-index:200;min-width:170px;box-shadow:0 6px 20px #00000080}.filter-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:none;border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .12s}.filter-dropdown-item:hover{background:var(--bg-card-hover)}.filter-dropdown-item.selected{color:var(--accent-gold)}.filter-dropdown-item-spacer{display:inline-block;width:1em;flex-shrink:0}.results-count{color:var(--text-muted);font-size:12px;margin-left:auto}.view-toggle{display:flex;border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.view-toggle-btn{background:var(--bg-secondary);border:none;color:var(--text-muted);font-size:12px;padding:6px 12px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.view-toggle-btn:hover{color:var(--text-primary);background:var(--bg-card-hover)}.view-toggle-btn.active{background:var(--border-accent);color:var(--text-primary)}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border-subtle)}.vault-section{border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden;margin-bottom:10px}.vault-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.vault-header:hover{background:var(--bg-card-hover)}.vault-toggle{color:var(--text-muted);font-size:12px;width:16px;flex-shrink:0}.vault-name{font-size:15px;font-weight:600;color:var(--text-primary)}.vault-area{font-size:12px;color:var(--text-muted);background:var(--bg-primary);border:1px solid var(--border-subtle);padding:2px 8px;border-radius:20px}.vault-badges{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vault-count{font-size:12px;color:var(--text-secondary)}.vault-requirement{font-size:11px;color:var(--accent-gold-dim);background:#d4a8431a;padding:2px 8px;border-radius:20px;border:1px solid rgba(212,168,67,.2)}.vault-items{padding:12px;background:var(--bg-primary);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.vault-items-compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px}.vault-items-grid{grid-template-columns:repeat(auto-fill,64px);gap:10px;padding:10px}.item-card.item-card-grid{width:64px;height:64px;padding:0;border-radius:6px;border:none;background:#0a0a10;box-shadow:none;position:relative;overflow:hidden;cursor:default}.item-card.item-card-grid:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:5px;border:3px solid var(--border-subtle);pointer-events:none;z-index:1}.item-card.item-card-grid.rarity-common{box-shadow:0 0 3px 3px var(--rarity-common)}.item-card.item-card-grid.rarity-uncommon{box-shadow:0 0 3px 3px var(--rarity-uncommon)}.item-card.item-card-grid.rarity-rare{box-shadow:0 0 3px 3px var(--rarity-rare)}.item-card.item-card-grid.rarity-epic{box-shadow:0 0 3px 3px var(--rarity-epic)}.item-card.item-card-grid.rarity-legendary{box-shadow:0 0 3px 3px var(--rarity-legendary)}.item-grid-icon{width:100%;height:100%;object-fit:contain;display:block;image-rendering:pixelated}.item-grid-icon-placeholder{width:100%;height:100%;background:#0a0a10}.item-grid-qty{position:absolute;bottom:0;left:0;right:0;font-size:18px;font-weight:700;color:#fff;text-align:center;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;line-height:1;padding-bottom:5px;pointer-events:none}.item-card{background:var(--bg-card);border-radius:7px;padding:10px 12px;border-left:3px solid transparent;position:relative;transition:background .15s}.item-card:hover{background:var(--bg-card-hover)}.item-card.rarity-common{border-left-color:var(--rarity-common);background:var(--rarity-common-bg)}.item-card.rarity-uncommon{border-left-color:var(--rarity-uncommon);background:var(--rarity-uncommon-bg)}.item-card.rarity-rare{border-left-color:var(--rarity-rare);background:var(--rarity-rare-bg)}.item-card.rarity-epic{border-left-color:var(--rarity-epic);background:var(--rarity-epic-bg)}.item-card.rarity-legendary{border-left-color:var(--rarity-legendary);background:var(--rarity-legendary-bg)}.item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.item-card-compact{display:flex;align-items:center;gap:7px;padding:5px 8px;white-space:nowrap;overflow:hidden}.item-card-compact .item-icon{width:28px;height:28px;flex-shrink:0}.item-card-compact .item-name{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis}.item-card-compact .item-stack{font-size:11px;flex-shrink:0}.item-icon{width:36px;height:36px;object-fit:contain;display:block;flex-shrink:0;border-radius:4px;background:var(--bg-primary);border:1px solid var(--border-subtle);image-rendering:pixelated}.item-description{font-size:11px;color:var(--text-muted);font-style:italic;line-height:1.4;margin-bottom:4px}.item-name{font-weight:600;font-size:13px;flex:1;line-height:1.3}.item-name.rarity-common{color:var(--rarity-common)}.item-name.rarity-uncommon{color:var(--rarity-uncommon)}.item-name.rarity-rare{color:var(--rarity-rare)}.item-name.rarity-epic{color:var(--rarity-epic)}.item-name.rarity-legendary{color:var(--rarity-legendary)}.item-stack{font-size:12px;font-weight:700;color:var(--text-secondary);background:var(--bg-secondary);padding:1px 7px;border-radius:4px;white-space:nowrap;flex-shrink:0}.item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.item-tag{font-size:11px;color:var(--text-muted);background:var(--bg-secondary);padding:1px 7px;border-radius:3px}.item-tag.slot{color:var(--rarity-rare)}.item-tag.level{color:var(--accent-gold-dim)}.item-tag.value{color:#6acd6a}.item-tag.attuned{color:var(--rarity-uncommon)}.item-powers{margin-top:6px;border-top:1px solid var(--border-subtle);padding-top:6px}.item-power{font-size:11px;color:var(--text-secondary);margin-bottom:3px;display:flex;gap:5px;align-items:flex-start}.item-power-tier{color:var(--accent-gold-dim);font-weight:600;min-width:20px;flex-shrink:0}.item-power-effect{color:var(--text-secondary);line-height:1.4}.item-power-label{color:var(--text-muted);font-style:italic}.item-imbue{margin-top:4px;font-size:11px;color:var(--rarity-epic);font-style:italic}.item-crafter{margin-top:3px;font-size:11px;color:var(--text-muted)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state-title{font-size:18px;color:var(--text-secondary);margin-bottom:8px}.empty-state-hint{font-size:13px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6a5f8b}.info-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#08080ed1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px 16px;animation:modal-backdrop-in .18s ease}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.info-modal{background:var(--bg-card);border:1px solid var(--border-accent);border-radius:14px;width:100%;max-width:560px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0009,0 0 0 1px #4a3f6b59,inset 0 1px #ffffff0d;animation:modal-in .2s cubic-bezier(.22,1,.36,1)}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.info-modal-header{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 16px;background:linear-gradient(160deg,color-mix(in srgb,var(--border-accent) 18%,var(--bg-card)) 0%,var(--bg-card) 100%);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.info-modal-header-content{flex:1;min-width:0}.info-modal-header-icon{width:52px;height:52px;flex-shrink:0;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-secondary);object-fit:contain;align-self:center}.info-modal-header-icon.rarity-common{box-shadow:0 0 3px 3px var(--rarity-common)}.info-modal-header-icon.rarity-uncommon{box-shadow:0 0 3px 3px var(--rarity-uncommon)}.info-modal-header-icon.rarity-rare{box-shadow:0 0 3px 3px var(--rarity-rare)}.info-modal-header-icon.rarity-epic{box-shadow:0 0 3px 3px var(--rarity-epic)}.info-modal-header-icon.rarity-legendary{box-shadow:0 0 3px 3px var(--rarity-legendary)}.info-modal-title{font-size:20px;font-weight:700;color:var(--accent-gold);line-height:1.3;letter-spacing:.2px;word-break:break-word;margin-bottom:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.info-modal-search-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:3px 5px;background:none;border:1px solid transparent;border-radius:5px;color:var(--text-muted);font-size:13px;cursor:pointer;line-height:1;transition:color .15s,background .15s,border-color .15s}.info-modal-search-btn:hover{color:var(--accent-gold);background:#d4a8431f;border-color:#d4a8434d}.info-modal-categories{display:flex;flex-wrap:wrap;gap:6px}.info-modal-category-bubble{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.45px;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--border-accent) 22%,transparent);border:1px solid color-mix(in srgb,var(--border-accent) 55%,transparent);color:var(--text-secondary);white-space:nowrap}.info-modal-category-bubble.rarity-common{color:var(--rarity-common);background:var(--rarity-common-bg);border-color:#c8c8d473}.info-modal-category-bubble.rarity-uncommon{color:var(--rarity-uncommon);background:var(--rarity-uncommon-bg);border-color:#52e05273}.info-modal-category-bubble.rarity-rare{color:var(--rarity-rare);background:var(--rarity-rare-bg);border-color:#53dee673}.info-modal-category-bubble.rarity-epic{color:var(--rarity-epic);background:var(--rarity-epic-bg);border-color:#c47cfc73}.info-modal-category-bubble.rarity-legendary{color:var(--rarity-legendary);background:var(--rarity-legendary-bg);border-color:#e7f06773}.info-modal-close{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-size:17px;font-weight:700;line-height:1;cursor:pointer;transition:color .15s,background .15s,border-color .15s,transform .1s;padding:0;margin-top:1px}.info-modal-close:hover{color:#f87171;background:#f871711f;border-color:#f8717159;transform:scale(1.08)}.info-modal-close:active{transform:scale(.96)}.info-modal-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:18px}.info-modal-image-wrap{display:flex;justify-content:center;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:16px;min-height:100px}.info-modal-image{max-width:100%;max-height:220px;object-fit:contain;border-radius:6px;display:block}.info-modal-sections{display:flex;flex-direction:column;gap:14px}.info-modal-section{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:14px 16px}.info-modal-section-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.info-modal-section-content{color:var(--text-primary);font-size:14px;line-height:1.6}.info-modal-section-content p+p{margin-top:6px}.info-modal-effects-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.info-modal-effects-list li{position:relative;padding-left:14px;font-size:13px;color:var(--text-primary);line-height:1.5}.info-modal-effects-list li:before{content:"◆";position:absolute;left:0;font-size:7px;top:5px;color:var(--accent-gold-dim)}.info-modal-storage-qty{display:inline-flex;align-items:center;justify-content:center;background:#00000040;border-radius:999px;font-size:10px;font-weight:700;padding:0 5px;margin-left:5px;letter-spacing:.2px}.info-modal-reqs{display:flex;flex-direction:column;gap:5px}.info-modal-req-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:1.5}.info-modal-req-skill{font-weight:500}.info-modal-req-level{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;letter-spacing:.2px}.info-modal-req-unmet{color:#f87171}.info-modal-req-met{color:var(--rarity-uncommon)}.info-modal-meta-list{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--text-primary)}.info-modal-meta-key{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-right:8px}.info-modal-powers{display:flex;flex-direction:column;gap:6px}.info-modal-power-row{display:flex;align-items:baseline;gap:8px;font-size:13px}.detail-panel{border:1px solid var(--border-accent);border-radius:14px;background:var(--bg-card);display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 120px);overflow-y:auto}.detail-panel-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-size:13px;font-style:italic}.item-card-clickable{transition:border-color .15s,background .15s,transform .1s!important}.item-card-clickable:hover{border-color:var(--border-accent)!important;background:var(--bg-card-hover)!important;transform:translateY(-1px)}.item-card-clickable:active{transform:translateY(0)}.app-footer{margin-top:auto;padding:16px 0;text-align:center;font-size:12px;color:var(--text-muted)}.char-sheet{display:flex;flex-direction:column;gap:16px;padding-top:8px}.cs-overview{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:20px 24px;display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.cs-overview-identity{flex:1 1 200px;min-width:200px}.cs-char-name{font-size:26px;font-weight:700;color:var(--accent-gold);letter-spacing:.5px;line-height:1.2}.cs-char-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;font-size:13px;color:var(--text-secondary)}.cs-race-badge{background:var(--border-accent);color:var(--text-primary);padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.4px}.cs-timestamp{color:var(--text-muted);font-size:12px}.cs-skill-summary{margin-top:8px;font-size:12px;color:var(--text-muted)}.cs-resources{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap;align-items:center}.cs-resource{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 16px;min-width:100px}.cs-resource-icon{font-size:20px;line-height:1}.cs-resource--health .cs-resource-icon{color:#f87171}.cs-resource--armor .cs-resource-icon{color:#c9a625}.cs-resource--power .cs-resource-icon{color:#2e4cad}.cs-resource-value{font-size:22px;font-weight:700;line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}.cs-resource-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.cs-currencies{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cs-currency{display:flex;align-items:center;gap:5px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;padding:5px 10px;font-size:13px}.cs-currency--gold{border-color:var(--accent-gold-dim);background:#d4a8430f}.cs-currency-icon{color:var(--text-muted);font-size:12px}.cs-currency--gold .cs-currency-icon{color:var(--accent-gold)}.cs-currency-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.cs-currency--gold .cs-currency-value{color:var(--accent-gold)}.cs-currency-name{font-size:11px;color:var(--text-muted)}.cs-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.cs-section-header{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}button.cs-section-toggle{width:100%;background:none;border:none;border-bottom:1px solid var(--border-subtle);border-radius:0;cursor:pointer;text-align:left;transition:background .15s}button.cs-section-toggle:hover{background:var(--bg-card-hover)}.cs-section-icon{font-size:16px;color:var(--accent-gold);width:20px;text-align:center}.cs-section-title{font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;flex:1}.cs-section-count{font-size:12px;color:var(--text-secondary)}.cs-section-chevron{font-size:11px;color:var(--text-muted);margin-left:auto}.cs-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:14px}.cs-skill-filters{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);align-items:center;background:var(--bg-secondary)}.cs-cat-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.cs-cat-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-accent)}.cs-cat-btn.active{background:#4a3f6b73;border-color:var(--border-accent);color:var(--text-primary)}.cs-cat-icon{font-size:14px}.cs-cat-count{background:var(--bg-secondary);border-radius:999px;font-size:10px;padding:0 5px;color:var(--text-muted);line-height:16px}.cs-cat-btn.active .cs-cat-count{background:#ffffff14;color:var(--text-secondary)}.cs-skill-search-wrap{position:relative;margin-left:auto}.cs-skill-search{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:6px;padding:4px 28px 4px 10px;color:var(--text-primary);font-size:12px;width:180px;transition:border-color .15s}.cs-skill-search:focus{outline:none;border-color:var(--border-accent)}.cs-skill-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0}.cs-skill-group{padding:0 16px 16px}.cs-skill-group-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);padding:14px 0 8px;border-bottom:1px solid var(--border-subtle);margin-bottom:10px}.cs-skill-group-count{background:var(--border-subtle);border-radius:999px;font-size:12px;padding:0 6px;line-height:16px;margin-left:2px}.cs-skill-group-copy{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:14px;padding:2px 4px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.cs-skill-group-copy:hover{color:var(--accent-gold);background:var(--border-subtle)}.cs-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.skill-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;transition:border-color .12s,background .12s}.skill-card:hover{border-color:var(--border-accent);background:var(--bg-card-hover)}.skill-card--maxed{border-color:var(--accent-gold-dim);background:#d4a8430d}.skill-card-header{display:flex;align-items:center;gap:6px}.cs-skill-icon{font-size:14px;width:20px;text-align:center;color:var(--accent-gold);flex-shrink:0}.skill-icon{font-size:13px;width:18px;text-align:center;color:var(--text-muted);flex-shrink:0}.skill-card--maxed .skill-icon{color:var(--accent-gold-dim)}.skill-name{flex:1;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-level-badge{font-size:12px;font-weight:700;color:var(--text-secondary);display:flex;align-items:center;gap:3px;flex-shrink:0;font-variant-numeric:tabular-nums}.skill-card--maxed .skill-level-badge{color:var(--accent-gold)}.skill-bonus-badge{background:#d4a8432e;color:var(--accent-gold);border-radius:4px;font-size:10px;font-weight:700;padding:0 4px;letter-spacing:.2px}.skill-xp-track{width:100%;height:6px;background:var(--bg-primary);border-radius:999px;overflow:hidden;cursor:default}.skill-xp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4a3f6b,#7a5fc8);transition:width .3s ease}.skill-xp-fill--max{background:linear-gradient(90deg,var(--accent-gold-dim) 0%,var(--accent-gold) 100%)}.skill-xp-label{display:flex;align-items:center}.skill-xp-text{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.skill-xp-sep{color:var(--text-muted);opacity:.5}.skill-xp-max{font-size:10px;font-weight:700;color:var(--accent-gold);letter-spacing:.3px}.skill-abilities-toggle{background:none;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:2px 6px;text-align:left;transition:border-color .12s,color .12s;width:fit-content}.skill-abilities-toggle:hover{border-color:var(--border-accent);color:var(--text-secondary)}.skill-abilities-list{display:flex;flex-wrap:wrap;gap:4px}.skill-ability-chip{background:#4a3f6b40;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:10px;padding:1px 6px}.cs-stats-body{padding:16px;display:flex;flex-direction:column;gap:20px}.cs-stat-group{display:flex;flex-direction:column;gap:6px}.cs-stat-group-label{font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);padding-bottom:4px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:5px}.cs-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:3px 16px}.cs-stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;padding:2px 0;border-bottom:1px solid rgba(42,42,61,.4)}.cs-stat-icon{color:var(--accent-gold)}.cs-stat-key{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.cs-stat-val{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);flex-shrink:0;font-size:12px}.cs-npc-body{padding:16px;display:flex;flex-direction:column;gap:16px}.cs-npc-group{display:flex;flex-direction:column;gap:6px}.cs-npc-group-label{font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px}.cs-npc-count{background:#ffffff14;border-radius:999px;font-size:10px;padding:0 6px;line-height:16px;color:var(--text-muted);font-weight:400;text-transform:none;letter-spacing:0}.cs-npc-names{display:flex;flex-wrap:wrap;gap:5px}.cs-npc-chip{border:1px solid;border-radius:4px;padding:2px 8px;font-size:11px;color:var(--text-primary);background:#1e1e2d80;opacity:.85}.cs-npc-chip:hover{opacity:1}.skill-ability-chip--clickable{cursor:pointer;transition:background .12s,border-color .12s,color .12s}.skill-ability-chip--clickable:hover{background:#4a3f6b8c;border-color:var(--border-accent);color:var(--text-primary)}.skill-ability-chip--clickable:active{background:#4a3f6bb3}.ability-modal-stats{display:grid;grid-template-columns:1fr auto;gap:4px 16px}.ability-modal-stat-row{display:contents}.ability-modal-stat-key{font-size:13px;color:var(--text-secondary);padding:3px 0;border-bottom:1px solid rgba(42,42,61,.4)}.ability-modal-stat-val{font-size:13px;font-weight:700;color:var(--text-primary);text-align:right;padding:3px 0;border-bottom:1px solid rgba(42,42,61,.4);font-variant-numeric:tabular-nums;white-space:nowrap}.ability-special-info{margin:0;font-size:13px;color:var(--accent-gold);font-style:italic}.cs-npc-group-label--neutral{color:var(--text-muted)}.cs-npc-show-all{margin-left:auto;background:none;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:10px;font-weight:600;padding:1px 8px;text-transform:uppercase;letter-spacing:.4px;transition:border-color .12s,color .12s}.cs-npc-show-all:hover{border-color:var(--border-accent);color:var(--text-secondary)}.cs-npc-chip--neutral{border-color:var(--border-subtle);color:var(--text-muted);opacity:1}@keyframes feedback-pulse{0%,to{box-shadow:0 4px 16px #00000080,0 0 5px 2px #d4a84373}50%{box-shadow:0 4px 16px #00000080,0 0 20px 10px #d4a84333}}.feedback-fab{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--accent-gold);color:#0e0e14;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000080;z-index:1000;transition:background .15s,transform .15s;animation:feedback-pulse 2.2s ease-in-out infinite}.feedback-fab:hover{background:#e8bc55;transform:scale(1.08)}.feedback-fab--open{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-subtle);animation:none}.feedback-fab--open:hover{background:var(--bg-card-hover);color:var(--text-primary)}.feedback-panel{position:fixed;bottom:84px;right:24px;width:320px;background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:10px;box-shadow:0 8px 32px #0009;z-index:999;display:flex;flex-direction:column;animation:feedback-slide-up .18s ease}@keyframes feedback-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.feedback-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle);font-weight:600;color:var(--accent-gold);font-size:14px}.feedback-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;transition:color .15s}.feedback-close-btn:hover{color:var(--text-primary)}.feedback-form{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.feedback-field{display:flex;flex-direction:column;gap:4px;position:relative}.feedback-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.feedback-required{color:#e05555}.feedback-field input,.feedback-field textarea{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;padding:7px 10px;transition:border-color .15s;resize:none}.feedback-field input:focus,.feedback-field textarea:focus{outline:none;border-color:var(--border-accent)}.feedback-field input::placeholder,.feedback-field textarea::placeholder{color:var(--text-muted)}.feedback-field input:disabled,.feedback-field textarea:disabled{opacity:.5}.feedback-char-count{font-size:11px;color:var(--text-muted);text-align:right;margin-top:2px}.feedback-error{font-size:12px;color:#e05555;background:#e055551a;border:1px solid rgba(224,85,85,.25);border-radius:5px;padding:6px 10px}.feedback-submit-btn{background:var(--accent-gold);color:#0e0e14;border:none;border-radius:6px;font-size:13px;font-weight:600;padding:8px 14px;cursor:pointer;transition:background .15s;margin-top:2px}.feedback-submit-btn:hover:not(:disabled){background:#e8bc55}.feedback-submit-btn:disabled{opacity:.5;cursor:not-allowed}.feedback-success{padding:28px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-secondary);font-size:13px}.feedback-success-icon{width:40px;height:40px;border-radius:50%;background:#52e05226;border:1px solid rgba(82,224,82,.4);color:#52e052;display:flex;align-items:center;justify-content:center;font-size:18px}
