/**
 * acheson.css - The Treaty Room Aesthetic
 *
 * v2.7 - "Present at the Creation" Update
 *
 * Reference: The signing of the NATO treaty / Formal State Department
 * Royal Navy Blue, Silver/White text, Gold accents
 * Baskerville/Garamond typography (Formal, academic, authoritative)
 *
 * "The task of a foreign minister is to bring together those who agree."
 *
 * Vibe: Serious, institutional, crisp. "The Adults are in the room."
 */

/* ========================================
   Acheson Doctrine Theme Variables
   ======================================== */
.theme-acheson {
    /* Royal Navy Blue - The Deep Atlantic */
    --acheson-navy: #002244;
    --acheson-navy-light: #003366;
    --acheson-navy-dark: #001a33;
    --acheson-slate: #1a3a5c;

    /* Silver/White - High Contrast Text */
    --acheson-silver: #e5e5e5;
    --acheson-silver-dim: #c0c0c0;
    --acheson-white: #f8f8f8;
    --acheson-pearl: #f0f0f0;

    /* Gold Accents - The Seal of the US */
    --acheson-gold: #ffd700;
    --acheson-gold-dim: #d4af37;
    --acheson-gold-dark: #b8860b;
    --acheson-brass: #c9a227;

    /* Status colors */
    --acheson-success: #4a9f4a;
    --acheson-warning: #e5a832;
    --acheson-danger: #c54444;

    /* Override base variables */
    --paper-cream: var(--acheson-pearl);
    --paper-aged: var(--acheson-silver);
    --ink-black: var(--acheson-navy);
    --ink-blue: var(--acheson-navy-light);
    --ink-red: var(--acheson-danger);
}

/* ========================================
   Base Theme Application - The Treaty Room
   ======================================== */
.theme-acheson body,
.theme-acheson #desk {
    background: var(--acheson-navy-dark);
    font-family: 'Baskerville', 'Garamond', 'Georgia', 'Times New Roman', serif;
    color: var(--acheson-silver);
}

.theme-acheson #desk {
    /* Slate blue gradient with subtle texture */
    background:
        /* Subtle noise texture */
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"),
        /* Deep navy gradient */
        linear-gradient(
            180deg,
            var(--acheson-navy) 0%,
            var(--acheson-navy-dark) 50%,
            #001122 100%
        );
    background-blend-mode: overlay, normal;
}

/* ========================================
   Header - Official Document Header
   ======================================== */
.theme-acheson #header {
    background: linear-gradient(180deg, var(--acheson-navy) 0%, var(--acheson-navy-light) 100%);
    border: 1px solid var(--acheson-gold-dim);
    border-bottom: 2px solid var(--acheson-gold);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.theme-acheson .title-area h1 {
    color: var(--acheson-gold);
    font-family: 'Baskerville', 'Garamond', 'Georgia', serif;
    letter-spacing: 4px;
    font-weight: 600;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.theme-acheson .title-area .subtitle {
    color: var(--acheson-silver-dim);
    letter-spacing: 3px;
    font-size: 11px;
    font-style: italic;
}

/* ========================================
   Status Bar - Official Briefing
   ======================================== */
.theme-acheson #status-bar {
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 1px solid var(--acheson-gold-dim);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
}

.theme-acheson .status-item {
    border-right-color: var(--acheson-gold-dim);
}

.theme-acheson .status-item .label {
    color: var(--acheson-gold);
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 600;
    text-transform: uppercase;
}

.theme-acheson .status-item .value {
    color: var(--acheson-white);
    font-family: 'Baskerville', 'Georgia', serif;
    font-weight: 600;
}

.theme-acheson .status-item .value.usa {
    color: var(--acheson-gold);
}

.theme-acheson .status-item .value.ussr {
    color: var(--acheson-danger);
}

.theme-acheson .status-item .vs {
    color: var(--acheson-silver-dim);
}

/* ========================================
   Alliance Cohesion Display (Acheson Victory Metric)
   ======================================== */
.alliance-cohesion-display {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 18px;
    /* Formal document appearance */
    background: linear-gradient(180deg, var(--acheson-navy-light) 0%, var(--acheson-navy) 100%);
    border: 2px solid var(--acheson-gold-dim);
    border-radius: 3px;
    min-width: 200px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    position: relative;
}

