|
|
@@ -14,9 +14,19 @@
|
|
|
--on-accent: #17213d; --danger: #f69c8e; --danger-soft: #432d29;
|
|
|
--supply: #92b6bb; --signal: #e9bb78; --wire: #8c998d; --metal: #737e72;
|
|
|
}
|
|
|
+:root {
|
|
|
+ --lab-glow: rgba(54,89,217,.16);
|
|
|
+ --lab-grid: rgba(126,137,124,.16);
|
|
|
+ --lab-grid-major: rgba(126,137,124,.22);
|
|
|
+}
|
|
|
+:root[data-theme="dark"] {
|
|
|
+ --lab-glow: rgba(164,182,255,.12);
|
|
|
+ --lab-grid: rgba(140,153,141,.18);
|
|
|
+ --lab-grid-major: rgba(140,153,141,.26);
|
|
|
+}
|
|
|
* { box-sizing: border-box; }
|
|
|
html { zoom: 1.15; scroll-behavior: smooth; scrollbar-gutter: stable; }
|
|
|
-body { margin: 0; min-width: 0; background: var(--bg); color: var(--text); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
|
|
|
+body { margin: 0; min-width: 0; background: radial-gradient(circle at 12% 0%, var(--lab-glow), transparent 24%), radial-gradient(circle at 92% 18%, rgba(177,118,28,.08), transparent 26%), linear-gradient(var(--lab-grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--lab-grid-major) 1px, transparent 1px), linear-gradient(var(--lab-grid) 1px, transparent 1px), linear-gradient(90deg, var(--lab-grid) 1px, transparent 1px), var(--bg); background-size: auto, auto, 128px 128px, 128px 128px, 32px 32px, 32px 32px; color: var(--text); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
|
|
|
body, .workspace, .modal, .lock-stage, .schematic-scroll { transition: background-color .25s, color .25s, border-color .25s; }
|
|
|
button, input, select { font: inherit; }
|
|
|
button { color: inherit; }
|
|
|
@@ -25,21 +35,25 @@ button, a, input, select { -webkit-tap-highlight-color: transparent; }
|
|
|
::selection { background: var(--accent); color: var(--on-accent); }
|
|
|
h1, h2, p { margin-top: 0; }
|
|
|
.app-shell { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
|
|
|
-.topbar { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
|
|
|
+.topbar { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); position: relative; }
|
|
|
+.topbar::after { content: "LAB / INSTRUMENT CONTROL"; position: absolute; right: 0; bottom: 7px; color: var(--muted); font: 7px var(--mono); letter-spacing: .16em; opacity: .65; }
|
|
|
.brand { display: flex; align-items: center; gap: 12px; color: var(--text); text-decoration: none; font-size: 13px; font-weight: 800; letter-spacing: -.02em; }
|
|
|
.brand-mark { display: grid; place-items: center; width: 32px; height: 36px; color: var(--accent); }
|
|
|
.brand-mark svg { width: 28px; height: 32px; }
|
|
|
.brand i { font: 10px var(--mono); color: var(--muted); padding-left: 12px; border-left: 1px solid var(--line); }
|
|
|
+.brand-mark { filter: drop-shadow(0 0 8px var(--lab-glow)); }
|
|
|
.topbar-actions { display: flex; align-items: center; gap: 8px; }
|
|
|
-.hero { display: grid; grid-template-columns: 1fr 310px; gap: 32px; align-items: end; padding: 56px 0 40px; }
|
|
|
+.hero { display: grid; grid-template-columns: 1fr 310px; gap: 32px; align-items: end; padding: 64px 0 46px; }
|
|
|
.eyebrow, .panel-kicker { margin: 0; font: 10px/1.6 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
|
|
|
-.hero h1 { margin: 16px 0 0; font-size: clamp(38px, 5.5vw, 76px); font-weight: 500; line-height: 1.08; letter-spacing: -.065em; }
|
|
|
+.hero h1 { margin: 16px 0 0; font-size: clamp(30px, 4.4vw, 64px); font-weight: 500; line-height: 1.08; letter-spacing: -.065em; text-shadow: 0 12px 34px var(--lab-glow); }
|
|
|
+.hero-title__suffix { color: var(--accent); font-size: .72em; font-weight: 600; letter-spacing: -.04em; white-space: nowrap; }
|
|
|
.hero h1 span { color: var(--accent); }
|
|
|
.hero-copy { margin: 0 0 4px; color: var(--muted); font-size: 13px; line-height: 1.85; }
|
|
|
.hero-meta { display: flex; align-items: center; gap: 8px; margin-top: 18px; font: 9px var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
|
|
|
.hero-meta i { width: 6px; height: 6px; background: var(--accent); border-radius: 50%; }
|
|
|
+.hero-meta i { box-shadow: 0 0 0 4px var(--accent-soft), 0 0 12px var(--accent); }
|
|
|
footer { display: flex; justify-content: space-between; gap: 16px; padding: 26px 0 36px; color: var(--muted); font: 9px/1.8 var(--mono); }
|
|
|
@media (max-width: 1000px) { .app-shell { width: calc(100% - 48px); } .hero { grid-template-columns: 1fr 260px; } }
|
|
|
@media (max-width: 800px) { .hero { grid-template-columns: 1fr; gap: 22px; padding-block: 38px 30px; } .hero-copy { max-width: 440px; } .hero-meta { margin-top: 12px; } .topbar-actions > .button--ghost { display: none; } }
|
|
|
-@media (max-width: 480px) { .app-shell { width: calc(100% - 32px); } .topbar { min-height: 76px; gap: 8px; } .brand i { display: none; } .brand { gap: 6px; font-size: 12px; } .topbar-actions { gap: 2px; } footer { flex-direction: column; gap: 4px; } }
|
|
|
+@media (max-width: 480px) { .app-shell { width: calc(100% - 32px); } .topbar { min-height: 76px; gap: 8px; } .brand i { display: none; } .brand { gap: 6px; font-size: 12px; } .topbar-actions { gap: 2px; } .hero h1 { font-size: clamp(28px, 8vw, 38px); } footer { flex-direction: column; gap: 4px; } }
|
|
|
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
|