f5a75074a4
【认证系统】 - 新增邮箱验证码注册/登录流程 (sendEmailCode / verifyEmail / forgotPassword / resetPassword) - register-email 现在需要验证码 - 服务端新增 email_verification_codes 表 + patch-email-verification.js - App.tsx 登录后 emailVerified 检查提醒 - keyServerClient token 显式传递修复 401 错误 【电商模块】 - 自动推进: 策划完成后自动生成分镜图/视频 - 模特图选项 (性别/年龄/种族/体型/场景) 注入 AI 提示词 - 任务持久化指纹修复 (图片数量替代 blob URL) - 新增「视频换装」入口 (happyhorse-1.0-video-edit) 【剧本评分】 - 新增 .docx/.doc Word 文档支持 (ZIP解压+XML提取) - 历史记录支持点击查看/恢复评测结果 【画布】 - ReactFlow 节点禁止内置拖拽避免冲突 - 连接线拖拽弹窗优化 (预览线不消失, 弹窗跟踪鼠标) 【页面修复】 - 首页轮播图改为 aspect-ratio: 16/9 解决尺寸问题 - 资产库新增悬停删除按钮 - scriptEvalClient 改用服务端 /api/ai/chat 端点 - TokenUsagePage 未登录跳过 API 调用
1229 lines
27 KiB
CSS
1229 lines
27 KiB
CSS
.omni-home {
|
|
--fg-body: #f3f5f2;
|
|
--fg-muted: #aeb8b1;
|
|
--fg-soft: #7e8983;
|
|
--accent: #00ff88;
|
|
--accent-rgb: 0, 255, 136;
|
|
--accent-hover: #58ffac;
|
|
--bg-inset: #101214;
|
|
--bg-hover: #202527;
|
|
--border-subtle: #2a3032;
|
|
--border-default: #394044;
|
|
--home-section-min-height: 100%;
|
|
position: relative;
|
|
isolation: isolate;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 0;
|
|
overflow: auto;
|
|
overscroll-behavior-y: contain;
|
|
scroll-behavior: smooth;
|
|
scroll-snap-type: y proximity;
|
|
background: #05080d;
|
|
color: var(--fg-body);
|
|
font-family: var(--font-sans);
|
|
}
|
|
|
|
.web-shell[data-view="home"] .omni-home {
|
|
--home-section-min-height: calc(100svh - 62px);
|
|
}
|
|
|
|
.omni-home button {
|
|
font: inherit;
|
|
}
|
|
|
|
.omni-home.page-motion {
|
|
animation: omni-home-page-enter 680ms cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
}
|
|
|
|
@keyframes omni-home-page-enter {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.omni-home {
|
|
scroll-behavior: auto;
|
|
}
|
|
|
|
.omni-home.page-motion {
|
|
animation: none;
|
|
}
|
|
}
|
|
|
|
.omni-home__bg-video,
|
|
.omni-home__scrim {
|
|
position: absolute;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.omni-home__bg-video {
|
|
z-index: 0;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.omni-home__scrim {
|
|
z-index: 1;
|
|
background:
|
|
linear-gradient(180deg, rgba(5, 8, 13, 0.72), rgba(5, 8, 13, 0.48) 42%, rgba(5, 8, 13, 0.88)),
|
|
linear-gradient(90deg, rgba(5, 8, 13, 0.82), rgba(5, 8, 13, 0.56) 48%, rgba(5, 8, 13, 0.82));
|
|
}
|
|
|
|
.omni-home__shell {
|
|
position: relative;
|
|
z-index: 2;
|
|
display: grid;
|
|
min-height: var(--home-section-min-height);
|
|
place-items: center;
|
|
padding: clamp(30px, 4vw, 58px) clamp(22px, 5vw, 72px) clamp(36px, 5vw, 76px);
|
|
scroll-snap-align: start;
|
|
scroll-snap-stop: normal;
|
|
}
|
|
|
|
.omni-home__hero {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr);
|
|
justify-items: center;
|
|
align-content: center;
|
|
gap: clamp(14px, 2.1vw, 26px);
|
|
width: min(100%, 1180px);
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.omni-home__copy {
|
|
order: 1;
|
|
display: grid;
|
|
justify-items: center;
|
|
gap: 16px;
|
|
width: 100%;
|
|
}
|
|
|
|
.omni-home__copy h1 {
|
|
max-width: none;
|
|
margin: 0;
|
|
color: #f6fff9;
|
|
font-size: clamp(38px, 4.4vw, 64px);
|
|
font-weight: 900;
|
|
letter-spacing: 0;
|
|
line-height: 1.05;
|
|
text-align: center;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.omni-home__copy p {
|
|
max-width: 720px;
|
|
margin: 0;
|
|
color: var(--fg-muted);
|
|
font-size: clamp(15px, 1.45vw, 19px);
|
|
font-weight: 500;
|
|
letter-spacing: 0;
|
|
line-height: 1.75;
|
|
text-align: center;
|
|
}
|
|
|
|
.omni-home__actions {
|
|
order: 3;
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(154px, 1fr));
|
|
gap: 14px;
|
|
width: min(100%, 660px);
|
|
margin-top: clamp(2px, 0.7vw, 10px);
|
|
}
|
|
|
|
.omni-home__entry {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 12px;
|
|
min-width: 0;
|
|
min-height: 72px;
|
|
padding: 0 28px;
|
|
border: 1px solid var(--border-subtle);
|
|
border-radius: 8px;
|
|
background: var(--bg-inset);
|
|
color: var(--fg-body);
|
|
cursor: pointer;
|
|
font-size: 17px;
|
|
font-weight: 850;
|
|
transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
|
|
}
|
|
|
|
.omni-home__entry .anticon {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.omni-home__entry:hover {
|
|
border-color: var(--border-default);
|
|
background: var(--bg-hover);
|
|
color: #ffffff;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.omni-home__entry--primary {
|
|
border-color: var(--accent);
|
|
background: var(--accent);
|
|
color: var(--dg-button-text, #061014);
|
|
}
|
|
|
|
.omni-home__entry--primary:hover {
|
|
border-color: var(--accent-hover, var(--accent));
|
|
background: var(--accent-hover, var(--accent));
|
|
color: var(--dg-button-text, #061014);
|
|
}
|
|
|
|
.omni-home__carousel {
|
|
order: 2;
|
|
position: relative;
|
|
justify-self: center;
|
|
width: min(68vw, 820px);
|
|
min-height: 0;
|
|
aspect-ratio: 16 / 9;
|
|
transform: none;
|
|
padding: 0;
|
|
overflow: hidden;
|
|
border: 0;
|
|
border-radius: 0;
|
|
background: transparent;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.omni-home__carousel-stage {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
border-radius: inherit;
|
|
background: transparent;
|
|
}
|
|
|
|
.omni-home__carousel-stage img {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
display: block;
|
|
width: 78%;
|
|
height: auto;
|
|
max-height: calc(100% - 34px);
|
|
aspect-ratio: 16 / 9;
|
|
border: 0;
|
|
border-radius: 8px;
|
|
object-fit: cover;
|
|
opacity: 0.42;
|
|
transform: translate(-50%, -50%) scale(0.72);
|
|
transition:
|
|
left 520ms cubic-bezier(0.32, 0.72, 0, 1),
|
|
opacity 360ms ease,
|
|
transform 520ms cubic-bezier(0.32, 0.72, 0, 1),
|
|
filter 360ms ease;
|
|
}
|
|
|
|
.omni-home__carousel-stage img.is-active {
|
|
z-index: 3;
|
|
opacity: 1;
|
|
transform: translate(-50%, -50%) scale(1);
|
|
filter: none;
|
|
}
|
|
|
|
.omni-home__carousel-stage img.is-prev,
|
|
.omni-home__carousel-stage img.is-next {
|
|
z-index: 1;
|
|
width: 56%;
|
|
max-height: calc(100% - 72px);
|
|
filter: brightness(0.62) saturate(0.78);
|
|
}
|
|
|
|
.omni-home__carousel-stage img.is-prev {
|
|
left: 18%;
|
|
}
|
|
|
|
.omni-home__carousel-stage img.is-next {
|
|
left: 82%;
|
|
}
|
|
|
|
.omni-home__carousel-dots {
|
|
position: absolute;
|
|
left: 50%;
|
|
bottom: 18px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
transform: translateX(-50%);
|
|
}
|
|
|
|
.omni-home__carousel-dots button {
|
|
width: 9px;
|
|
height: 9px;
|
|
padding: 0;
|
|
border: 0;
|
|
border-radius: 999px;
|
|
background: rgba(255, 255, 255, 0.46);
|
|
cursor: pointer;
|
|
transition: width 180ms ease, background 180ms ease;
|
|
}
|
|
|
|
.omni-home__carousel-dots button.is-active {
|
|
width: 28px;
|
|
background: var(--accent);
|
|
}
|
|
|
|
.omni-home__carousel {
|
|
width: min(100%, 1280px);
|
|
min-height: clamp(340px, 34vw, 500px);
|
|
aspect-ratio: auto;
|
|
overflow: hidden;
|
|
color: #f6f8f6;
|
|
isolation: isolate;
|
|
}
|
|
|
|
.omni-home__carousel-stage {
|
|
width: min(100%, 1160px);
|
|
height: clamp(320px, 31vw, 450px);
|
|
margin: 0 auto;
|
|
overflow: visible;
|
|
transform-style: preserve-3d;
|
|
}
|
|
|
|
.omni-home__carousel-deck {
|
|
position: absolute;
|
|
inset: 0;
|
|
transform-style: preserve-3d;
|
|
}
|
|
|
|
.omni-home__carousel-card {
|
|
--apple-card-offset: 0;
|
|
--apple-card-depth: 0;
|
|
--apple-card-z: 20;
|
|
--apple-card-x: 0;
|
|
--apple-card-y: 0;
|
|
--apple-card-z-offset: 0;
|
|
--apple-card-rotate-y: 0deg;
|
|
--apple-card-rotate-z: 0deg;
|
|
--apple-card-scale: 1;
|
|
--apple-card-opacity: 1;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
display: grid;
|
|
width: clamp(214px, 17vw, 286px);
|
|
height: auto;
|
|
aspect-ratio: 16 / 9;
|
|
place-items: center;
|
|
overflow: hidden;
|
|
border: 0;
|
|
border-radius: clamp(10px, 1.2vw, 16px);
|
|
background: #0d1110;
|
|
color: #101412;
|
|
padding: 0;
|
|
cursor: pointer;
|
|
opacity: var(--apple-card-opacity);
|
|
box-shadow:
|
|
0 10px 24px rgb(0 0 0 / 16%),
|
|
inset 0 -1px 0 rgb(0 0 0 / 8%);
|
|
transform:
|
|
translate(-50%, -50%)
|
|
translateX(var(--apple-card-x))
|
|
translateY(var(--apple-card-y))
|
|
translateZ(var(--apple-card-z-offset))
|
|
rotateY(var(--apple-card-rotate-y))
|
|
rotateZ(var(--apple-card-rotate-z))
|
|
scale(var(--apple-card-scale));
|
|
transform-origin: center;
|
|
transform-style: preserve-3d;
|
|
transition:
|
|
transform 860ms cubic-bezier(0.22, 1, 0.36, 1),
|
|
opacity 640ms cubic-bezier(0.22, 1, 0.36, 1),
|
|
box-shadow 640ms cubic-bezier(0.22, 1, 0.36, 1),
|
|
width 860ms cubic-bezier(0.22, 1, 0.36, 1),
|
|
height 860ms cubic-bezier(0.22, 1, 0.36, 1);
|
|
z-index: var(--apple-card-z);
|
|
}
|
|
|
|
.omni-home__carousel-card::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: inherit;
|
|
background:
|
|
linear-gradient(180deg, rgb(255 255 255 / 14%), transparent 24%),
|
|
linear-gradient(0deg, rgb(0 0 0 / 20%), transparent 44%);
|
|
pointer-events: none;
|
|
z-index: 2;
|
|
}
|
|
|
|
.omni-home__carousel-stage .omni-home__carousel-card img {
|
|
position: static;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
max-height: none;
|
|
aspect-ratio: auto;
|
|
border: 0;
|
|
border-radius: inherit;
|
|
opacity: 1;
|
|
filter:
|
|
saturate(1.08)
|
|
contrast(1.02)
|
|
drop-shadow(0 18px 18px rgb(0 0 0 / 14%));
|
|
object-fit: cover;
|
|
transform: translateZ(12px);
|
|
transition:
|
|
filter 640ms cubic-bezier(0.22, 1, 0.36, 1),
|
|
transform 860ms cubic-bezier(0.22, 1, 0.36, 1);
|
|
}
|
|
|
|
.omni-home__carousel.is-resetting .omni-home__carousel-card,
|
|
.omni-home__carousel.is-resetting .omni-home__carousel-card img {
|
|
transition: none;
|
|
}
|
|
|
|
.omni-home__carousel-card.is-active {
|
|
width: clamp(390px, 37vw, 620px);
|
|
height: auto;
|
|
aspect-ratio: 16 / 9;
|
|
border-radius: clamp(16px, 1.8vw, 24px);
|
|
box-shadow:
|
|
0 18px 40px rgb(0 0 0 / 26%),
|
|
inset 0 -1px 0 rgb(0 0 0 / 8%);
|
|
}
|
|
|
|
.omni-home__carousel-stage .omni-home__carousel-card.is-active img {
|
|
width: 100%;
|
|
height: 100%;
|
|
filter:
|
|
saturate(1.12)
|
|
contrast(1.04)
|
|
drop-shadow(0 22px 20px rgb(0 0 0 / 16%));
|
|
transform: translateZ(20px) scale(1.02);
|
|
}
|
|
|
|
.omni-home__carousel-card-label {
|
|
position: absolute;
|
|
bottom: 12px;
|
|
left: 14px;
|
|
z-index: 2;
|
|
padding: 4px 12px;
|
|
border-radius: 999px;
|
|
background: rgba(var(--accent-rgb, 0, 255, 136), 0.16);
|
|
border: 1px solid rgba(var(--accent-rgb, 0, 255, 136), 0.24);
|
|
color: var(--fg-body, #f3f5f2);
|
|
font-size: 12px;
|
|
font-weight: 900;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.omni-home__carousel-card:hover {
|
|
box-shadow:
|
|
0 28px 58px rgb(0 0 0 / 34%),
|
|
inset 0 -1px 0 rgb(0 0 0 / 8%);
|
|
}
|
|
|
|
.omni-home__carousel-dots {
|
|
display: none;
|
|
}
|
|
|
|
.omni-home__feature-pages {
|
|
position: relative;
|
|
z-index: 2;
|
|
display: grid;
|
|
gap: 0;
|
|
width: 100%;
|
|
min-height: var(--home-section-min-height);
|
|
background:
|
|
linear-gradient(180deg, rgb(5 8 13 / 0%), #05080d 2%, #05080d 100%),
|
|
linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px),
|
|
linear-gradient(180deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
|
|
background-size: auto, 36px 36px, 36px 36px;
|
|
}
|
|
|
|
.omni-home__feature-page {
|
|
position: relative;
|
|
display: grid;
|
|
grid-template-columns: minmax(300px, 0.62fr) minmax(520px, 1.38fr);
|
|
align-items: center;
|
|
gap: clamp(28px, 5vw, 72px);
|
|
min-height: var(--home-section-min-height);
|
|
overflow: hidden;
|
|
border-top: 1px solid rgb(255 255 255 / 8%);
|
|
padding: clamp(42px, 6vw, 82px) clamp(22px, 7vw, 92px);
|
|
scroll-snap-align: start;
|
|
scroll-snap-stop: normal;
|
|
}
|
|
|
|
.omni-home__feature-page::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
background:
|
|
linear-gradient(90deg, rgb(5 8 13 / 94%) 0%, rgb(5 8 13 / 78%) 38%, rgb(5 8 13 / 40%) 100%),
|
|
linear-gradient(180deg, rgb(255 255 255 / 5%), transparent 32%);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.omni-home__feature-page.is-model::before {
|
|
background:
|
|
linear-gradient(90deg, rgb(5 8 13 / 96%) 0%, rgb(5 8 13 / 80%) 42%, rgb(5 8 13 / 48%) 100%),
|
|
linear-gradient(180deg, rgb(255 255 255 / 6%), transparent 34%);
|
|
}
|
|
|
|
.omni-home__feature-page.is-ecommerce::before {
|
|
background:
|
|
linear-gradient(90deg, rgb(5 8 13 / 92%) 0%, rgb(5 8 13 / 76%) 36%, rgb(5 8 13 / 36%) 100%),
|
|
linear-gradient(180deg, rgb(255 255 255 / 4%), transparent 30%);
|
|
}
|
|
|
|
.omni-home__feature-copy,
|
|
.omni-home__feature-visual,
|
|
.omni-home__feature-stats {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.omni-home__feature-copy {
|
|
display: grid;
|
|
justify-items: start;
|
|
gap: 20px;
|
|
max-width: 620px;
|
|
}
|
|
|
|
.omni-home__feature-copy > span,
|
|
.omni-home__experience-copy > span {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
color: var(--accent);
|
|
font-size: 13px;
|
|
font-weight: 900;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.omni-home__feature-copy > span .anticon,
|
|
.omni-home__experience-copy > span .anticon {
|
|
font-size: 17px;
|
|
}
|
|
|
|
.omni-home__feature-copy h2,
|
|
.omni-home__experience-copy h2 {
|
|
margin: 0;
|
|
color: #ffffff;
|
|
font-size: clamp(42px, 6.8vw, 96px);
|
|
font-weight: 950;
|
|
letter-spacing: 0;
|
|
line-height: 1.04;
|
|
}
|
|
|
|
.omni-home__feature-copy p,
|
|
.omni-home__experience-copy p {
|
|
max-width: 720px;
|
|
margin: 0;
|
|
color: rgb(232 238 236 / 78%);
|
|
font-size: clamp(17px, 2vw, 25px);
|
|
font-weight: 650;
|
|
letter-spacing: 0;
|
|
line-height: 1.65;
|
|
}
|
|
|
|
.omni-home__feature-copy button,
|
|
.omni-home__experience-actions button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 10px;
|
|
min-height: 58px;
|
|
border: 1px solid rgb(255 255 255 / 82%);
|
|
border-radius: 999px;
|
|
background: #ffffff;
|
|
color: #05080d;
|
|
padding: 0 30px;
|
|
cursor: pointer;
|
|
font-size: 18px;
|
|
font-weight: 900;
|
|
transition:
|
|
transform 160ms ease,
|
|
border-color 160ms ease,
|
|
background 160ms ease,
|
|
color 160ms ease;
|
|
}
|
|
|
|
.omni-home__feature-copy button:hover,
|
|
.omni-home__experience-actions button:hover {
|
|
border-color: var(--accent);
|
|
background: var(--accent);
|
|
color: #061014;
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.omni-home__feature-visual {
|
|
justify-self: stretch;
|
|
display: grid;
|
|
min-height: clamp(280px, 31vw, 520px);
|
|
max-height: min(58vh, 560px);
|
|
aspect-ratio: 6240 / 2656;
|
|
place-items: center;
|
|
overflow: hidden;
|
|
border: 1px solid rgb(255 255 255 / 12%);
|
|
border-radius: 20px;
|
|
background: #101214;
|
|
box-shadow: 0 28px 72px rgb(0 0 0 / 36%);
|
|
}
|
|
|
|
.omni-home__feature-visual img {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
filter: saturate(1.04) contrast(1.04);
|
|
object-fit: contain;
|
|
object-position: center;
|
|
transform: none;
|
|
transform-origin: center;
|
|
transition: transform 280ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)),
|
|
filter 280ms ease;
|
|
}
|
|
|
|
.omni-home__feature-visual:hover img {
|
|
transform: scale(1.03);
|
|
filter: saturate(1.1) contrast(1.06) brightness(1.04);
|
|
}
|
|
|
|
.omni-home__feature-page.is-model .omni-home__feature-visual {
|
|
aspect-ratio: 16 / 9;
|
|
min-height: clamp(360px, 36vw, 620px);
|
|
max-height: min(68vh, 680px);
|
|
border-color: rgb(255 255 255 / 14%);
|
|
border-radius: 8px;
|
|
background: #0a0b12;
|
|
box-shadow:
|
|
0 34px 90px rgb(0 0 0 / 42%),
|
|
inset 0 1px 0 rgb(255 255 255 / 7%);
|
|
}
|
|
|
|
.omni-home__feature-page.is-ecommerce .omni-home__feature-visual {
|
|
aspect-ratio: 16 / 9;
|
|
min-height: clamp(360px, 36vw, 620px);
|
|
max-height: min(68vh, 680px);
|
|
border-color: rgb(255 255 255 / 14%);
|
|
border-radius: 8px;
|
|
background: #101214;
|
|
box-shadow:
|
|
0 34px 90px rgb(0 0 0 / 42%),
|
|
inset 0 1px 0 rgb(255 255 255 / 7%);
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase {
|
|
position: relative;
|
|
isolation: isolate;
|
|
display: grid;
|
|
grid-template-columns: minmax(240px, 0.86fr) minmax(360px, 1.14fr);
|
|
grid-template-rows: auto 1fr;
|
|
gap: clamp(16px, 2vw, 28px);
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
padding: clamp(22px, 3vw, 38px);
|
|
background:
|
|
linear-gradient(145deg, rgb(255 255 255 / 5%), transparent 28%),
|
|
linear-gradient(180deg, #181b1d 0%, #0d0f10 100%);
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__depth,
|
|
.omni-home-ecommerce-showcase__grain {
|
|
position: absolute;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__depth {
|
|
z-index: -2;
|
|
background:
|
|
linear-gradient(90deg, rgb(255 255 255 / 5%) 1px, transparent 1px),
|
|
linear-gradient(180deg, rgb(255 255 255 / 4%) 1px, transparent 1px),
|
|
radial-gradient(circle at 50% 50%, transparent 0 42%, rgb(0 0 0 / 36%) 78%),
|
|
linear-gradient(140deg, rgb(0 255 136 / 10%), transparent 40%);
|
|
background-size: 32px 32px, 32px 32px, 100% 100%, 100% 100%;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__grain {
|
|
z-index: -1;
|
|
opacity: 0.22;
|
|
background:
|
|
repeating-linear-gradient(0deg, rgb(255 255 255 / 4%) 0 1px, transparent 1px 4px),
|
|
repeating-linear-gradient(90deg, rgb(255 255 255 / 3%) 0 1px, transparent 1px 5px);
|
|
mix-blend-mode: soft-light;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__prompt {
|
|
display: grid;
|
|
align-content: center;
|
|
gap: 8px;
|
|
min-height: 152px;
|
|
border: 1px solid rgb(0 255 136 / 42%);
|
|
border-radius: 8px;
|
|
background:
|
|
linear-gradient(135deg, rgb(0 255 136 / 12%), rgb(255 255 255 / 7%)),
|
|
rgb(18 21 22 / 84%);
|
|
padding: clamp(18px, 2.2vw, 26px);
|
|
box-shadow:
|
|
0 0 0 1px rgb(0 255 136 / 10%),
|
|
0 20px 58px rgb(0 255 136 / 10%),
|
|
inset 0 1px 0 rgb(255 255 255 / 10%);
|
|
backdrop-filter: blur(20px);
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__prompt span {
|
|
color: rgb(0 255 136 / 86%);
|
|
font-size: clamp(13px, 1vw, 16px);
|
|
font-weight: 900;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__prompt strong {
|
|
color: #f7faf8;
|
|
font-size: clamp(26px, 2.5vw, 44px);
|
|
font-weight: 950;
|
|
line-height: 1.08;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__prompt p {
|
|
max-width: 420px;
|
|
margin: 0;
|
|
color: rgb(232 238 236 / 76%);
|
|
font-size: clamp(14px, 1.18vw, 18px);
|
|
font-weight: 700;
|
|
line-height: 1.55;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__tools {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
align-self: end;
|
|
gap: 12px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__tool {
|
|
display: grid;
|
|
gap: 6px;
|
|
min-height: 92px;
|
|
align-content: center;
|
|
border: 1px solid rgb(255 255 255 / 12%);
|
|
border-radius: 8px;
|
|
background: rgb(255 255 255 / 7%);
|
|
padding: 15px 16px;
|
|
box-shadow: 0 18px 42px rgb(0 0 0 / 20%);
|
|
backdrop-filter: blur(20px);
|
|
transition:
|
|
transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
|
|
border-color 220ms ease,
|
|
background 220ms ease;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__tool:hover {
|
|
border-color: rgb(0 255 136 / 36%);
|
|
background: rgb(0 255 136 / 9%);
|
|
transform: translateY(-3px) scale(1.01);
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__tool b {
|
|
color: #ffffff;
|
|
font-size: clamp(20px, 1.7vw, 28px);
|
|
font-weight: 950;
|
|
line-height: 1;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__tool small {
|
|
color: rgb(232 238 236 / 58%);
|
|
font-size: clamp(12px, 1vw, 15px);
|
|
font-weight: 800;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__gallery {
|
|
position: relative;
|
|
grid-row: 1 / 3;
|
|
min-height: 0;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot {
|
|
position: absolute;
|
|
display: grid;
|
|
grid-template-rows: minmax(0, 1fr) auto;
|
|
overflow: hidden;
|
|
border: 1px solid rgb(255 255 255 / 14%);
|
|
border-radius: 8px;
|
|
background: rgb(255 255 255 / 8%);
|
|
box-shadow:
|
|
0 24px 62px rgb(0 0 0 / 32%),
|
|
inset 0 1px 0 rgb(255 255 255 / 8%);
|
|
backdrop-filter: blur(20px);
|
|
transition:
|
|
transform 240ms cubic-bezier(0.16, 1, 0.3, 1),
|
|
border-color 220ms ease,
|
|
box-shadow 220ms ease;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot:hover {
|
|
border-color: rgb(0 255 136 / 32%);
|
|
box-shadow: 0 30px 76px rgb(0 0 0 / 40%);
|
|
transform: translateY(-4px) scale(1.015);
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot.is-1 {
|
|
z-index: 3;
|
|
top: 3%;
|
|
left: 18%;
|
|
width: 61%;
|
|
height: 65%;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot.is-2 {
|
|
z-index: 2;
|
|
bottom: 2%;
|
|
left: 0;
|
|
width: 47%;
|
|
height: 43%;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot.is-3 {
|
|
z-index: 2;
|
|
right: 0;
|
|
bottom: 0;
|
|
width: 48%;
|
|
height: 45%;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot img {
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 0;
|
|
object-fit: cover;
|
|
object-position: center;
|
|
filter: saturate(0.96) contrast(1.02);
|
|
transform: none;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot:hover img {
|
|
transform: none;
|
|
filter: saturate(1.02) contrast(1.04);
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot > div {
|
|
display: grid;
|
|
gap: 3px;
|
|
border-top: 1px solid rgb(255 255 255 / 10%);
|
|
background: rgb(12 14 15 / 88%);
|
|
padding: 12px 14px 13px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot span {
|
|
justify-self: start;
|
|
border: 1px solid rgb(0 255 136 / 30%);
|
|
border-radius: 999px;
|
|
background: rgb(0 255 136 / 10%);
|
|
color: rgb(0 255 136 / 92%);
|
|
padding: 3px 9px;
|
|
font-size: 12px;
|
|
font-weight: 950;
|
|
line-height: 1;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot strong {
|
|
color: #f7faf8;
|
|
font-size: clamp(15px, 1.15vw, 20px);
|
|
font-weight: 950;
|
|
line-height: 1.15;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot small {
|
|
color: rgb(232 238 236 / 58%);
|
|
font-size: clamp(11px, 0.92vw, 14px);
|
|
font-weight: 800;
|
|
}
|
|
|
|
|
|
.omni-home__feature-stats {
|
|
position: absolute;
|
|
right: clamp(22px, 7vw, 92px);
|
|
bottom: clamp(26px, 5vw, 58px);
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
max-width: min(760px, 48vw);
|
|
}
|
|
|
|
.omni-home__feature-stats span {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
min-height: 36px;
|
|
border: 1px solid rgb(255 255 255 / 16%);
|
|
border-radius: 999px;
|
|
background: rgb(255 255 255 / 8%);
|
|
color: rgb(255 255 255 / 82%);
|
|
padding: 0 14px;
|
|
font-size: 13px;
|
|
font-weight: 850;
|
|
backdrop-filter: blur(12px);
|
|
}
|
|
|
|
.omni-home__experience {
|
|
position: relative;
|
|
display: grid;
|
|
grid-template-columns: minmax(280px, 0.86fr) minmax(360px, 1.14fr) minmax(240px, auto);
|
|
align-items: center;
|
|
gap: clamp(24px, 4.5vw, 72px);
|
|
min-height: var(--home-section-min-height);
|
|
overflow: hidden;
|
|
border-top: 1px solid rgb(255 255 255 / 8%);
|
|
padding: clamp(46px, 7vw, 96px) clamp(22px, 7vw, 92px);
|
|
scroll-snap-align: start;
|
|
scroll-snap-stop: normal;
|
|
background:
|
|
linear-gradient(112deg, rgb(0 255 136 / 16%) 0 1px, transparent 1px 18%),
|
|
linear-gradient(68deg, rgb(70 170 255 / 13%) 0 1px, transparent 1px 22%),
|
|
linear-gradient(135deg, rgb(170 95 255 / 12%) 0%, transparent 32%),
|
|
linear-gradient(180deg, #070b10 0%, #05080d 100%);
|
|
}
|
|
|
|
.omni-home__experience::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
background:
|
|
linear-gradient(90deg, rgb(0 255 136 / 12%) 1px, transparent 1px),
|
|
linear-gradient(180deg, rgb(70 170 255 / 9%) 1px, transparent 1px),
|
|
linear-gradient(135deg, transparent 0 44%, rgb(255 211 93 / 20%) 44% 44.35%, transparent 44.35% 100%);
|
|
background-size: 36px 36px, 36px 36px, 100% 100%;
|
|
mask-image: linear-gradient(180deg, rgb(0 0 0 / 78%), rgb(0 0 0 / 28%));
|
|
pointer-events: none;
|
|
}
|
|
|
|
.omni-home__experience-copy,
|
|
.omni-home__experience-visual,
|
|
.omni-home__experience-actions {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.omni-home__experience-copy {
|
|
display: grid;
|
|
gap: 20px;
|
|
max-width: 940px;
|
|
}
|
|
|
|
.omni-home__experience-copy h2 {
|
|
max-width: 560px;
|
|
font-size: clamp(42px, 5.4vw, 84px);
|
|
}
|
|
|
|
.omni-home__experience-copy p {
|
|
max-width: 520px;
|
|
font-size: clamp(18px, 1.55vw, 24px);
|
|
}
|
|
|
|
.omni-home__experience-visual {
|
|
display: grid;
|
|
min-height: clamp(280px, 31vw, 420px);
|
|
place-items: center;
|
|
isolation: isolate;
|
|
}
|
|
|
|
.omni-home__experience-visual::before,
|
|
.omni-home__experience-visual::after {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 8% 5%;
|
|
border: 1px solid rgb(0 255 136 / 28%);
|
|
transform: skewX(-12deg);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.omni-home__experience-visual::after {
|
|
inset: 22% 15%;
|
|
border-color: rgb(70 170 255 / 24%);
|
|
transform: skewX(14deg);
|
|
}
|
|
|
|
.omni-home__experience-line {
|
|
position: absolute;
|
|
left: 5%;
|
|
right: 5%;
|
|
height: 2px;
|
|
background: linear-gradient(90deg, transparent, rgb(0 255 136 / 78%), rgb(70 170 255 / 68%), transparent);
|
|
transform: rotate(-8deg);
|
|
transform-origin: center;
|
|
z-index: 0;
|
|
}
|
|
|
|
.omni-home__experience-line.is-top {
|
|
top: 24%;
|
|
}
|
|
|
|
.omni-home__experience-line.is-bottom {
|
|
bottom: 25%;
|
|
background: linear-gradient(90deg, transparent, rgb(255 211 93 / 70%), rgb(170 95 255 / 66%), transparent);
|
|
transform: rotate(8deg);
|
|
}
|
|
|
|
.omni-home__experience-routes {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(130px, 1fr));
|
|
gap: 16px;
|
|
width: min(100%, 520px);
|
|
}
|
|
|
|
.omni-home__experience-route {
|
|
--route-color: var(--accent);
|
|
display: grid;
|
|
gap: 7px;
|
|
min-height: 106px;
|
|
align-content: center;
|
|
border: 1px solid color-mix(in srgb, var(--route-color) 42%, transparent);
|
|
border-left-width: 5px;
|
|
border-radius: 8px;
|
|
background:
|
|
linear-gradient(135deg, color-mix(in srgb, var(--route-color) 19%, transparent), rgb(255 255 255 / 5%)),
|
|
rgb(6 12 14 / 72%);
|
|
color: #ffffff;
|
|
padding: 16px 18px;
|
|
box-shadow: 0 20px 46px rgb(0 0 0 / 26%);
|
|
backdrop-filter: blur(12px);
|
|
cursor: pointer;
|
|
transition: transform 200ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)),
|
|
box-shadow 200ms ease;
|
|
}
|
|
|
|
.omni-home__experience-route:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 24px 52px rgb(0 0 0 / 32%);
|
|
}
|
|
|
|
.omni-home__experience-route b {
|
|
font-size: clamp(24px, 2.4vw, 36px);
|
|
font-weight: 950;
|
|
line-height: 1;
|
|
}
|
|
|
|
.omni-home__experience-route small {
|
|
color: rgb(235 245 242 / 72%);
|
|
font-size: 13px;
|
|
font-weight: 850;
|
|
}
|
|
|
|
.omni-home__experience-route.is-green {
|
|
--route-color: #00ff88;
|
|
}
|
|
|
|
.omni-home__experience-route.is-cyan {
|
|
--route-color: #46aaff;
|
|
}
|
|
|
|
.omni-home__experience-route.is-violet {
|
|
--route-color: #aa5fff;
|
|
}
|
|
|
|
.omni-home__experience-route.is-amber {
|
|
--route-color: #ffd35d;
|
|
}
|
|
|
|
.omni-home__experience-actions {
|
|
display: grid;
|
|
gap: 14px;
|
|
min-width: min(100%, 320px);
|
|
}
|
|
|
|
.omni-home__experience-actions button {
|
|
width: 100%;
|
|
min-height: 64px;
|
|
border-color: rgb(255 255 255 / 20%);
|
|
background: rgb(255 255 255 / 7%);
|
|
color: #ffffff;
|
|
backdrop-filter: blur(14px);
|
|
}
|
|
|
|
.omni-home__experience-actions button.is-primary {
|
|
border-color: var(--accent);
|
|
background: var(--accent);
|
|
color: #061014;
|
|
}
|
|
|
|
@media (max-width: 980px) {
|
|
.omni-home__shell {
|
|
align-items: start;
|
|
padding: 34px 18px 48px;
|
|
}
|
|
|
|
.omni-home__hero {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.omni-home__carousel {
|
|
width: 100%;
|
|
min-height: 0;
|
|
transform: none;
|
|
}
|
|
|
|
.omni-home__carousel-stage {
|
|
min-height: 0;
|
|
}
|
|
|
|
.omni-home__feature-page,
|
|
.omni-home__experience {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.omni-home__feature-page {
|
|
min-height: var(--home-section-min-height);
|
|
padding-block: 48px 86px;
|
|
}
|
|
|
|
.omni-home__feature-copy {
|
|
max-width: 720px;
|
|
}
|
|
|
|
.omni-home__feature-visual {
|
|
min-height: 0;
|
|
max-height: none;
|
|
}
|
|
|
|
.omni-home__feature-page.is-model .omni-home__feature-visual,
|
|
.omni-home__feature-page.is-ecommerce .omni-home__feature-visual {
|
|
min-height: 620px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase {
|
|
grid-template-columns: 1fr;
|
|
grid-template-rows: auto auto minmax(360px, 1fr);
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__gallery {
|
|
grid-row: auto;
|
|
min-height: 360px;
|
|
}
|
|
|
|
.omni-home__feature-stats {
|
|
right: 22px;
|
|
left: 22px;
|
|
max-width: none;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.omni-home__experience-actions {
|
|
width: min(100%, 520px);
|
|
}
|
|
}
|
|
|
|
@media (max-width: 560px) {
|
|
.omni-home__copy h1 {
|
|
font-size: 30px;
|
|
}
|
|
|
|
.omni-home__actions,
|
|
.omni-home__entry {
|
|
width: 100%;
|
|
}
|
|
|
|
.omni-home__actions {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.omni-home__carousel {
|
|
padding: 0;
|
|
}
|
|
|
|
.omni-home__carousel-stage {
|
|
min-height: 0;
|
|
}
|
|
|
|
.omni-home__carousel-stage img {
|
|
width: 82%;
|
|
}
|
|
|
|
.omni-home__feature-page,
|
|
.omni-home__experience {
|
|
padding-inline: 18px;
|
|
}
|
|
|
|
.omni-home__feature-copy h2,
|
|
.omni-home__experience-copy h2 {
|
|
font-size: 34px;
|
|
}
|
|
|
|
.omni-home__feature-copy p,
|
|
.omni-home__experience-copy p {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.omni-home__feature-copy button,
|
|
.omni-home__experience-actions button {
|
|
width: 100%;
|
|
min-height: 56px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.omni-home__feature-visual {
|
|
min-height: 0;
|
|
border-radius: 12px;
|
|
}
|
|
|
|
.omni-home__feature-page.is-ecommerce .omni-home__feature-visual {
|
|
min-height: 0;
|
|
aspect-ratio: auto;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase {
|
|
gap: 14px;
|
|
padding: 14px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__prompt {
|
|
min-height: 130px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__tools {
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 8px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__tool {
|
|
min-height: 78px;
|
|
padding: 12px;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__gallery {
|
|
display: grid;
|
|
gap: 12px;
|
|
min-height: 0;
|
|
}
|
|
|
|
.omni-home-ecommerce-showcase__shot,
|
|
.omni-home-ecommerce-showcase__shot.is-1,
|
|
.omni-home-ecommerce-showcase__shot.is-2,
|
|
.omni-home-ecommerce-showcase__shot.is-3 {
|
|
position: relative;
|
|
inset: auto;
|
|
width: 100%;
|
|
height: auto;
|
|
aspect-ratio: 4 / 3;
|
|
}
|
|
|
|
.omni-home__feature-stats {
|
|
bottom: 34px;
|
|
}
|
|
|
|
.omni-home__feature-stats span {
|
|
min-height: 32px;
|
|
font-size: 12px;
|
|
}
|
|
}
|