:root { --bg-color: #1e1e1e; --text-color: #e0e0e0; --section-bg: #2d2d2d; --border-color: #404040; --highlight: #3c5c7c; --success: #4caf50; --warning: #ff9800; --error: #f44336; } body { background-color: var(--bg-color); color: var(--text-color); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; margin: 0; padding: 20px; } h1, h2, h3 { color: var(--text-color); border-bottom: 1px solid var(--border-color); padding-bottom: 10px; } .container { max-width: 1200px; margin: 0 auto; } textarea { width: 100%; height: 120px; background-color: var(--section-bg); color: var(--text-color); border: 1px solid var(--border-color); padding: 6px; border-radius: 4px; font-family: monospace; margin-bottom: 10px; } button { background-color: #4CAF50; border: none; color: white; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 14px; margin: 4px 2px; cursor: pointer; border-radius: 4px; transition: background-color 0.3s; } button:hover { background-color: #45a049; } .section { background-color: var(--section-bg); border-radius: 8px; padding: 12px 15px; margin: 10px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.2); } .score-container { text-align: center; padding: 20px; margin: 20px 0; } .score-flex { display: flex; align-items: center; justify-content: center; gap: 60px; width: 100%; } .score-left { display: flex; flex-direction: column; align-items: center; min-width: 180px; } .score-indicators { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .score-container h2 { font-size: 1.3em; margin-bottom: 8px; border-bottom: none; padding-bottom: 0; } .score-circle { width: 110px; height: 110px; border-radius: 50%; margin: 0 auto; position: relative; background: conic-gradient(var(--success) 0%, var(--success) var(--score), #444 var(--score), #444 100%); } .score-inner { position: absolute; width: 90px; height: 90px; background: var(--section-bg); border-radius: 50%; top: 10px; left: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.7em; font-weight: bold; } .status { padding: 8px 12px; margin: 5px 0; border-radius: 4px; display: inline-block; font-weight: bold; } .status.good { background-color: #2d5a2d; color: #90EE90; border-left: 4px solid #4CAF50; } .status.warning { background-color: #5a4d2d; color: #FFD700; border-left: 4px solid #FF9800; } .status.error { background-color: #5a2d2d; color: #FFB6C1; border-left: 4px solid #f44336; } .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; margin: 10px 0; width: 100%; } pre, code { background-color: var(--bg-color); padding: 6px; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 0.97em; max-width: 100%; } .details pre { white-space: pre-wrap; word-break: break-word; } .mail-flow { position: relative; list-style: none; padding-left: 20px; } .mail-flow li { position: relative; padding: 10px; margin: 10px 0; background-color: var(--bg-color); border-radius: 4px; } .mail-flow li::before { content: "↓"; position: absolute; left: -20px; color: white; } .mail-flow li:first-child::before { display: none; } .compact-score { padding: 10px 15px; margin: 10px 0 10px 0; } /* Security Analysis vertical layout */ .security-analysis-vertical { display: flex; flex-direction: column; gap: 18px; } .security-analysis-vertical .section { margin-bottom: 15px; padding: 10px; border-left: 3px solid #555; background: none; box-shadow: none; } nav { width: 100%; background: #181818; padding: 0.5em 0 0.5em 1.5em; margin-bottom: 18px; box-shadow: 0 2px 4px rgba(0,0,0,0.12); display: flex; align-items: center; } nav a { color: #fff; text-decoration: none; font-weight: bold; font-size: 1.1em; margin-right: 2em; letter-spacing: 0.5px; } nav a:hover { text-decoration: underline; } .container, .section, .grid { word-break: break-word; overflow-wrap: anywhere; } .explanation { background-color: #2a2a2a; border-left: 4px solid #555; padding: 10px; margin: 10px 0; border-radius: 0 4px 4px 0; } .explanation small { color: #ccc; line-height: 1.4; } @media print { body { background-color: white; color: black; } .section { background-color: white; color: black; box-shadow: none; border: 1px solid #ccc; } .score-circle, .score-inner { background: white; color: black; } pre, code { background: #f5f5f5; color: black; border: 1px solid #ccc; white-space: pre-wrap; word-break: break-word; } } @media (max-width: 700px) { .score-flex { flex-direction: column; align-items: stretch; gap: 15px; } .score-indicators { flex-direction: row; gap: 8px; min-width: 0; justify-content: center; } } @media (max-width: 768px) { .grid { grid-template-columns: 1fr; } }