kernel_panic_web/kernelpanic.lol/assets/static/style.css
2025-06-09 22:00:46 -06:00

247 lines
5.0 KiB
CSS

@font-face {
font-family: "Quicksand";
src: local("Quicksand");
font-display: swap;
}
@font-face {
font-family: "TerminalGrotesque";
src: url("/static/terminal-grotesque_open.otf") format("opentype");
font-style: normal;
font-display: swap;
}
:root {
--bg-main: #101820;
--bg-content: #18222d;
--accent: #00ff99;
--accent-soft: #33ffbb;
--text-main: #e0ffe0;
--text-link: #00e6e6;
--text-link-hover: #fff;
--border: #222c38;
--header-bg: #16202a;
--footer-bg: #16202a;
--shadow: 0 2px 16px rgba(0,0,0,0.15);
--radius: 10px;
--font-main: 'Quicksand', 'Segoe UI', Arial, sans-serif;
--font-mono: 'Fira Mono', 'Consolas', monospace;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
background: var(--bg-main);
color: var(--text-main);
font-family: var(--font-main);
font-size: 18px;
line-height: 1.6;
min-height: 100vh;
box-sizing: border-box;
scroll-behavior: smooth;
}
body {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
min-height: 100vh;
background-size: 20px 20px;
cursor: crosshair;
}
a {
color: var(--text-link);
text-decoration: underline;
transition: color 0.2s;
font-weight: 500;
}
a:hover, a:focus {
color: var(--text-link-hover);
background: var(--accent);
text-decoration: none;
border-radius: var(--radius);
padding: 0 2px;
}
canvas {
display: block;
z-index: -3;
}
#topbar {
width: 100%;
text-align: center;
border-bottom: 1px solid var(--border);
position: sticky;
top: 0;
background: var(--header-bg);
color: var(--accent);
font-family: var(--font-mono);
font-size: 1.2em;
letter-spacing: 0.05em;
box-shadow: var(--shadow);
animation: slideDown 1.2s cubic-bezier(.68,-0.55,.27,1.55) backwards;
}
@keyframes slideDown {
0% { transform: translateY(-50px); opacity: 0; }
100% { transform: translateY(0); opacity: 1; }
}
.button, .btn {
display: inline-block;
padding: 10px 18px;
margin: 0 4px;
border: none;
border-radius: var(--radius);
background: var(--accent);
color: #101820;
font-size: 1em;
font-family: var(--font-main);
font-weight: 600;
cursor: pointer;
transition: background 0.2s, color 0.2s, box-shadow 0.2s;
box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.button:hover, .btn:hover {
background: var(--accent-soft);
color: #000;
}
.content {
background: var(--bg-content);
color: var(--text-main);
border-radius: var(--radius);
box-shadow: var(--shadow);
padding: 32px 6vw;
margin: 32px 0;
width: 90vw;
max-width: 900px;
text-align: left;
font-size: 1.1em;
overflow-x: auto;
}
.content img {
max-width: 100%;
border-radius: 6px;
box-shadow: 0 1px 8px rgba(0,0,0,0.12);
margin: 16px 0;
display: block;
}
h1, h2, h3, h4 {
color: var(--accent);
font-family: var(--font-mono);
font-weight: 700;
margin-top: 1.5em;
margin-bottom: 0.5em;
text-align: center;
letter-spacing: 0.03em;
}
h1 { font-size: 2.2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.2em; }
#footer {
color: var(--text-main);
width: 100vw;
font-size: 0.95em;
background: var(--footer-bg);
text-align: center;
padding: 18px 10px 10px 10px;
position: relative;
border-top: 1px solid var(--border);
border-radius: 0 0 var(--radius) var(--radius);
box-shadow: 0 -1px 8px rgba(0,0,0,0.08);
margin-top: auto;
}
#footer a {
color: var(--accent);
font-size: inherit;
text-decoration: underline;
}
#footer a:hover {
color: var(--text-link-hover);
background: var(--accent-soft);
}
header, footer, div.page {
width: 100%;
max-width: 760px;
margin: 0 auto;
background: var(--header-bg);
padding: 20px 30px;
border-radius: var(--radius);
box-shadow: var(--shadow);
}
header h1 {
color: var(--accent);
margin: 0;
font-weight: 700;
font-size: 2.5em;
letter-spacing: 0.04em;
}
header nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 18px;
justify-content: center;
}
header nav ul li {
display: inline;
margin: 0;
padding: 0;
}
div.page {
background: var(--bg-content);
}
#grid-canvas,
#particle-canvas {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
pointer-events: none;
}
#grid-canvas {
z-index: -20;
}
#particle-canvas {
background-color: transparent;
z-index: 10002;
}
#coords {
position: fixed;
bottom: 16px;
right: 16px;
background: rgba(16, 24, 32, 0.85);
color: var(--accent);
padding: 8px 14px;
border-radius: 6px;
font-family: var(--font-mono);
font-size: 1em;
z-index: 1001;
box-shadow: 0 1px 8px rgba(0,0,0,0.18);
transition: all 0.2s ease;
cursor: crosshair;
user-select: none;
opacity: 0.95;
}
#coords.decrypted {
background: rgba(16, 24, 32, 0.98);
color: #fff;
}