:root {
    --chalkboard-slate: #2a3439;
    --chalkboard-dark: #1f2629;
    --chalkboard-green: #1a2f1a;
    --slate-base: #1f3a1f;
    --chalk-white: #e8e6d5;
    --chalk-dust: #d4cfc4;
    --faded-chalk: #c5c3b0;

    --manila-paper: #e8dcc4;
    --aged-paper: #d9cdb0;
    --paper-shadow: rgba(0, 0, 0, 0.3);
    --paper-edge: #c4b89a;

    --navy-ink: #1a2942;
    --faded-ink: #3a4a5c;
    --typewriter-black: #0d1117;

    --stamp-red: #e3262b;
    --classified-red: #e3262b;
    --tactical-red: #e3262b;
    --brass-yellow: #d4a574;
    --artillery-yellow: #e8c547;
    --officer-blue: #3d5a80;
    --strategic-blue: #5b8fb9;
    --approval-green: #3a5f3a;
    --weathered-gray: #6b7264;
    --smudge-gray: #3a4a3a;

    --paperclip-silver: #a8b2ba;
    --pin-brass: #b8924f;
    --steel-grey: #5a6770;

    --blue-team: #6fa8dc;
    --red-team: #e3262b;

    --font-typewriter: 'Courier Prime', 'American Typewriter', 'Courier New', Courier, monospace;
    --font-stencil: 'Saira Condensed', system-ui, sans-serif;
    --font-display: 'Saira Condensed', system-ui, sans-serif;
    --font-handwritten: 'Permanent Marker', cursive;
    --font-body: 'Courier Prime', 'Courier New', Courier, monospace;
    --font-technical: 'Roboto Mono', 'Courier New', monospace;
    --font-chalk-scrawl: 'Permanent Marker', cursive;
}

body {
    font-family: var(--font-typewriter);
    background: linear-gradient(135deg, var(--chalkboard-slate) 0%, var(--chalkboard-dark) 100%);
    background-image:
        repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,255,255,.015) 2px, rgba(255,255,255,.015) 4px),
        repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(255,255,255,.015) 2px, rgba(255,255,255,.015) 4px),
        linear-gradient(135deg, var(--chalkboard-slate) 0%, var(--chalkboard-dark) 100%);
    color: var(--chalk-white);
    margin: 0;
    position: relative;
    padding-top: 60px;
    min-height: 100vh;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="3" /><feColorMatrix type="saturate" values="0" /></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.02"/></svg>');
    pointer-events: none;
    z-index: 0;
}

.hidden {
    display: none !important;
}

.modal-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}
