root
6d064e53b9
feat(hero): fade-in hero после готовности фона-шэйдера
...
- .hero стартует скрытым, проявляется при html.mesh-bg-ready
- markMeshReady ставится во всех ветках (успех/ошибка/reduced-motion/нет хоста)
- reduced-motion: hero виден сразу без анимации
2026-09-24 21:42:41 +02:00
root
daa623fe73
feat(mesh-bg): fade-in шейдера фона + modulepreload графа
...
- canvas стартует с opacity:0 и плавно проявляется (0.9s) при .is-ready
- initPageMeshShader ставит is-ready после первого кадра
- modulepreload page-mesh-shader.js для параллельной загрузки с main.js
- пересборка страниц (build:pages)
2026-09-24 21:37:40 +02:00
root
11e24da9e2
fix(glass): бордюр удалён полностью (border: none), только внутренняя тень
2026-09-24 21:26:36 +02:00
root
903d222324
style(glass): убран видимый бордер, оставлена только внутренняя тень
...
- border-color: transparent на glass-блоках (геометрия/радиус сохранены)
- inset-тень в --v12-glass-neutral-shadow даёт эффект 'стеклянного края'
2026-09-24 21:01:49 +02:00
root
e410a2975f
revert(glass): полностью убрана градиентная обводка
...
- удалены ::after, isolation, токены -border-grad, transparent border
- возвращён исходный border-color: var(--v12-glass-neutral-border) / var(--line)
2026-09-24 18:42:22 +02:00
root
372ccfbf60
fix(glass): внешняя обводка через ::after + isolation:isolate (z-index:-1)
...
- inset:-1px выносит рамку наружу, isolation создаёт стек без сдвига layout
- position:relative только на не-fixed блоках; шапка (fixed) без правок
- z-index:-1 => под контентом, не перекрывает; backdrop-filter убран (не рендерился с mask)
2026-09-24 18:36:19 +02:00
root
c69fc8f9c0
fix(glass): откат к безопасным background-слоям (без псевдоэлементов/z-index)
...
- убраны все ::after/position/z-index эксперименты, ломавшие раскладку
- градиентная обводка через 2 background-слоя (padding-box/border-box) — контент поверх, не ломает
- тёмная тема: засвет приглушён (0.4)
2026-09-24 18:14:42 +02:00
root
14b7cd829b
fix(glass): внешняя обводка через ::after z-index:-1 без isolation
...
- z-index:0 на не-fixed родителях создаёт стек, -1 виден снаружи, контент не тронут
- шапка (fixed) без z-index:0, чтобы не опуститься ниже FAB
- убран backdrop-filter на псевдоэлементе (не рендерился с mask)
2026-09-24 18:06:30 +02:00
root
220fb634fc
fix(glass): внешняя обводка через ::after с blur края (не перекрывает контент)
...
- inset:-1px выносит рамку наружу, z-index:-1 + isolation, backdrop-filter blur(3px) на кромке
- тёмная тема: засвет приглушён (0.55->0.4), бордер блюрит край как стекло
- убран background-слой
2026-09-24 17:58:53 +02:00
root
df2ef8b7b6
fix(glass): градиентный бордер через background-слои вместо ::before mask
...
- убран псевдоэлемент, который перекрывал контент (меню/панели исчезали)
- градиент бордера теперь 2 слоя background: padding-box (фон) + border-box (градиент)
- контент снова виден, border-radius сохранён
2026-09-24 17:39:37 +02:00
root
6aeb5a378f
feat(glass): градиентный бордер — сверху белый засвет -> снизу прозрачно
...
- токен --v12-glass-neutral-border-grad (dark/light)
- mask-псевдоэлемент ::before рисует 1px градиентный бордер с сохранением border-radius
- нативный border-color -> transparent у glass-блоков, шапки, nav-more, floating
2026-09-24 16:14:53 +02:00
root
94de132cf0
style(glass): лёгкое матирование поверх искажения
...
- панели: url(#displacement) blur(3px)
- кнопки: url(#displacement-btn) blur(2px)
- видна волна стекла + мягкое стекло, без глухой матовости
2026-09-24 15:38:37 +02:00
root
449d5ac782
style(glass): убрана матовость — чистое искажение фона (без blur)
...
- glass-панели: --v12-glass-neutral-filter-lg = url(#liquid-glass-displacement) без blur
- кнопки: отдельный фильтр #liquid-glass-displacement-btn (scale=12), blur убран
- видно само искажение стекла, как просил пользователь
2026-09-24 15:26:29 +02:00
root
2e6451e683
feat(glass): displacement-стекло на кнопках (btn--primary/fab--primary/secondary/ghost)
...
- primary/fab: полупрозрачный акцентный фон (--btn-primary-bg-lg/-hover-bg-lg, ~82-86%), иначе displacement не виден
- токены --btn-primary-backdrop-lg / -hover-lg = url(#filter) blur()+saturate()
- secondary/ghost: displacement через --v12-glass-neutral-filter-lg
- всё в @supports not (hanging-punctuation:first) — Chromium-only, Safari/Firefox держат чистый blur
2026-09-24 15:20:34 +02:00
root
5fd8324b47
feat(glass): Liquid Glass эффект через SVG displacement-фильтр (по статье Хабра)
...
- PNG карта мелкого равномерного шума (public/assets/liquid-glass/displacement.png)
- инлайн SVG feDisplacementMap инъецируется во все страницы сборщиком (build-pages.mjs)
- glass-neutral + шапка/панели/FAB/overflow получают url(#filter) blur в Chromium
- Safari/Firefox: детект через @supports not (hanging-punctuation:first), остаётся чистый blur
- токены --v12-glass-neutral-filter-lg / -elevated-lg для обеих тем
2026-09-24 15:14:55 +02:00
root
e3acfa072c
style(hero): центрирование, уменьшение шрифта, стек кнопок на 360px, приглушённый блик
2026-09-23 15:06:21 +02:00
root
2b7361664e
feat(hero): 3D-наклон фото на главной по курсору (parallax + блик)
2026-09-23 13:34:17 +02:00
root
9d78567386
style(skills): set skill-task-card__task font-size to fixed 1rem (drop clamp)
2026-09-19 17:52:08 +02:00
root
1bb50b46fb
style(skills): disable uppercase on accordion titles; compact vertical rhythm (category/grid spacing)
2026-09-19 17:47:01 +02:00
root
4dd9c97481
style(skills): match accordion category heading size/weight/tracking to mp-card__title
2026-09-19 17:34:03 +02:00
root
562348cf1e
style: apply soft --card-border to images, exp-card, secondary buttons, skill-task/solution cards, soften chat bubbles
2026-09-19 17:04:36 +02:00
root
be4cf20a0f
style(cards): soften --card-border (alpha 0.2 -> 0.15)
2026-09-19 16:55:28 +02:00
root
7aab957290
style(cards): make --card-border a single base token (muted, inherited by all themes)
2026-09-19 16:47:13 +02:00
root
7bb7fca7ae
style(cards): softer visible card border (inline color-mix, text-muted; accent/brand on hover)
2026-09-19 16:22:40 +02:00
root
cb24acd3dd
style(cards): use softer --card-border instead of --line for card borders
2026-09-19 16:07:25 +02:00
root
e325cd9173
style(home): increase section__title bottom margin (0.5rem -> 1.5rem)
2026-09-19 15:59:29 +02:00
root
c8ffee1136
style(marquee): tag font-size inherits default text size (not fixed)
2026-09-19 15:49:38 +02:00
root
ca7c4c2288
feat(marquee): readable 2s peak hold + cross-fade, keep <=3 bright
2026-09-19 15:46:07 +02:00
root
05b82b08a0
feat(marquee): cross-fade flicker — next tag lights before previous fades out
2026-09-19 15:39:57 +02:00
root
e8c27898a7
feat(marquee): dim baseline 20%, scatter flicker order (no adjacent tags lit)
2026-09-19 15:32:30 +02:00
root
66ab7d98be
feat(marquee): dim baseline 10%, flicker highlights <=3 tags to full
2026-09-19 15:27:40 +02:00
root
a8bc87dff5
feat(marquee): shift flicker so tags fade out by 10% (visible at cycle start)
2026-09-19 15:23:51 +02:00
root
10f94cc306
feat(marquee): flicker animation — fade in/show/fade-out per tag, max 3 visible (scoped to grid)
2026-09-19 15:13:45 +02:00
root
d652a63dda
style(marquee): center the tag grid
2026-09-19 15:08:15 +02:00
root
971fe6013f
style(marquee): more breathing room (gap 1.5rem x 3rem)
2026-09-19 15:03:53 +02:00
root
82e0e0d67a
style(marquee): increase spacing between tags (more breathing room)
2026-09-19 15:01:13 +02:00
root
b596a0e80a
style(marquee): render grid tags as plain text (remove pill chrome)
2026-09-19 14:59:27 +02:00
root
32d5d82db9
style(marquee): apply .section padding + wrap content in .section__inner
2026-09-19 14:00:15 +02:00
root
45d5b18916
style(marquee): chips fill container width and wrap (flex-wrap, auto-width cells)
2026-09-19 13:54:23 +02:00
root
9e62a1ea53
feat(marquee): alternative static flex-grid of chips (replaces scrolling marquee)
2026-09-19 13:11:13 +02:00
root
e60d791934
style(home): section titles use hero__eyebrow label style (homepage only)
2026-09-19 12:59:44 +02:00
root
2d67a5be5a
feat(contact-card): hover glow uses card brand color (not global accent)
2026-09-18 14:04:50 +02:00
root
32fecdb3e4
feat(contact-card): hover lift + soft accent glow (match mp-card)
2026-09-18 14:02:10 +02:00
root
15c7bbc741
fix(mp-card): prevent grid from clipping hover glow; soften accent shadow
2026-09-18 13:27:01 +02:00
root
6b4e20c502
feat(mp-card): hover lift + soft accent glow on linked cards
2026-09-18 13:12:46 +02:00
root
b935640268
style(mp-card): move tags to bottom in activity compact cards
2026-09-18 12:24:45 +02:00
root
5bb8dc8ad2
feat(mp-card): deterministic pastel tag colors (distinct per content), padding 0.35rem 0.7rem, dark-theme aware
2026-09-18 11:14:46 +02:00
root
5f07f925f2
style(mp-card): restyle mp-card__tag to filled chips; sync design-system portfolio-card specimen to real homepage card
2026-09-17 21:52:50 +02:00
root
9f1b6c6f15
style(mp-card): match portfolio card text sizing to experience cards
2026-09-17 21:42:27 +02:00
root
f1f1ead1f8
feat(mp-card): add mp-card--stack-bottom variant (text top, image bottom) and apply to mini-projects-grid
2026-09-17 20:42:13 +02:00