slop game oder so
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
/*
|
||||
* Glory Defense – Seiten- und Overlay-Styles.
|
||||
* Das Spiel selbst zeichnet Phaser ins Canvas; hier liegen nur Seitenrahmen,
|
||||
* der Disclaimer und die HTML-Overlays (Dialoge, Namenseingabe).
|
||||
*/
|
||||
|
||||
:root {
|
||||
--gd-navy: #0d1321;
|
||||
--gd-navy-2: #1b2438;
|
||||
--gd-crimson: #c1121f;
|
||||
--gd-gold: #f2c14e;
|
||||
--gd-cream: #f4ecd8;
|
||||
--gd-muted: #a9b1c4;
|
||||
/* Nur Systemschriften: nichts wird mitgeliefert, keine Lizenzfragen. */
|
||||
--gd-font: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Black", sans-serif;
|
||||
--gd-font-body: "Segoe UI", system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
|
||||
html, body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
background: var(--gd-navy);
|
||||
color: var(--gd-cream);
|
||||
font-family: var(--gd-font-body);
|
||||
}
|
||||
|
||||
a { color: var(--gd-gold); }
|
||||
|
||||
/* ------------------------------------------------------------------ Spielseite */
|
||||
|
||||
.game-page { overflow: hidden; }
|
||||
|
||||
#game-shell {
|
||||
position: relative;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
height: 100dvh;
|
||||
}
|
||||
|
||||
#game {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
}
|
||||
|
||||
/* Canvas nicht auswählbar/verschiebbar, sonst stört das beim schnellen Klicken. */
|
||||
#game canvas {
|
||||
display: block;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
.boot-message {
|
||||
position: absolute;
|
||||
inset: auto 0 45% 0;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
font-family: var(--gd-font);
|
||||
letter-spacing: 0.08em;
|
||||
color: var(--gd-gold);
|
||||
}
|
||||
|
||||
.boot-message--error { color: #ff8a8a; }
|
||||
|
||||
/* ------------------------------------------------------------------ Overlays */
|
||||
|
||||
#overlay-root {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 16px;
|
||||
background: rgba(8, 11, 20, 0.72);
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.overlay__panel {
|
||||
width: min(720px, 100%);
|
||||
max-height: 100%;
|
||||
overflow-y: auto;
|
||||
padding: 28px 32px;
|
||||
background: var(--gd-navy-2);
|
||||
border: 3px solid var(--gd-gold);
|
||||
box-shadow: 0 0 0 6px var(--gd-crimson), 0 18px 48px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.overlay__actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ Disclaimer */
|
||||
|
||||
.disclaimer__title {
|
||||
margin: 0 0 12px;
|
||||
font-family: var(--gd-font);
|
||||
font-size: 1.6rem;
|
||||
letter-spacing: 0.06em;
|
||||
color: var(--gd-gold);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.disclaimer__lead { font-size: 1.15rem; }
|
||||
|
||||
.disclaimer__list {
|
||||
margin: 0;
|
||||
padding-left: 1.2em;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.disclaimer__list li + li { margin-top: 8px; }
|
||||
|
||||
/* ------------------------------------------------------------------ Formulare */
|
||||
|
||||
.button {
|
||||
display: inline-block;
|
||||
padding: 10px 22px;
|
||||
border: 2px solid var(--gd-gold);
|
||||
background: var(--gd-crimson);
|
||||
color: var(--gd-cream);
|
||||
font: 700 1rem var(--gd-font-body);
|
||||
letter-spacing: 0.06em;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.button:hover, .button:focus-visible {
|
||||
background: var(--gd-gold);
|
||||
color: var(--gd-navy);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.button--secondary { background: transparent; }
|
||||
|
||||
.field {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.field__label {
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.03em;
|
||||
color: var(--gd-gold);
|
||||
}
|
||||
|
||||
.field__input {
|
||||
padding: 10px 12px;
|
||||
border: 2px solid var(--gd-muted);
|
||||
background: var(--gd-navy);
|
||||
color: var(--gd-cream);
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.field__input:focus { border-color: var(--gd-gold); outline: none; }
|
||||
|
||||
.field__hint { color: var(--gd-muted); font-size: 0.9rem; }
|
||||
.field__error { color: #ff8a8a; min-height: 1.2em; }
|
||||
|
||||
/* ------------------------------------------------------------------ Game Over */
|
||||
|
||||
.stats {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
||||
gap: 10px;
|
||||
margin: 18px 0 8px;
|
||||
}
|
||||
|
||||
.stats__row {
|
||||
padding: 10px 12px;
|
||||
background: var(--gd-navy);
|
||||
border-left: 4px solid var(--gd-crimson);
|
||||
}
|
||||
|
||||
.stats dt { color: var(--gd-muted); font-size: 0.85rem; }
|
||||
.stats dd { margin: 4px 0 0; font: 600 1.35rem var(--gd-font); color: var(--gd-gold); }
|
||||
|
||||
.highscore-list {
|
||||
margin: 16px 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.highscore-list li {
|
||||
display: grid;
|
||||
grid-template-columns: 3em 1fr auto 4em;
|
||||
gap: 12px;
|
||||
padding: 6px 10px;
|
||||
border-bottom: 1px solid rgba(169, 177, 196, 0.2);
|
||||
}
|
||||
|
||||
.highscore-list__score, .highscore-list__wave { text-align: right; font-variant-numeric: tabular-nums; }
|
||||
.highscore-list__own { background: rgba(242, 193, 78, 0.18); color: var(--gd-gold); font-weight: 600; }
|
||||
|
||||
/* ------------------------------------------------------------------ Eigenständige Seiten */
|
||||
|
||||
.page {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 100vh;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.page__panel {
|
||||
width: min(760px, 100%);
|
||||
padding: 32px;
|
||||
background: var(--gd-navy-2);
|
||||
border: 3px solid var(--gd-gold);
|
||||
box-shadow: 0 0 0 6px var(--gd-crimson);
|
||||
}
|
||||
|
||||
.page__actions { margin-top: 28px; }
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.overlay__panel, .page__panel { padding: 20px 18px; }
|
||||
.disclaimer__title { font-size: 1.25rem; }
|
||||
}
|
||||
Reference in New Issue
Block a user