:root{--color-warrior: #C79C6E;--color-paladin: #F58CBA;--color-hunter: #ABD473;--color-rogue: #FFF569;--color-priest: #FFFFFF;--color-deathknight: #C41F3B;--color-shaman: #0070DE;--color-mage: #69CCF0;--color-warlock: #9482C9;--color-monk: #00FF96;--color-druid: #FF7D0A;--color-demonhunter: #A330C9;--rarity-poor: #9d9d9d;--rarity-common: #ffffff;--rarity-uncommon: #1eff00;--rarity-rare: #0070dd;--rarity-epic: #a335ee;--rarity-legendary: #ff8000;--rarity-artifact: #e6cc80;--bg-primary: #0a0a0c;--bg-secondary: #141418;--bg-tertiary: #1f1f27;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent: #d4af37;--danger: #ff4d4d;--glass: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--surface-input: #000;--surface-tooltip: #070c21;--surface-item: #111;--border-item: #333;--border-tooltip: #353959;--text-on-accent: #000;--modal-overlay: rgba(0, 0, 0, .85);--panel-shadow: rgba(0, 0, 0, .8);--row-hover: rgba(255, 255, 255, .03);--loot-hover: rgba(255, 255, 255, .05)}[data-theme=light]{--bg-primary: #eef0f4;--bg-secondary: #ffffff;--bg-tertiary: #e4e7ee;--text-primary: #151515;--text-secondary: #5c5c5c;--glass: rgba(255, 255, 255, .82);--glass-border: rgba(0, 0, 0, .12);--surface-input: #ffffff;--surface-item: #f3f4f8;--border-item: #c5c9d2;--text-on-accent: #000;--modal-overlay: rgba(0, 0, 0, .45);--panel-shadow: rgba(0, 0, 0, .12);--row-hover: rgba(0, 0, 0, .04);--loot-hover: rgba(0, 0, 0, .05);--rarity-common: #333333}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;height:100vh;height:100dvh}#root{height:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.glass-panel{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:0}.btn-primary{background:var(--accent);color:var(--text-on-accent);border:none;padding:8px 16px;border-radius:0;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;padding:20px;gap:20px}.main-header{display:flex;justify-content:space-between;align-items:center;padding:15px 30px}.logo h1{display:flex;align-items:center;gap:0;margin:0;font-size:1.5rem}.logo-icon{width:36px;height:36px;border-radius:0;border:1px solid var(--glass-border);image-rendering:pixelated}.logo-icon-btn{background:none;border:none;padding:0;margin-right:8px;cursor:pointer;line-height:0;border-radius:0}.logo-icon-btn:hover .logo-icon{border-color:var(--accent)}.logo-icon.shaking{animation:logo-icon-shake .4s ease-in-out}@keyframes logo-icon-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-10deg) scale(1.06)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(6deg)}}.accent{color:var(--accent)}.raid-selector{display:flex;gap:10px;align-items:center;flex-wrap:wrap;scroll-snap-type:x proximity}.raid-selector-gap{display:inline-flex;align-items:center;color:var(--text-secondary);opacity:.45;padding:0 4px 0 8px;-webkit-user-select:none;user-select:none;font-weight:300}.raid-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-secondary);padding:8px 20px;border-radius:0;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease;scroll-snap-align:start}.raid-btn.coming-soon{opacity:.5;cursor:default}.raid-btn.coming-soon.shake-red{animation:raid-btn-shake-red .45s ease-in-out}@keyframes raid-btn-shake-red{0%,to{transform:translate(0);border-color:var(--glass-border);color:var(--text-secondary);background:transparent}15%{transform:translate(-5px) rotate(-2deg);border-color:#ef4444;color:#fca5a5;background:#ef44441f}30%{transform:translate(5px) rotate(2deg);border-color:#ef4444;color:#f87171;background:#ef44442e}45%{transform:translate(-4px);border-color:#ef4444;color:#fca5a5}60%{transform:translate(4px);border-color:#dc2626;color:#f87171}75%{transform:translate(-2px);border-color:#ef4444;color:#fca5a5}}.raid-btn.active{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.import-btn-header{background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);padding:8px 16px;border-radius:0;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s}.import-btn-header svg{flex-shrink:0}.export-copy-btn,.import-action-btn{display:inline-flex;align-items:center;gap:8px}.import-btn-header:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.import-btn-header:disabled{opacity:.45;cursor:not-allowed}.import-btn-header.icon-only{padding:8px;min-width:36px;justify-content:center}.header-actions{display:flex;gap:8px}.content{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.boss-slider{display:flex;gap:10px;padding:10px 0;overflow-x:auto;scroll-snap-type:x proximity}.boss-btn{background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);padding:10px 20px;border-radius:0;cursor:pointer;white-space:nowrap;transition:all .3s ease;scroll-snap-align:start}.boss-btn.active{border-color:var(--accent);background:var(--bg-tertiary);box-shadow:0 0 15px #d4af3733}.boss-btn.faded{opacity:.5}.boss-slider-gap{display:inline-flex;align-items:center;color:var(--text-secondary);opacity:.45;padding:0 4px 0 12px;-webkit-user-select:none;user-select:none;font-weight:300}.boss-btn-trash{display:inline-flex;align-items:center;gap:6px;margin-left:4px}.spreadsheet{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.grid-header{display:flex;padding:10px 24px;border-bottom:1px solid var(--glass-border);font-weight:700;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:1px;min-width:0}.col-name{width:200px}.col-items{flex:1}.grid-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.player-row{display:flex;align-items:center;padding:6px 24px;border-bottom:1px solid rgba(255,255,255,.03);border-left:4px solid transparent;transition:background .3s cubic-bezier(.4,0,.2,1),border-color .3s ease}.player-row:hover,.player-row.is-editing{background:var(--row-hover);border-left-color:var(--accent)}.player-meta-container{min-width:200px;width:200px;flex-shrink:0;display:flex;align-items:center;gap:6px;position:relative}.edit-action-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;opacity:0;flex-shrink:0;width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:opacity .2s,color .2s}.player-row:hover .edit-action-btn,.player-row.is-editing .edit-action-btn{opacity:1}.edit-action-btn:hover{color:var(--accent)}.player-edit-flyout{display:flex;flex-direction:column;gap:12px;width:fit-content;background:#0a0a14fa;padding:15px;border-radius:0;border:1px solid var(--accent);box-shadow:0 10px 40px var(--panel-shadow)}[data-theme=light] .player-edit-flyout{background:var(--bg-secondary)}.player-edit-flyout input{background:var(--surface-input);border:1px solid var(--glass-border);color:var(--text-primary);padding:8px 12px;border-radius:0;font-size:1rem;width:226px;box-sizing:border-box}.edit-options{display:flex;flex-direction:column;gap:12px;padding:4px 0;width:226px}.class-selector.small{gap:8px;flex-wrap:nowrap}.class-circle.small{width:18px;height:18px;flex-shrink:0}.edit-form-actions{display:flex;justify-content:flex-end;gap:8px}.save-edit-btn{background:var(--accent);color:var(--text-on-accent);border:none;border-radius:0;padding:4px;cursor:pointer}.delete-player-btn{background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.35);border-radius:0;padding:4px;cursor:pointer;transition:background .2s,border-color .2s}.delete-player-btn:hover{background:#f871711f;border-color:#f87171}.player-meta{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.player-meta-toggle{background:transparent;border:none;padding:0;margin:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.player-loot-count{margin-left:auto;font-size:.75rem;font-weight:700;color:var(--accent);background:#d4af371f;border:1px solid rgba(212,175,55,.35);padding:2px 8px;min-width:24px;text-align:center}.player-row-chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s ease}.player-row-chevron.is-collapsed{transform:rotate(-90deg)}.player-row.is-collapsed .player-meta-container{width:100%}.player-name-top{font-weight:700;font-size:.95rem;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-icon.tank{color:#facc15}.role-icon.healer{color:#22c55e}.role-icon.dps{color:#ef4444}.player-items{flex:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.item-icon-slot{position:relative;cursor:pointer;transition:transform .2s ease}.item-icon-slot:hover{transform:scale(1.1);z-index:10}.item-icon-frame{position:relative;flex-shrink:0;overflow:hidden;background:var(--surface-item);border:2px solid var(--border-item);display:flex;align-items:center;justify-content:center}.item-icon-frame.size-small{width:24px;height:24px;border-radius:0;border-width:1px}.item-icon-frame.size-medium{width:32px;height:32px;border-radius:0;border-width:1px}.item-icon-frame.size-large{width:56px;height:56px;border-radius:0}.item-icon-image{width:100%;height:100%;object-fit:cover;display:block}.item-icon-fallback{font-size:.75rem;font-weight:700;color:#fff}.item-icon-frame.size-small .item-icon-fallback{font-size:.55rem}.item-icon-acronym{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:#fff;text-shadow:0 0 2px #000,0 1px 3px #000,0 0 6px rgba(0,0,0,.9);pointer-events:none;letter-spacing:-.02em}.item-icon{width:44px;height:44px;border-radius:0;background:var(--surface-item);border:2px solid var(--border-item);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s ease;overflow:hidden}.item-icon:hover{transform:scale(1.1);z-index:10}.item-inner{font-size:14px;font-weight:600}.rarity-epic{border-color:var(--rarity-epic);box-shadow:0 0 10px #a335ee33}.rarity-legendary{border-color:var(--rarity-legendary);box-shadow:0 0 15px #ff800066}.rarity-rare{border-color:var(--rarity-rare);box-shadow:0 0 10px #0070dd33}.rarity-uncommon{border-color:var(--rarity-uncommon)}.rarity-common{border-color:var(--rarity-common)}.remove-item{position:absolute;top:0;left:0;width:100%;height:100%;background:#f00c;border:none;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.item-icon-slot:hover .remove-item{opacity:1}.add-item-btn{width:32px;height:32px;border-radius:0;background:var(--bg-tertiary);border:1px dashed var(--glass-border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.add-item-btn:hover{border-color:var(--accent);color:var(--accent)}.add-player-row{padding:12px 24px;border-top:1px dashed var(--glass-border)}.add-player-init{background:transparent;border:1px dashed var(--glass-border);color:var(--text-secondary);padding:10px 20px;border-radius:0;cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;justify-content:center;transition:all .2s}.add-player-init:hover{border-color:var(--accent);color:var(--accent);background:#d4af370d}.add-player-form{display:flex;flex-direction:column;gap:15px;background:var(--bg-secondary);padding:20px;border-radius:0;border:1px solid var(--glass-border)}.name-input{background:var(--surface-input);border:1px solid var(--glass-border);color:var(--text-primary);padding:10px 15px;border-radius:0;width:100%;font-size:1rem}.class-selector{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start}.class-circle{width:32px;height:32px;border-radius:0;border:2px solid transparent;cursor:pointer;transition:all .2s}.class-circle.active{transform:scale(1.2);border-color:#fff;box-shadow:0 0 10px #ffffff80}.role-selector{display:flex;gap:8px;align-items:center}.role-selector.small{gap:6px}.role-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);width:34px;height:34px;border-radius:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.role-btn.small{width:28px;height:28px}.role-btn.active{background:var(--accent);border-color:var(--accent)}.role-btn.active .role-icon{color:var(--text-on-accent)}.form-actions{display:flex;gap:15px;justify-content:flex-start;width:100%}.confirm-add{background:var(--accent);color:var(--text-on-accent);border:none;padding:8px 24px;border-radius:0;font-weight:700;cursor:pointer}.cancel-add{background:transparent;color:var(--text-secondary);border:none;cursor:pointer;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.import-modal{width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:30px;display:flex;flex-direction:column;gap:20px}.modal-actions-import{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.skip-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-weight:500}.import-btn-main{background:var(--accent);color:var(--text-on-accent);border:none;padding:8px 24px;border-radius:0;font-weight:700;cursor:pointer}textarea{background:var(--surface-input);border:1px solid var(--glass-border);color:var(--text-primary);padding:15px;border-radius:0;min-height:150px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary);gap:20px}.loot-popup{padding:10px;width:max-content;max-width:calc(100vw - 24px);box-shadow:0 10px 40px #0009;border:1px solid var(--accent);position:relative;display:flex;flex-direction:column;overflow:visible}.loot-list{display:flex;flex-direction:column;gap:2px}.loot-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:0;cursor:pointer;transition:background .2s;white-space:nowrap}.loot-item:hover{background:var(--loot-hover)}.item-name{font-weight:500;font-size:.75rem;display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0}.token-classes-row.small{display:inline-flex;gap:4px;margin-left:6px}.token-class-dot.small{width:6px;height:6px;border-radius:0}.item-tooltip-wow{width:300px;max-width:min(300px,calc(100vw - 24px));box-sizing:border-box;padding:12px;z-index:1100;pointer-events:none;background:#070c21;border:1px solid #353959;box-shadow:0 10px 30px #000c;border-radius:0;font-family:Inter,sans-serif;line-height:1.4;color:#e0e0e0;text-align:left;--text-primary: #e0e0e0;--rarity-common: #ffffff}.item-tooltip-layout{position:relative;padding-right:64px}.item-tooltip-icon{position:absolute;top:0;right:0}.item-tooltip-details{min-width:0;overflow-wrap:break-word;word-wrap:break-word}.item-tooltip-wow.grid-tooltip{width:300px;max-width:min(300px,calc(100vw - 24px));border:1px solid var(--accent);box-shadow:0 5px 20px #000c}.loot-popup-tooltip{pointer-events:none}.item-tooltip-wow.grid-tooltip .wow-name{font-size:.9rem;margin-bottom:0}.wow-name{font-size:1.1rem;font-weight:700;margin-bottom:2px;overflow-wrap:break-word;word-wrap:break-word}.wow-ilevel{color:#ffd100;font-size:.85rem}.wow-slot,.wow-damage,.wow-dps{color:var(--text-primary);font-size:.85rem}.wow-dps{margin-bottom:2px}.wow-bind,.wow-type,.wow-stat{color:var(--text-primary);font-size:.85rem}.wow-req{color:var(--text-primary);font-size:.85rem;margin-top:4px}.wow-equip,.wow-use{color:var(--text-primary);font-size:.85rem;margin-top:6px;overflow-wrap:break-word;word-wrap:break-word}.wow-green{color:#1eff00!important}.wow-flavor{color:#ffd100;font-size:.85rem;font-style:italic;margin-top:6px;overflow-wrap:break-word;word-wrap:break-word}.rarity-text-epic{color:var(--rarity-epic)}.rarity-text-legendary{color:var(--rarity-legendary)}.rarity-text-rare{color:var(--rarity-rare)}.rarity-text-uncommon{color:var(--rarity-uncommon)}.rarity-text-common{color:var(--rarity-common)}.token-classes-row{display:inline-flex;gap:6px;margin-left:10px;vertical-align:middle}.token-class-dot{width:10px;height:10px;border-radius:0;border:1px solid rgba(255,255,255,.4);box-shadow:0 0 5px #00000080}.token-classes-row.small{gap:4px;margin-left:6px}.token-class-dot.small{width:6px;height:6px;border:none;box-shadow:none}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:3000}.confetti-piece{position:absolute;top:-12px;opacity:0;animation-name:confetti-fall;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes confetti-fall{0%{opacity:1;transform:translateZ(0) rotate(0)}to{opacity:0;transform:translate3d(var(--confetti-drift, 0px),100dvh,0) rotate(720deg)}}@media(hover:none){.edit-action-btn{opacity:1}.remove-item{opacity:.9}.player-row:active{background:var(--row-hover);border-left-color:var(--accent)}.loot-item:active{background:var(--loot-hover)}}@media(max-width:768px){.app-container{padding:12px;gap:12px}.main-header{flex-wrap:wrap;align-items:center;padding:12px 16px;gap:12px}.logo{order:1;flex:1 1 auto;min-width:0}.logo h1{font-size:1.25rem}.header-actions{order:2;flex-shrink:0}.import-btn-header{min-height:44px;padding:10px 14px}.import-btn-header span{display:none}.import-btn-header.icon-only{min-width:44px;min-height:44px}.raid-selector{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.raid-selector::-webkit-scrollbar{display:none}.raid-btn{flex-shrink:0;min-height:44px;padding:10px 16px}.boss-slider{gap:8px;padding:6px 0;scrollbar-width:none}.boss-slider::-webkit-scrollbar{display:none}.boss-btn{flex-shrink:0;min-height:44px;padding:10px 16px}.grid-header{display:none}.player-row{flex-direction:column;align-items:stretch;padding:10px 16px;gap:10px}.player-meta-container{width:100%;min-width:0}.edit-action-btn{width:44px;height:44px}.player-items{width:100%;gap:8px}.item-icon-frame.size-medium{width:40px;height:40px}.add-item-btn{width:44px;height:44px}.add-player-row{padding:12px 16px}.add-player-init{min-height:44px;width:100%;justify-content:center}.modal-overlay{align-items:flex-start;padding:16px}.import-modal{padding:20px;gap:16px}.player-edit-flyout{max-width:calc(100vw - 24px)}.player-edit-flyout input,.edit-options{width:100%;max-width:280px}.class-circle.small{width:28px;height:28px}.role-btn.small{min-width:44px;min-height:44px}.class-circle{width:32px;height:32px}.role-btn{min-width:44px;min-height:44px}.confirm-add,.cancel-add,.import-btn-main,.skip-btn{min-height:44px;padding-top:10px;padding-bottom:10px}.loot-popup{max-height:calc(100dvh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch}.loot-item{min-height:44px;padding:8px 10px}.save-edit-btn,.delete-player-btn{min-width:44px;min-height:44px}}@media(max-width:480px){.logo h1{font-size:1.1rem}.logo-icon{width:32px;height:32px}.empty-state{padding:40px 20px}.empty-state p{text-align:center;font-size:.9rem}}.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;border:none;padding:0;margin:0;background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.mobile-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1060;max-height:min(85dvh,720px);overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;border-bottom:none;border-left:none;border-right:none;border-top:1px solid var(--accent);border-radius:0;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 40px var(--panel-shadow)}.mobile-sheet-handle{width:40px;height:4px;margin:4px auto 12px;background:var(--glass-border);border-radius:2px}.mobile-sheet-title{margin:0 0 12px;font-size:1rem;font-weight:700;color:var(--text-primary)}.loot-popup-sheet .loot-list{padding-bottom:8px}.loot-mobile-preview{overflow:hidden;margin-bottom:12px;border:1px solid var(--glass-border)}.loot-mobile-preview .item-tooltip-wow{width:100%;max-width:none}.loot-item.is-previewing{background:var(--loot-hover)}.loot-item-icon-btn,.item-icon-tap{display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;flex-shrink:0}.loot-item-icon-btn{min-width:44px;min-height:44px}.item-icon-tap{min-width:40px;min-height:40px}.item-tooltip-sheet .item-tooltip-wow,.player-edit-sheet .player-edit-flyout input,.player-edit-sheet .edit-options{width:100%;max-width:none}.player-edit-sheet .edit-options{width:100%}@media(max-width:768px){.raid-selector,.boss-slider{scroll-snap-type:x mandatory}.remove-item{width:24px;height:24px;top:-6px;right:-6px;left:auto;opacity:1}.loot-popup:not(.mobile-sheet){max-height:calc(100dvh - 24px);overflow-y:auto}}