/* Gold seal effect */
.alliance-cohesion-display::before {
    content: 'NATO';
    position: absolute;
    top: 4px;
    right: 10px;
    font-size: 8px;
    color: var(--acheson-gold);
    opacity: 0.8;
    letter-spacing: 2px;
    font-weight: 700;
}

.alliance-cohesion-label {
    font-size: 12px;
    color: var(--acheson-gold);
    letter-spacing: 3px;
    margin-bottom: 6px;
    font-weight: 600;
    text-transform: uppercase;
}

.alliance-cohesion-value {
    font-size: 32px;
    font-weight: 700;
    font-family: 'Baskerville', 'Georgia', serif;
    color: var(--acheson-white);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.alliance-cohesion-bar {
    width: 100%;
    height: 10px;
    background: var(--acheson-navy-dark);
    border: 1px solid var(--acheson-gold-dim);
    border-radius: 2px;
    margin-top: 8px;
    overflow: hidden;
}

.alliance-cohesion-fill {
    height: 100%;
    /* Gradient from fragile (red) through stable (silver) to unbreakable (gold) */
    background: linear-gradient(90deg,
        var(--acheson-danger) 0%,
        var(--acheson-warning) 30%,
        var(--acheson-silver) 60%,
        var(--acheson-gold) 100%
    );
    transition: width 0.3s ease;
}

.alliance-cohesion-status {
    font-size: 12px;
    letter-spacing: 2px;
    margin-top: 8px;
    padding: 3px 10px;
    border-radius: 2px;
    font-weight: 600;
    text-transform: uppercase;
}

.alliance-cohesion-status.victory {
    color: var(--acheson-navy);
    background: var(--acheson-gold);
    border: 1px solid var(--acheson-gold-dark);
}

.alliance-cohesion-status.unbreakable {
    color: var(--acheson-navy);
    background: var(--acheson-gold);
    border: 1px solid var(--acheson-gold-dark);
}

.alliance-cohesion-status.strong {
    color: var(--acheson-white);
    background: rgba(255, 215, 0, 0.3);
    border: 1px solid var(--acheson-gold);
}

.alliance-cohesion-status.cohesive {
    color: var(--acheson-white);
    background: rgba(229, 229, 229, 0.2);
    border: 1px solid var(--acheson-silver);
}

.alliance-cohesion-status.fractured {
    color: var(--acheson-warning);
    background: rgba(229, 168, 50, 0.15);
    border: 1px solid var(--acheson-warning);
}

.alliance-cohesion-status.fragile {
    color: var(--acheson-danger);
    background: rgba(197, 68, 68, 0.15);
    border: 1px solid var(--acheson-danger);
}

.alliance-cohesion-status.collapse {
    color: var(--acheson-white);
    background: var(--acheson-danger);
    border: 1px solid #8a2222;
}

/* Cohesion streak counter */
.alliance-cohesion-streak {
    font-size: 11px;
    color: var(--acheson-gold);
    margin-top: 4px;
    letter-spacing: 1px;
}

/* Core allies display */
.core-allies-container {
    display: flex;
    gap: 6px;
    margin-top: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.core-ally-chip {
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 2px;
    letter-spacing: 1px;
    font-weight: 600;
}

.core-ally-chip.locked {
    background: var(--acheson-gold);
    color: var(--acheson-navy);
    border: 1px solid var(--acheson-gold-dark);
}

.core-ally-chip.aligned {
    background: rgba(255, 215, 0, 0.2);
    color: var(--acheson-gold);
    border: 1px solid var(--acheson-gold-dim);
}

.core-ally-chip.wavering {
    background: rgba(229, 168, 50, 0.15);
    color: var(--acheson-warning);
    border: 1px solid var(--acheson-warning);
}

.core-ally-chip.lost {
    background: rgba(197, 68, 68, 0.2);
    color: var(--acheson-danger);
    border: 1px solid var(--acheson-danger);
}

/* ========================================
   Map Area - Strategic Overview
   ======================================== */
.theme-acheson #map-area {
    /* Dark slate background */
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 2px solid var(--acheson-gold-dim);
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.3),
        inset 0 0 30px rgba(0, 0, 0, 0.2);
}

