SHODAN / style.css
jisaacso219's picture
Update style.css
fe7d4c8 verified
body {
margin: 0;
padding: 0;
overflow: hidden;
font-family: "Courier New", Courier, monospace;
background: #000;
color: #00ffcc;
/* Multiple radial gradients create starfield dots */
background-image:
radial-gradient(circle at 10% 20%, #fff 1px, transparent 0),
radial-gradient(circle at 30% 40%, #fff 1px, transparent 0),
radial-gradient(circle at 50% 80%, #fff 1px, transparent 0),
radial-gradient(circle at 70% 30%, #fff 2px, transparent 0),
radial-gradient(circle at 90% 60%, #fff 1px, transparent 0);
background-size: 100px 100px;
animation: starfield 60s linear infinite;
}
@keyframes starfield {
from { background-position: 0 0; }
to { background-position: -200px 200px; }
}
/* Header styling */
.header {
position: fixed;
top: 0;
width: 100%;
padding: 1rem 0;
background: rgba(0, 0, 0, 0.7);
box-shadow: 0 0 10px #00ffcc;
text-align: center;
z-index: 100;
}
.header h1 {
margin: 0;
font-size: 2rem;
letter-spacing: 0.3rem;
color: #00ffcc;
}
/* Interface layout */
.interface {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(100vh - 4rem);
padding: 6rem 2rem 2rem;
box-sizing: border-box;
}
/* Avatar styling */
#avatar {
width: 150px;
height: 150px;
border: 2px solid #00ffcc;
border-radius: 50%;
overflow: hidden;
margin: 0 auto 1rem;
}
#avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
#avatar.speaking,
#avatar.speaking img {
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { box-shadow: 0 0 5px #00ffcc; transform: scale(1); }
50% { box-shadow: 0 0 25px #00ffccaa; transform: scale(1.05); }
100% { box-shadow: 0 0 5px #00ffcc; transform: scale(1); }
}
/* Chatbox styling */
#chatbox {
flex: 1;
overflow-y: auto;
border: 1px solid #00ffcc;
padding: 1rem;
background-color: #020202;
box-shadow: 0 0 10px #00ffcc33;
margin-bottom: 1rem;
font-size: 1rem;
line-height: 1.6;
}
/* Message bubbles */
.bubble {
padding: 0.75rem;
margin: 0.5rem 0;
border-radius: 0.5rem;
max-width: 80%;
animation: typeIn 0.5s ease-out;
white-space: pre-wrap;
}
.bubble.user {
align-self: flex-end;
background-color: #003333;
color: #00ffff;
}
.bubble.ai {
align-self: flex-start;
background-color: #111;
border: 1px solid #00ffcc;
color: #00ffcc;
}
@keyframes typeIn {
from { opacity: 0; transform: translateY(5px); }
to { opacity: 1; transform: translateY(0); }
}
/* Input form styling */
form {
display: flex;
gap: 1rem;
}
input[type="text"] {
flex: 1;
padding: 0.75rem;
font-size: 1rem;
background: #001111;
color: #00ffcc;
border: 1px solid #00ffcc;
outline: none;
}
button {
padding: 0.75rem 1.25rem;
background-color: #00ffcc;
border: none;
color: black;
font-weight: bold;
cursor: pointer;
transition: background 0.2s;
}
button:hover {
background-color: #00ffaa;
}
/* Overlay glitch */
#overlay {
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(255,0,0,0.7);
pointer-events: none;
opacity: 0;
transition: opacity 0.1s;
z-index: 9999;
}
/* === Mobile Responsive Overrides === */
@media (max-width: 600px) {
/* allow vertical scrolling on small screens */
body {
overflow: auto;
}
/* tighten up padding */
.interface {
padding: 5rem 1rem 1rem !important;
height: auto !important;
}
/* smaller, centered avatar */
#avatar {
width: 100px !important;
height: 100px !important;
margin-bottom: 0.75rem !important;
}
/* adjust chatbox sizing & font */
#chatbox {
font-size: 0.9rem;
max-height: 50vh;
}
/* stack form vertically */
form {
flex-direction: column;
gap: 0.5rem;
}
input[type="text"],
button {
width: 100%;
box-sizing: border-box;
}
button {
margin: 0; /* remove side margin */
}
}