initial commit

This commit is contained in:
2026-03-11 16:56:28 -04:00
commit caa9d40cba
11 changed files with 4415 additions and 0 deletions

245
src/style.css Normal file
View File

@@ -0,0 +1,245 @@
:root {
color-scheme: dark;
font-family: "Space Grotesk", "Segoe UI", sans-serif;
--bg: #050914;
--panel: rgba(5, 12, 26, 0.78);
--panel-border: rgba(126, 212, 255, 0.18);
--text: #ebf7ff;
--muted: #9fb6c8;
--accent: #7ed4ff;
--warning: #ffbf69;
}
* {
box-sizing: border-box;
}
html,
body,
#app {
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
background:
radial-gradient(circle at top, rgba(75, 123, 236, 0.18), transparent 36%),
radial-gradient(circle at 20% 40%, rgba(255, 134, 91, 0.14), transparent 26%),
linear-gradient(180deg, #03070f 0%, #060c18 100%);
color: var(--text);
}
canvas {
display: block;
}
.hud {
position: fixed;
inset: 0;
pointer-events: none;
}
.strategic-overlay {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.96;
}
.marquee {
position: fixed;
display: none;
border: 1px solid rgba(126, 212, 255, 0.85);
background: rgba(126, 212, 255, 0.14);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
z-index: 3;
}
.panel {
position: absolute;
backdrop-filter: blur(14px);
background: var(--panel);
border: 1px solid var(--panel-border);
border-radius: 18px;
box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
z-index: 2;
}
.panel h1,
.panel h2,
.panel p {
margin: 0;
}
.summary {
top: 24px;
left: 24px;
width: min(380px, calc(100vw - 48px));
padding: 18px 20px;
}
.summary h1 {
font-size: 1rem;
letter-spacing: 0.22em;
text-transform: uppercase;
}
.summary p {
margin-top: 10px;
color: var(--muted);
line-height: 1.5;
}
.details {
right: 24px;
top: 24px;
width: min(320px, calc(100vw - 48px));
padding: 18px 20px;
}
.details h2 {
font-size: 0.82rem;
text-transform: uppercase;
letter-spacing: 0.16em;
color: var(--accent);
}
.details .content {
margin-top: 12px;
color: var(--muted);
line-height: 1.55;
white-space: pre-line;
}
.commandbar {
left: 24px;
right: 24px;
bottom: 24px;
min-height: 180px;
display: grid;
grid-template-columns: minmax(240px, 300px) 1fr minmax(220px, 260px);
gap: 16px;
padding: 16px;
align-items: stretch;
pointer-events: auto;
}
.selection-panel,
.orders-panel,
.minimap-panel {
border: 1px solid rgba(126, 212, 255, 0.14);
border-radius: 14px;
background:
linear-gradient(180deg, rgba(7, 15, 29, 0.82), rgba(4, 10, 20, 0.72)),
repeating-linear-gradient(
90deg,
rgba(126, 212, 255, 0.025) 0,
rgba(126, 212, 255, 0.025) 1px,
transparent 1px,
transparent 16px
);
padding: 14px 16px;
}
.selection-title,
.orders-panel .mode {
margin: 0;
font-size: 0.86rem;
text-transform: uppercase;
letter-spacing: 0.14em;
}
.selection-panel .compact {
margin-top: 10px;
color: var(--muted);
line-height: 1.45;
white-space: pre-line;
}
.orders-panel {
display: flex;
flex-direction: column;
gap: 14px;
}
.orders-panel .mode {
color: var(--warning);
text-shadow: 0 0 18px rgba(255, 191, 105, 0.24);
}
.orders {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 10px;
}
.orders button {
border: 1px solid rgba(126, 212, 255, 0.16);
border-radius: 12px;
background: linear-gradient(180deg, rgba(13, 30, 56, 0.95), rgba(8, 17, 33, 0.95));
color: var(--text);
font: inherit;
padding: 12px 10px;
text-transform: uppercase;
letter-spacing: 0.08em;
cursor: pointer;
transition: border-color 120ms ease, transform 120ms ease, background 120ms ease;
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}
.orders button:hover {
border-color: rgba(126, 212, 255, 0.4);
transform: translateY(-1px);
}
.orders[data-mode="none"] button:not([data-action="focus"]) {
opacity: 0.45;
}
.orders-panel .hint {
color: var(--muted);
line-height: 1.45;
}
.minimap-panel {
display: flex;
align-items: center;
justify-content: center;
}
.minimap {
width: 100%;
height: auto;
border-radius: 10px;
border: 1px solid rgba(126, 212, 255, 0.16);
background: rgba(2, 6, 13, 0.92);
}
@media (max-width: 900px) {
.summary,
.details,
.commandbar {
left: 16px;
right: 16px;
}
.summary,
.details {
width: auto;
}
.details {
top: auto;
bottom: 92px;
}
.commandbar {
grid-template-columns: 1fr;
bottom: 16px;
}
.orders {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}