.theme-acheson .world-map-container {
    background: var(--acheson-navy-light);
    border: 1px solid var(--acheson-gold-dim);
}

.theme-acheson .map-title {
    color: var(--acheson-gold);
    font-family: 'Baskerville', 'Georgia', serif;
    letter-spacing: 4px;
    font-weight: 600;
}

.theme-acheson .region-summary {
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 1px solid var(--acheson-gold-dim);
}

.theme-acheson .region-summary .region-name {
    color: var(--acheson-gold);
    font-family: 'Baskerville', 'Georgia', serif;
    font-weight: 600;
}

.theme-acheson .country-chip {
    font-family: 'Baskerville', 'Georgia', serif;
}

.theme-acheson .country-chip.us {
    background: rgba(255, 215, 0, 0.15);
    border-color: var(--acheson-gold);
    color: var(--acheson-gold);
}

.theme-acheson .country-chip.ussr {
    background: rgba(197, 68, 68, 0.15);
    border-color: var(--acheson-danger);
    color: var(--acheson-danger);
}

.theme-acheson .country-chip.contested {
    background: rgba(229, 229, 229, 0.1);
    border-color: var(--acheson-silver-dim);
    color: var(--acheson-silver-dim);
}

/* Core ally indicator */
.theme-acheson .country-chip.core-ally {
    border-width: 2px;
    position: relative;
}

.theme-acheson .country-chip.core-ally::after {
    content: 'CORE';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 6px;
    color: var(--acheson-gold);
    letter-spacing: 0.5px;
}

.theme-acheson .global-control-indicator {
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 1px solid var(--acheson-gold);
    color: var(--acheson-white);
}

/* ========================================
   Action Panel - Diplomatic Dispatch
   ======================================== */
.theme-acheson #action-panel {
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 1px solid var(--acheson-gold-dim);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.theme-acheson .action-header {
    border-bottom: 1px solid var(--acheson-gold-dim);
}

.theme-acheson .action-header h2 {
    color: var(--acheson-gold);
    font-family: 'Baskerville', 'Georgia', serif;
    letter-spacing: 3px;
}

.theme-acheson .ap-display {
    color: var(--acheson-silver);
}

/* Telegram cards - Diplomatic cables */
.theme-acheson .telegram {
    background: var(--acheson-navy-light);
    border: 1px solid var(--acheson-gold-dim);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.theme-acheson .telegram::before {
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 8px,
        var(--acheson-gold) 8px,
        var(--acheson-gold) 16px
    );
    opacity: 0.2;
}

.theme-acheson .action-name {
    color: var(--acheson-gold);
    font-weight: 600;
    font-size: 13px;
}

.theme-acheson .action-cost {
    background: var(--acheson-gold);
    color: var(--acheson-navy);
    border: 1px solid var(--acheson-gold-dark);
    font-weight: 700;
}

.theme-acheson .telegram-body p {
    color: var(--acheson-silver);
}

.theme-acheson .telegram-body .stats {
    color: var(--acheson-white);
    font-weight: 600;
}

.theme-acheson .country-selector label {
    color: var(--acheson-gold);
    font-weight: 600;
}

.theme-acheson .country-select {
    background: var(--acheson-navy-dark);
    border: 1px solid var(--acheson-gold-dim);
    color: var(--acheson-white);
    font-family: 'Baskerville', 'Georgia', serif;
}

