/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Mobile
src/components/LaptopExplorerPlay.module.css
254 строки
5 KB
Spirzen
Major changes
22 май 2026, 03:11
22 май 2026, 03:11
99393a4
Код
Авторство
О чём код?
.root { max-width: min(820px, 100%); margin: 0 auto; } .layout { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(220px, 1.1fr); gap: 1.25rem; align-items: start; } @media (max-width: 720px) { .layout { grid-template-columns: 1fr; } } .tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.85rem; } .tab { padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid var(--ifm-color-emphasis-300); background: var(--ifm-background-surface-color); font-size: 0.76rem; font-weight: 600; color: var(--ifm-color-content-secondary); cursor: pointer; transition: all 0.2s ease; } .tab:hover { border-color: var(--ifm-color-primary); color: var(--ifm-color-primary); } .tabActive { border-color: var(--ifm-color-primary); background: color-mix(in srgb, var(--ifm-color-primary) 12%, var(--ifm-background-surface-color)); color: var(--ifm-color-primary); } /* —— 3D ноутбук —— */ .laptopScene { perspective: 900px; display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.5rem 0; } .laptop { position: relative; width: 200px; transform-style: preserve-3d; } .lid { width: 200px; height: 128px; border-radius: 10px 10px 4px 4px; background: linear-gradient(145deg, var(--lid-a, #2a3f5f) 0%, var(--lid-b, #1a2840) 100%); border: 2px solid var(--ifm-color-emphasis-400); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18); transform-origin: bottom center; transition: transform 0.55s cubic-bezier(0.34, 1.2, 0.64, 1); position: relative; z-index: 2; } .lidOpen { transform: rotateX(-72deg); } .screenBezel { position: absolute; inset: 10px 12px 18px; border-radius: 4px; background: #0a0e14; border: 1px solid #1e2a3a; overflow: hidden; } .screenContent { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.25rem; font-size: 0.65rem; color: #8ab4f8; text-align: center; padding: 0.35rem; line-height: 1.3; } .screenHz { font-size: 0.58rem; color: #6ee7b7; font-weight: 700; } .base { width: 210px; height: 14px; margin: -2px auto 0; border-radius: 0 0 8px 8px; background: linear-gradient(180deg, var(--ifm-color-emphasis-300), var(--ifm-color-emphasis-400)); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12); } .keyboardDeck { width: 200px; height: 72px; margin-top: 4px; border-radius: 6px; background: linear-gradient(180deg, var(--ifm-color-emphasis-200), var(--ifm-color-emphasis-300)); border: 1px solid var(--ifm-color-emphasis-400); position: relative; display: grid; grid-template-rows: 1fr auto; padding: 8px 10px 6px; gap: 6px; } .keyGrid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2px; opacity: 0.55; } .key { height: 5px; border-radius: 1px; background: var(--ifm-color-emphasis-500); } .keyRgb { background: linear-gradient(90deg, #f43f5e, #a855f7, #3b82f6); opacity: 0.85; } .touchpad { width: 52px; height: 28px; margin: 0 auto; border-radius: 4px; background: var(--ifm-background-surface-color); border: 1px solid var(--ifm-color-emphasis-400); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08); } .touchpadLarge { width: 72px; } .hingeBtn { font-size: 0.78rem; padding: 0.3rem 0.75rem; border-radius: 999px; border: 1px solid var(--ifm-color-emphasis-300); background: var(--ifm-background-surface-color); cursor: pointer; color: var(--ifm-color-content-secondary); } .hingeBtn:hover { border-color: var(--ifm-color-primary); color: var(--ifm-color-primary); } /* —— Метрики —— */ .typeTitle { margin: 0 0 0.25rem; font-size: 1.05rem; font-weight: 700; } .typeTagline { margin: 0 0 0.85rem; font-size: 0.82rem; color: var(--ifm-color-content-secondary); line-height: 1.45; } .metric { margin-bottom: 0.65rem; } .metricHead { display: flex; justify-content: space-between; font-size: 0.78rem; margin-bottom: 0.2rem; } .metricLabel { font-weight: 600; } .metricVal { color: var(--ifm-color-content-secondary); } .barTrack { height: 8px; border-radius: 999px; background: var(--ifm-color-emphasis-200); overflow: hidden; } .barFill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--ifm-color-primary), color-mix(in srgb, var(--ifm-color-primary) 55%, #22c55e)); transition: width 0.4s ease; } .chips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.75rem; } .chip { font-size: 0.72rem; padding: 0.2rem 0.55rem; border-radius: 6px; background: var(--ifm-color-emphasis-100); border: 1px solid var(--ifm-color-emphasis-300); color: var(--ifm-color-content-secondary); } .hint { margin: 0.75rem 0 0; font-size: 0.8rem; color: var(--ifm-color-content-secondary); line-height: 1.45; padding: 0.65rem 0.75rem; border-radius: 8px; border-left: 3px solid var(--ifm-color-primary); background: color-mix(in srgb, var(--ifm-color-primary) 6%, transparent); }