
        /* Grid System */
        .weapon-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        @media (min-width: 768px) {
            .weapon-grid {
                grid-template-columns: 1fr 1fr;
                gap: 2rem;
            }
        }

        /* Weapon Cards */
        .weapon-card {
            background-color: #333;
            border-radius: 4px;
            overflow: hidden;
            transition: border-color 0.2s, background-color 0.2s;
            border: 1px solid #444;
            display: flex;
            flex-direction: column;
            padding: 1.25rem;
        }

        @media (min-width: 768px) {
            .weapon-card { padding: 1.5rem; }
        }

        .weapon-card:hover {
            border-color: #d97706;
            background-color: #3a3a3a;
        }

        .weapon-card.signature-border {
            border-color: rgba(217, 119, 6, 0.3);
        }

        .weapon-header {
            margin-bottom: 1.25rem;
        }

        .weapon-card h3 {
            font-size: 1.25rem;
            font-weight: bold;
        }

        .weapon-info-row {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-top: 4px;
        }

        .star-rating {
            display: flex;
            gap: 2px;
            color: #d97706;
            font-size: 1.1rem;
        }

        .star-full::before { content: '★'; }
        .star-empty::before { content: '☆'; color: #555; }
        .star-half {
            position: relative;
            display: inline-block;
            color: #555;
        }
        .star-half::before { content: '☆'; }
        .star-half::after {
            content: '★';
            position: absolute; left: 0; top: 0; width: 50%; overflow: hidden; color: #d97706;
        }

        .attachment-info {
            font-size: 0.75rem;
            color: #aaa;
            padding-left: 12px;
            border-left: 1px solid #444;
            font-weight: bold;
        }

        /* Stat Bars */
        .stat-row {
            display: grid;
            grid-template-columns: 90px 1fr;
            align-items: center;
            gap: 10px;
            margin-bottom: 8px;
        }

        @media (min-width: 768px) {
            .stat-row { grid-template-columns: 100px 1fr; gap: 15px; }
        }

        .stat-label {
            font-size: 0.7rem;
            color: #aaa;
            font-weight: bold;
        }

        .stat-bar {
            height: 8px;
            background-color: #222;
            border-radius: 0px;
            overflow: hidden;
            border: 1px solid #444;
        }

        .stat-fill {
            height: 100%;
            background-color: #d97706;
        }

        /* Attachment List */
        .attachment-list {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 15px;
            padding-top: 15px;
            border-top: 1px solid #444;
        }

        .attachment-tag {
            font-size: 0.65rem;
            background-color: #222;
            color: #ccc;
            padding: 3px 8px;
            border-radius: 2px;
            border: 1px solid #555;
        }

        .attachment-tag.installed {
            border-color: #d97706;
            color: #d97706;
        }

        .no-mods {
            font-size: 0.75rem;
            color: #4b5563;
            font-style: italic;
        }

        .signature-tag {
            background-color: #d97706;
            color: #000;
            font-weight: bold;
            padding: 2px 8px;
            font-size: 0.65rem;
            border-radius: 2px;
            text-transform: uppercase;
            display: inline-block;
            margin-bottom: 4px;
        }