.theme-acheson .execute-btn {
    /* Formal button - dignified */
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 1px solid var(--acheson-gold-dim);
    color: var(--acheson-gold);
    font-family: 'Baskerville', 'Georgia', serif;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.theme-acheson .execute-btn:hover:not(:disabled) {
    background: linear-gradient(180deg, var(--acheson-navy-light) 0%, var(--acheson-slate) 100%);
    border-color: var(--acheson-gold);
}

.theme-acheson .execute-btn:disabled {
    background: var(--acheson-navy-dark);
    border-color: var(--acheson-silver-dim);
    color: var(--acheson-silver-dim);
}

.theme-acheson .end-turn-btn {
    /* Distinguished end turn button */
    background: linear-gradient(180deg, var(--acheson-gold-dim) 0%, var(--acheson-gold-dark) 100%);
    border: 1px solid var(--acheson-gold-dark);
    color: var(--acheson-navy);
    font-family: 'Baskerville', 'Georgia', serif;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.theme-acheson .end-turn-btn:hover {
    background: linear-gradient(180deg, var(--acheson-gold) 0%, var(--acheson-gold-dim) 100%);
}

/* ========================================
   CONVENE SUMMIT Button - The Grand Alliance
   ======================================== */
.convene-summit-container {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--acheson-gold-dim);
}

.convene-summit-btn {
    width: 100%;
    padding: 16px 20px;
    /* Formal, authoritative - like a treaty signing */
    background: linear-gradient(180deg, var(--acheson-gold-dim) 0%, var(--acheson-gold-dark) 100%);
    border: 2px solid var(--acheson-gold);
    border-radius: 3px;
    color: var(--acheson-navy);
    font-family: 'Baskerville', 'Georgia', serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
}

/* NATO seal on button */
.convene-summit-btn::before {
    content: 'ARTICLE 5';
    position: absolute;
    top: 4px;
    right: 10px;
    font-size: 7px;
    color: var(--acheson-navy);
    opacity: 0.6;
    letter-spacing: 1px;
    font-weight: 700;
}

.convene-summit-btn:hover:not(:disabled) {
    background: linear-gradient(180deg, var(--acheson-gold) 0%, var(--acheson-gold-dim) 100%);
    box-shadow: 0 4px 12px rgba(255, 215, 0, 0.3);
}

.convene-summit-btn:disabled {
    background: var(--acheson-navy-light);
    border-color: var(--acheson-silver-dim);
    color: var(--acheson-silver-dim);
    cursor: not-allowed;
}

.convene-summit-btn:disabled::before {
    opacity: 0.3;
}

.convene-summit-label {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
}

.convene-summit-subtitle {
    display: block;
    font-size: 11px;
    font-style: italic;
    opacity: 0.8;
    letter-spacing: 1px;
    text-transform: none;
    margin-bottom: 4px;
}

.convene-summit-cost {
    display: block;
    font-size: 11px;
    color: var(--acheson-navy);
    margin-top: 4px;
    text-transform: none;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.convene-summit-cooldown {
    width: 100%;
    padding: 15px;
    background: var(--acheson-navy-light);
    border: 1px solid var(--acheson-gold-dim);
    border-radius: 3px;
    color: var(--acheson-silver);
    font-family: 'Baskerville', 'Georgia', serif;
    font-size: 11px;
    text-align: center;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ========================================
   Tension/DEFCON Override - Institutional
   ======================================== */
.theme-acheson .tension-status {
    font-family: 'Baskerville', 'Georgia', serif;
    font-weight: 600;
}

.theme-acheson .tension-calm {
    background: var(--acheson-success);
    color: var(--acheson-white);
}

.theme-acheson .tension-concerned {
    background: var(--acheson-gold);
    color: var(--acheson-navy);
}

.theme-acheson .tension-mobilizing {
    background: var(--acheson-warning);
    color: var(--acheson-navy);
}

.theme-acheson .tension-ready {
    background: var(--acheson-danger);
    color: var(--acheson-white);
}

.theme-acheson .tension-imminent {
    background: #8a2222;
    color: var(--acheson-white);
}

/* ========================================
   Domestic Stats Override
   ======================================== */
.theme-acheson .domestic-stat.domestic-ok {
    background: var(--acheson-gold);
    color: var(--acheson-navy);
}

.theme-acheson .domestic-stat.domestic-warning {
    background: var(--acheson-warning);
    color: var(--acheson-navy);
}

.theme-acheson .domestic-stat.domestic-low {
    background: var(--acheson-danger);
    color: var(--acheson-white);
}

/* ========================================
   Footer - Official Document Footer
   ======================================== */
.theme-acheson #footer {
    background: var(--acheson-navy-dark);
    border-top: 1px solid var(--acheson-gold-dim);
}

.theme-acheson .classification {
    color: var(--acheson-gold);
    font-weight: 700;
    letter-spacing: 3px;
}

.theme-acheson .version {
    color: var(--acheson-silver-dim);
}

/* ========================================
   Crisis Modal Override - Diplomatic Cable
   ======================================== */
.theme-acheson .crisis-modal {
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 2px solid var(--acheson-gold);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

.theme-acheson .crisis-title {
    color: var(--acheson-gold);
    font-family: 'Baskerville', 'Georgia', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.theme-acheson .crisis-description {
    color: var(--acheson-silver);
}

.theme-acheson .red-phone {
    background: var(--acheson-danger);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
}

.theme-acheson .phone-ring {
    border-color: var(--acheson-danger);
}

.theme-acheson .crisis-btn {
    font-family: 'Baskerville', 'Georgia', serif;
    background: var(--acheson-navy-light);
    border: 1px solid var(--acheson-gold-dim);
    color: var(--acheson-white);
}

.theme-acheson .crisis-btn:hover {
    background: var(--acheson-slate);
    border-color: var(--acheson-gold);
}

.theme-acheson .crisis-btn.escalate {
    background: linear-gradient(180deg, var(--acheson-danger) 0%, #8a2222 100%);
    border-color: #6a1a1a;
    color: var(--acheson-white);
}

.theme-acheson .crisis-btn.escalate:hover {
    background: linear-gradient(180deg, #d44444 0%, var(--acheson-danger) 100%);
}

/* ========================================
   Action Log Override - Diplomatic Record
   ======================================== */
.theme-acheson .action-log-container {
    background: linear-gradient(180deg, var(--acheson-slate) 0%, var(--acheson-navy) 100%);
    border: 1px solid var(--acheson-gold-dim);
}

.theme-acheson .log-header {
    background: linear-gradient(180deg, var(--acheson-navy-light) 0%, var(--acheson-slate) 100%);
    border-bottom-color: var(--acheson-gold-dim);
}

.theme-acheson .log-title {
    color: var(--acheson-gold);
    font-weight: 700;
}

.theme-acheson .log-status {
    color: var(--acheson-success);
    font-weight: 600;
}

.theme-acheson .log-content {
    color: var(--acheson-silver);
}

.theme-acheson .log-entry.usa-entry {
    border-left-color: var(--acheson-gold);
    color: var(--acheson-silver);
}

.theme-acheson .log-entry.ussr-entry {
    border-left-color: var(--acheson-danger);
    color: var(--acheson-danger);
}

/* Acheson-specific log entries */
.theme-acheson .log-entry.acheson-entry {
    border-left-color: var(--acheson-gold);
    color: var(--acheson-gold);
    font-style: italic;
}

/* ========================================
   Vignette Override - Formal Lighting
   ======================================== */
.theme-acheson::before {
    background: radial-gradient(
        ellipse at 50% 40%,
        transparent 40%,
        rgba(0, 20, 40, 0.2) 70%,
        rgba(0, 10, 20, 0.4) 100%
    );
}

/* Subtle texture overlay */
.theme-acheson::after {
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 1px,
        rgba(255, 215, 0, 0.01) 1px,
        rgba(255, 215, 0, 0.01) 2px
    );
    opacity: 0.3;
}

/* ========================================
   Notification Override
   ======================================== */
.theme-acheson .notification {
    font-family: 'Baskerville', 'Georgia', serif;
    border: 1px solid;
}

.theme-acheson .notification.success {
    background: var(--acheson-success);
    color: var(--acheson-white);
    border-color: #3a8a3a;
}

.theme-acheson .notification.error {
    background: var(--acheson-danger);
    color: var(--acheson-white);
    border-color: #a53333;
}

/* ========================================
   Cost Modifiers (Acheson Doctrine)
   ======================================== */
.theme-acheson .action-cost.cost-discount {
    background: var(--acheson-success);
    color: var(--acheson-white);
    border: 1px solid #3a8a3a;
}

.theme-acheson .action-cost.cost-markup {
    background: var(--acheson-danger);
    color: var(--acheson-white);
    border: 1px solid #a53333;
}

/* ========================================
   Game Over - Acheson Victory/Defeat
   ======================================== */
.theme-acheson .game-over.acheson-victory {
    border-color: var(--acheson-gold);
}

.theme-acheson .game-over.acheson-victory .stamp {
    background: var(--acheson-gold);
    color: var(--acheson-navy);
}

.theme-acheson .game-over.alliance-collapse {
    border-color: var(--acheson-danger);
}

.theme-acheson .game-over.alliance-collapse .stamp {
    background: var(--acheson-danger);
    color: var(--acheson-white);
}
