Files
site/assets/css/landing.css
T
protokeyandClaude Opus 5.5 d0c0b485c6 feat: Robotex landing describes architecture v2
- how it works: async POST /v2/tasks + polling, window held between tasks,
  /v1/solve stays synchronous; example uses an http proxy and native Linux UA
- new "Architecture" section (api, RabbitMQ, worker, Redis) via the optional
  engine block; base engine styles moved into landing.css
- features: window between tasks, inner_text; limits: open window takes a slot

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:13:35 +04:00

141 lines
6.1 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Project landing pages (layouts/projects/single.html). Standalone, no theme CSS. */
:root {
--bg: #0b1020;
--bg-alt: #10172b;
--surface: rgba(255, 255, 255, .04);
--border: rgba(255, 255, 255, .09);
--text: #e6e9f2;
--muted: #9aa3b8;
--accent: #7c8cff;
--accent-strong: #5b6cf0;
--code-bg: #070b16;
--radius: .9rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
background: var(--bg);
color: var(--text);
font: 400 1rem/1.6 'Inter', system-ui, sans-serif;
-webkit-font-smoothing: antialiased;
}
a { color: var(--accent); }
code, pre { font-family: 'JetBrains Mono', monospace; }
h1, h2, h3 { letter-spacing: -.02em; line-height: 1.15; margin: 0; }
h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; }
h3 { font-size: 1.05rem; font-weight: 600; }
.wrap { width: min(100% - 2rem, 1040px); margin-inline: auto; }
/* nav */
.nav {
position: sticky; top: 0; z-index: 10;
background: rgba(11, 16, 32, .8);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--border);
}
.nav__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 3.5rem; }
.nav__logo { font-weight: 800; font-size: 1.15rem; color: var(--text); text-decoration: none; }
.nav__links { display: flex; align-items: center; gap: 1.25rem; }
.nav__links a { color: var(--muted); text-decoration: none; font-size: .9rem; }
.nav__links a:hover { color: var(--text); }
.nav__lang { padding: .15rem .5rem; border: 1px solid var(--border); border-radius: .4rem; }
@media (max-width: 640px) {
.nav__links a:not(.nav__lang) { display: none; }
}
/* hero */
.hero {
padding: clamp(4rem, 12vw, 7.5rem) 0 clamp(3rem, 8vw, 5rem);
background:
radial-gradient(60rem 30rem at 50% -10%, rgba(124, 140, 255, .22), transparent 70%),
var(--bg);
text-align: center;
}
.badge {
display: inline-block; margin: 0 0 1.25rem; padding: .3rem .8rem;
border: 1px solid rgba(124, 140, 255, .4); border-radius: 999px;
color: var(--accent); font-size: .85rem; font-weight: 600;
}
.hero__title { font-size: clamp(2.2rem, 6vw, 3.6rem); font-weight: 800; max-width: 18ch; margin-inline: auto; }
.hero__lead { max-width: 40rem; margin: 1.25rem auto 0; color: var(--muted); font-size: 1.15rem; }
.hero__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 2rem; }
.btn {
display: inline-block; padding: .75rem 1.4rem; border-radius: .7rem;
border: 1px solid var(--border); background: var(--surface);
color: var(--text); font-weight: 600; text-decoration: none;
transition: background .15s, transform .15s;
}
.btn:hover { background: rgba(255, 255, 255, .08); transform: translateY(-1px); }
.btn--primary { background: var(--accent-strong); border-color: var(--accent-strong); color: #fff; }
.btn--primary:hover { background: var(--accent); }
/* sections */
.section { padding: clamp(3rem, 8vw, 5rem) 0; scroll-margin-top: 3.5rem; }
.section--alt { background: var(--bg-alt); border-block: 1px solid var(--border); }
.section__lead { color: var(--muted); max-width: 44rem; margin: .75rem 0 0; font-size: 1.05rem; }
.problems { margin: 1.5rem 0; padding: 0; list-style: none; display: grid; gap: .6rem; counter-reset: p; }
.problems li {
counter-increment: p; display: flex; gap: .9rem; align-items: center;
padding: .8rem 1rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface);
}
.problems li::before {
content: counter(p); flex: none; display: grid; place-items: center;
width: 1.8rem; height: 1.8rem; border-radius: 50%;
background: rgba(124, 140, 255, .15); color: var(--accent); font-weight: 600; font-size: .9rem;
}
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; margin-top: 2rem; }
.grid--4 { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.card { padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.card p { margin: .5rem 0 0; color: var(--muted); font-size: .95rem; }
.card code { font-size: .85em; color: var(--text); }
.card--link { text-decoration: none; color: var(--text); transition: border-color .15s, transform .15s; }
.card--link:hover { border-color: rgba(124, 140, 255, .5); transform: translateY(-2px); }
.card--link h3 { color: var(--accent); }
.steps { margin: 1.5rem 0 0; padding-left: 1.25rem; display: grid; gap: .4rem; }
.steps code { font-size: .9em; }
.code { display: grid; gap: 1rem; margin-top: 2rem; }
.code figure { margin: 0; min-width: 0; }
.code figcaption { color: var(--muted); font-size: .85rem; margin-bottom: .4rem; }
.code pre {
margin: 0; padding: 1rem; overflow-x: auto;
background: var(--code-bg); border: 1px solid var(--border); border-radius: var(--radius);
font-size: .82rem; line-height: 1.5; color: #c9d1e8; tab-size: 2;
}
.limits { margin: 1.5rem 0 0; padding-left: 1.25rem; display: grid; gap: .5rem; color: var(--muted); }
.limits strong { color: var(--text); }
/* footer */
.footer { padding: 2rem 0; border-top: 1px solid var(--border); color: var(--muted); font-size: .9rem; }
.footer__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; }
.footer p { margin: 0; }
/* under the hood (optional "engine" section; themes may restyle it) */
.engine__kicker {
margin: 0 0 .5rem; color: var(--accent);
font: 600 .8rem/1 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: .12em;
}
.engine__list {
list-style: none; margin: 2rem 0 0; padding: 0;
display: grid; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); gap: .75rem 2rem;
}
.engine__list li { position: relative; padding-left: 1.4rem; color: var(--muted); }
.engine__list li::before { content: "›"; position: absolute; left: 0; color: var(--accent); font-weight: 800; }
.engine__list strong { color: var(--text); }
.engine__callout {
margin-top: 2.5rem; padding: 1.25rem 1.5rem;
border: 1px solid rgba(124, 140, 255, .35); border-radius: var(--radius);
background: rgba(124, 140, 255, .06);
}
.engine__callout h3 { color: var(--accent); font-size: 1.1rem; }
.engine__callout p { margin: .5rem 0 0; color: var(--muted); }