.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .card { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); padding: 18px; } .tone_positive { border-color: rgba(0, 198, 122, 0.24); box-shadow: 0 0 0 1px rgba(0, 198, 122, 0.08), var(--shadow-sm); } .tone_critical { border-color: rgba(255, 71, 87, 0.24); box-shadow: 0 0 0 1px rgba(255, 71, 87, 0.08), var(--shadow-sm); } .header { margin-bottom: 14px; } .titleWrap { display: flex; align-items: flex-start; gap: 12px; } .iconWrap { width: 34px; height: 34px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-surface-2); color: var(--accent); } .title { margin: 0; color: var(--text-primary); font-size: 16px; font-weight: 700; } .subtitle { margin: 4px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.45; } .body { display: flex; flex-direction: column; gap: 10px; } .row { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); } .label { color: var(--text-secondary); font-size: 12.5px; font-weight: 600; } .value { color: var(--text-primary); font-size: 12.5px; text-align: right; } .strong { font-weight: 700; } .mono { font-family: var(--font-mono); } .ruleBlock, .flagBlock { display: flex; flex-direction: column; gap: 10px; padding-top: 6px; } .ruleTitle { display: inline-flex; align-items: center; gap: 8px; color: var(--text-secondary); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; } .ruleItem { padding: 12px; border-radius: var(--radius-md); background: var(--bg-surface-2); border: 1px solid var(--border); } .ruleHead { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; } .ruleCode { color: var(--text-primary); font-size: 11.5px; font-weight: 700; font-family: var(--font-mono); } .ruleWeight { color: var(--accent); font-size: 11.5px; font-weight: 700; } .ruleReason { margin: 0; color: var(--text-secondary); font-size: 12.5px; line-height: 1.45; } .flagList { display: flex; flex-wrap: wrap; gap: 8px; } .flag { background: var(--bg-surface-2); border: 1px solid var(--border); border-radius: 999px; padding: 6px 10px; color: var(--text-primary); font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; } .empty { margin: 0; color: var(--text-muted); font-size: 12.5px; } @media (max-width: 960px) { .grid { grid-template-columns: 1fr; } }