:root {
    --page-bg: #f6f7f8;
    --surface: #ffffff;
    --text-primary: #111827;
    --text-muted: #6b7280;
    --line-color: #e5e7eb;
}
body {
    padding-top: 56px;
    background: radial-gradient(circle at top, rgba(255,255,255,0.95), rgba(246,247,248,0.95) 48%), var(--page-bg);
    color: var(--text-primary);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.page-content,
.page-shell {
    flex: 1 0 auto;
}
.page-shell {
    padding-top: 2rem;
    padding-bottom: 3rem;
}
.navbar-clean {
    background-color: rgba(255,255,255,0.92) !important;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(229,231,235,0.92);
}
.navbar-clean .navbar-brand,
.navbar-clean .navbar-brand:hover,
.navbar-clean .navbar-brand:focus {
    color: var(--text-primary);
}
.navbar-clean .btn {
    border-color: #d1d5db;
    color: var(--text-primary);
    background: #fff;
}
.navbar-clean .btn:hover,
.navbar-clean .btn:focus {
    color: var(--text-primary);
    background: #f3f4f6;
    border-color: #c7cdd4;
}
.tool-card,
.site-card,
.tool-panel {
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(229,231,235,0.88);
    border-radius: 8px;
}
.tool-card {
    transition: all 0.3s;
    height: 100%;
    box-shadow: 0 10px 28px rgba(17,24,39,0.05);
}
.tool-card h6 {
    color: var(--text-primary);
}
.tool-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(17,24,39,0.1);
}
.site-card,
.tool-panel {
    box-shadow: 0 12px 32px rgba(17,24,39,0.05);
}
.category-tab .nav-link {
    border-radius: 20px;
    padding: 6px 16px;
    margin: 0 3px;
    border: none;
    color: #666;
}
.category-tab .nav-link.active {
    background-color: #0d6efd;
    color: #fff;
}
.breadcrumb a,
.footer-links a,
.format-link-list a {
    color: var(--text-primary);
    text-decoration: none;
}
.breadcrumb a:hover,
.breadcrumb a:focus,
.footer-links a:hover,
.footer-links a:focus {
    color: var(--text-primary);
    text-decoration: none;
}
.tool-output {
    min-height: 360px;
    white-space: pre-wrap;
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.92rem;
    line-height: 1.6;
    background: #111827;
    color: #f9fafb;
    border-radius: 8px;
    padding: 1rem;
}
.tool-meta,
.form-text,
.section-box p,
.section-box li {
    color: var(--text-muted);
}
.section-box {
    border: 1px solid var(--line-color);
    border-radius: 8px;
    background: var(--surface);
    padding: 1rem;
}
.section-box + .section-box {
    margin-top: 1rem;
}
.format-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}
.format-link-list a {
    display: inline-flex;
    align-items: center;
    padding: 0.48rem 0.78rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--line-color);
    font-size: 0.9rem;
}
.format-link-list a:hover,
.format-link-list a:focus {
    background: #f3f4f6;
    border-color: #c7cdd4;
}
.empty-box {
    color: var(--text-muted);
    border: 1px dashed #d1d5db;
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    background: #fff;
}
.bi {
    line-height: 1;
    vertical-align: -0.125em;
}
@media (max-width: 575.98px) {
    .navbar-clean .navbar-brand {
        font-size: 0.96rem;
    }
    .navbar-clean .btn {
        padding: 0.38rem 0.58rem;
        font-size: 0.78rem;
    }
    .category-tab {
        gap: 0.35rem;
    }
    .category-tab .nav-link {
        padding: 0.34rem 0.72rem;
        font-size: 0.82rem;
    }
    .page-shell {
        padding-top: 1.4rem;
        padding-bottom: 2rem;
    }
    .tool-output {
        min-height: 260px;
        font-size: 0.84rem;
    }
}
