*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}#dmarc-root{width:100%;max-width:850px;margin:0 auto}.widget-wrapper{display:flex;flex-direction:column;gap:20px}.widget-title{text-align:center;font-size:22px;font-weight:600}.widget-sub{text-align:center;color:var(--text-muted);font-size:15px;line-height:1.6}.sim-grid{display:flex;flex-wrap:wrap;gap:20px}.control-card{flex:1;min-width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.control-card h3{font-size:14px;font-weight:600;margin-bottom:4px}.control-card .control-hint{font-size:12px;color:var(--text-muted);margin-bottom:14px;line-height:1.5}.option-group{display:flex;flex-direction:column;gap:8px}.option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;cursor:pointer;background:var(--surface);font-family:inherit;text-align:left;transition:border-color .15s ease,background .15s ease}.option:hover{border-color:var(--primary)}.option--active{border-color:var(--primary);background:var(--primary-faint)}.option-dot{width:8px;height:8px;border-radius:50%;background:var(--border);flex-shrink:0}.option--active .option-dot{background:var(--primary)}.option code{font-family:var(--font-mono);font-size:12px}.field-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.text-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:13px;color:var(--text);outline:none}.text-input:focus,.spf-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #7367f026}.spf-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--text);resize:vertical;outline:none}.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.preset-label{font-size:11px;color:var(--text-muted);margin-right:2px}.preset-btn{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-family:inherit;font-size:11px;color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.preset-btn:hover{border-color:var(--primary);background:var(--primary-faint)}.preset-btn--active{border-color:var(--primary);background:var(--primary-faint);color:var(--primary);font-weight:600}.fine-print{margin-top:10px;font-size:11px;color:var(--text-faint);line-height:1.6}.fine-print code{font-family:var(--font-mono);font-size:11px}.facts{margin-top:14px;background:var(--bg);border-radius:var(--radius);padding:10px 12px}.facts-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-muted);padding:3px 0}.facts-row code{font-family:var(--font-mono);font-size:12px;color:var(--text);word-break:break-all;text-align:right}.verdict-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.trace{margin-bottom:16px}.trace-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-bottom:8px}.token-line{display:flex;align-items:baseline;gap:12px;padding:5px 0;border-bottom:1px solid var(--bg)}.token-line code{font-family:var(--font-mono);font-size:12px;white-space:nowrap}.token-line em{font-style:normal;font-size:12px;color:var(--text-muted);text-align:right;flex:1}.token-line--match code{color:#1f7a4d;font-weight:600}.token-line--no-match code,.token-line--info code,.token-line--info em{color:var(--text-faint)}.trace-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bg);font-size:14px}.trace-line:last-child{border-bottom:none}.trace-line em{color:var(--text-muted);font-size:12px;font-style:normal}.badge{padding:4px 8px;border-radius:var(--radius);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge--pass{background:#55d28d26;color:#1f7a4d}.badge--fail{background:#ff4c511f;color:#c22a2f}.badge--warn{background:var(--warn-bg);color:var(--warn-text)}.trace-line--tip{cursor:help}.tooltip{visibility:hidden;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:var(--text);color:#f3f2f7;padding:12px;border-radius:var(--radius);font-size:12px;width:280px;box-shadow:0 10px 15px -3px #2b2d4226;opacity:0;transition:all .2s ease-in-out;z-index:10;pointer-events:none;line-height:1.5;text-align:left}.tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:var(--text) transparent transparent transparent}.trace-line--tip:hover .tooltip,.trace-line--tip:focus-within .tooltip,.trace-line--tip:focus .tooltip{visibility:visible;opacity:1;transform:translate(-50%) translateY(-4px)}.trace-line{position:relative}.tt-label{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.5px;display:block}.tt-value{font-family:var(--font-mono);color:var(--success);font-size:12px;margin-bottom:4px;display:block;word-break:break-all}.tt-value.error{color:#ff9296}.tooltip em{font-style:italic;color:#c9c7d4}.context-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.context-panel h3{font-size:16px;font-weight:600;margin-bottom:12px}.context-panel>p{font-size:14px;color:var(--text-muted);margin:0 0 16px;line-height:1.6}.context-grid{display:flex;flex-wrap:wrap;gap:20px}.context-item{flex:1;min-width:260px;background:var(--bg);padding:16px;border-radius:var(--radius);border-left:4px solid var(--primary)}.context-item h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--primary)}.context-item p{margin:0;font-size:13px;color:var(--text-muted);line-height:1.6}.verdict-result{padding:14px;text-align:center;font-weight:600;border-radius:var(--radius);color:#fff;font-size:15px}.verdict-result--deliver{background:var(--success)}.verdict-result--quarantine{background:#e8a23d}.verdict-result--reject{background:var(--accent)}.verdict-note{margin-top:12px;font-size:13px;color:var(--text-muted);line-height:1.6;text-align:center}.verdict-note code{font-family:var(--font-mono);font-size:12px}
