body {
    background: linear-gradient(to bottom, #001F3F 0%, #111111 100%);
    color: #FFFFFF;
    font-family: "Futura", "Trebuchet MS", "Arial", "Helvetica", sans-serif;
    font-size: 10pt;
    margin: 0;
    min-height: 100vh;
}


.moon {
    position: fixed;
    z-index: -2;
    border-radius: 50%;
    background: radial-gradient(circle, #FFFFFF 0%, #F5F5F5 50%, transparent 100%);
    width: 120px;
    height: 120px;
    box-shadow: 0 0 20px 15px rgba(255, 255, 255, 0.15);
    pointer-events: none;
}

.stars {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -3;
    background: transparent;
}

.stars::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(#FFFFFF 0.5px, transparent 0.5px),
        radial-gradient(#F5F5F5 0.4px, transparent 0.4px),
        radial-gradient(#D3D3D3 0.3px, transparent 0.3px);
    background-size: 100px 100px, 150px 150px, 200px 200px;
    background-position: 0 0, 50px 50px, 25px 75px;
    opacity: 0.7;
}

@keyframes twinkle {
    0% { opacity: 0.6; }
    50% { opacity: 0.9; }
    100% { opacity: 0.6; }
}


.shooting-star {
    position: fixed;
    width: 2px;
    height: 80px;
    background: linear-gradient(0deg, #FFFFFF, transparent);
    z-index: -1;
    pointer-events: none;
    transform: rotate(45deg);
    animation: shoot 5s linear; 
    opacity: 0.6; 
    animation-play-state: running !important; 
}

@keyframes shoot {
    0% { transform: translate(0, 0) rotate(45deg); opacity: 0.9; }
    100% { transform: translate(-600px, 600px) rotate(45deg); opacity: 0; } 
}


div.post.reply, div.ban, .box.middle, .box.right, .box.left, #quick-reply table, #options_div, #alert_div, #banlist td:hover, .file-approval-item {
    background: rgba(20, 20, 30, 0.85);
    border-color: rgba(200, 200, 255, 0.2) !important;
}


.box.middle, .box.right, .box.left, .options_tab_icon {
    color: #fff;
}

a, a:visited, div.post.reply div.body a {
    color: #66CCFF;
}

a:hover, .intro a.post_no:hover, div.post.reply div.body a:hover {
    color: #FFCCFF;
}

span.quote {
    color: #00FF00;
}

span.spoiler {
    background: #FFFFFF;
    color: rgba(20, 20, 30, 0.85);
}

span.spoiler:hover,
div.post.reply div.body span.spoiler:hover a {
    color: #FFFFFF;
}

div.boardlist, div.banner {
    background: rgba(20, 20, 30, 0.7);
    border-color: rgba(200, 200, 255, 0.4);
    color: #FFFFFF;
}

form table tr th, table.modlog tr th, div.ban h2, .box.middle h2, .box.left h2, .box.right h2 {
    background: rgba(40, 40, 60, 0.9);
    color: #FFFFFF;
}

input, button, textarea, select, option {
    background: rgba(20, 20, 30, 0.95);
    border: 1px solid rgba(200, 200, 255, 0.4) !important;
    color: #FFFFFF;
}

.intro span.subject {
    color: #66CCFF;
}

.intro span.name, .intro span.trip {
    color: #FFFFFF;
}

.intro span.trip {
    opacity: .5;
}

h1, header div.subtitle {
    color: #FFFFFF;
}

hr {
    border-top: 1px solid rgba(200, 200, 255, 0.4);
}

fieldset {
    border: 1px solid rgba(200, 200, 255, 0.4)
}

.desktop-style div.boardlist:nth-child(1) {
    background: rgba(20, 20, 30, 0.7);
    border-color: rgba(200, 200, 255, 0.3);
}

div.pages {
    background: rgba(20, 20, 30, 0.7);
    border-color: rgba(200, 200, 255, 0.3);
    color: #FFFFFF;
}
.twinkling-star {
    position: absolute;
    background: white;
    border-radius: 50%;
    opacity: 0.6;
    animation: twinkle 3s infinite ease-in-out;
    pointer-events: none;
}

@keyframes twinkle {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.9; }
}

a:hover, .intro a.post_no:hover, div.post.reply div.body a:hover {
    color: #D8D9DA;
}
div.post.reply.highlighted {
    background: #1B1C23;
}
span.omitted {
	display: block;
	margin-top: 1em;
	color: #BFBFBF;
}
.intro a.email span.name {
	color: #c4c4cc;
}
