@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Inter:wght@400;500;600;700&display=swap";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.App{text-align:center;background:linear-gradient(180deg,#1a1612,#2a221a,#1f1814);min-height:100vh;position:relative}.App:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 30%,rgba(139,0,0,.2),transparent 40%),radial-gradient(circle at 80% 70%,rgba(218,165,32,.12),transparent 50%),url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48cGF0dGVybiBpZD0iZ3JpZCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBwYXR0ZXJuVW5pdHM9InVzZXJTcGFjZU9uVXNlIj48cGF0aCBkPSJNIDQwIDAgTCAwIDAgMCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiLz48L3N2Zz4=);pointer-events:none;z-index:0;opacity:.5}main{position:relative;z-index:1;padding-bottom:40px;color:#e5d5bf}.detachment{border:1px solid rgba(218,165,32,.3);padding:24px;margin:20px;background:#231c16f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;color:#e5d5bf;box-shadow:0 8px 32px #0009,inset 0 1px #daa5201a}.detachment-block{border:2px solid rgba(139,0,0,.4);border-radius:4px;max-width:420px;min-width:340px;margin:32px 0 0 32px;padding:28px 28px 20px;text-align:left;box-shadow:0 8px 32px #000c,inset 0 1px #daa52026,0 0 40px #8b000033;background:linear-gradient(135deg,#231c16fa,#2d231cfa)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.detachment-block:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(139,0,0,.6),transparent)}.detachment-block:hover{transform:translateY(-4px);box-shadow:0 12px 48px #000000e6,inset 0 1px #daa52033,0 0 60px #8b00004d;border-color:#8b000099}.detachment-title{font-family:Cinzel,serif;font-weight:700;font-size:1.25rem;margin-bottom:20px;color:#daa520;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 8px rgba(218,165,32,.5)}.detachment-rows{display:flex;flex-direction:column;gap:18px}.detachment-row{display:flex;flex-direction:row;align-items:center;margin-bottom:8px;min-height:64px;flex-wrap:wrap;gap:8px}.unit{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#2a221a,#3a2e24);overflow:hidden;border-radius:2px;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid rgba(120,100,80,.4);position:relative;box-shadow:inset 0 1px 2px #0009}.unit:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(218,165,32,.05) 100%);opacity:0;transition:opacity .2s}.unit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #000000e6,inset 0 0 10px #daa5201a;border-color:#8b000080}.unit:hover:after{opacity:1}.unit img,.unit svg{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;max-width:50px!important;max-height:50px!important;display:block;object-fit:contain;margin:auto;padding:0;box-sizing:border-box;filter:opacity(45%) grayscale(40%) brightness(.9);transition:filter .2s}.unit:hover img,.unit:hover svg{filter:opacity(65%) grayscale(20%) brightness(1)}.unit-prime{width:64px;height:64px;background:linear-gradient(135deg,#3a2d22,#4a3a2e);border:2px solid rgba(218,165,32,.5);box-shadow:0 4px 12px #8b000066,inset 0 1px #daa5204d}.unit-prime:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(218,165,32,.3),transparent);opacity:0;transition:opacity .3s;border-radius:2px;z-index:-1}.unit-prime:hover:before{opacity:1}.unit-prime img,.unit-prime svg{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;max-width:64px!important;max-height:64px!important;filter:opacity(80%) grayscale(10%) brightness(1.2) sepia(.2)}.unit-prime:hover img,.unit-prime:hover svg{filter:opacity(90%) grayscale(0%) brightness(1.3) sepia(.3)}.App-logo{height:40vmin;pointer-events:none}@media(prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background:linear-gradient(180deg,#14100cfa,#1e1812fa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px 32px;color:#daa520;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 24px #000c,inset 0 -1px #8b00004d;top:0;z-index:100;border-bottom:2px solid rgba(139,0,0,.4)}.App-header h1{font-family:Cinzel,serif;font-weight:900;font-size:1.75rem;letter-spacing:.1em;text-transform:uppercase;color:#daa520;text-shadow:0 0 20px rgba(218,165,32,.5),0 2px 4px rgba(0,0,0,.8)}.nav-buttons{display:flex;gap:12px;align-items:center}.nav-btn{background:linear-gradient(135deg,#2a221acc,#342a20e6);color:#e5d5bf;border:1px solid rgba(120,100,80,.4);padding:10px 24px;border-radius:2px;cursor:pointer;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0009,inset 0 1px #64503c33;position:relative}.nav-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(218,165,32,.05) 100%);opacity:0;transition:opacity .2s;border-radius:2px}.nav-btn:hover{background:linear-gradient(135deg,#342a20e6,#3e3226);border-color:#8b000080;transform:translateY(-2px);box-shadow:0 4px 12px #000c,inset 0 1px #daa52033;color:#daa520}.nav-btn:hover:before{opacity:1}.nav-btn:active{transform:translateY(0)}.nav-btn-active{background:linear-gradient(135deg,#8b0000cc,#640000e6);color:#daa520;border:1px solid rgba(218,165,32,.4);box-shadow:0 4px 12px #8b000099,inset 0 1px #daa5204d,0 0 20px #8b00004d;font-weight:700}.nav-btn-active:before{background:linear-gradient(135deg,transparent 0%,rgba(218,165,32,.1) 100%);opacity:1}.nav-btn-active:hover{background:linear-gradient(135deg,#8b0000e6,#780000);border-color:#daa52099}.header-right-controls{display:flex;align-items:center;margin-left:auto;gap:12px}.help-btn{background:linear-gradient(135deg,#8b0000cc,#640000e6);color:#daa520;border:1px solid rgba(218,165,32,.3);padding:12px 28px;border-radius:2px;cursor:pointer;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0009,inset 0 1px #daa52033}.help-btn:hover{background:linear-gradient(135deg,#8b0000e6,#780000);transform:translateY(-2px);box-shadow:0 6px 20px #8b000080,inset 0 1px #daa5204d;border-color:#daa52080}.help-btn:active{transform:translateY(0)}.App-link{color:#daa520}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.unit.unit-highlighted img,.unit.unit-highlighted svg{filter:opacity(100%) grayscale(0%) brightness(1.2) drop-shadow(0 0 8px rgba(218,165,32,.6))}.unit.unit-highlighted{background:linear-gradient(135deg,#8b00004d,#6432004d);border-color:#daa520;box-shadow:0 0 0 2px #daa52080,0 0 20px #daa5204d,inset 0 0 10px #daa5201a}.unit.unit-toggled img,.unit.unit-toggled svg{filter:opacity(100%) grayscale(0%) brightness(1.1)}.unit-toggled{background:linear-gradient(135deg,#8b000099,#640000b3);border-color:#8b0000;box-shadow:0 4px 16px #8b000099,inset 0 1px #daa5204d}.detachment-list{display:flex;flex-wrap:wrap;gap:24px;justify-content:flex-start;align-items:flex-start;margin-top:32px;padding:0 32px}.detachment-wrapper{position:relative;display:flex}.remove-detachment-btn{position:absolute;top:12px;right:12px;z-index:2;background:linear-gradient(135deg,#8b0000e6,#640000);color:#daa520;border:1px solid rgba(139,0,0,.8);border-radius:2px;width:32px;height:32px;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #000c,inset 0 1px #daa52033;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-weight:700}.remove-detachment-btn:hover{background:linear-gradient(135deg,#a00000,#780000);transform:scale(1.05);box-shadow:0 6px 16px #8b0000cc,inset 0 1px #daa5204d;border-color:#daa52080}.remove-detachment-btn:active{transform:scale(.95)}.detachment-highlighted{border:2px solid #daa520;box-shadow:0 0 0 4px #daa52033,0 8px 32px #daa5204d,0 0 60px #daa52033}.toolbar{z-index:20;background:linear-gradient(180deg,#191410fa,#201a14fa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 32px;box-shadow:0 4px 24px #000c,inset 0 1px #8b000033;border-bottom:1px solid rgba(139,0,0,.3);margin-bottom:8px}.searchbar{display:flex;align-items:center;margin-bottom:16px;gap:16px}.filter-container{display:flex;align-items:center;gap:12px;min-width:160px}.toggle-switch{position:relative;display:inline-block;width:56px;height:32px}.slider{position:absolute;cursor:pointer;inset:0;background:#32281ecc;border:1px solid rgba(100,80,60,.5);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:2px;box-shadow:inset 0 2px 4px #0009}.slider:before{position:absolute;content:"";height:24px;width:24px;left:3px;bottom:3px;background:linear-gradient(135deg,#3a3028,#2a2018);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:2px;box-shadow:0 2px 4px #000c;border:1px solid rgba(100,80,60,.3)}input:checked+.slider{background:linear-gradient(135deg,#8b000099,#640000b3);border-color:#8b0000cc}input:focus+.slider{box-shadow:inset 0 2px 4px #0009,0 0 0 2px #daa5204d}input:checked+.slider:before{transform:translate(24px);background:linear-gradient(135deg,#daa520,#b8860b);border-color:#daa52080;box-shadow:0 0 10px #daa52080}.toggle-label{font-weight:600;font-size:14px;color:#e5d5bf;letter-spacing:.05em;text-transform:uppercase}.toolbar label{font-weight:600;font-size:14px;color:#e5d5bf;margin-right:8px;text-transform:uppercase;letter-spacing:.05em}.toolbar select{padding:8px 16px;border-radius:2px;border:1px solid rgba(139,0,0,.5);background:linear-gradient(135deg,#231c16e6,#2d231ce6);font-size:14px;font-weight:500;color:#e5d5bf;cursor:pointer;transition:all .2s;outline:none;box-shadow:inset 0 2px 4px #00000080}.toolbar select:hover{border-color:#daa52080;box-shadow:inset 0 2px 4px #00000080,0 0 10px #8b00004d}.toolbar select:focus{border-color:#daa520;box-shadow:inset 0 2px 4px #00000080,0 0 0 2px #daa5204d}.toolbar select option{background:#1a1612}.unitTypeFilter svg g,.unit-search-result-item svg g,.detachment-preview svg g,.unit svg g,.unit-modal-item svg g{fill:#fff}.mobile-warning{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;text-align:center;padding:20px;color:#e5d5bf}.unit-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeIn .2s ease-out}.unit-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#231c16fa,#2d231cfa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(139,0,0,.6);border-radius:4px;box-shadow:0 12px 48px #000000e6,inset 0 1px #daa52033,0 0 40px #8b00004d;z-index:1000;width:400px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:slideInModal .3s cubic-bezier(.4,0,.2,1)}.unit-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(139,0,0,.8),transparent)}.unit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(139,0,0,.3);background:linear-gradient(180deg,rgba(20,16,12,.8) 0%,transparent 100%);flex-shrink:0}.unit-modal-header h3{font-family:Cinzel,serif;font-size:1.1rem;font-weight:700;color:#daa520;margin:0;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 8px rgba(218,165,32,.5)}.unit-modal-close{background:linear-gradient(135deg,#8b0000cc,#640000e6);color:#daa520;border:1px solid rgba(139,0,0,.6);width:32px;height:32px;border-radius:2px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0009,inset 0 1px #daa52033}.unit-modal-close:hover{background:linear-gradient(135deg,#a00000,#780000);transform:scale(1.1) rotate(90deg);border-color:#daa52080}.unit-modal-content{padding:16px;overflow-y:auto;flex:1;min-height:0}.unit-modal-content::-webkit-scrollbar{width:10px}.unit-modal-content::-webkit-scrollbar-track{background:#14100ccc;border-radius:2px}.unit-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b0000,#640000);border-radius:2px;border:1px solid rgba(218,165,32,.3)}.unit-modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a00000,#8b0000)}.unit-modal-clear{width:100%;padding:12px;margin-bottom:16px;background:linear-gradient(135deg,#643200cc,#8b4500e6);color:#daa520;border:1px solid rgba(218,165,32,.4);border-radius:2px;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0009,inset 0 1px #daa52033}.unit-modal-clear:hover{background:linear-gradient(135deg,#783c00e6,#a05000);transform:translateY(-2px);box-shadow:0 4px 12px #000c,inset 0 1px #daa5204d}.unit-modal-list{display:flex;flex-direction:column;gap:8px}.unit-modal-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#2a221a99,#342a2099);border:1px solid rgba(120,100,80,.4);border-radius:2px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 2px #0009}.unit-modal-item:hover{background:linear-gradient(135deg,#8b00004d,#6432004d);border-color:#8b000099;transform:translate(4px);box-shadow:0 2px 8px #8b000066,inset 0 1px #daa5201a}.unit-modal-item.selected{background:linear-gradient(135deg,#8b000099,#640000b3);border-color:#daa520;box-shadow:0 0 0 2px #daa5204d,0 4px 12px #8b000099,inset 0 1px #daa5204d}.unit-modal-item svg{width:32px;height:32px;flex-shrink:0;filter:opacity(70%) grayscale(30%);transition:filter .2s}.unit-modal-item:hover svg,.unit-modal-item.selected svg{filter:opacity(100%) grayscale(0%)}.unit-modal-item span{color:#e5d5bf;font-weight:500;font-size:.95rem;letter-spacing:.02em}.unit-modal-item.selected span{color:#daa520;font-weight:600}.unit-assigned{border-color:#daa52099!important;box-shadow:0 0 0 1px #daa5204d,0 4px 16px #daa52033,inset 0 0 10px #daa5201a!important}.unit-name-overlay{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#8b0000f2,#640000f2);color:#daa520;font-size:8px;font-weight:700;padding:2px 6px;border-radius:2px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 2px 4px #000c;border:1px solid rgba(218,165,32,.4);pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInModal{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:1024px){.App-header{padding:16px 20px}.App-header h1{font-size:1.4rem}.help-btn{padding:10px 20px;font-size:14px}.detachment-block{min-width:280px;max-width:360px;margin:24px 0 0 16px;padding:20px}.detachment-list{padding:0 16px;gap:16px}.toolbar{padding:16px 20px;position:relative;z-index:20}}@media(max-width:768px){.App-header{flex-direction:column;gap:12px;padding:16px;align-items:flex-start}.App-header h1{font-size:1.2rem;width:100%}.nav-buttons{width:100%;flex-direction:column;gap:8px}.nav-btn,.help-btn{width:100%;padding:12px}.toolbar{position:relative;padding:16px;margin-bottom:0;z-index:20}.searchbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px}.filter-container{width:100%;justify-content:space-between}.toolbar label{display:block;margin-bottom:8px}.toolbar select{width:100%;padding:12px}.detachment-list{flex-direction:column;align-items:center;padding:0 16px}.detachment-wrapper{width:100%;max-width:400px}.detachment-block{min-width:100%;max-width:100%;margin:16px 0;padding:20px 16px}.detachment-title{font-size:1.1rem}.detachment-row{justify-content:center}.unit,.unit-prime{width:56px;height:56px}.unit img,.unit svg{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important}.unit-prime img,.unit-prime svg{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;max-width:56px!important;max-height:56px!important}.remove-detachment-btn{top:8px;right:8px;width:28px;height:28px;font-size:18px}.detachment{margin:16px;padding:16px}.unit-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.unit-modal-header{padding:16px 20px}.unit-modal-header h3{font-size:1rem}.unit-modal-item{padding:10px 14px}.unit-modal-item svg{width:28px;height:28px}.unit-modal-item span{font-size:.9rem}.unit-name-overlay{font-size:7px;padding:1px 4px}}@media(max-width:480px){.App-header h1{font-size:1rem;letter-spacing:.05em}.detachment-block{padding:16px 12px}.detachment-title{font-size:1rem;margin-bottom:16px}.unit,.unit-prime{width:48px;height:48px}.unit img,.unit svg{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important}.unit-prime img,.unit-prime svg{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important}.detachment-row{gap:6px}.toolbar{padding:12px}.detachment-list{padding:0 12px}.unit-modal{min-width:260px}.unit-modal-header h3{font-size:.9rem}.unit-modal-item{padding:8px 12px;gap:10px}.unit-modal-item svg{width:24px;height:24px}.unit-modal-item span{font-size:.85rem}}@media print{*,*:before,*:after{box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body,.App{background:#fff!important;background-image:none!important;background-color:#fff!important}html,body,.App,main{background:#fff!important;background-image:none!important;color:#000!important;min-height:auto!important;overflow:visible!important}.App:before,.App:after,main:before,main:after,body:before,body:after,.detachment-block:before,.detachment-block:after,.unit:before,.unit:after,.unit-prime:before,.unit-prime:after,.detachment-preview:before,.detachment-preview:after,.detachment-group-title:after,.counter-container:before,.counter-container:after{display:none!important;content:none!important;background:none!important;background-image:none!important}.App-header{background:#fff!important;border-bottom:3px solid black!important;position:static!important;padding:20px 0!important;page-break-after:avoid}.App-header h1{color:#000!important;text-shadow:none!important;font-size:24pt!important;margin:0!important}.help-btn,.toolbar,.remove-detachment-btn,.unit-modal,.unit-modal-overlay,.detachment,.detachment-selector,.detachment-previews,.detachment-group,.help-panel,[class*=selector],main>p{display:none!important}.counter-container{background:#fff!important;border:2px solid black!important;padding:12pt!important;margin:12pt 0 20pt!important;page-break-inside:avoid;page-break-after:avoid;display:flex!important;visibility:visible!important;opacity:1!important}.counter-item{border:1px solid black!important;background:#fff!important;display:flex!important;visibility:visible!important;opacity:1!important}.counter-label,.counter-value{color:#000!important;text-shadow:none!important}main{padding:0!important;display:block!important}.detachment-list{display:block!important;padding:0!important;margin:0!important;visibility:visible!important}.detachment-wrapper{display:block!important;margin:0 0 20pt!important;page-break-inside:avoid;page-break-after:auto;visibility:visible!important;opacity:1!important}.detachment-wrapper:first-child{page-break-before:avoid;margin-top:0!important}.detachment-block{background:#fff!important;border:3px solid black!important;margin:0!important;padding:16pt!important;max-width:100%!important;min-width:auto!important;page-break-inside:avoid;visibility:visible!important;opacity:1!important;display:block!important}.detachment-block:hover{transform:none!important}.detachment-title{color:#000!important;text-shadow:none!important;font-size:16pt!important;border-bottom:2px solid black!important;padding-bottom:8pt!important;margin-bottom:12pt!important}.detachment-rows{gap:12pt!important}.detachment-row{gap:6pt!important;margin-bottom:8pt!important;page-break-inside:avoid}.unit,.unit-prime,.unit-highlighted,.unit-toggled,.unit-assigned{background:#fff!important;border:2px solid black!important;width:48pt!important;height:48pt!important;cursor:default!important}.unit:hover,.unit-prime:hover{transform:none!important}.unit-prime{border:3px solid black!important}.unit img,.unit svg,.unit-prime img,.unit-prime svg{filter:none!important;width:38pt!important;height:38pt!important;min-width:38pt!important;min-height:38pt!important;max-width:38pt!important;max-height:38pt!important;opacity:1!important}.unit-prime img,.unit-prime svg{width:42pt!important;height:42pt!important;min-width:42pt!important;min-height:42pt!important;max-width:42pt!important;max-height:42pt!important}.unit-highlighted{background:repeating-linear-gradient(45deg,#fff,#fff 4pt,#f0f0f0 4pt 8pt)!important}.unit-toggled{background:#e0e0e0!important}.unit-assigned{border:3px double black!important}.unit-name-overlay{background:#fff!important;color:#000!important;border:1px solid black!important;font-size:7pt!important;padding:2pt 4pt!important}.detachment-block ul{color:#000!important;margin-top:12pt!important;padding-left:20pt!important;border-top:1px solid #666!important;page-break-inside:avoid}.detachment-block li{margin-bottom:4pt!important;font-size:9pt!important;line-height:1.4!important}.unit svg g,.unit svg path,.unit svg circle,.unit svg rect,.unit-prime svg g,.unit-prime svg path,.unit-prime svg circle,.unit-prime svg rect{fill:#000!important;stroke:#000!important}.detachment-wrapper:nth-child(3n){page-break-after:always}.detachment-wrapper:first-child,.detachment-list>.detachment-wrapper:first-child{page-break-before:avoid!important;page-break-after:auto!important;page-break-inside:avoid!important}.counter-container{page-break-after:avoid!important}@page{margin:1.5cm;size:A4 portrait;@top-center{content:"Warhammer Horus Heresy 30k Detachment Builder";font-family:Cinzel,serif;font-size:12pt;font-weight:700}@bottom-right{content:"Page " counter(page);font-size:9pt}}@page :first{@top-center{content:none}}p,span,div,li{text-shadow:none!important;letter-spacing:.02em!important}[style*=gradient]{background:#fff!important;background-image:none!important}*{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}*,.detachment-block,.counter-container,.counter-item{border-color:#000!important}}.toolbar{position:relative;z-index:100}.unit-modal-overlay{z-index:150}.unit-modal{z-index:151}.unit-search-results{z-index:200}.detachment-list,.detachment-block{position:relative;z-index:1}.toolbar{position:relative;z-index:20!important}.unit-search-results{z-index:150!important}.unit-search-wrapper{position:relative;z-index:auto}.unit-modal-overlay{z-index:200!important}.unit-modal{z-index:201!important}@media(max-width:768px){body,html,.App{overflow-x:hidden;max-width:100vw}.toolbar{padding:16px 12px;margin:0;width:100%;box-sizing:border-box}.searchbar{width:100%;box-sizing:border-box}.unit-search-wrapper{width:100%;max-width:100%;box-sizing:border-box}.unit-search-input{width:100%;box-sizing:border-box}.detachment-list{padding:0 12px;margin-top:16px;width:100%;box-sizing:border-box}.detachment-wrapper{width:100%;max-width:100%;margin:16px 0;box-sizing:border-box}.detachment-block{min-width:100%;max-width:100%;margin:0;padding:16px 12px;box-sizing:border-box}.unitTypeFilter{width:100%;box-sizing:border-box;justify-content:flex-start}.detachment-title{font-size:1rem;word-wrap:break-word;overflow-wrap:break-word}.detachment-row{justify-content:flex-start;width:100%;box-sizing:border-box}.counter-container{padding:12px;margin:12px 12px 0;width:calc(100% - 24px);box-sizing:border-box}}@media(max-width:480px){.toolbar{padding:12px 8px}.detachment-list{padding:0 8px}.detachment-block{padding:12px 8px}.detachment-title{font-size:.9rem}.unit,.unit-prime{width:44px;height:44px}.unit img,.unit svg{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important}.unit-prime img,.unit-prime svg{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important}.detachment-row{gap:4px}}.detachment-selector{padding:32px;max-width:1400px;margin:0 auto}.detachment-group{margin-bottom:48px}.detachment-group-title{font-family:Cinzel,serif;font-size:2rem;font-weight:900;margin-bottom:24px;color:#daa520;text-align:left;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 0 20px rgba(218,165,32,.5),0 2px 8px rgba(0,0,0,.8);position:relative;display:inline-block}.detachment-group-title:after{content:"";position:absolute;bottom:-8px;left:0;width:80px;height:3px;background:linear-gradient(90deg,#8b0000,#daa520,#8b0000);box-shadow:0 0 10px #8b000099}.detachment-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px}.detachment-preview{background:linear-gradient(135deg,#231c16f2,#2d231cf2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;padding:24px;box-shadow:0 4px 16px #000c,inset 0 1px #8b00004d;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(139,0,0,.4);text-align:left;position:relative}.detachment-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,0,0,.6),transparent)}.detachment-preview-clickable{cursor:pointer}.detachment-preview-clickable:hover{transform:translateY(-4px);box-shadow:0 12px 32px #000000e6,inset 0 1px #daa5204d,0 0 30px #8b000066;border-color:#8b0000b3}.detachment-preview strong{display:block;font-size:1.1rem;font-weight:700;margin-bottom:16px;color:#daa520;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.8)}.detachment-preview ul{list-style:none;padding:0;margin:16px 0 0}.detachment-preview li{display:flex;align-items:center;gap:8px;padding:8px 0;color:#c8b8a0;font-size:.9rem;border-bottom:1px solid rgba(120,100,80,.25);transition:all .2s}.detachment-preview li:last-child{border-bottom:none}.detachment-preview li:hover{color:#e5d5bf;padding-left:4px;border-bottom-color:#8b00004d}.detachment-preview li svg{flex-shrink:0;opacity:.7;transition:opacity .2s;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.detachment-preview li:hover svg{opacity:.9}.detachment-highlighted{border:2px solid #daa520;box-shadow:0 0 0 4px #daa52033,0 8px 24px #daa5204d,0 0 40px #daa52033,inset 0 1px #daa52066;background:linear-gradient(135deg,#2d2319fa,#37281efa)}.detachment-preview>div{font-size:.85rem;color:#8a7865;margin-bottom:8px;font-weight:500}.detachment-preview>div:first-child{color:#daa520;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8)}@media(max-width:1024px){.detachment-selector{padding:24px 16px}.detachment-group-title{font-size:1.75rem}.detachment-previews{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}}@media(max-width:768px){.detachment-selector{padding:16px}.detachment-group{margin-bottom:32px}.detachment-group-title{font-size:1.5rem;margin-bottom:16px;text-align:center}.detachment-group-title:after{left:50%;transform:translate(-50%);width:60px}.detachment-previews{grid-template-columns:1fr;gap:12px;margin-top:16px}.detachment-preview{padding:20px;margin:0}.detachment-preview strong{font-size:1rem;margin-bottom:12px}.detachment-preview li{padding:6px 0;font-size:.85rem}.detachment-preview>div{font-size:.8rem;margin-bottom:6px}}@media(max-width:480px){.detachment-selector{padding:12px}.detachment-group-title{font-size:1.3rem}.detachment-preview{padding:16px}.detachment-preview strong{font-size:.95rem}.detachment-preview li{font-size:.8rem;gap:6px}.detachment-preview li svg{width:20px;height:20px}.detachment-preview>div{font-size:.75rem}.detachment-preview ul{padding:8px 5px 0 8px}}.detachment-preview-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.detachment-preview-disabled:hover{transform:none;box-shadow:0 4px 16px #000c,inset 0 1px #8b00004d;border-color:#8b000066}.counter-container{display:flex;justify-content:space-around;padding:16px;background:linear-gradient(135deg,#140f0ae6,#1e1612e6);border-radius:4px;margin-bottom:24px;border:1px solid rgba(139,0,0,.4);box-shadow:0 4px 16px #000c,inset 0 1px #8b00004d}.counter-item{display:flex;flex-direction:column;align-items:center;color:#c8b8a0}.counter-label{font-family:Cinzel,serif;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;color:#daa520;text-shadow:0 2px 4px rgba(0,0,0,.8)}.counter-value{font-size:1.8rem;font-weight:900;color:#e5d5bf;text-shadow:0 0 10px rgba(218,165,32,.5);margin-top:8px}.unit-search-container{display:flex;flex-direction:column;gap:16px;flex:1}.unit-search-wrapper{position:relative;flex:1;max-width:calc(100% - 160px)}.unit-search-wrapper h3{color:#e5d5bf;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.unitTypeFilter{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.unitTypeFilter svg{width:36px;height:36px;cursor:pointer;padding:6px;background:linear-gradient(135deg,#2a221ae6,#342a20e6);border-radius:2px;border:1px solid rgba(120,100,80,.4);transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 2px #0009;filter:grayscale(40%)}.unitTypeFilter svg:hover{transform:scale(1.1);border-color:#8b000099;box-shadow:0 4px 12px #8b000066,inset 0 1px #daa52033;filter:grayscale(0%)}.unit-search-input{width:100%;padding:14px 45px 14px 20px;border:1px solid rgba(139,0,0,.4);border-radius:2px;font-size:15px;font-weight:500;color:#e5d5bf;background:linear-gradient(135deg,#231c16e6,#2d231ce6);transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;box-shadow:inset 0 2px 4px #0009}.unit-search-input::placeholder{color:#7a6d5f;font-weight:400}.unit-search-input:focus{border-color:#daa520;box-shadow:inset 0 2px 4px #0009,0 0 0 2px #daa5204d,0 0 20px #daa52033}.unit-search-dropdown-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center}.unit-search-dropdown-arrow svg{width:20px;height:20px;stroke:#7a6d5f;transition:transform .2s}.unit-search-dropdown-arrow.open svg{transform:rotate(180deg)}.unit-search-clear{position:absolute;right:40px;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#8b0000cc,#640000e6);color:#daa520;border:1px solid rgba(139,0,0,.6);width:28px;height:28px;border-radius:2px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0009,inset 0 1px #daa52033}.unit-search-clear:hover{background:linear-gradient(135deg,#a00000,#780000);transform:translateY(-50%) scale(1.1) rotate(90deg);border-color:#daa52080}.unit-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:320px;overflow-y:auto;background:#231c16fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:2px;box-shadow:0 8px 32px #000000e6,inset 0 1px #8b00004d;z-index:100;list-style:none;padding:8px;margin:0;border:1px solid rgba(139,0,0,.5)}.unit-search-results::-webkit-scrollbar{width:10px}.unit-search-results::-webkit-scrollbar-track{background:#14100ccc;border-radius:2px}.unit-search-results::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b0000,#640000);border-radius:2px;border:1px solid rgba(218,165,32,.3)}.unit-search-results::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a00000,#8b0000)}.unit-search-result-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-radius:2px;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:500;color:#c8b8a0;border:1px solid transparent}.unit-search-result-item svg{width:32px;height:32px;flex-shrink:0;opacity:.7;transition:opacity .2s;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.unit-search-result-item:hover,.unit-search-result-item.focused{background:linear-gradient(135deg,#8b000033,#64320033);color:#daa520;border-color:#8b000066;box-shadow:inset 0 1px #daa5201a}.unit-search-result-item:hover svg,.unit-search-result-item.focused svg{opacity:1}.unit-search-result-item span{font-size:.85rem;color:#8a7865;font-weight:400}.selected-units-wrapper{display:flex;flex-direction:column;gap:12px;flex:1}.selected-units{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.selected-unit{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#8b0000cc,#640000e6);color:#daa520;border-radius:2px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 2px 8px #000c,inset 0 1px #daa52033;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid rgba(139,0,0,.6)}.selected-unit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b0000cc,inset 0 1px #daa5204d;border-color:#daa52080}.selected-unit svg{width:24px;height:24px;flex-shrink:0;filter:brightness(0) invert(1) sepia(1) saturate(5) hue-rotate(10deg)}.selected-unit button{background:#0006;border:1px solid rgba(218,165,32,.3);color:#daa520;width:22px;height:22px;border-radius:2px;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:4px;box-shadow:inset 0 1px 2px #0009}.selected-unit button:hover{background:#0009;transform:scale(1.1);border-color:#daa520;box-shadow:inset 0 1px 2px #0009,0 0 8px #daa52066}.selected-unit button:active{transform:scale(.9)}@media(max-width:1024px){.unit-search-wrapper{max-width:100%}.unitTypeFilter svg{width:32px;height:32px}}@media(max-width:768px){.unit-search-container{gap:12px}.unit-search-wrapper{max-width:100%}.unit-search-wrapper h3{font-size:.85rem;margin-bottom:8px}.unitTypeFilter{gap:6px;margin-bottom:10px;justify-content:center}.unitTypeFilter svg{width:36px;height:36px;padding:5px}.unit-search-input{padding:12px 40px 12px 16px;font-size:14px}.unit-search-clear{width:26px;height:26px;font-size:18px}.unit-search-results{max-height:240px;padding:6px}.unit-search-result-item{padding:10px 12px;font-size:.9rem}.unit-search-result-item svg{width:28px;height:28px}.unit-search-result-item span{font-size:.75rem}.selected-units-wrapper{gap:8px}.selected-units{gap:8px;justify-content:center}.selected-unit{padding:6px 10px;font-size:.8rem}.selected-unit svg{width:20px;height:20px}.selected-unit button{width:20px;height:20px;font-size:14px}}@media(max-width:480px){.unitTypeFilter{gap:4px}.unitTypeFilter svg{width:32px;height:32px;padding:4px}.unit-search-input{padding:10px 38px 10px 14px;font-size:13px}.unit-search-clear{width:24px;height:24px;font-size:16px;right:10px}.unit-search-results{max-height:200px}.unit-search-result-item{padding:8px 10px;font-size:.85rem;gap:8px}.unit-search-result-item svg{width:24px;height:24px}.selected-unit{padding:5px 8px;font-size:.75rem;gap:6px}.selected-unit svg{width:18px;height:18px}.selected-unit button{width:18px;height:18px;font-size:12px}}@media(max-width:768px)and (orientation:landscape){.unitTypeFilter{margin-bottom:8px}.unit-search-results{max-height:180px}}.import-export-container{display:flex;gap:12px;align-items:center}.import-export-container .nav-btn{background:linear-gradient(135deg,#2a221acc,#342a20e6);color:#e5d5bf;border:1px solid rgba(120,100,80,.4);padding:10px 24px;border-radius:2px;cursor:pointer;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0009,inset 0 1px #64503c33;position:relative}.import-export-container .nav-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(218,165,32,.05) 100%);opacity:0;transition:opacity .2s;border-radius:2px}.import-export-container .nav-btn:hover{background:linear-gradient(135deg,#342a20e6,#3e3226);border-color:#8b000080;transform:translateY(-2px);box-shadow:0 4px 12px #000c,inset 0 1px #daa52033;color:#daa520}.import-export-container .nav-btn:hover:before{opacity:1}.import-export-container .nav-btn:active{transform:translateY(0)}.btn-import{background:linear-gradient(135deg,#8b0000cc,#640000e6)!important;color:#daa520!important;border:1px solid rgba(218,165,32,.3)!important}.btn-import:hover{background:linear-gradient(135deg,#8b0000e6,#780000)!important;border-color:#daa52080!important}.help-panel{position:fixed;top:0;right:-600px;width:600px;height:100vh;background:linear-gradient(180deg,#0f0c0afa,#140f0cfa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:-8px 0 32px #000000e6;transition:right .4s cubic-bezier(.4,0,.2,1);z-index:1000;overflow-y:auto;border-left:2px solid rgba(139,0,0,.6)}.help-panel.open{right:0}.help-content{padding:48px;max-width:100%;position:relative}.help-content h1{font-family:Cinzel,serif;font-size:2rem;font-weight:900;color:#daa520;margin-bottom:24px;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 0 20px rgba(218,165,32,.5),0 2px 8px rgba(0,0,0,.8)}.help-content h2{font-family:Cinzel,serif;font-size:1.5rem;font-weight:700;color:#daa520;margin-top:32px;margin-bottom:16px;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.8);border-bottom:1px solid rgba(139,0,0,.3);padding-bottom:8px}.help-content h3{font-size:1.2rem;font-weight:600;color:#b8a898;margin-top:24px;margin-bottom:12px;letter-spacing:.03em}.help-content p{color:#b8a898;line-height:1.8;margin-bottom:16px;font-size:.95rem}.help-content ul,.help-content ol{color:#b8a898;line-height:1.8;margin-bottom:16px;padding-left:24px}.help-content li{margin-bottom:8px}.help-content code{background:#8b000033;color:#daa520;padding:2px 8px;border-radius:2px;font-size:.9em;font-family:Courier New,monospace;border:1px solid rgba(139,0,0,.3)}.help-content pre{background:#0a0806e6;color:#d4c5a9;padding:20px;border-radius:2px;overflow-x:auto;margin:16px 0;font-size:.9rem;box-shadow:0 4px 12px #000c,inset 0 1px #8b000033;border:1px solid rgba(139,0,0,.4)}.help-content pre code{background:none;color:inherit;padding:0;border:none}.help-content a{color:#daa520;text-decoration:none;font-weight:600;transition:color .2s;text-shadow:0 1px 2px rgba(0,0,0,.8)}.help-content a:hover{color:gold;text-decoration:underline;text-shadow:0 0 10px rgba(218,165,32,.5)}.close-btn{position:sticky;top:16px;right:16px;float:right;background:linear-gradient(135deg,#8b0000e6,#640000);color:#daa520;border:1px solid rgba(139,0,0,.8);width:40px;height:40px;border-radius:2px;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #000c,inset 0 1px #daa52033;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;z-index:10;font-weight:700}.close-btn:hover{background:linear-gradient(135deg,#a00000,#780000);transform:scale(1.05) rotate(90deg);box-shadow:0 6px 16px #8b0000cc,inset 0 1px #daa5204d;border-color:#daa52080}.close-btn:active{transform:scale(.95)}.help-panel::-webkit-scrollbar{width:12px}.help-panel::-webkit-scrollbar-track{background:#0a0806cc;border-left:1px solid rgba(139,0,0,.3)}.help-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b0000,#640000);border-radius:2px;border:1px solid rgba(218,165,32,.3)}.help-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a00000,#8b0000);box-shadow:0 0 10px #8b000080}@media(max-width:768px){.help-panel{width:100%;right:-100%}.help-content{padding:32px 24px}}.help-panel h6{color:#b8a898}.toggle-container{display:flex;align-items:center;margin:24px 0;background:#0a0806e6;padding:16px;border-radius:2px;box-shadow:0 4px 12px #000c,inset 0 1px #8b000033;border:1px solid rgba(139,0,0,.4)}.toggle-label{margin-left:16px;font-family:Cinzel,serif;font-weight:700;color:#daa520;letter-spacing:.05em;text-transform:uppercase;font-size:1rem;text-shadow:0 2px 4px rgba(0,0,0,.8)}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#333;transition:.4s;border-radius:2px;border:1px solid #8b0000}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:3px;background-color:#8b0000;transition:.4s;border-radius:1px}input:checked+.slider{background-color:#5a0000}input:focus+.slider{box-shadow:0 0 1px #daa520}input:checked+.slider:before{transform:translate(26px);background-color:#daa520}
