.weapon-world main{max-width:900px}
.weapon-world #greeting{margin:12px 0 24px;color:var(--muted);font-size:1.1rem}
.world-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
/* A tile is a button (owner rule 6.10): icon + at most two words, no frame; the count is a separate badge */
.world-action{position:relative;display:grid;align-content:center;justify-items:start;gap:12px;padding:22px;min-height:132px;border:0;border-radius:24px;background:var(--panel);color:var(--text);text-decoration:none;line-height:1.4;min-width:0}
.world-action svg{width:36px;height:36px;stroke:var(--gold);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.world-action strong{font-size:1.3rem;overflow-wrap:normal;word-break:normal;hyphens:none;max-width:100%}
.world-count{position:absolute;inset-block-start:18px;inset-inline-end:18px;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:var(--bad,#ff9aa4);color:var(--mf-on-accent,#0E0E10);font-weight:800;font-size:.95rem;line-height:30px;text-align:center}
.world-action:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(hover:hover){.world-action:hover{background:var(--mf-input,#2a2a32)}}
.world-action:active{transform:scale(.99)}
.weapon-world #upcoming{margin-top:24px}
.world-dates{padding:0;list-style:none;margin:0;display:grid;gap:12px}
.world-dates li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:#ffffff08}
.world-exceptions li.overdue{background:#ff9aa414}
.weapon-world #exceptions{margin-top:24px;scroll-margin-top:16px}
.weapon-world .world-empty{color:var(--muted);margin:0}
.world-dates li>a{color:var(--text);text-decoration:none;min-width:0;flex:1 1 180px;overflow-wrap:anywhere;line-height:1.6}
.world-dates time{direction:ltr;unicode-bidi:isolate;white-space:nowrap;color:var(--gold)}
.world-dates .overdue time{color:var(--bad)}
.world-dates small{display:block;color:var(--muted)}
.weapon-world #retry{margin-bottom:20px}
@media(max-width:480px){.world-action{padding:18px;min-height:112px}.weapon-world>header h1{flex-basis:auto}.world-actions{gap:12px}}
@media(prefers-reduced-motion:reduce){.world-action:active{transform:none}}
