Files
obsidian/Ремонт квартира/.site/assets/style.css
Cosmo 033a99e017
All checks were successful
Deploy Remont Site / deploy (push) Successful in 19s
🎨 Ремонт-сайт: фон — точечная текстура вместо сетки-миллиметровки
По просьбе: убрал квадратную сетку с заднего фона страницы,
вернул прежнюю тонкую точечную текстуру. Остальной чертёжный
стиль без изменений.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LuV7iC61963xpBTBvxkyEq
2026-07-22 15:59:36 +00:00

481 lines
22 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.
/* ============================================================
Ремонт квартиры — концепт как рабочий чертёж архитектора.
Тёплая палитра материалов самой квартиры (шалфей, дуб,
штукатурка) + чертёжный слой: миллиметровка, реперы,
размерные линии, моноширинные аннотации, blueprint-синий.
============================================================ */
:root {
/* поверхности — тёплая бумага чертежа */
--plaster: #E7E2D5; /* фон */
--paper: #F3EEE4; /* карточки */
--paper-2: #FBF8F1; /* приподнятые поверхности */
--ink: #21221A; /* текст */
--ink-soft:#6B6959; /* вторичный текст */
/* материалы квартиры */
--sage: #6E7D55; /* фасад кухни */
--sage-deep: #46522E; /* тёмный шалфей для текста */
--oak: #B8945F; /* дуб */
--graphite: #4B4E52; /* пол / диван */
/* чертёжный слой */
--blueprint: #315468; /* чертёжная синь — акцент структуры */
--blueprint-soft: #6E93A6;
--blueprint-line: rgba(49, 84, 104, .55);
--line: rgba(33, 34, 26, .16);
--line-strong: rgba(33, 34, 26, .30);
--grid-line: rgba(49, 84, 104, .055); /* миллиметровка */
--grid-bold: rgba(49, 84, 104, .085);
--shadow: 0 1px 2px rgba(33,34,26,.05), 0 14px 34px -20px rgba(33,34,26,.30);
--shadow-lift: 0 2px 4px rgba(33,34,26,.07), 0 26px 54px -22px rgba(33,34,26,.42);
--maxw: 1180px;
--r: 6px; /* чертёж — минимум скруглений */
--r-lg: 10px;
--ff-display: "Spectral", Georgia, serif;
--ff-body: "Onest", system-ui, -apple-system, sans-serif;
--ff-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
:root[data-theme="dark"] {
--plaster: #191C1E;
--paper: #212527;
--paper-2: #282D2F;
--ink: #ECE7DB;
--ink-soft:#9BA0A0;
--sage: #9DB07F;
--sage-deep: #B7C99C;
--oak: #D4B788;
--graphite: #8A8D91;
--blueprint: #8FB6CB;
--blueprint-soft: #6E93A6;
--blueprint-line: rgba(143, 182, 203, .5);
--line: rgba(236, 231, 219, .14);
--line-strong: rgba(236, 231, 219, .28);
--grid-line: rgba(143, 182, 203, .05);
--grid-bold: rgba(143, 182, 203, .08);
--shadow: 0 1px 2px rgba(0,0,0,.3), 0 16px 36px -20px rgba(0,0,0,.62);
--shadow-lift: 0 2px 4px rgba(0,0,0,.36), 0 28px 56px -22px rgba(0,0,0,.72);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
margin: 0;
background: var(--plaster);
color: var(--ink);
font-family: var(--ff-body);
font-size: 17px;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
overflow-x: hidden;
}
/* тонкая тканевая текстура фона */
body::before {
content: "";
position: fixed;
inset: 0;
z-index: -1;
pointer-events: none;
background-image: radial-gradient(circle at 1px 1px, rgba(43,42,37,.045) 1px, transparent 0);
background-size: 22px 22px;
}
:root[data-theme="dark"] body::before {
background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.03) 1px, transparent 0);
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }
/* ---------- моноширинные аннотации (размеры, коды, площади) ---------- */
.eyebrow {
font-family: var(--ff-mono);
font-size: 12px;
letter-spacing: .16em;
text-transform: uppercase;
font-weight: 500;
color: var(--blueprint);
display: inline-flex;
align-items: center;
gap: .7em;
}
.eyebrow::before {
content: "";
width: 22px; height: 0;
border-top: 1px solid currentColor;
/* размерная засечка на конце */
box-shadow: 0 -3px 0 -2px currentColor, 0 3px 0 -2px currentColor;
}
h1, h2, h3 { font-family: var(--ff-display); font-weight: 500; margin: 0; }
/* ---------- шапка — как штамп чертежа ---------- */
.topbar {
position: sticky; top: 0; z-index: 50;
backdrop-filter: saturate(1.3) blur(10px);
background: color-mix(in srgb, var(--plaster) 84%, transparent);
border-bottom: 1px solid transparent;
transition: border-color .3s, background .3s;
}
.topbar.scrolled { border-bottom-color: var(--line); }
.topbar__inner {
max-width: var(--maxw); margin: 0 auto; padding: 13px 28px;
display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.brand { display: flex; align-items: baseline; gap: 11px; font-weight: 600; }
.brand b { font-family: var(--ff-display); font-weight: 600; font-size: 20px; letter-spacing: .01em; }
.brand span {
font-family: var(--ff-mono); font-size: 11px; color: var(--blueprint);
letter-spacing: .08em; padding: 3px 8px; border: 1px solid var(--line);
border-radius: 999px;
}
.nav { display: flex; align-items: center; gap: 2px; }
.nav a {
text-decoration: none; font-size: 14.5px; color: var(--ink-soft);
padding: 7px 13px; border-radius: 6px; transition: color .2s, background .2s;
white-space: nowrap;
}
.nav a:hover { color: var(--ink); background: color-mix(in srgb, var(--blueprint) 12%, transparent); }
.nav a.active { color: var(--blueprint); background: color-mix(in srgb, var(--blueprint) 15%, transparent); }
.theme-toggle {
border: 1px solid var(--line-strong); background: transparent; color: var(--ink);
width: 38px; height: 38px; border-radius: 6px; cursor: pointer;
display: grid; place-items: center; flex: none; transition: background .2s, border-color .2s;
}
.theme-toggle:hover { background: color-mix(in srgb, var(--blueprint) 12%, transparent); border-color: var(--blueprint); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle .sun { display: none; }
:root[data-theme="dark"] .theme-toggle .sun { display: block; }
:root[data-theme="dark"] .theme-toggle .moon { display: none; }
.nav a .sm { display: none; }
@media (max-width: 720px) {
.nav a { padding: 6px 9px; font-size: 13px; }
}
@media (max-width: 560px) {
.brand span { display: none; }
.nav a .lg { display: none; }
.nav a .sm { display: inline; }
.nav a { padding: 6px 11px; }
}
/* ---------- реперные метки (crop marks) на чертёжных врезках ---------- */
.sheet { position: relative; }
.sheet::after {
content: ""; position: absolute; inset: 9px; pointer-events: none;
background:
/* TL */ linear-gradient(var(--blueprint-line),var(--blueprint-line)) left top/14px 1px no-repeat,
linear-gradient(var(--blueprint-line),var(--blueprint-line)) left top/1px 14px no-repeat,
/* TR */ linear-gradient(var(--blueprint-line),var(--blueprint-line)) right top/14px 1px no-repeat,
linear-gradient(var(--blueprint-line),var(--blueprint-line)) right top/1px 14px no-repeat,
/* BL */ linear-gradient(var(--blueprint-line),var(--blueprint-line)) left bottom/14px 1px no-repeat,
linear-gradient(var(--blueprint-line),var(--blueprint-line)) left bottom/1px 14px no-repeat,
/* BR */ linear-gradient(var(--blueprint-line),var(--blueprint-line)) right bottom/14px 1px no-repeat,
linear-gradient(var(--blueprint-line),var(--blueprint-line)) right bottom/1px 14px no-repeat;
}
/* ---------- hero ---------- */
.hero { padding: clamp(44px, 7vw, 88px) 0 clamp(36px, 5vw, 60px); }
.hero__grid {
display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 64px);
align-items: center;
}
.hero__title {
font-size: clamp(52px, 9vw, 112px);
line-height: .9; letter-spacing: -.022em; margin: 20px 0 0;
}
.hero__title em { font-style: italic; color: var(--blueprint); }
.hero__lead {
margin: 26px 0 0; max-width: 32ch; color: var(--ink-soft); font-size: 18px;
}
/* штамп-таблица с параметрами (title block) */
.hero__meta {
margin-top: 32px; display: flex; flex-wrap: wrap;
border: 1px solid var(--line); border-radius: var(--r);
overflow: hidden; background: color-mix(in srgb, var(--paper-2) 55%, transparent);
}
.hero__meta div {
display: flex; flex-direction: column; padding: 14px 22px 13px;
border-right: 1px solid var(--line); flex: 1; min-width: 96px;
}
.hero__meta div:last-child { border-right: none; }
.hero__meta .num { font-family: var(--ff-display); font-size: 30px; line-height: 1; color: var(--ink); }
.hero__meta .lbl {
font-family: var(--ff-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase;
color: var(--blueprint); margin-top: 8px;
}
.hero__plan {
background: var(--paper); border: 1px solid var(--line-strong); border-radius: var(--r-lg);
padding: 26px; box-shadow: var(--shadow);
}
.hero__plan img { border-radius: 3px; margin: 0 auto; max-height: 470px; width: auto; cursor: zoom-in; }
.hero__plan .cap {
position: absolute; top: 20px; left: 20px; z-index: 1;
font-family: var(--ff-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
color: var(--blueprint); background: var(--paper); padding: 5px 11px; border-radius: 4px;
border: 1px solid var(--line);
}
@media (max-width: 860px) {
.hero__grid { grid-template-columns: 1fr; }
.hero__plan { order: -1; }
.hero__plan img { max-height: 380px; }
}
/* ---------- палитра материалов ---------- */
.swatches { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 30px; }
.swatch {
display: flex; align-items: center; gap: 9px;
font-family: var(--ff-mono); font-size: 12px; letter-spacing: .02em; color: var(--ink-soft);
}
.swatch i {
width: 20px; height: 20px; border-radius: 4px; display: block;
box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
}
/* ---------- секции ---------- */
.section { padding: clamp(52px, 8vw, 100px) 0; border-top: 1px solid var(--line); }
.section__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.section__head h2 { font-size: clamp(34px, 5vw, 58px); letter-spacing: -.018em; line-height: 1; margin-top: 16px; }
/* номер листа (как на рабочем чертеже) */
.section__index {
font-family: var(--ff-display); font-size: clamp(44px, 6.5vw, 78px); line-height: .9;
color: var(--line-strong); font-weight: 500; text-align: right; position: relative;
}
.section__index::before {
content: "ЛИСТ"; display: block;
font-family: var(--ff-mono); font-size: 10.5px; letter-spacing: .22em; font-weight: 500;
color: var(--blueprint); margin-bottom: 8px;
}
.section__lead { max-width: 48ch; color: var(--ink-soft); margin: 20px 0 0; }
/* планировка */
.plan-layout { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(24px,4vw,52px); margin-top: 46px; align-items: start; }
.plan-figure {
background: var(--paper); border: 1px solid var(--line-strong); border-radius: var(--r-lg);
padding: 30px; box-shadow: var(--shadow); display: grid; place-items: center;
}
.plan-figure img { max-height: 540px; width: auto; cursor: zoom-in; border-radius: 3px; }
.rooms { list-style: none; margin: 0; padding: 0; }
.rooms li {
display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 14px;
padding: 15px 6px; border-bottom: 1px solid var(--line); transition: background .2s;
}
.rooms li:first-child { border-top: 1px solid var(--line); }
.rooms li:hover { background: color-mix(in srgb, var(--blueprint) 6%, transparent); }
.room-no {
width: 30px; height: 30px; border-radius: 5px; display: grid; place-items: center;
font-family: var(--ff-mono); font-size: 13px; font-weight: 600; color: var(--blueprint);
border: 1px solid var(--blueprint-line); background: color-mix(in srgb, var(--blueprint) 8%, transparent);
}
.room-name { font-weight: 500; }
.room-name small { display: block; font-weight: 400; color: var(--ink-soft); font-size: 13px; }
.room-area {
font-family: var(--ff-mono); font-size: 14px; color: var(--ink); white-space: nowrap;
padding-left: 16px; position: relative;
}
/* размерная засечка перед площадью */
.room-area::before {
content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 1px;
background: var(--blueprint-line); transform: translateY(-50%);
}
a.rooms-link { text-decoration: none; }
a.rooms-link .room-name { transition: color .2s; }
a.rooms-link:hover .room-name { color: var(--blueprint); }
.tag {
font-family: var(--ff-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase;
padding: 4px 9px; border-radius: 4px; white-space: nowrap;
}
.tag--done { color: var(--sage-deep); background: color-mix(in srgb, var(--sage) 18%, transparent); }
.tag--wip { color: var(--ink-soft); background: color-mix(in srgb, var(--ink-soft) 12%, transparent); }
@media (max-width: 860px) { .plan-layout { grid-template-columns: 1fr; } }
/* галерея рендеров */
.renders { display: grid; gap: 18px; margin-top: 40px; }
.renders--hero { grid-template-columns: 1fr; }
.renders--trio { grid-template-columns: repeat(3, 1fr); margin-top: 18px; }
.render {
position: relative; border-radius: var(--r); overflow: hidden; border: 1px solid var(--line-strong);
box-shadow: var(--shadow); cursor: zoom-in; background: var(--paper);
}
.render img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.render:hover img { transform: scale(1.035); }
.render .rcap {
position: absolute; left: 12px; bottom: 12px;
font-family: var(--ff-mono); font-size: 11px; letter-spacing: .04em; color: #fff;
background: rgba(20,24,26,.6); backdrop-filter: blur(4px);
padding: 5px 11px; border-radius: 4px;
}
@media (max-width: 720px) { .renders--trio { grid-template-columns: 1fr; } }
/* подзаголовок блока — как строка спецификации */
.subhead { display: flex; align-items: baseline; gap: 14px; margin: 58px 0 24px; }
.subhead h3 { font-size: 27px; letter-spacing: -.01em; }
.subhead .count { font-family: var(--ff-mono); font-size: 11.5px; color: var(--blueprint); letter-spacing: .04em; }
.subhead::after {
content: ""; flex: 1; height: 0; border-top: 1px solid var(--line); align-self: center;
/* засечка на правом конце */
box-shadow: none;
}
/* карточки вариантов (мебель) */
.options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.opt {
display: flex; flex-direction: column; background: var(--paper-2); border: 1px solid var(--line-strong);
border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow);
transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s;
}
.opt:hover { transform: translateY(-5px); box-shadow: var(--shadow-lift); border-color: var(--blueprint); }
.opt__media {
aspect-ratio: 4 / 3; background: var(--paper); cursor: zoom-in; overflow: hidden;
border-bottom: 1px solid var(--line);
background-image:
linear-gradient(var(--grid-line) 1px, transparent 1px),
linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
background-size: 20px 20px;
}
.opt__media img { width: 100%; height: 100%; object-fit: contain; padding: 18px; }
.opt__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
.opt__no {
font-family: var(--ff-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
color: var(--blueprint); font-weight: 500;
}
.opt__name { font-family: var(--ff-display); font-size: 20px; line-height: 1.15; }
.opt__desc { font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); margin-top: 2px; }
.opt__price { font-family: var(--ff-mono); font-weight: 600; font-size: 22px; margin-top: 10px; letter-spacing: -.01em; }
.opt__price span { font-size: 14px; color: var(--ink-soft); font-weight: 400; }
.opt__link {
margin-top: auto; padding-top: 16px; display: inline-flex; align-items: center; gap: 7px;
text-decoration: none; font-family: var(--ff-mono); font-size: 12.5px; font-weight: 500; color: var(--blueprint);
}
.opt__link svg { width: 14px; height: 14px; transition: transform .2s; }
.opt__link:hover svg { transform: translate(2px,-2px); }
/* стаггер появления карточек в ряду */
.options .opt:nth-child(2) { transition-delay: .05s; }
.options .opt:nth-child(3) { transition-delay: .10s; }
.options .opt:nth-child(4) { transition-delay: .15s; }
.options .opt:nth-child(5) { transition-delay: .10s; }
.options .opt:nth-child(6) { transition-delay: .15s; }
/* группа карточек по типу (техника) */
.opt-group { margin-top: 36px; }
.opt-group:first-child { margin-top: 0; }
.opt-group__title {
display: flex; align-items: baseline; gap: 12px; margin: 0 0 18px;
font-family: var(--ff-display); font-size: 21px; letter-spacing: -.01em;
}
.opt-group__title span { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .04em; color: var(--blueprint); font-weight: 400; }
.opt-group__title::after { content: ""; flex: 1; height: 1px; background: var(--line); align-self: center; }
@media (max-width: 860px) { .options { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .options { grid-template-columns: 1fr; } }
/* варианты отделки (нумерованный список к изображению) */
.finish { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(24px,4vw,48px); margin-top: 40px; align-items: center; }
.finish__img { border-radius: var(--r); overflow: hidden; border: 1px solid var(--line-strong); box-shadow: var(--shadow); cursor: zoom-in; }
.variants { list-style: none; margin: 0; padding: 0; counter-reset: v; }
.variants li {
display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start;
padding: 16px 0; border-bottom: 1px solid var(--line);
}
.variants li:first-child { border-top: 1px solid var(--line); }
.variants li::before {
counter-increment: v; content: counter(v, decimal-leading-zero);
font-family: var(--ff-mono); font-size: 12px; font-weight: 600; color: var(--blueprint);
width: 32px; height: 32px; border-radius: 5px; display: grid; place-items: center;
border: 1px solid var(--blueprint-line); background: color-mix(in srgb, var(--blueprint) 8%, transparent);
}
.variants b { font-weight: 500; }
.variants small { color: var(--ink-soft); display: block; font-size: 13.5px; }
@media (max-width: 860px) { .finish { grid-template-columns: 1fr; } }
/* парный ряд / сетка 2×2 рендеров */
.renders--duo { grid-template-columns: repeat(2, 1fr); margin-top: 18px; }
.renders--quad { grid-template-columns: repeat(2, 1fr); margin-top: 18px; }
@media (max-width: 720px) { .renders--duo, .renders--quad { grid-template-columns: 1fr; } }
/* пустой раздел (в работе) */
.section-empty {
margin-top: 36px; padding: 30px 32px; border: 1px dashed var(--blueprint-line); border-radius: var(--r);
color: var(--ink-soft); font-size: 16px; background: color-mix(in srgb, var(--blueprint) 4%, transparent);
font-family: var(--ff-mono); font-size: 14px; letter-spacing: .01em;
}
/* проза и заметки из markdown */
.prose { max-width: 64ch; color: var(--ink-soft); margin: 22px 0 0; }
.note {
max-width: 64ch; margin: 26px 0 0; padding: 15px 22px; font-size: 15px; color: var(--ink-soft);
border-left: 2px solid var(--blueprint); background: color-mix(in srgb, var(--blueprint) 6%, transparent);
border-radius: 0 6px 6px 0;
}
/* спецификация (таблицы из markdown, техника) */
.table-wrap { margin-top: 30px; overflow-x: auto; border: 1px solid var(--line-strong); border-radius: var(--r); }
.table-wrap table { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--paper-2); }
.table-wrap th, .table-wrap td { text-align: left; padding: 13px 18px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table-wrap th {
font-family: var(--ff-mono); font-weight: 500; color: var(--blueprint); font-size: 11px;
letter-spacing: .08em; text-transform: uppercase; background: color-mix(in srgb, var(--blueprint) 5%, transparent);
}
.table-wrap tbody tr:nth-child(even) { background: color-mix(in srgb, var(--paper) 60%, transparent); }
.table-wrap tr:last-child td { border-bottom: none; }
.table-wrap td:first-child { font-weight: 500; color: var(--ink); }
.table-wrap td img { width: 84px; border-radius: 5px; }
.table-wrap .tlink {
display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
font-family: var(--ff-mono); font-size: 12.5px; color: var(--blueprint); font-weight: 500; text-decoration: none;
}
.table-wrap .tlink svg { width: 13px; height: 13px; }
.table-wrap .tlink:hover { text-decoration: underline; }
/* ---------- футер — штамп чертежа ---------- */
.footer {
border-top: 1px solid var(--line-strong); padding: 40px 0 60px; color: var(--ink-soft);
font-family: var(--ff-mono); font-size: 12px; letter-spacing: .02em;
}
.footer__inner { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: center; }
.footer b { font-family: var(--ff-display); color: var(--ink); font-weight: 500; letter-spacing: 0; }
/* ---------- лайтбокс ---------- */
.lightbox {
position: fixed; inset: 0; z-index: 100; display: none;
background: rgba(16,19,20,.88); backdrop-filter: blur(6px);
align-items: center; justify-content: center; padding: 4vw; cursor: zoom-out;
}
.lightbox.open { display: flex; }
.lightbox img { max-width: 94vw; max-height: 90vh; width: auto; border-radius: 4px; box-shadow: 0 30px 80px rgba(0,0,0,.6); cursor: default; }
.lightbox__close {
position: absolute; top: 20px; right: 24px; width: 44px; height: 44px; border-radius: 6px;
border: 1px solid rgba(255,255,255,.3); background: rgba(0,0,0,.3); color: #fff; cursor: pointer;
display: grid; place-items: center; font-size: 22px; line-height: 1;
}
.lightbox__close:hover { background: rgba(0,0,0,.55); }
/* ---------- reveal ---------- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
.reveal { opacity: 1; transform: none; transition: none; }
.render img, .opt { transition: none; }
.options .opt { transition-delay: 0s; }
}
:focus-visible { outline: 2px solid var(--blueprint); outline-offset: 3px; border-radius: 3px; }