/*
Theme Name: PYQs Official CBT Assessment & Examination Portal Theme
Theme URI: https://www.pyqs.org.in
Author: PYQs Portal Engineering Team (pyqs.org.in)
Author URI: https://www.pyqs.org.in
Description: A breathtaking, human-crafted commercial WordPress Theme engineered specifically for India's premier examination portal pyqs.org.in. Designed with the elegance of Hestia and Astra, this theme features our official PYQs Logo badge, live interactive category filtering across 35+ major Indian competitive examinations (SSC, Railway, Banking, JEE, NEET, GATE, CUET, UGC NET, Civil Services, Defence), pre-formatted landing pages with SVG curved dividers, native integration with cbt-player.html v13.0, Stage 1 Hero CBT Launcher Cards, 5-Tab Single Examination Dashboards, 2-Column PDF Download Manager, and 100-Question 5-Column Answer Key Summary Tables.
Version: 5.0.0 Supreme Human-Crafted Edition
License: GNU General Public License v2 or later
Text Domain: pyqs-portal-theme
Tags: examination, cbt-portal, ssc, railway, banking, jee, neet, gate, cuet, ugc-net, assessment-engine, dark-mode, hestia-style
*/

:root {
    --pyqs-primary: #2563eb;
    --pyqs-primary-hover: #1d4ed8;
    --pyqs-secondary: #0f172a;
    --pyqs-accent-gold: #f59e0b;
    --pyqs-accent-sky: #38bdf8;
    --pyqs-accent-emerald: #10b981;
    --pyqs-accent-crimson: #ef4444;
    --pyqs-gradient-hero: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #312e81 100%);
    --pyqs-gradient-card: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    --pyqs-bg-page: #f8fafc;
    --pyqs-surface: #ffffff;
    --pyqs-border: #e2e8f0;
    --pyqs-border-focus: #94a3b8;
    --pyqs-text-main: #0f172a;
    --pyqs-text-muted: #64748b;
    --pyqs-shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    --pyqs-shadow-md: 0 12px 24px -6px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
    --pyqs-shadow-lg: 0 25px 50px -12px rgba(15, 23, 42, 0.18);
    --pyqs-shadow-hover: 0 30px 60px -15px rgba(37, 99, 235, 0.22);
    --pyqs-radius-sm: 8px;
    --pyqs-radius-md: 14px;
    --pyqs-radius-lg: 20px;
    --pyqs-radius-xl: 28px;
}

