/* ARMORY · Militaer-Stencil, Fadenkreuz, Einschuesse, Waffenspind */
html[data-theme] body { --mono: 'Share Tech Mono', ui-monospace, monospace; }
html[data-theme] .fxt { background: repeating-linear-gradient(115deg, rgba(0, 0, 0, 0.22) 0 2px, transparent 2px 9px), linear-gradient(180deg, #f2ecd6 0%, #c4bc9e 52%, #7f7a64 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 3px 0 rgba(0, 0, 0, 0.6)) drop-shadow(0 0 30px rgba(255, 176, 59, 0.15)); }
html[data-theme] .ph-t { font-size: clamp(60px, 15cqi, 160px); line-height: 0.9; letter-spacing: 0.02em; }
html[data-theme] .ph-s { font-family: var(--mono); letter-spacing: 0.55em; color: rgb(var(--acc)); }
html[data-theme] .kick { font-family: var(--mono); letter-spacing: 0.3em; }
html[data-theme] .kick::before { width: 0; height: 0; border-left: 8px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; background: none; box-shadow: none; }
html[data-theme] .ph-fx { background: linear-gradient(90deg, rgba(10, 11, 8, 0.95) 0%, rgba(10, 11, 8, 0.6) 50%, rgba(10, 11, 8, 0.2) 100%), repeating-linear-gradient(0deg, rgba(128, 134, 84, 0.04) 0 1px, transparent 1px 4px); }
/* Schiessen markierte Text (Doppel-/Dreifachklick); zog man danach, startete der Browser ein Ziehen der Markierung und die Kopfzeile
   nahm keine Klicks mehr an -> im Hero keine Markierung, kein Bildziehen */
html[data-theme] .ph { cursor: none; -webkit-user-select: none; user-select: none; }
html[data-theme] .ph img { -webkit-user-drag: none; }
html[data-theme] .ph a, html[data-theme] .ph button { cursor: pointer; }
.fx-armory { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.fx-armory .xh { position: absolute; left: 0; top: 0; width: 120px; height: 120px; margin: -60px 0 0 -60px; transform: translate3d(70vw, 50vh, 0); will-change: transform; transition: opacity 0.3s; }
.fx-armory .xh::before { content: ""; position: absolute; inset: 0; border: 1.5px solid rgba(255, 176, 59, 0.85); border-radius: 50%; box-shadow: 0 0 16px rgba(255, 176, 59, 0.3); }
.fx-armory .xh i { position: absolute; background: rgba(255, 176, 59, 0.9); }
.fx-armory .xh i:nth-child(1) { left: 50%; top: -14px; bottom: -14px; width: 1.5px; margin-left: -0.75px; -webkit-mask: linear-gradient(#000 40%, transparent 40%, transparent 60%, #000 60%); mask: linear-gradient(#000 40%, transparent 40%, transparent 60%, #000 60%); }
.fx-armory .xh i:nth-child(2) { top: 50%; left: -14px; right: -14px; height: 1.5px; margin-top: -0.75px; -webkit-mask: linear-gradient(90deg, #000 40%, transparent 40%, transparent 60%, #000 60%); mask: linear-gradient(90deg, #000 40%, transparent 40%, transparent 60%, #000 60%); }
.fx-armory .xh b { position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; margin: -2.5px; border-radius: 50%; background: #ff4b2b; box-shadow: 0 0 10px #ff4b2b; }
.fx-armory .xh-r { position: absolute; left: 100%; top: 100%; white-space: nowrap; font: 500 10px var(--mono); letter-spacing: 0.12em; color: rgba(255, 176, 59, 0.9); }
.fx-armory.off .xh { opacity: 0; }
.fx-armory .holes i { position: absolute; width: 26px; height: 26px; margin: -13px; border-radius: 50%; background: radial-gradient(circle, #050505 0 22%, #2a2722 30%, rgba(60, 55, 45, 0.6) 46%, transparent 62%); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3); animation: hole 6s ease-in forwards; }
.fx-armory .holes i::after { content: ""; position: absolute; inset: -30px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 200, 120, 0.9), rgba(255, 120, 30, 0.4) 30%, transparent 60%); animation: flash 0.12s ease-out forwards; }
@keyframes hole { 85% { opacity: 1; } 100% { opacity: 0; } }
@keyframes flash { to { opacity: 0; transform: scale(1.6); } }
.fx-armory .ammo { position: absolute; right: var(--gut); bottom: 36px; display: flex; align-items: flex-end; gap: 3px; font: 500 10px var(--mono); color: rgba(255, 176, 59, 0.8); letter-spacing: 0.2em; }
.fx-armory .ammo span { margin-right: 10px; }
.fx-armory .ammo i { width: 4px; height: 16px; border-radius: 1px 1px 0 0; background: rgba(255, 176, 59, 0.85); transition: opacity 0.1s, transform 0.2s; }
.fx-armory .ammo i.spent { opacity: 0.12; transform: translateY(4px); }
html[data-theme] .ph.kick-back .ph-grid { animation: recoil 0.12s ease-out; }
@keyframes recoil { 30% { transform: translate(3px, -2px); } }
html[data-theme] .btn--acc { border-radius: 4px; clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); font-family: var(--mono); }
html[data-theme] .btn--ghost { border-radius: 4px; }
html[data-theme] .ph-meta li { font-family: var(--mono); }
html[data-theme] .ph-meta li + li::before, html[data-theme] .pb .gem { width: 8px; height: 3px; transform: none; border-radius: 0; }
html[data-theme] .pt-card { clip-path: polygon(22px 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%, 0 22px); background: linear-gradient(160deg, rgba(128, 134, 84, 0.14), transparent 50%), rgba(14, 15, 11, 0.9); border-color: rgba(128, 134, 84, 0.35); }
html[data-theme] .pt-card h3 span, html[data-theme] .pt-claim { font-family: var(--mono); }
html[data-theme] .pd .num { font-family: var(--mono); font-weight: 400; color: rgb(var(--acc)); text-shadow: 0 0 18px rgba(255, 176, 59, 0.5); }
html[data-theme] .pd-grid li { background: repeating-linear-gradient(0deg, rgba(128, 134, 84, 0.06) 0 1px, transparent 1px 5px); }
/* Waffenspind */
.lk { --row: 58px; display: grid; grid-template-columns: 300px minmax(0, 1fr); border: 1px solid rgba(128, 134, 84, 0.35); background: rgba(14, 15, 11, 0.85); clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 26px 100%, 0 calc(100% - 26px)); }
/* Auswahl: fuenf Kategorien sichtbar, der Rest per Drehen, Ziehen oder Pfeil */
.lk-side { display: grid; grid-template-rows: 44px calc(var(--row) * 5) 44px; border-right: 1px solid rgba(128, 134, 84, 0.3); }
.lk-mv { display: grid; place-items: center; color: rgba(255, 176, 59, 0.75); background: rgba(128, 134, 84, 0.06); transition: background-color 0.2s, color 0.2s; }
.lk-mv:hover { background: rgb(var(--acc)); color: #0a0b08; }
.lk-mv svg { width: 20px; height: 20px; }
.lk-tabs { display: block; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; cursor: grab;
  -webkit-mask-image: linear-gradient(#000 82%, rgba(0, 0, 0, 0.25)); mask-image: linear-gradient(#000 82%, rgba(0, 0, 0, 0.25)); }
.lk-tabs.mid { -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0.25), #000 18%, #000 82%, rgba(0, 0, 0, 0.25)); mask-image: linear-gradient(rgba(0, 0, 0, 0.25), #000 18%, #000 82%, rgba(0, 0, 0, 0.25)); }
.lk-tabs.end { -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0.25), #000 18%); mask-image: linear-gradient(rgba(0, 0, 0, 0.25), #000 18%); }
.lk-tabs::-webkit-scrollbar { display: none; }
.lk-tabs.drag { cursor: grabbing; }
.lk-tabs.drag button { pointer-events: none; }
.lk-tabs button { display: flex; align-items: center; gap: 12px; width: 100%; height: var(--row); padding: 0 18px; text-align: left; font: 500 13px var(--mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--mute); border-bottom: 1px solid rgba(128, 134, 84, 0.18); transition: color 0.2s, background-color 0.2s; }
.lk-tabs button span { font-size: 10px; color: rgba(255, 176, 59, 0.6); }
.lk-tabs button em { margin-left: auto; font-style: normal; font-size: 11px; color: rgba(255, 255, 255, 0.35); }
.lk-tabs button:hover { color: var(--fg); background: rgba(128, 134, 84, 0.08); }
.lk-tabs button.on { color: #0a0b08; background: rgb(var(--acc)); }
.lk-tabs button.on :is(span, em) { color: #0a0b08; }
.lk-panels { position: relative; height: calc(var(--row) * 5 + 88px); overflow-y: auto; scrollbar-width: thin; padding: 26px 30px; background: repeating-linear-gradient(90deg, rgba(128, 134, 84, 0.05) 0 1px, transparent 1px 40px), repeating-linear-gradient(0deg, rgba(128, 134, 84, 0.05) 0 1px, transparent 1px 40px); }
.lk-p { display: none; }
.lk-p.on { display: block; }
.lk-p h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-bottom: 18px; font: 400 clamp(28px, 3vw, 42px)/1 var(--t-disp); text-transform: uppercase; }
.lk-p h3 small { font: 500 12px var(--mono); color: rgb(var(--acc)); letter-spacing: 0.14em; }
/* Waffen: Name, Aktionen mit Dateizahlen, Handhabung */
.lk-w { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.lk-w li { position: relative; display: flex; align-items: flex-start; gap: 14px; padding: 14px 16px; border: 1px solid rgba(128, 134, 84, 0.3); background: rgba(10, 11, 8, 0.7); animation: lkin 0.5s var(--ease-out) both; animation-delay: calc(var(--k) * 45ms); transition: border-color 0.25s, background-color 0.25s; }
.lk-w li:hover { border-color: rgb(var(--acc)); background: rgba(255, 176, 59, 0.06); }
.lk-w .sn { margin-top: 5px; font: 500 10px var(--mono); color: rgba(255, 176, 59, 0.7); }
.lk-n { flex: 1; min-width: 0; }
.lk-n b { display: block; font: 400 21px/1 var(--t-disp); text-transform: uppercase; }
.lk-a { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.lk-a span { display: inline-flex; align-items: center; gap: 6px; padding: 3px 7px 3px 3px; border: 1px solid rgba(255, 176, 59, 0.3); font: 500 10px/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: #d8d2bd; }
.lk-a i { min-width: 18px; padding: 3px 4px; font-style: normal; text-align: center; background: rgba(255, 176, 59, 0.85); color: #0a0b08; }
.lk-h { margin-top: 8px; font: 400 12px/1.45 var(--mono); color: var(--mute); }
.lk-w em { position: absolute; top: 15px; right: 16px; font: 500 10.5px var(--mono); font-style: normal; letter-spacing: 0.08em; color: rgba(255, 176, 59, 0.75); white-space: nowrap; }
.lk-n b { padding-right: 70px; }
.lk-w.few { grid-template-columns: minmax(0, 1fr); }
.lk-w.few li { padding: 22px 24px; }
.lk-w.few .lk-n b { font-size: 34px; }
.lk-w.imp { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
@keyframes lkin { from { opacity: 0; transform: translateY(10px); } }
@media (max-width: 860px) { .lk { grid-template-columns: minmax(0, 1fr); } .lk-side { border-right: 0; border-bottom: 1px solid rgba(128, 134, 84, 0.3); grid-template-rows: 40px calc(var(--row) * 3) 40px; } .lk-panels { height: auto; max-height: none; } .lk-w { grid-template-columns: minmax(0, 1fr); } .ph { cursor: auto; } .fx-armory .xh { display: none; } }
@media (max-width: 720px) { html[data-theme] .fx-armory .ammo { display: none; } }
.lk-tabs button:focus-visible { outline: 2px solid rgb(var(--acc)); outline-offset: -4px; }
