/* ============================================================
   链接加密工具 - 全局样式（前台首页 + 通用组件）
   ============================================================ */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
                 "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    color: #1f2937;
    background: #f4f6fa;
    -webkit-font-smoothing: antialiased;
}

/* ---------- 通用组件 ---------- */
.container { max-width: 1080px; margin: 0 auto; padding: 30px 16px 60px; }
.container.narrow { max-width: 760px; }
.site-title { text-align: center; font-size: 28px; margin: 20px 0 26px; color: #1f2937; }

.card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(20, 60, 120, .08);
    padding: 28px 32px;
    margin-bottom: 20px;
}

.btn {
    display: inline-block;
    background: #2f7be0;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: background .15s;
}
.btn:hover { background: #2466c0; }
.btn-sm { padding: 6px 12px; font-size: 13px; border-radius: 6px; }
.btn-primary { background: #e1341e; }
.btn-primary:hover { background: #c52d1a; }
.btn-block { display: block; width: 100%; }

.alert { padding: 12px 16px; border-radius: 8px; font-size: 14px; margin-bottom: 16px; }
.alert-error { background: #fdeaea; color: #c0392b; }
.alert-ok { background: #e6f7ec; color: #1a9e4b; }
.alert-info { background: #e8f0fe; color: #1d5bd6; }
.muted { color: #9ca3af; }

/* ---------- 表单 ---------- */
.form-group { margin-bottom: 20px; }
.form-group label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}
.form-group textarea,
.form-group select,
.form-group input[type=text],
.form-group input[type=password] {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    color: #1f2937;
    background: #fff;
}
.form-group textarea:focus,
.form-group select:focus,
.form-group input:focus { outline: none; border-color: #2f7be0; box-shadow: 0 0 0 3px rgba(47,123,224,.12); }
.preview-box { background: #f8fafc !important; color: #6b7280 !important; }
.checkbox-line { display: flex; align-items: center; gap: 8px; font-weight: 500 !important; cursor: pointer; }
.checkbox-line input { width: 16px; height: 16px; }
.form-actions { margin-top: 22px; }

/* ---------- 生成结果 ---------- */
.result-card h2 { margin: 0 0 16px; font-size: 18px; }
.result-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.result-table th, .result-table td {
    border-bottom: 1px solid #eef1f6;
    padding: 10px 8px;
    text-align: left;
    vertical-align: middle;
    word-break: break-all;
}
.result-table th { color: #6b7280; background: #fafbfc; font-weight: 600; white-space: nowrap; }
.copy-input {
    width: 100%;
    min-width: 220px;
    border: 1px solid #e5e7eb;
    background: #fafbfc;
    border-radius: 6px;
    padding: 7px 10px;
    font-size: 12px;
    color: #374151;
}
.result-tip { margin-top: 16px; font-size: 13px; color: #9ca3af; line-height: 1.8; }

/* ---------- 页脚 ---------- */
.footer-links { text-align: center; margin-top: 26px; }
.footer-links a { color: #9ca3af; font-size: 13px; text-decoration: none; }
.footer-links a:hover { color: #2f7be0; }

@media (max-width: 700px) {
    .container { padding: 18px 12px 40px; }
    .card { padding: 20px 16px; }
    .site-title { font-size: 22px; }
    .result-table { display: block; overflow-x: auto; }
}