body.dark-theme {
    --pyqs-primary: #3b82f6;
    --pyqs-primary-hover: #60a5fa;
    --pyqs-secondary: #020617;
    --pyqs-accent-gold: #fbbf24;
    --pyqs-accent-sky: #38bdf8;
    --pyqs-accent-emerald: #22c55e;
    --pyqs-gradient-hero: linear-gradient(135deg, #020617 0%, #0f172a 50%, #1e1b4b 100%);
    --pyqs-gradient-card: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    --pyqs-bg-page: #0b0f19;
    --pyqs-surface: #1e293b;
    --pyqs-border: #334155;
    --pyqs-border-focus: #64748b;
    --pyqs-text-main: #f8fafc;
    --pyqs-text-muted: #94a3b8;
    --pyqs-shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
    --pyqs-shadow-md: 0 12px 24px -6px rgba(0, 0, 0, 0.55);
    --pyqs-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.75);
    --pyqs-shadow-hover: 0 30px 60px -15px rgba(59, 130, 246, 0.3);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    margin: 0;
    padding: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    background-color: var(--pyqs-bg-page);
    color: var(--pyqs-text-main);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.pyqs-portal-container { max-width: 1400px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 768px) { .pyqs-portal-container { padding: 0 20px; } }

.pyqs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 32px;
    border-radius: var(--pyqs-radius-md);
    font-weight: 850;
    font-size: 1.05rem;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    border: 2px solid transparent;
}
.pyqs-btn-primary { background-color: var(--pyqs-primary); color: #ffffff; box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.45); }
.pyqs-btn-primary:hover { background-color: var(--pyqs-primary-hover); transform: translateY(-3px); box-shadow: 0 15px 35px -5px rgba(37, 99, 235, 0.65); }
.pyqs-btn-gold { background-color: var(--pyqs-accent-gold); color: #0f172a; box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.45); }
.pyqs-btn-gold:hover { background-color: #fbbf24; transform: translateY(-3px); box-shadow: 0 15px 35px -5px rgba(245, 158, 11, 0.65); }
.pyqs-btn-outline { background-color: transparent; color: var(--pyqs-text-main); border-color: var(--pyqs-border); }
.pyqs-btn-outline:hover { background-color: var(--pyqs-surface); border-color: var(--pyqs-primary); color: var(--pyqs-primary); transform: translateY(-2px); }

/* Commercial Portal Header Bar (Hestia / Astra Grade) */
.pyqs-portal-header {
    background: linear-gradient(180deg, var(--pyqs-secondary), #0f172a);
    color: #ffffff;
    border-bottom: 4px solid var(--pyqs-primary);
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: var(--pyqs-shadow-lg);
}
.pyqs-header-inner { display: flex; align-items: center; justify-content: space-between; height: 84px; }
.pyqs-brand-link { display: flex; align-items: center; gap: 16px; text-decoration: none; }
.pyqs-header-logo-img { height: 54px; width: auto; object-fit: contain; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4)); transition: transform 0.25s; }
.pyqs-header-logo-img:hover { transform: scale(1.04); }
.pyqs-brand-text { display: flex; flex-direction: column; justify-content: center; }
.pyqs-brand-title { color: #f8fafc; font-weight: 900; font-size: 1.4rem; line-height: 1.1; letter-spacing: -0.02em; }
.pyqs-brand-tagline { color: var(--pyqs-accent-gold); font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin-top: 2px; }

.pyqs-header-nav { display: flex; align-items: center; gap: 24px; }
.pyqs-cat-nav-dropdown { position: relative; }
.pyqs-cat-trigger-btn { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.22); color: #f8fafc; padding: 11px 20px; border-radius: var(--pyqs-radius-md); font-weight: 850; font-size: 0.94rem; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: all 0.2s; }
.pyqs-cat-trigger-btn:hover { background: rgba(255, 255, 255, 0.18); border-color: var(--pyqs-accent-gold); }

.pyqs-cat-menu-list { display: none; position: absolute; top: 54px; left: 0; width: 320px; background: var(--pyqs-surface); border: 2px solid var(--pyqs-border); border-radius: var(--pyqs-radius-lg); box-shadow: var(--pyqs-shadow-lg); padding: 14px 0; z-index: 2000; }
.pyqs-cat-nav-dropdown:hover .pyqs-cat-menu-list { display: block; }
.pyqs-cat-menu-list a { display: flex; align-items: center; justify-content: space-between; padding: 11px 22px; color: var(--pyqs-text-main); text-decoration: none; font-weight: 750; font-size: 0.96rem; transition: all 0.15s; }
.pyqs-cat-menu-list a:hover { background: var(--pyqs-bg-page); color: var(--pyqs-primary); padding-left: 26px; }
.pyqs-cat-menu-list span.cat-count { background: var(--pyqs-bg-page); padding: 3px 10px; border-radius: 6px; font-size: 0.8rem; font-weight: 850; border: 1px solid var(--pyqs-border); }

.pyqs-live-search { position: relative; width: 360px; }
.pyqs-search-input { width: 100%; padding: 12px 18px 12px 46px; background-color: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: var(--pyqs-radius-md); color: #ffffff; font-size: 0.96rem; font-weight: 650; outline: none; transition: all 0.2s; }
.pyqs-search-input::placeholder { color: #94a3b8; }
.pyqs-search-input:focus { background-color: rgba(255, 255, 255, 0.18); border-color: var(--pyqs-accent-sky); box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.35); }
.pyqs-search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 1.2rem; }

.pyqs-theme-switch-btn { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.22); color: #f8fafc; padding: 11px 18px; border-radius: var(--pyqs-radius-md); font-weight: 800; font-size: 0.92rem; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: all 0.2s; }
.pyqs-theme-switch-btn:hover { background: rgba(255, 255, 255, 0.18); border-color: var(--pyqs-accent-gold); }

/* BREATHTAKING HESTIA / ASTRA HERO LANDING SECTION (`page-portal-home.php`) */
.pyqs-hestia-hero { background: var(--pyqs-gradient-hero); color: #ffffff; padding: 80px 0 100px 0; position: relative; overflow: hidden; border-bottom: 4px solid var(--pyqs-primary); }
.pyqs-hero-content-inner { max-width: 960px; margin: 0 auto; text-align: center; position: relative; z-index: 10; }
.pyqs-hero-badge { background: rgba(245, 158, 11, 0.18); border: 1px solid var(--pyqs-accent-gold); color: var(--pyqs-accent-gold); padding: 8px 20px; border-radius: 30px; font-weight: 850; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.08em; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px; }
.pyqs-hestia-hero h1 { font-size: 3.5rem; font-weight: 950; color: #f8fafc; line-height: 1.15; letter-spacing: -0.03em; margin-bottom: 24px; }
.pyqs-hestia-hero p.hero-subtext { font-size: 1.3rem; color: #cbd5e1; line-height: 1.65; margin-bottom: 40px; max-width: 820px; margin-left: auto; margin-right: auto; }
.pyqs-hero-cta-group { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }

.pyqs-hero-wave-divider { position: absolute; bottom: 0; left: 0; width: 100%; overflow: hidden; line-height: 0; z-index: 5; }
.pyqs-hero-wave-divider svg { position: relative; display: block; width: calc(100% + 1.3px); height: 64px; }
.pyqs-hero-wave-divider .shape-fill { fill: var(--pyqs-bg-page); }

/* LIVE TABBED CATEGORY FILTER BAR */
.pyqs-filter-bar-wrapper { margin: 48px 0 36px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; border-bottom: 3px solid var(--pyqs-border); padding-bottom: 20px; }
.pyqs-filter-tabs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pyqs-filter-btn { background: var(--pyqs-surface); border: 2px solid var(--pyqs-border); color: var(--pyqs-text-main); padding: 10px 22px; border-radius: var(--pyqs-radius-md); font-weight: 800; font-size: 0.95rem; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; gap: 8px; }
.pyqs-filter-btn:hover { border-color: var(--pyqs-primary); color: var(--pyqs-primary); }
.pyqs-filter-btn.active { background: var(--pyqs-primary); color: #ffffff; border-color: var(--pyqs-primary); box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.45); }

/* 35+ Examinations Directory Showcase Grid */
.pyqs-category-parent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(370px, 1fr)); gap: 32px; margin-bottom: 72px; }
.pyqs-category-card { background: var(--pyqs-gradient-card); border: 2px solid var(--pyqs-border); border-radius: var(--pyqs-radius-xl); padding: 32px; display: flex; flex-direction: column; justify-content: space-between; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: var(--pyqs-shadow-sm); position: relative; overflow: hidden; }
.pyqs-category-card:hover { border-color: var(--pyqs-primary); transform: translateY(-8px); box-shadow: var(--pyqs-shadow-hover); }
.pyqs-cat-card-header { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; }
.pyqs-cat-icon { width: 68px; height: 68px; background: rgba(245, 158, 11, 0.15); color: var(--pyqs-accent-gold); border: 2px solid rgba(245, 158, 11, 0.35); border-radius: var(--pyqs-radius-lg); display: flex; align-items: center; justify-content: center; font-size: 2.4rem; flex-shrink: 0; }
.pyqs-category-card h3 { margin: 0 0 4px 0; font-size: 1.55rem; color: var(--pyqs-text-main); font-weight: 950; letter-spacing: -0.01em; }
.pyqs-category-card p.cat-meta { margin: 0; font-size: 0.92rem; color: var(--pyqs-text-muted); font-weight: 750; }

.pyqs-subcategory-list { list-style: none; padding: 0; margin: 0 0 28px 0; border-top: 1.5px solid var(--pyqs-border); padding-top: 18px; }
.pyqs-subcategory-list li { margin-bottom: 11px; }
.pyqs-subcategory-list a { color: var(--pyqs-text-main); text-decoration: none; font-size: 0.98rem; font-weight: 750; display: flex; align-items: center; justify-content: space-between; transition: all 0.15s; padding: 8px 12px; border-radius: 8px; }
.pyqs-subcategory-list a:hover { color: var(--pyqs-primary); background: rgba(37, 99, 235, 0.08); padding-left: 18px; }
.pyqs-subcategory-list span.sub-arrow { color: var(--pyqs-primary); font-weight: 900; }

.pyqs-btn-view-category { background: var(--pyqs-surface); color: var(--pyqs-primary); border: 2px solid var(--pyqs-border); padding: 14px 22px; border-radius: var(--pyqs-radius-md); font-weight: 850; font-size: 1rem; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all 0.25s; }
.pyqs-category-card:hover .pyqs-btn-view-category { background: var(--pyqs-primary); color: #ffffff; border-color: var(--pyqs-primary); box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.5); }

/* Stage 1 Hero CBT Examination Launcher Card (`single-pyqs_exam.php`) */
.pyqs-hero-exam-card { background: var(--pyqs-gradient-hero); color: #ffffff; border-radius: var(--pyqs-radius-xl); padding: 48px; position: relative; overflow: hidden; border: 3px solid var(--pyqs-primary); box-shadow: var(--pyqs-shadow-lg); margin: 36px 0 44px 0; }
.pyqs-hero-watermark { position: absolute; right: -25px; bottom: -35px; font-size: 15rem; font-weight: 950; color: rgba(255, 255, 255, 0.035); pointer-events: none; user-select: none; letter-spacing: -0.05em; line-height: 1; }
.pyqs-hero-header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.pyqs-official-badge { background-color: var(--pyqs-primary); color: #ffffff; padding: 6px 16px; border-radius: var(--pyqs-radius-sm); font-weight: 850; font-size: 0.84rem; text-transform: uppercase; letter-spacing: 0.08em; }
.pyqs-calc-badge { background-color: rgba(56, 189, 248, 0.18); border: 1.5px solid var(--pyqs-accent-sky); color: var(--pyqs-accent-sky); padding: 6px 16px; border-radius: var(--pyqs-radius-sm); font-weight: 850; font-size: 0.84rem; display: inline-flex; align-items: center; gap: 8px; }
.pyqs-hero-exam-card h1 { color: #f8fafc; font-size: 2.45rem; margin-bottom: 14px; font-weight: 950; letter-spacing: -0.02em; }
.pyqs-hero-exam-card p.hero-desc { color: #cbd5e1; font-size: 1.15rem; max-width: 860px; margin-bottom: 34px; line-height: 1.65; }

/* Examination Metadata Grid */
.pyqs-exam-meta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; margin-bottom: 34px; }
.pyqs-meta-box { background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: var(--pyqs-radius-md); padding: 20px; text-align: left; }
.pyqs-meta-lbl { font-size: 0.8rem; font-weight: 850; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; }
.pyqs-meta-val { font-size: 1.3rem; font-weight: 950; color: #f8fafc; }

.pyqs-hero-proctor-alert { background: rgba(239, 68, 68, 0.15); border: 2px solid #ef4444; border-radius: var(--pyqs-radius-md); padding: 18px 22px; color: #fca5a5; font-size: 0.96rem; line-height: 1.6; margin-bottom: 38px; display: flex; align-items: flex-start; gap: 16px; }
.pyqs-proctor-icon { font-size: 1.6rem; line-height: 1; }

.pyqs-hero-action-bar { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.pyqs-btn-launch-cbt { background: linear-gradient(135deg, var(--pyqs-primary), #1d4ed8); color: #ffffff; border: none; padding: 20px 46px; border-radius: var(--pyqs-radius-md); font-size: 1.3rem; font-weight: 950; cursor: pointer; box-shadow: 0 14px 35px -5px rgba(37, 99, 235, 0.65); display: inline-flex; align-items: center; justify-content: center; gap: 16px; transition: all 0.25s; }
.pyqs-btn-launch-cbt:hover { transform: translateY(-4px) scale(1.02); box-shadow: 0 20px 45px -5px rgba(37, 99, 235, 0.8); }
.pyqs-btn-local-admin { background: rgba(255, 255, 255, 0.12); border: 1.5px solid rgba(255, 255, 255, 0.3); color: #f8fafc; padding: 18px 30px; border-radius: var(--pyqs-radius-md); font-weight: 850; font-size: 1.08rem; cursor: pointer; transition: all 0.2s; display: inline-flex; align-items: center; gap: 10px; }
.pyqs-btn-local-admin:hover { background: rgba(255, 255, 255, 0.22); }

/* Interactive 5-Tab Single Post Dashboard Navigation Bar */
.pyqs-single-dashboard-tabs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border-bottom: 3px solid var(--pyqs-border); padding-bottom: 18px; margin-bottom: 36px; }
.pyqs-dash-tab-btn { background: var(--pyqs-surface); border: 2px solid var(--pyqs-border); color: var(--pyqs-text-main); padding: 12px 24px; border-radius: var(--pyqs-radius-md); font-weight: 850; font-size: 1rem; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; gap: 10px; }
.pyqs-dash-tab-btn:hover { border-color: var(--pyqs-primary); color: var(--pyqs-primary); }
.pyqs-dash-tab-btn.active { background: var(--pyqs-primary); color: #ffffff; border-color: var(--pyqs-primary); box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.45); }
.pyqs-dash-tab-pane { display: none; }
.pyqs-dash-tab-pane.active { display: block; animation: pyqsFadeIn 0.3s ease; }

@keyframes pyqsFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* 2-Column PDF Deliverable Download Manager */
.pyqs-pdf-manager-section { background: var(--pyqs-surface); border: 2px solid var(--pyqs-border); border-radius: var(--pyqs-radius-xl); padding: 40px; margin-bottom: 48px; box-shadow: var(--pyqs-shadow-md); }
.pyqs-section-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; border-bottom: 2px solid var(--pyqs-border); padding-bottom: 18px; flex-wrap: wrap; gap: 14px; }
.pyqs-section-heading h3 { margin: 0; font-size: 1.7rem; color: var(--pyqs-text-main); display: flex; align-items: center; gap: 14px; font-weight: 900; }
.pyqs-pdf-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
@media (max-width: 900px) { .pyqs-pdf-grid { grid-template-columns: 1fr; } }
.pyqs-pdf-card { background: var(--pyqs-bg-page); border: 2px solid var(--pyqs-border); border-radius: var(--pyqs-radius-lg); padding: 28px; display: flex; flex-direction: column; justify-content: space-between; transition: all 0.25s; }
.pyqs-pdf-card:hover { border-color: var(--pyqs-primary); transform: translateY(-4px); box-shadow: var(--pyqs-shadow-md); }
.pyqs-pdf-card-top { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 22px; }
.pyqs-pdf-icon { width: 56px; height: 56px; background: var(--pyqs-crimson-light); color: var(--pyqs-accent-crimson); border-radius: var(--pyqs-radius-md); display: flex; align-items: center; justify-content: center; font-size: 1.9rem; font-weight: 900; flex-shrink: 0; }
.pyqs-pdf-title h4 { margin: 0 0 6px 0; font-size: 1.3rem; color: var(--pyqs-text-main); font-weight: 850; }
.pyqs-pdf-title p { margin: 0; font-size: 0.95rem; color: var(--pyqs-text-muted); line-height: 1.55; }
.pyqs-pdf-card-bottom { display: flex; align-items: center; justify-content: space-between; border-top: 1.5px solid var(--pyqs-border); padding-top: 20px; flex-wrap: wrap; gap: 12px; }
.pyqs-pdf-meta-badge { font-size: 0.85rem; font-weight: 800; color: var(--pyqs-text-muted); background: var(--pyqs-surface); padding: 6px 14px; border-radius: var(--pyqs-radius-sm); border: 1px solid var(--pyqs-border); }
.pyqs-btn-download { background: var(--pyqs-accent-emerald); color: #ffffff; padding: 14px 24px; border-radius: var(--pyqs-radius-md); font-weight: 850; font-size: 1rem; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s; box-shadow: 0 6px 15px rgba(16, 185, 129, 0.4); }
.pyqs-btn-download:hover { background: #059669; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(16, 185, 129, 0.6); }

/* 100-Question 5-Column Answer Key Summary Table Module */
.pyqs-answer-key-section { background: var(--pyqs-surface); border: 2px solid var(--pyqs-border); border-radius: var(--pyqs-radius-xl); padding: 40px; margin-bottom: 48px; box-shadow: var(--pyqs-shadow-md); }
.pyqs-answer-table-wrapper { overflow-x: auto; border: 2px solid var(--pyqs-border); border-radius: var(--pyqs-radius-md); background: var(--pyqs-surface); }
.pyqs-5col-answer-table { width: 100%; border-collapse: collapse; text-align: center; }
.pyqs-5col-answer-table th { background-color: var(--pyqs-secondary); color: #ffffff; font-weight: 850; font-size: 0.98rem; padding: 16px 20px; border-bottom: 3px solid var(--pyqs-primary); text-transform: uppercase; letter-spacing: 0.05em; }
.pyqs-5col-answer-table td { padding: 14px 18px; border-bottom: 1px solid var(--pyqs-border); font-size: 1rem; color: var(--pyqs-text-main); font-weight: 650; }
.pyqs-5col-answer-table tr:nth-child(even) { background-color: var(--pyqs-bg-page); }
.pyqs-5col-answer-table tr:hover { background-color: rgba(37, 99, 235, 0.08); }
.pyqs-qnum-badge { font-weight: 850; color: var(--pyqs-text-muted); background: var(--pyqs-bg-page); padding: 4px 12px; border-radius: 6px; border: 1px solid var(--pyqs-border); }
.pyqs-ans-letter { font-weight: 900; color: #166534; background: var(--pyqs-emerald-light); padding: 4px 14px; border-radius: 8px; border: 1.5px solid #86efac; display: inline-block; }

/* Portal Footer */
.pyqs-portal-footer { background-color: var(--pyqs-secondary); color: #cbd5e1; border-top: 4px solid var(--pyqs-primary); padding: 72px 0 38px 0; margin-top: 96px; }
.pyqs-footer-grid { display: grid; grid-template-columns: 2.3fr 1.2fr 1.2fr 1.5fr; gap: 44px; margin-bottom: 52px; }
@media (max-width: 980px) { .pyqs-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 650px) { .pyqs-footer-grid { grid-template-columns: 1fr; } }
.pyqs-footer-col h4 { color: #f8fafc; font-size: 1.25rem; margin-bottom: 22px; position: relative; padding-bottom: 10px; font-weight: 850; }
.pyqs-footer-col h4::after { content: ''; position: absolute; bottom: 0; left: 0; width: 44px; height: 3.5px; background-color: var(--pyqs-primary); border-radius: 2px; }
.pyqs-footer-links { list-style: none; padding: 0; margin: 0; }
.pyqs-footer-links li { margin-bottom: 13px; }
.pyqs-footer-links a { color: #94a3b8; text-decoration: none; font-size: 0.98rem; font-weight: 650; transition: color 0.2s; }
.pyqs-footer-links a:hover { color: var(--pyqs-accent-sky); }
.pyqs-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); padding-top: 28px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; font-size: 0.92rem; color: #64748b; }
.pyqs-verification-signature { background: rgba(255, 255, 255, 0.06); padding: 8px 18px; border-radius: var(--pyqs-radius-sm); border: 1px solid rgba(255, 255, 255, 0.15); font-family: monospace; font-size: 0.86rem; color: #94a3b8; font-weight: 700; }
