mirror of
https://github.com/litruv/lit.ruv.wtf.git
synced 2026-07-24 02:36:02 +10:00
558 lines
9.6 KiB
CSS
558 lines
9.6 KiB
CSS
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Courier New', Courier, monospace;
|
|
background: #001800;
|
|
color: #0f0;
|
|
overflow: hidden;
|
|
height: 100vh;
|
|
position: relative;
|
|
}
|
|
|
|
/* Initial black screen fade-in */
|
|
.page-fade-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: #000;
|
|
z-index: 20000;
|
|
pointer-events: none;
|
|
opacity: 1;
|
|
transition: opacity 0.8s ease-out;
|
|
}
|
|
|
|
.page-fade-overlay.fade-out {
|
|
opacity: 0;
|
|
}
|
|
|
|
/* Boot screen */
|
|
.boot-screen {
|
|
position: absolute;
|
|
top: 80px;
|
|
left: 80px;
|
|
right: 80px;
|
|
bottom: 100px;
|
|
background: #001800;
|
|
z-index: 100;
|
|
padding: 20px;
|
|
font-family: 'Courier New', Courier, monospace;
|
|
font-size: 14px;
|
|
color: #aaa;
|
|
overflow: hidden;
|
|
transition: opacity 0.5s ease-out;
|
|
border: 3px solid #0f0;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.boot-screen.fade-out {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.boot-screen pre {
|
|
margin: 0;
|
|
white-space: pre-wrap;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.boot-screen .highlight {
|
|
color: #0f0;
|
|
}
|
|
|
|
.boot-screen .white {
|
|
color: #fff;
|
|
}
|
|
|
|
.crt-border-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
border: 80px solid transparent;
|
|
border-image-source: url('screenborder.png');
|
|
border-image-slice: 200 95 fill;
|
|
border-image-width: 80px;
|
|
border-image-repeat: stretch;
|
|
pointer-events: none;
|
|
z-index: 9999;
|
|
}
|
|
|
|
.container {
|
|
position: absolute;
|
|
top: 80px;
|
|
left: 80px;
|
|
right: 80px;
|
|
bottom:100px;
|
|
background: transparent;
|
|
border: 3px solid #0f0;
|
|
border-radius: 8px;
|
|
box-shadow:
|
|
0 0 20px rgba(0, 255, 0, 0.3),
|
|
inset 0 0 50px rgba(0, 255, 0, 0.05);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
z-index: 1;
|
|
}
|
|
|
|
.terminal-header {
|
|
background: transparent;
|
|
border-bottom: 2px solid #0f0;
|
|
padding: 8px 16px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
text-shadow: 0 0 5px #0f0;
|
|
}
|
|
|
|
.header-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 20px;
|
|
}
|
|
|
|
.header-links {
|
|
display: flex;
|
|
gap: 12px;
|
|
font-size: 12px;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.header-link {
|
|
color: #0f0;
|
|
text-decoration: none;
|
|
padding: 4px 8px;
|
|
border: 1px solid #0f0;
|
|
border-radius: 3px;
|
|
transition: all 0.2s;
|
|
text-shadow: 0 0 5px #0f0;
|
|
}
|
|
|
|
.header-link:hover {
|
|
background: #0f0;
|
|
color: #001800;
|
|
box-shadow: 0 0 10px #0f0;
|
|
}
|
|
|
|
.terminal-title {
|
|
letter-spacing: 2px;
|
|
}
|
|
|
|
.system-time {
|
|
font-size: 12px;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
#terminal {
|
|
flex: 1;
|
|
padding: 5px 10px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.xterm {
|
|
height: 100%;
|
|
padding: 0;
|
|
}
|
|
|
|
.xterm-viewport {
|
|
background: transparent !important;
|
|
}
|
|
|
|
.xterm-screen {
|
|
cursor: text;
|
|
}
|
|
|
|
/* Hide xterm cursor completely */
|
|
.xterm-cursor-layer {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Inline terminal input */
|
|
.terminal-inline-input {
|
|
position: absolute;
|
|
background: transparent;
|
|
border: none;
|
|
outline: none;
|
|
color: #0f0;
|
|
font-family: 'Courier New', Courier, monospace;
|
|
font-size: inherit;
|
|
padding: 0;
|
|
margin: 0;
|
|
caret-color: #0f0;
|
|
text-shadow: 0 0 3px #0f0;
|
|
z-index: 10;
|
|
min-width: 50%;
|
|
max-width: 80%;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
/* Clickable commands in terminal */
|
|
.xterm-screen a,
|
|
.xterm .xterm-link-layer a {
|
|
color: #0f0 !important;
|
|
text-decoration: underline !important;
|
|
cursor: pointer !important;
|
|
text-shadow: 0 0 5px #0f0;
|
|
}
|
|
|
|
.xterm-screen a:hover,
|
|
.xterm .xterm-link-layer a:hover {
|
|
color: #0ff !important;
|
|
text-shadow: 0 0 8px #0ff !important;
|
|
}
|
|
|
|
.terminal-inline-input::placeholder {
|
|
color: rgba(0, 255, 0, 0.3);
|
|
}
|
|
|
|
.mention-suggestions {
|
|
position: absolute;
|
|
z-index: 11;
|
|
display: flex;
|
|
gap: 6px;
|
|
max-width: 85%;
|
|
padding: 1px 4px;
|
|
border: 1px solid rgba(0, 255, 0, 0.45);
|
|
background: rgba(0, 24, 0, 0.92);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.mention-suggestion {
|
|
color: #66ff66;
|
|
opacity: 0.9;
|
|
}
|
|
|
|
.mention-suggestion.selected {
|
|
color: #001800;
|
|
background: #66ff66;
|
|
padding: 0 2px;
|
|
}
|
|
|
|
.status-bar {
|
|
background: transparent;
|
|
border-top: 2px solid #0f0;
|
|
padding: 6px 16px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: 12px;
|
|
text-shadow: 0 0 3px #0f0;
|
|
}
|
|
|
|
.status-left {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.status-right {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
/* Quick command buttons */
|
|
.quick-commands {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
}
|
|
|
|
.quick-cmd {
|
|
background: transparent;
|
|
color: #0f0;
|
|
border: 1px solid #0f0;
|
|
border-radius: 3px;
|
|
padding: 2px 8px;
|
|
font-family: 'Courier New', Courier, monospace;
|
|
font-size: 11px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
text-shadow: 0 0 3px #0f0;
|
|
}
|
|
|
|
.quick-cmd:hover {
|
|
background: #0f0;
|
|
color: #001800;
|
|
box-shadow: 0 0 8px #0f0;
|
|
}
|
|
|
|
.quick-cmd:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* CRT scanlines effect */
|
|
.container::before {
|
|
content: " ";
|
|
display: block;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
right: 0;
|
|
background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%),
|
|
linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
|
|
z-index: 2;
|
|
background-size: 100% 2px, 3px 100%;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* Subtle screen flicker */
|
|
@keyframes flicker {
|
|
0% { opacity: 0.98; }
|
|
50% { opacity: 1; }
|
|
100% { opacity: 0.98; }
|
|
}
|
|
|
|
.container {
|
|
animation: flicker 1s infinite;
|
|
}
|
|
|
|
/* Responsive adjustments */
|
|
@media (max-width: 768px) {
|
|
.crt-border-overlay {
|
|
border-width: 40px;
|
|
border-image-width: 40px;
|
|
}
|
|
|
|
.container,
|
|
.boot-screen {
|
|
top: 40px;
|
|
left: 40px;
|
|
right: 40px;
|
|
bottom: 50px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.terminal-header {
|
|
padding: 6px 12px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.header-links {
|
|
gap: 8px;
|
|
font-size: 10px;
|
|
}
|
|
|
|
.header-link {
|
|
padding: 3px 6px;
|
|
}
|
|
|
|
.system-time {
|
|
font-size: 10px;
|
|
}
|
|
|
|
.status-bar {
|
|
padding: 4px 12px;
|
|
font-size: 10px;
|
|
}
|
|
|
|
.quick-commands {
|
|
gap: 6px;
|
|
}
|
|
|
|
.quick-cmd {
|
|
padding: 2px 6px;
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 480px) {
|
|
.crt-border-overlay {
|
|
border-width: 15px;
|
|
border-image-width: 15px;
|
|
}
|
|
|
|
.container,
|
|
.boot-screen {
|
|
top: 15px;
|
|
left: 15px;
|
|
right: 15px;
|
|
bottom: 20px;
|
|
border-width: 2px;
|
|
}
|
|
|
|
.boot-screen {
|
|
font-size: 10px;
|
|
padding: 8px;
|
|
}
|
|
|
|
.terminal-header {
|
|
padding: 4px 8px;
|
|
}
|
|
|
|
.terminal-title {
|
|
letter-spacing: 0;
|
|
font-size: 9px;
|
|
}
|
|
|
|
.header-left {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.header-links {
|
|
gap: 4px;
|
|
font-size: 8px;
|
|
}
|
|
|
|
.header-link {
|
|
padding: 2px 4px;
|
|
}
|
|
|
|
.header-right {
|
|
display: none;
|
|
}
|
|
|
|
.status-bar {
|
|
padding: 3px 8px;
|
|
font-size: 9px;
|
|
}
|
|
|
|
.status-right {
|
|
display: none;
|
|
}
|
|
|
|
#terminal {
|
|
padding: 3px 5px;
|
|
}
|
|
|
|
/* Prevent iOS auto-zoom on input focus */
|
|
.terminal-inline-input {
|
|
font-size: 16px;
|
|
}
|
|
}
|
|
|
|
/* Very small screens - minimal border */
|
|
@media (max-width: 380px) {
|
|
.crt-border-overlay {
|
|
border-width: 8px;
|
|
border-image-width: 8px;
|
|
}
|
|
|
|
.container,
|
|
.boot-screen {
|
|
top: 8px;
|
|
left: 8px;
|
|
right: 8px;
|
|
bottom: 12px;
|
|
border-width: 1px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.terminal-header {
|
|
padding: 3px 6px;
|
|
}
|
|
|
|
.terminal-title {
|
|
font-size: 8px;
|
|
}
|
|
|
|
.header-links {
|
|
display: none;
|
|
}
|
|
|
|
.status-bar {
|
|
padding: 2px 6px;
|
|
}
|
|
}
|
|
|
|
/* Very skinny screens - no border at all */
|
|
@media (max-width: 350px) {
|
|
.crt-border-overlay {
|
|
display: none;
|
|
}
|
|
|
|
.container,
|
|
.boot-screen {
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
border-radius: 0;
|
|
border: none;
|
|
}
|
|
|
|
.terminal-header {
|
|
border-bottom: 1px solid #0f0;
|
|
}
|
|
|
|
.status-bar {
|
|
border-top: 1px solid #0f0;
|
|
}
|
|
}
|
|
|
|
/* Keyboard open on mobile - detected via JS */
|
|
body.keyboard-open .crt-border-overlay {
|
|
display: none;
|
|
}
|
|
|
|
body.keyboard-open .container,
|
|
body.keyboard-open .boot-screen {
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
border-radius: 0;
|
|
border: none;
|
|
}
|
|
|
|
body.keyboard-open .terminal-header {
|
|
border-bottom: 1px solid #0f0;
|
|
padding: 3px 8px;
|
|
}
|
|
|
|
body.keyboard-open .status-bar {
|
|
border-top: 1px solid #0f0;
|
|
padding: 3px 8px;
|
|
}
|
|
|
|
/* Small viewport (under 1280x720) - detected via JS */
|
|
body.small-viewport .crt-border-overlay {
|
|
display: none;
|
|
}
|
|
|
|
body.small-viewport .container,
|
|
body.small-viewport .boot-screen {
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
border-radius: 0;
|
|
border: none;
|
|
}
|
|
|
|
body.small-viewport .terminal-header {
|
|
border-bottom: 1px solid #0f0;
|
|
}
|
|
|
|
body.small-viewport .status-bar {
|
|
border-top: 1px solid #0f0;
|
|
}
|
|
|
|
/* Scrollbar styling */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #001800;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: #0f0;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: #0c0;
|
|
}
|