diff --git a/internal/web/static/css/style.css b/internal/web/static/css/style.css
index cbeac7c..09d20ca 100644
--- a/internal/web/static/css/style.css
+++ b/internal/web/static/css/style.css
@@ -1,5 +1,3 @@
-/* Abuse registration POC — styled to match the FLÓ/zeitkort POC shell. */
-
*, *::before, *::after { box-sizing: border-box; }
:root,
@@ -9,7 +7,7 @@
--fg: #1a1d22;
--muted: #595f68;
--dim: #9299a2;
- --border: rgba(26, 29, 34, 0.12);
+ --border: rgba(26, 29, 34, 0.1);
--border-soft: rgba(26, 29, 34, 0.06);
--dotted: rgba(26, 29, 34, 0.12);
--field-bg: rgba(26, 29, 34, 0.03);
@@ -18,10 +16,10 @@
--btn-bg-hover: rgba(26, 29, 34, 0.09);
--btn-border: rgba(26, 29, 34, 0.18);
--header-border: rgba(26, 29, 34, 0.12);
- --link: #2c5a7a;
- --accent: #2c5a7a;
- --nav-bg: rgba(244, 241, 236, 0.6);
- --bg-panel: rgba(255, 253, 250, 0.72);
+ --link: #0f527d;
+ --accent: #164f75;
+ --nav-bg: rgba(255, 253, 250, 0.92);
+ --bg-panel: rgba(255, 255, 255, 0.85);
--notice-fg: #2a6e2a;
--notice-bg: rgba(42, 110, 42, 0.06);
--notice-border: rgba(42, 110, 42, 0.25);
@@ -29,45 +27,45 @@
--error-bg: rgba(160, 48, 48, 0.06);
--error-border: rgba(160, 48, 48, 0.25);
--shadow: rgba(0, 0, 0, 0.12);
- --toggle-bg: linear-gradient(135deg, #07070d 0%, #64dcff 100%);
+ --toggle-bg: linear-gradient(135deg, #24273a 0%, #8aadf4 100%);
--toggle-border: rgba(26, 29, 34, 0.2);
--toggle-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
-[data-theme="tokyo"] {
+[data-theme="macchiato"] {
color-scheme: dark;
- --bg: #07070d;
- --fg: #e8f4ff;
- --muted: #a3b3cc;
- --dim: #7886a0;
- --border: rgba(100, 220, 255, 0.12);
- --border-soft: rgba(100, 220, 255, 0.06);
- --dotted: rgba(100, 220, 255, 0.1);
- --field-bg: rgba(100, 220, 255, 0.04);
- --field-border: rgba(100, 220, 255, 0.15);
- --btn-bg: rgba(100, 220, 255, 0.06);
- --btn-bg-hover: rgba(100, 220, 255, 0.1);
- --btn-border: rgba(100, 220, 255, 0.18);
- --header-border: rgba(100, 220, 255, 0.12);
- --link: #64dcff;
- --accent: #64dcff;
- --nav-bg: rgba(7, 7, 13, 0.65);
- --bg-panel: rgba(15, 16, 28, 0.72);
- --notice-fg: #8fe08f;
- --notice-bg: rgba(143, 224, 143, 0.06);
- --notice-border: rgba(143, 224, 143, 0.25);
- --error-fg: #ff9b9b;
- --error-bg: rgba(255, 155, 155, 0.06);
- --error-border: rgba(255, 155, 155, 0.2);
- --shadow: rgba(0, 0, 0, 0.5);
- --toggle-bg: #f4f1ec;
- --toggle-border: rgba(100, 220, 255, 0.4);
- --toggle-shadow: 0 0 10px rgba(100, 220, 255, 0.5), 0 0 25px rgba(100, 220, 255, 0.3);
+ --bg: #181926;
+ --fg: #cad3f5;
+ --muted: #a5adcb;
+ --dim: #8087a2;
+ --border: rgba(165, 173, 203, 0.15);
+ --border-soft: rgba(165, 173, 203, 0.08);
+ --dotted: rgba(165, 173, 203, 0.12);
+ --field-bg: rgba(165, 173, 203, 0.08);
+ --field-border: rgba(165, 173, 203, 0.2);
+ --btn-bg: rgba(165, 173, 203, 0.1);
+ --btn-bg-hover: rgba(165, 173, 203, 0.15);
+ --btn-border: rgba(165, 173, 203, 0.22);
+ --header-border: rgba(165, 173, 203, 0.12);
+ --link: #8aadf4;
+ --accent: #8aadf4;
+ --nav-bg: rgba(36, 39, 58, 0.65);
+ --bg-panel: #24273a;
+ --notice-fg: #a6da95;
+ --notice-bg: rgba(166, 218, 149, 0.08);
+ --notice-border: rgba(166, 218, 149, 0.25);
+ --error-fg: #ed8796;
+ --error-bg: rgba(237, 135, 150, 0.08);
+ --error-border: rgba(237, 135, 150, 0.25);
+ --shadow: rgba(0, 0, 0, 0.35);
+ --toggle-bg: #1e2030;
+ --toggle-border: rgba(138, 173, 244, 0.4);
+ --toggle-shadow: 0 0 10px rgba(138, 173, 244, 0.4), 0 0 25px rgba(138, 173, 244, 0.2);
}
html, body { max-width: 100%; overflow-x: hidden; }
body {
- font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
+ font-family: 'Noto Sans', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
font-size: 0.88rem;
font-weight: 300;
line-height: 1.55;
@@ -140,7 +138,7 @@ header {
text-transform: uppercase;
color: var(--muted);
}
-[data-theme="tokyo"] .brand { color: #e8f4ff; text-shadow: 0 0 8px rgba(100, 220, 255, 0.3); }
+[data-theme="macchiato"] .brand { color: #cad3f5; text-shadow: 0 0 8px rgba(138, 173, 244, 0.25); }
footer {
padding: 0.9rem 1.5rem;
@@ -161,7 +159,7 @@ footer a:hover { color: var(--accent); }
.footer-icon { color: var(--muted); text-decoration: none; display: flex; align-items: center; border-bottom: none; transition: color 0.25s ease; }
.footer-icon:hover { color: var(--accent); border-bottom: none; }
-h1, h2, h3 { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; font-weight: 700; letter-spacing: -0.02em; }
+h1, h2, h3 { font-family: 'Noto Sans', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; font-weight: 700; letter-spacing: -0.02em; }
h1 { margin: 0 0 0.9rem; font-size: clamp(1.35rem, 4vw, 2rem); }
h2 { margin: 0 0 0.9rem; font-size: 1.1rem; }
h3 { margin: 1rem 0 0.4rem; font-size: 0.86rem; color: var(--fg); }
@@ -215,7 +213,7 @@ pre {
font-size: 0.78rem;
line-height: 1.45;
}
-[data-theme="tokyo"] pre { background: rgba(100, 220, 255, 0.04); }
+[data-theme="macchiato"] pre { background: rgba(138, 173, 244, 0.04); }
.harmonium {
display: grid;
@@ -282,8 +280,8 @@ select, input[type=text], input[type=number], input:not([type]) {
outline: none;
width: 100%;
}
-[data-theme="tokyo"] select,
-[data-theme="tokyo"] option { background: #0f1018; color: #e8f4ff; }
+[data-theme="macchiato"] select,
+[data-theme="macchiato"] option { background: #1e2030; color: #cad3f5; }
select:focus, input:focus { border-color: var(--accent); }
label { display: block; font-size: 0.78rem; color: var(--muted); margin-bottom: 0.75rem; }
label input, label select { margin-top: 0.25rem; }
@@ -340,7 +338,7 @@ button:hover { background: var(--btn-bg-hover); }
}
.reset-label { font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.72rem; }
.reset-countdown {
- font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
+ font-family: 'Noto Sans', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
font-size: clamp(1.5rem, 6vw, 2.5rem);
font-weight: 700;
line-height: 1;
diff --git a/internal/web/static/js/theme.js b/internal/web/static/js/theme.js
index aedba53..b51c6a2 100644
--- a/internal/web/static/js/theme.js
+++ b/internal/web/static/js/theme.js
@@ -1,13 +1,13 @@
(function () {
function currentSystemTheme() {
- return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'tokyo' : 'light';
+ return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'macchiato' : 'light';
}
var btn = document.getElementById('theme-toggle');
if (btn) {
btn.addEventListener('click', function () {
var current = document.documentElement.getAttribute('data-theme') || 'light';
- var next = current === 'light' ? 'tokyo' : 'light';
+ var next = current === 'light' ? 'macchiato' : 'light';
document.documentElement.setAttribute('data-theme', next);
localStorage.setItem('poc-theme', next);
window.dispatchEvent(new Event('theme-change'));
diff --git a/internal/web/templates/index.html b/internal/web/templates/index.html
index ff40f8e..add3c6a 100644
--- a/internal/web/templates/index.html
+++ b/internal/web/templates/index.html
@@ -8,11 +8,14 @@
+
+
+