:root {
    --primary-blue: #0B3D91; /* 工業射線藍 */
    --accent-green: #39FF14; /* 掃描螢光綠 */
    --warning-orange: #FF8C00; /* 缺陷警示橙 */
    --titanium-gray: #A9A9A9; /* 結構鈦合金灰 */
    --dark-bg: #050b1a;
    --card-bg: rgba(11, 61, 145, 0.1);
    --border-color: rgba(57, 255, 20, 0.3);
}

body {
    background-color: var(--dark-bg);
    color: #ffffff;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    overflow-x: hidden;
}

.mono-font {
    font-family: 'Courier New', Courier, monospace;
}

/* Navbar Styling */
.navbar {
    background-color: rgba(5, 11, 26, 0.95);
    border-bottom: 1px solid var(--border-color);
    backdrop-filter: blur(10px);
}

.navbar-brand {
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--accent-green) !important;
}

.nav-link {
    color: #ffffff !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
    margin: 0 10px;
    transition: 0.3s;
}

.nav-link:hover, .nav-link.active {
    color: var(--accent-green) !important;
    text-shadow: 0 0 10px var(--accent-green);
}

/* Hero Section */
.hero-section {
    position: relative;
    padding: 150px 0 100px;
    background: radial-gradient(circle at center, #0b3d9133 0%, #050b1a 70%);
    overflow: hidden;
}

.hero-scan-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent-green);
    box-shadow: 0 0 15px var(--accent-green);
    animation: scanMove 4s linear infinite;
    opacity: 0.5;
    z-index: 1;
}

@keyframes scanMove {
    0% { top: 0; }
    100% { top: 100%; }
}

/* Grid Overlay */
.grid-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        linear-gradient(rgba(57, 255, 20, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(57, 255, 20, 0.05) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
}

/* Cards & Modules */
.ndt-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 0;
    padding: 25px;
    transition: 0.4s;
    height: 100%;
}

.ndt-card:hover {
    border-color: var(--accent-green);
    box-shadow: 0 0 20px rgba(57, 255, 20, 0.2);
    transform: translateY(-5px);
}

.section-title {
    border-left: 4px solid var(--accent-green);
    padding-left: 15px;
    margin-bottom: 40px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.text-accent { color: var(--accent-green); }
.text-warning-ndt { color: var(--warning-orange); }

/* Footer */
footer {
    border-top: 1px solid var(--border-color);
    padding: 50px 0;
    background: #030712;
}

/* Math & Specs */
.formula-box {
    background: rgba(0, 0, 0, 0.3);
    border: 1px dashed var(--titanium-gray);
    padding: 20px;
    margin: 20px 0;
    font-family: 'Courier New', Courier, monospace;
}

/* Dashboard Elements */
.scan-display {
    background: #000;
    border: 2px solid #333;
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.waveform-path {
    stroke: var(--accent-green);
    stroke-width: 2;
    fill: none;
}

.defect-marker {
    stroke: var(--warning-orange);
    stroke-width: 2;
    fill: rgba(255, 140, 0, 0.2);
    animation: blink 1s infinite;
}

@keyframes blink {
    50% { opacity: 0.3; }
}
