Initial commit: OmniAI Web Frontend
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
/* Compatibility shim: app-wide styles are layered through index.css. */
|
||||
@import "./index.css";
|
||||
@@ -0,0 +1,43 @@
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
#root {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
min-width: 320px;
|
||||
overflow: hidden;
|
||||
background: var(--page-bg);
|
||||
color: var(--text);
|
||||
font-family: var(--font-sans);
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
button,
|
||||
textarea,
|
||||
input {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
button {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
button:focus-visible,
|
||||
textarea:focus-visible,
|
||||
input:focus-visible {
|
||||
outline: 2px solid rgba(var(--accent-rgb), 0.48);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
img,
|
||||
video {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
.dropzone {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
padding: 28px 16px;
|
||||
border: 2px dashed var(--border-weak, #333);
|
||||
border-radius: var(--radius-lg, 14px);
|
||||
cursor: pointer;
|
||||
transition: border-color 0.2s ease, background-color 0.2s ease;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dropzone:hover {
|
||||
border-color: var(--accent, #0d9488);
|
||||
background: color-mix(in srgb, var(--accent, #0d9488) 5%, transparent);
|
||||
}
|
||||
|
||||
.dropzone--active {
|
||||
border-color: var(--accent, #0d9488);
|
||||
background: color-mix(in srgb, var(--accent, #0d9488) 10%, transparent);
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.dropzone__label {
|
||||
font-size: 14px;
|
||||
color: var(--text-primary, #e5e5e5);
|
||||
}
|
||||
|
||||
.dropzone__hint {
|
||||
font-size: 12px;
|
||||
color: var(--text-tertiary, #888);
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
.empty-state {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 12px;
|
||||
padding: 48px 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.empty-state__illustration {
|
||||
color: var(--fg-soft, #888);
|
||||
margin-bottom: 8px;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.empty-state__title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: var(--fg-body, #e0e0e0);
|
||||
}
|
||||
|
||||
.empty-state__desc {
|
||||
font-size: 13px;
|
||||
color: var(--fg-soft, #888);
|
||||
max-width: 280px;
|
||||
margin: 0;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.empty-state__action {
|
||||
margin-top: 8px;
|
||||
padding: 8px 20px;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
background: var(--accent, #0d9488);
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s, transform 0.1s;
|
||||
}
|
||||
|
||||
.empty-state__action:hover {
|
||||
background: var(--accent-hover, #0f766e);
|
||||
}
|
||||
|
||||
.empty-state__action:active {
|
||||
transform: scale(0.97);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,69 @@
|
||||
/* Global motion utilities and shared animations */
|
||||
|
||||
/* Stagger entrance for list/grid children */
|
||||
@keyframes list-item-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(8px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scale-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale(0.95);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slide-up-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(12px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes backdrop-in {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
|
||||
/* Stagger utility: apply to parent, children get delayed entrance */
|
||||
.motion-stagger > * {
|
||||
animation: list-item-in 280ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
||||
}
|
||||
|
||||
.motion-stagger > *:nth-child(1) { animation-delay: 0ms; }
|
||||
.motion-stagger > *:nth-child(2) { animation-delay: 40ms; }
|
||||
.motion-stagger > *:nth-child(3) { animation-delay: 80ms; }
|
||||
.motion-stagger > *:nth-child(4) { animation-delay: 120ms; }
|
||||
.motion-stagger > *:nth-child(5) { animation-delay: 160ms; }
|
||||
.motion-stagger > *:nth-child(6) { animation-delay: 200ms; }
|
||||
.motion-stagger > *:nth-child(7) { animation-delay: 240ms; }
|
||||
.motion-stagger > *:nth-child(8) { animation-delay: 280ms; }
|
||||
.motion-stagger > *:nth-child(9) { animation-delay: 320ms; }
|
||||
.motion-stagger > *:nth-child(10) { animation-delay: 360ms; }
|
||||
.motion-stagger > *:nth-child(n+11) { animation-delay: 400ms; }
|
||||
|
||||
/* Global reduced-motion override */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
scroll-behavior: auto !important;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
.page-transition {
|
||||
position: relative;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
animation: page-fade-in 150ms ease-out both;
|
||||
}
|
||||
|
||||
@keyframes page-fade-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(4px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
/* Shared primitives for new CSS. Keep legacy component debt in legacy-components.css. */
|
||||
.ui-surface {
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: var(--radius-lg);
|
||||
background: var(--surface-panel);
|
||||
box-shadow: var(--shadow-panel);
|
||||
}
|
||||
|
||||
.ui-muted {
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.ui-focus-ring:focus-visible {
|
||||
outline: 2px solid rgba(var(--accent-rgb), 0.48);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.page-loading-skeleton {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 200px;
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
.page-loading-skeleton__bar {
|
||||
width: 40%;
|
||||
height: 24px;
|
||||
border-radius: 8px;
|
||||
background: var(--surface-elevated, #222);
|
||||
animation: skeleton-shimmer 1.4s ease infinite;
|
||||
}
|
||||
|
||||
.page-loading-skeleton__row {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.page-loading-skeleton__card {
|
||||
flex: 1;
|
||||
height: 140px;
|
||||
border-radius: 14px;
|
||||
background: var(--surface-elevated, #222);
|
||||
animation: skeleton-shimmer 1.4s ease infinite;
|
||||
animation-delay: 0.15s;
|
||||
}
|
||||
|
||||
.page-loading-skeleton__block {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
border-radius: 14px;
|
||||
background: var(--surface-elevated, #222);
|
||||
animation: skeleton-shimmer 1.4s ease infinite;
|
||||
animation-delay: 0.3s;
|
||||
}
|
||||
|
||||
@keyframes skeleton-shimmer {
|
||||
0%, 100% { opacity: 0.4; }
|
||||
50% { opacity: 0.7; }
|
||||
}
|
||||
|
||||
.page-transition-wrap {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.page-motion--exit {
|
||||
animation: page-out 180ms ease both;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-motion--exit .page-motion {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
@keyframes page-out {
|
||||
to { opacity: 0; transform: translateY(-6px); }
|
||||
}
|
||||
|
||||
.page-loading-center {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 200px;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.page-loading-center__text {
|
||||
font: 400 13px/1 'PingFang SC', 'Microsoft YaHei UI', system-ui, sans-serif;
|
||||
color: var(--text-muted, rgba(255,255,255,.45));
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.page-loading-spinner {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border: 3px solid var(--border-subtle, #e5e5e5);
|
||||
border-top-color: var(--accent, #0d9488);
|
||||
border-radius: 50%;
|
||||
animation: page-spin 0.7s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes page-spin {
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
@@ -0,0 +1,399 @@
|
||||
/* === Recharge Modal === */
|
||||
.recharge-modal {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 1200;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: 24px;
|
||||
}
|
||||
|
||||
.recharge-modal__backdrop {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
border: 0;
|
||||
background: rgb(0 0 0 / 72%);
|
||||
cursor: pointer;
|
||||
backdrop-filter: blur(5px);
|
||||
}
|
||||
|
||||
@keyframes rechargeModalIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(12px) scale(0.98);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.recharge-modal__panel {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: grid;
|
||||
gap: 20px;
|
||||
width: min(1300px, 100%);
|
||||
max-height: calc(100vh - 32px);
|
||||
overflow-y: auto;
|
||||
border: 1px solid var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
border-radius: 20px;
|
||||
background: var(--bg-surface, #171a1f);
|
||||
color: var(--fg-body, #edf2f7);
|
||||
padding: 28px;
|
||||
box-shadow: 0 28px 80px rgb(0 0 0 / 44%);
|
||||
animation: rechargeModalIn 180ms ease both;
|
||||
scrollbar-color: rgba(var(--accent-rgb), 0.36) transparent;
|
||||
}
|
||||
|
||||
.recharge-modal__header {
|
||||
position: relative;
|
||||
display: block;
|
||||
padding: 0 168px 18px;
|
||||
border-bottom: 1px solid var(--border-weak, rgb(255 255 255 / 7%));
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.recharge-modal__header > div {
|
||||
max-width: 720px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.recharge-modal__eyebrow {
|
||||
color: var(--accent, #34d399);
|
||||
font-size: 12px;
|
||||
font-weight: 850;
|
||||
}
|
||||
|
||||
.recharge-modal__header h2 {
|
||||
margin: 4px 0 6px;
|
||||
font-size: 22px;
|
||||
font-weight: 900;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.recharge-modal__header p {
|
||||
margin: 0;
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
font-size: 13px;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.recharge-modal__balance {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 48px;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.28);
|
||||
border-radius: 999px;
|
||||
background: rgba(var(--accent-rgb), 0.1);
|
||||
color: var(--fg-body, #edf2f7);
|
||||
padding: 8px 12px;
|
||||
font-size: 12px;
|
||||
font-weight: 850;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.recharge-modal__close {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
right: 0;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 9px;
|
||||
background: transparent;
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 0.15s,
|
||||
border-color 0.15s,
|
||||
color 0.15s;
|
||||
}
|
||||
|
||||
.recharge-modal__close:hover {
|
||||
border-color: var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
background: var(--bg-hover, rgb(255 255 255 / 7%));
|
||||
color: var(--fg-body, #edf2f7);
|
||||
}
|
||||
|
||||
.recharge-modal__promo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 12px;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.24);
|
||||
border-radius: 14px;
|
||||
background:
|
||||
linear-gradient(90deg, rgba(var(--accent-rgb), 0.16), rgba(var(--accent-rgb), 0.06)),
|
||||
var(--bg-elevated, #20242b);
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
padding: 12px 16px;
|
||||
font-size: 13px;
|
||||
line-height: 1.45;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.recharge-modal__promo strong {
|
||||
color: var(--accent, #34d399);
|
||||
font-weight: 950;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.recharge-modal__audience-tabs {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 8px;
|
||||
border: 1px solid var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset, rgb(0 0 0 / 18%));
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.recharge-modal__audience-tabs button {
|
||||
min-height: 38px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 9px;
|
||||
background: transparent;
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
cursor: pointer;
|
||||
font: inherit;
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__audience-tabs button:hover {
|
||||
border-color: var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
background: var(--bg-hover, rgb(255 255 255 / 7%));
|
||||
color: var(--fg-body, #edf2f7);
|
||||
}
|
||||
|
||||
.recharge-modal__audience-tabs button.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.48);
|
||||
background: rgba(var(--accent-rgb), 0.16);
|
||||
color: var(--accent, #34d399);
|
||||
}
|
||||
|
||||
.recharge-modal__grid {
|
||||
display: grid;
|
||||
gap: 14px;
|
||||
}
|
||||
|
||||
.recharge-modal__grid[data-audience="personal"] {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.recharge-modal__grid[data-audience="enterprise"] {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.recharge-modal__card {
|
||||
position: relative;
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
min-height: 390px;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
border: 1px solid var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
border-radius: 14px;
|
||||
background: var(--bg-elevated, #20242b);
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.recharge-modal__card.is-selected {
|
||||
border-color: rgba(var(--accent-rgb), 0.55);
|
||||
box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.16);
|
||||
}
|
||||
|
||||
.recharge-modal__badge {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
border-radius: 999px;
|
||||
background: var(--accent, #34d399);
|
||||
color: #07110d;
|
||||
padding: 4px 9px;
|
||||
font-size: 11px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__card-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
padding-right: 84px;
|
||||
}
|
||||
|
||||
.recharge-modal__card-icon {
|
||||
display: grid;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
min-width: 42px;
|
||||
place-items: center;
|
||||
border-radius: 12px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent, #34d399);
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.recharge-modal__card h3 {
|
||||
margin: 0;
|
||||
font-size: 17px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__card-head span:not(.recharge-modal__card-icon) {
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.recharge-modal__price strong {
|
||||
color: var(--fg-body, #edf2f7);
|
||||
font-size: 25px;
|
||||
font-weight: 950;
|
||||
}
|
||||
|
||||
.recharge-modal__period {
|
||||
width: fit-content;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.26);
|
||||
border-radius: 999px;
|
||||
background: rgba(var(--accent-rgb), 0.1);
|
||||
color: var(--accent, #34d399);
|
||||
padding: 4px 9px;
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__grant {
|
||||
margin: 0;
|
||||
border-radius: 10px;
|
||||
background: var(--bg-inset, rgb(0 0 0 / 18%));
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
padding: 10px 12px;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.recharge-modal__diff-label {
|
||||
width: fit-content;
|
||||
color: var(--fg-body, #edf2f7);
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__features {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
height: 92px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 6px;
|
||||
overflow-y: auto;
|
||||
list-style: none;
|
||||
overscroll-behavior: contain;
|
||||
scrollbar-width: none;
|
||||
scrollbar-gutter: stable;
|
||||
}
|
||||
|
||||
.recharge-modal__features::-webkit-scrollbar {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.recharge-modal__features li {
|
||||
display: grid;
|
||||
grid-template-columns: 14px minmax(0, 1fr);
|
||||
gap: 8px;
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
font-size: 12px;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.recharge-modal__features .anticon {
|
||||
margin-top: 2px;
|
||||
color: var(--accent, #34d399);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.recharge-modal__buy {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: auto;
|
||||
min-height: 38px;
|
||||
border: 0;
|
||||
border-radius: 10px;
|
||||
background: var(--accent, #34d399);
|
||||
color: #07110d;
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__buy.is-selected {
|
||||
box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.2), 0 10px 24px rgba(var(--accent-rgb), 0.18);
|
||||
}
|
||||
|
||||
.recharge-modal__buy:hover {
|
||||
filter: brightness(1.05);
|
||||
}
|
||||
|
||||
.recharge-modal__rules {
|
||||
border: 1px solid var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
border-radius: 14px;
|
||||
background: var(--bg-elevated, #20242b);
|
||||
padding: 16px 18px;
|
||||
}
|
||||
|
||||
.recharge-modal__rules h3 {
|
||||
margin: 0 0 10px;
|
||||
font-size: 15px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__rules ol {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
font-size: 12px;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
@media (max-width: 980px) {
|
||||
.recharge-modal__grid[data-audience="personal"],
|
||||
.recharge-modal__grid[data-audience="enterprise"] {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.recharge-modal {
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.recharge-modal__panel {
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.recharge-modal__header {
|
||||
padding: 0 40px 16px;
|
||||
}
|
||||
|
||||
.recharge-modal__balance {
|
||||
position: static;
|
||||
display: inline-flex;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.recharge-modal__promo {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
@keyframes skeleton-shimmer {
|
||||
0% { background-position: 120% 0; }
|
||||
100% { background-position: -120% 0; }
|
||||
}
|
||||
|
||||
.skeleton-shimmer {
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
rgba(255, 255, 255, 0.04),
|
||||
rgba(255, 255, 255, 0.1),
|
||||
rgba(255, 255, 255, 0.04)
|
||||
);
|
||||
background-size: 220% 100%;
|
||||
animation: skeleton-shimmer 1.2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.skeleton-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
padding: 12px;
|
||||
border-radius: var(--radius-lg, 14px);
|
||||
background: var(--bg-elevated, #222);
|
||||
}
|
||||
|
||||
.skeleton-card__thumb {
|
||||
width: 100%;
|
||||
aspect-ratio: 4 / 3;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.skeleton-card__body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
.skeleton-card__title {
|
||||
width: 60%;
|
||||
height: 14px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.skeleton-card__desc {
|
||||
width: 85%;
|
||||
height: 12px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.skeleton-list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
||||
gap: 16px;
|
||||
padding: 16px;
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
.app-toast-container {
|
||||
position: fixed;
|
||||
bottom: 24px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 9999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
pointer-events: none;
|
||||
max-width: min(420px, calc(100vw - 32px));
|
||||
}
|
||||
|
||||
.app-toast {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 10px 14px;
|
||||
border-radius: 10px;
|
||||
background: rgba(22, 22, 22, 0.95);
|
||||
backdrop-filter: blur(8px);
|
||||
font-size: 13px;
|
||||
color: var(--text-primary, #e5e5e5);
|
||||
pointer-events: auto;
|
||||
animation: toast-in 220ms ease-out;
|
||||
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
.app-toast--success {
|
||||
border-color: rgba(16, 185, 129, 0.3);
|
||||
}
|
||||
|
||||
.app-toast--error {
|
||||
border-color: rgba(239, 68, 68, 0.3);
|
||||
}
|
||||
|
||||
.app-toast__icon {
|
||||
flex-shrink: 0;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.app-toast--success .app-toast__icon {
|
||||
background: rgba(16, 185, 129, 0.2);
|
||||
color: #10b981;
|
||||
}
|
||||
|
||||
.app-toast--error .app-toast__icon {
|
||||
background: rgba(239, 68, 68, 0.2);
|
||||
color: #ef4444;
|
||||
}
|
||||
|
||||
.app-toast--info .app-toast__icon {
|
||||
background: rgba(99, 102, 241, 0.2);
|
||||
color: #818cf8;
|
||||
}
|
||||
|
||||
.app-toast__msg {
|
||||
flex: 1;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.app-toast__retry {
|
||||
flex-shrink: 0;
|
||||
padding: 3px 10px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
border-radius: 6px;
|
||||
background: transparent;
|
||||
color: var(--text-primary, #e5e5e5);
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
}
|
||||
|
||||
.app-toast__retry:hover {
|
||||
background: rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
.app-toast__close {
|
||||
flex-shrink: 0;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: none;
|
||||
border-radius: 50%;
|
||||
background: transparent;
|
||||
color: var(--text-tertiary, #888);
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
transition: color 0.15s;
|
||||
}
|
||||
|
||||
.app-toast__close:hover {
|
||||
color: var(--text-primary, #e5e5e5);
|
||||
}
|
||||
|
||||
@keyframes toast-in {
|
||||
from { opacity: 0; transform: translateY(12px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
@import "./tokens.css";
|
||||
@import "./base/reset.css";
|
||||
@import "./shell/app-shell.css";
|
||||
@import "./components/primitives.css";
|
||||
@import "./components/legacy-components.css";
|
||||
@import "./pages/home.css";
|
||||
@import "./pages/welcome-splash.css";
|
||||
@import "./pages/workbench.css";
|
||||
@import "./pages/ecommerce.css";
|
||||
@import "./pages/ecommerce-video.css";
|
||||
@import "./pages/community.css";
|
||||
@import "./pages/assets.css";
|
||||
@import "./pages/more.css";
|
||||
@import "./pages/avatar-console.css";
|
||||
@import "./pages/more-tools.css";
|
||||
@import "./pages/studio-layout.css";
|
||||
@import "./pages/image-workbench.css";
|
||||
@import "./pages/subtitle-removal.css";
|
||||
@import "./pages/size-template.css";
|
||||
@import "./pages/script-tokens.css";
|
||||
@import "./pages/profile.css";
|
||||
@import "./pages/canvas.css";
|
||||
@import "./pages/agent.css";
|
||||
@import "./pages/compliance.css";
|
||||
@import "./pages/provider-health.css";
|
||||
@import "./pages/legacy-pages.css";
|
||||
@import "./components/recharge-modal.css";
|
||||
@import "./components/dropzone.css";
|
||||
@import "./components/skeleton.css";
|
||||
@import "./components/toast.css";
|
||||
@import "./components/empty-state.css";
|
||||
@import "./components/page-transition.css";
|
||||
@import "./components/motion.css";
|
||||
@import "./themes/dark-green.css";
|
||||
@import "./pages/local-theme-parity.css";
|
||||
@@ -0,0 +1,2 @@
|
||||
/* Compatibility shim: page styles are layered through index.css. */
|
||||
@import "./index.css";
|
||||
@@ -0,0 +1 @@
|
||||
/* Agent page rules move here as they are retired from legacy-pages.css. */
|
||||
@@ -0,0 +1,211 @@
|
||||
/* Asset library page rules move here as they are retired from legacy-pages.css. */
|
||||
|
||||
.asset-context-menu {
|
||||
position: fixed;
|
||||
z-index: 200;
|
||||
min-width: 140px;
|
||||
padding: 4px;
|
||||
background: #1a1a1a;
|
||||
border: 1px solid #333;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.asset-context-menu button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
width: 100%;
|
||||
padding: 8px 12px;
|
||||
border: 0;
|
||||
border-radius: 6px;
|
||||
background: transparent;
|
||||
color: #ef4444;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
}
|
||||
|
||||
.asset-context-menu button:hover {
|
||||
background: rgba(239, 68, 68, 0.1);
|
||||
}
|
||||
|
||||
.asset-preview-modal {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 140;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: 32px;
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.asset-preview-modal__backdrop {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
border: 0;
|
||||
background: rgba(0, 0, 0, 0.72);
|
||||
cursor: zoom-out;
|
||||
backdrop-filter: none;
|
||||
animation: backdrop-in 150ms ease both;
|
||||
}
|
||||
|
||||
.asset-preview-modal__panel {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: grid;
|
||||
grid-template-rows: auto minmax(0, 1fr) auto;
|
||||
width: min(1120px, calc(100vw - 64px));
|
||||
animation: scale-in 200ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
||||
max-height: min(820px, calc(100vh - 64px));
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.22);
|
||||
border-radius: 18px;
|
||||
background: color-mix(in srgb, var(--bg-panel) 96%, transparent);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.asset-preview-modal__head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 16px;
|
||||
min-height: 58px;
|
||||
padding: 12px 14px 12px 18px;
|
||||
border-bottom: 1px solid var(--border-weak);
|
||||
background: rgba(255, 255, 255, 0.035);
|
||||
}
|
||||
|
||||
.asset-preview-modal__head > div {
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.asset-preview-modal__head strong,
|
||||
.asset-preview-modal__head span {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.asset-preview-modal__head strong {
|
||||
color: var(--fg-body);
|
||||
font-size: 15px;
|
||||
font-weight: 1000;
|
||||
}
|
||||
|
||||
.asset-preview-modal__head span {
|
||||
color: var(--fg-muted);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.asset-preview-modal__close {
|
||||
display: inline-grid;
|
||||
place-items: center;
|
||||
width: 36px;
|
||||
min-width: 36px;
|
||||
height: 36px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 10px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
border-color 160ms ease,
|
||||
color 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.asset-preview-modal__close:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.44);
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.asset-preview-modal__body {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 0;
|
||||
padding: 20px;
|
||||
background: var(--bg-shell);
|
||||
}
|
||||
|
||||
.asset-preview-modal__body img,
|
||||
.asset-preview-modal__body video {
|
||||
display: block;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
max-height: calc(100vh - 210px);
|
||||
border-radius: 12px;
|
||||
object-fit: contain;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.asset-preview-modal__empty {
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
gap: 10px;
|
||||
color: var(--fg-muted);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.asset-preview-modal__empty .anticon {
|
||||
color: var(--accent);
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
.asset-preview-modal__empty strong {
|
||||
color: var(--fg-body);
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.asset-preview-modal__meta {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
padding: 12px 18px;
|
||||
border-top: 1px solid var(--border-weak);
|
||||
background: rgba(255, 255, 255, 0.035);
|
||||
}
|
||||
|
||||
.asset-preview-modal__meta span {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 24px;
|
||||
padding: 0 9px;
|
||||
border-radius: 999px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-soft);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.asset-card--desktop {
|
||||
cursor: zoom-in;
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.asset-preview-modal {
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.asset-preview-modal__panel {
|
||||
width: calc(100vw - 28px);
|
||||
max-height: calc(100vh - 28px);
|
||||
border-radius: 14px;
|
||||
}
|
||||
|
||||
.asset-preview-modal__body {
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.asset-preview-modal__body img,
|
||||
.asset-preview-modal__body video {
|
||||
max-height: calc(100vh - 190px);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,711 @@
|
||||
.studio-canvas-project-bar {
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
right: 14px;
|
||||
z-index: 80;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
max-width: calc(100vw - 104px);
|
||||
min-height: 44px;
|
||||
padding: 6px 6px 6px 14px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
background: var(--bg-panel);
|
||||
color: var(--fg-muted);
|
||||
box-shadow: var(--shadow-tight);
|
||||
}
|
||||
|
||||
.studio-canvas .react-flow__attribution {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
overflow: hidden;
|
||||
border-radius: inherit;
|
||||
background: #050806;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player video {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__shade {
|
||||
position: absolute;
|
||||
inset: auto 0 0;
|
||||
height: 38%;
|
||||
background: rgba(0, 0, 0, 0.62);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__center,
|
||||
.canvas-page .studio-canvas-video-player__button {
|
||||
display: inline-grid;
|
||||
place-items: center;
|
||||
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||
background: rgba(0, 0, 0, 0.48);
|
||||
color: rgba(255, 255, 255, 0.92);
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 150ms ease,
|
||||
border-color 150ms ease,
|
||||
color 150ms ease,
|
||||
opacity 150ms ease,
|
||||
transform 150ms ease;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__center {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
z-index: 8;
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
border-radius: 999px;
|
||||
font-size: 22px;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player.is-playing:not(:hover) .studio-canvas-video-player__center {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transform: translate(-50%, -50%) scale(0.92);
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__controls {
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
z-index: 9;
|
||||
display: grid;
|
||||
grid-template-columns: 30px auto minmax(90px, 1fr) 30px;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
min-height: 34px;
|
||||
padding: 5px 7px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.12);
|
||||
border-radius: 12px;
|
||||
background: rgba(5, 9, 7, 0.58);
|
||||
box-shadow: none;
|
||||
backdrop-filter: none;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__button {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border-radius: 9px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__center:hover,
|
||||
.canvas-page .studio-canvas-video-player__button:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.48);
|
||||
background: rgba(var(--accent-rgb), 0.18);
|
||||
color: #fff;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__center:hover {
|
||||
transform: translate(-50%, -50%) scale(1.04);
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__time {
|
||||
color: rgba(255, 255, 255, 0.86);
|
||||
font-size: 11px;
|
||||
font-weight: 900;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__seek {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
height: 4px;
|
||||
accent-color: var(--accent);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.canvas-page .studio-canvas-video-player__seek::-webkit-slider-thumb {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__identity {
|
||||
display: grid;
|
||||
gap: 2px;
|
||||
min-width: 0;
|
||||
max-width: min(320px, 34vw);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
color: var(--fg-body);
|
||||
font-size: 13px;
|
||||
font-weight: 1000;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name span {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name-form {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
min-width: min(260px, 32vw);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name-form input {
|
||||
width: min(220px, 28vw);
|
||||
height: 30px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.42);
|
||||
border-radius: 9px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name-form button,
|
||||
.studio-canvas-project-bar__rename {
|
||||
display: inline-grid;
|
||||
place-items: center;
|
||||
width: 30px;
|
||||
min-width: 30px;
|
||||
height: 30px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 9px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
border-color 160ms ease,
|
||||
color 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name-form button:hover,
|
||||
.studio-canvas-project-bar__rename:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__status {
|
||||
max-width: min(360px, 42vw);
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__status.is-success {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__status.is-error {
|
||||
color: var(--error);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__save {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 7px;
|
||||
min-width: 84px;
|
||||
min-height: 34px;
|
||||
padding: 0 13px;
|
||||
border: 1px solid var(--accent);
|
||||
border-radius: 11px;
|
||||
background: var(--accent);
|
||||
color: #061014;
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__save:hover:not(:disabled) {
|
||||
border-color: var(--accent-hover, var(--accent));
|
||||
background: var(--accent-hover, var(--accent));
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__save:disabled {
|
||||
cursor: wait;
|
||||
opacity: 0.72;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__autosave-status {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
padding: 0 8px;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__autosave-status--saving {
|
||||
opacity: 1;
|
||||
color: var(--fg-muted, #888);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__autosave-status--saved {
|
||||
opacity: 1;
|
||||
color: #10b981;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__autosave-status--error {
|
||||
opacity: 1;
|
||||
color: #ef4444;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__export,
|
||||
.studio-canvas-project-bar__publish {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 7px;
|
||||
min-height: 34px;
|
||||
padding: 0 12px;
|
||||
border-radius: 11px;
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
border-color 160ms ease,
|
||||
color 160ms ease,
|
||||
transform 160ms ease,
|
||||
opacity 160ms ease;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__export {
|
||||
border: 1px solid var(--border-subtle);
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__export:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.44);
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__publish {
|
||||
border: 1px solid #35d27d;
|
||||
background: #35d27d;
|
||||
color: #06140b;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__publish:hover:not(:disabled) {
|
||||
border-color: #4ade80;
|
||||
background: #4ade80;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__publish:disabled {
|
||||
cursor: wait;
|
||||
opacity: 0.72;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__recent {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 7px;
|
||||
min-height: 34px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 11px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
border-color 160ms ease,
|
||||
color 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__recent em {
|
||||
display: inline-grid;
|
||||
place-items: center;
|
||||
min-width: 18px;
|
||||
height: 18px;
|
||||
padding: 0 5px;
|
||||
border-radius: 999px;
|
||||
background: var(--accent);
|
||||
color: #061014;
|
||||
font-size: 11px;
|
||||
font-style: normal;
|
||||
font-weight: 1000;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__recent:hover,
|
||||
.studio-canvas-project-bar__recent.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.44);
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer {
|
||||
position: absolute;
|
||||
top: 72px;
|
||||
right: 14px;
|
||||
z-index: 82;
|
||||
display: grid;
|
||||
grid-template-rows: 1fr;
|
||||
width: min(360px, calc(100vw - 104px));
|
||||
height: min(284px, calc(100vh - 92px));
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 16px;
|
||||
background: color-mix(in srgb, var(--bg-panel) 94%, transparent);
|
||||
color: var(--fg-body);
|
||||
box-shadow: none;
|
||||
backdrop-filter: none;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer__list {
|
||||
display: grid;
|
||||
align-content: start;
|
||||
gap: 10px;
|
||||
min-height: 0;
|
||||
height: 100%;
|
||||
padding: 12px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project {
|
||||
display: grid;
|
||||
grid-template-columns: 76px 1fr;
|
||||
gap: 12px;
|
||||
width: 100%;
|
||||
min-height: 84px;
|
||||
padding: 9px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
border-color 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project:hover:not(:disabled) {
|
||||
border-color: rgba(var(--accent-rgb), 0.46);
|
||||
background: rgba(var(--accent-rgb), 0.1);
|
||||
transform: translateX(-2px);
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project img,
|
||||
.studio-canvas-recent-project__thumb {
|
||||
width: 76px;
|
||||
height: 66px;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 10px;
|
||||
background: var(--bg-elevated);
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project img {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project__thumb {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
color: var(--accent);
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project__body {
|
||||
display: grid;
|
||||
align-content: center;
|
||||
gap: 4px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project__body strong,
|
||||
.studio-canvas-recent-project__body small,
|
||||
.studio-canvas-recent-project__body em {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project__body strong {
|
||||
color: var(--fg-body);
|
||||
font-size: 13px;
|
||||
font-weight: 1000;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project__body small {
|
||||
color: var(--fg-muted);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-project__body em {
|
||||
color: var(--fg-soft);
|
||||
font-size: 11px;
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer__empty {
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
gap: 8px;
|
||||
padding: 54px 20px;
|
||||
color: var(--fg-muted);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer__empty .anticon {
|
||||
color: var(--accent);
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer__empty strong {
|
||||
color: var(--fg-body);
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer__empty span {
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer__community {
|
||||
display: none;
|
||||
min-height: 42px;
|
||||
margin: 0 12px 12px;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.44);
|
||||
border-radius: 12px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
font-size: 13px;
|
||||
font-weight: 1000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer__community:hover {
|
||||
background: var(--accent);
|
||||
color: #061014;
|
||||
}
|
||||
|
||||
.studio-tool-layout--canvas-empty {
|
||||
grid-template-rows: minmax(0, 1fr);
|
||||
grid-template-areas: "canvas";
|
||||
}
|
||||
|
||||
.studio-canvas.is-empty-projects {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.studio-canvas.is-empty-projects .react-flow__controls {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.studio-canvas-empty-projects {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 84;
|
||||
display: grid;
|
||||
place-content: center;
|
||||
justify-items: center;
|
||||
gap: 18px;
|
||||
padding: 32px;
|
||||
color: var(--fg-body);
|
||||
text-align: center;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.studio-canvas-empty-projects strong {
|
||||
max-width: min(560px, calc(100vw - 180px));
|
||||
color: var(--fg-body);
|
||||
font-size: clamp(20px, 2vw, 28px);
|
||||
font-weight: 1000;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.studio-canvas-empty-projects__button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 132px;
|
||||
min-height: 42px;
|
||||
padding: 0 22px;
|
||||
border: 1px solid var(--accent);
|
||||
border-radius: 12px;
|
||||
background: var(--accent);
|
||||
color: #061014;
|
||||
font-size: 14px;
|
||||
font-weight: 1000;
|
||||
cursor: pointer;
|
||||
pointer-events: auto;
|
||||
box-shadow: none;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
border-color 160ms ease,
|
||||
box-shadow 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.studio-canvas-empty-projects__button:hover {
|
||||
border-color: var(--accent-hover, var(--accent));
|
||||
background: var(--accent-hover, var(--accent));
|
||||
box-shadow: none;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.studio-canvas-project-bar {
|
||||
right: 10px;
|
||||
left: 10px;
|
||||
gap: 6px;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__status {
|
||||
max-width: calc(100vw - 140px);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__identity {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name-form {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__name-form input {
|
||||
width: min(180px, 42vw);
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__recent span,
|
||||
.studio-canvas-project-bar__export span,
|
||||
.studio-canvas-project-bar__publish span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.studio-canvas-project-bar__export,
|
||||
.studio-canvas-project-bar__publish,
|
||||
.studio-canvas-project-bar__save,
|
||||
.studio-canvas-project-bar__recent {
|
||||
min-width: 34px;
|
||||
padding: 0 9px;
|
||||
}
|
||||
|
||||
.studio-canvas-recent-drawer {
|
||||
top: 68px;
|
||||
right: 10px;
|
||||
left: 10px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.studio-canvas-empty-projects strong {
|
||||
max-width: calc(100vw - 48px);
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.studio-canvas-zoom-controls {
|
||||
position: absolute;
|
||||
bottom: 16px;
|
||||
left: 16px;
|
||||
z-index: 80;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
padding: 4px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 12px;
|
||||
background: var(--bg-panel);
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.studio-canvas-zoom-controls button {
|
||||
display: inline-grid;
|
||||
place-items: center;
|
||||
min-width: 32px;
|
||||
height: 30px;
|
||||
padding: 0 8px;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
background: transparent;
|
||||
color: var(--fg-muted);
|
||||
font-size: 14px;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
transition: background 140ms ease, color 140ms ease;
|
||||
}
|
||||
|
||||
.studio-canvas-zoom-controls button:hover {
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.studio-canvas-zoom-controls__pct {
|
||||
min-width: 48px !important;
|
||||
font-size: 12px !important;
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
.studio-canvas-align-guides {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
z-index: 15;
|
||||
}
|
||||
|
||||
.studio-canvas-align-guide {
|
||||
position: absolute;
|
||||
background: var(--accent);
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.studio-canvas-align-guide--x {
|
||||
top: -9999px;
|
||||
bottom: -9999px;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
.studio-canvas-align-guide--y {
|
||||
left: -9999px;
|
||||
right: -9999px;
|
||||
height: 1px;
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
/* Community page rules move here as they are retired from legacy-pages.css. */
|
||||
|
||||
.community-page .community-case-card__preview {
|
||||
grid-area: 1 / 1 / 2 / 2;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
border-radius: inherit;
|
||||
background: transparent;
|
||||
color: inherit;
|
||||
box-shadow: none;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.community-page .community-case-card__preview > img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.community-page .community-case-card__preview:hover,
|
||||
.community-page .community-case-card__preview:focus-visible {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.community-page .community-carousel__slide--video {
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.community-page .community-carousel__slide--video::before,
|
||||
.community-page .community-carousel__slide--video::after {
|
||||
content: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.community-page .community-carousel__video {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 1;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.community-page .community-carousel__slide--video:not(.is-center) .community-carousel__video {
|
||||
filter: brightness(0.72) saturate(0.9);
|
||||
}
|
||||
|
||||
.community-case-empty {
|
||||
position: relative;
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
gap: 10px;
|
||||
width: 100%;
|
||||
min-height: 260px;
|
||||
overflow: hidden;
|
||||
padding: 42px 24px;
|
||||
border: 1px solid rgba(var(--accent-rgb, 0, 255, 136), 0.2);
|
||||
border-radius: var(--radius-md, 8px);
|
||||
background:
|
||||
linear-gradient(135deg, rgba(var(--accent-rgb, 0, 255, 136), 0.1), transparent 34%),
|
||||
linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),
|
||||
var(--bg-surface, rgba(255, 255, 255, 0.04));
|
||||
color: var(--fg-muted, #8b968f);
|
||||
text-align: center;
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
||||
}
|
||||
|
||||
.community-case-empty::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 14px;
|
||||
border: 1px dashed rgba(var(--accent-rgb, 0, 255, 136), 0.16);
|
||||
border-radius: calc(var(--radius-md, 8px) - 2px);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.community-case-empty__icon {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 52px;
|
||||
height: 52px;
|
||||
border: 1px solid rgba(var(--accent-rgb, 0, 255, 136), 0.24);
|
||||
border-radius: var(--radius-sm, 8px);
|
||||
background: rgba(var(--accent-rgb, 0, 255, 136), 0.12);
|
||||
color: var(--accent, #00ff88);
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.community-case-empty strong {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color: var(--fg-body, #f3f5f2);
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-case-empty > span:not(.community-case-empty__icon) {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
max-width: 360px;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
line-height: 1.6;
|
||||
}
|
||||
@@ -0,0 +1,789 @@
|
||||
.community-review-page,
|
||||
.report-page {
|
||||
min-height: 100%;
|
||||
background: #0d0d0f;
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.community-review-page__inner,
|
||||
.report-page__inner {
|
||||
width: min(1180px, calc(100% - 48px));
|
||||
margin: 0 auto;
|
||||
padding: 34px 0 48px;
|
||||
}
|
||||
|
||||
.community-review-toolbar,
|
||||
.report-hero {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 18px;
|
||||
}
|
||||
|
||||
.community-review-toolbar {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.community-review-toolbar span,
|
||||
.report-hero p,
|
||||
.community-review-meta,
|
||||
.community-review-list__item small,
|
||||
.community-review-note-preview,
|
||||
.report-contact-strip span,
|
||||
.report-form label,
|
||||
.report-form__actions span {
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.community-review-toolbar h1,
|
||||
.report-hero h1 {
|
||||
margin: 4px 0 6px;
|
||||
color: var(--fg-body);
|
||||
font-size: clamp(24px, 3vw, 34px);
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
.community-review-toolbar p,
|
||||
.report-hero p {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.community-review-toolbar__actions,
|
||||
.community-review-tabs,
|
||||
.community-review-status-tabs,
|
||||
.community-review-actions,
|
||||
.report-form__actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.community-review-toolbar__actions button,
|
||||
.community-review-tabs button,
|
||||
.community-review-status-tabs button,
|
||||
.community-review-actions button,
|
||||
.community-review-access button,
|
||||
.report-form__actions button,
|
||||
.report-success button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
min-height: 38px;
|
||||
padding: 0 14px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
font-weight: 800;
|
||||
cursor: pointer;
|
||||
transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
|
||||
}
|
||||
|
||||
.community-review-toolbar__actions button:hover,
|
||||
.community-review-tabs button:hover,
|
||||
.community-review-status-tabs button:hover,
|
||||
.community-review-actions button:hover,
|
||||
.community-review-access button:hover,
|
||||
.report-form__actions button:hover,
|
||||
.report-success button:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: var(--bg-hover);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.community-review-toolbar__actions button:first-child,
|
||||
.community-review-tabs button.is-active,
|
||||
.community-review-status-tabs button.is-active,
|
||||
.community-review-actions button:last-child,
|
||||
.community-review-access button,
|
||||
.report-form__actions button,
|
||||
.report-success button {
|
||||
border-color: var(--accent);
|
||||
background: var(--accent);
|
||||
color: #061014;
|
||||
}
|
||||
|
||||
.community-review-actions button:first-child {
|
||||
border-color: rgba(255, 90, 95, 0.42);
|
||||
background: rgba(255, 90, 95, 0.12);
|
||||
color: #ff9a9d;
|
||||
}
|
||||
|
||||
.community-review-toolbar__actions button:disabled,
|
||||
.community-review-actions button:disabled,
|
||||
.report-form__actions button:disabled {
|
||||
opacity: 0.55;
|
||||
cursor: not-allowed;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.community-review-tabs,
|
||||
.community-review-status-tabs {
|
||||
margin: 0 0 14px;
|
||||
}
|
||||
|
||||
.community-review-tabs {
|
||||
padding: 5px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 16px;
|
||||
background: var(--bg-inset);
|
||||
}
|
||||
|
||||
.community-review-tabs button {
|
||||
min-width: 112px;
|
||||
border-color: transparent;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.community-review-status-tabs button {
|
||||
min-height: 34px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.community-review-error,
|
||||
.report-form__error {
|
||||
margin: 0 0 14px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid rgba(255, 90, 95, 0.28);
|
||||
border-radius: 12px;
|
||||
background: rgba(255, 90, 95, 0.1);
|
||||
color: #ff9a9d;
|
||||
}
|
||||
|
||||
.community-case-add-success {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin: 0 0 14px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.32);
|
||||
border-radius: 12px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-review-layout {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
|
||||
gap: 16px;
|
||||
min-height: 580px;
|
||||
}
|
||||
|
||||
.community-review-list,
|
||||
.community-review-detail,
|
||||
.community-case-add-form,
|
||||
.community-case-add-preview,
|
||||
.report-form,
|
||||
.report-success,
|
||||
.community-review-access {
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 18px;
|
||||
background: var(--bg-panel);
|
||||
box-shadow: var(--shadow-tight);
|
||||
}
|
||||
|
||||
.community-case-add-targets button {
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.community-case-add-layout {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
|
||||
gap: 16px;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.community-case-add-form {
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
padding: 22px;
|
||||
}
|
||||
|
||||
.community-case-add-form__grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1.1fr 0.9fr 150px;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.community-case-add-form label,
|
||||
.community-case-add-upload-row label {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
min-width: 0;
|
||||
color: var(--fg-muted);
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-case-add-form input,
|
||||
.community-case-add-form select,
|
||||
.community-case-add-form textarea {
|
||||
width: 100%;
|
||||
border: 1px solid var(--border-default);
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
font: inherit;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.community-case-add-form input,
|
||||
.community-case-add-form select {
|
||||
min-height: 42px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.community-case-add-form textarea {
|
||||
min-height: 132px;
|
||||
padding: 12px;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.community-case-add-form input:focus,
|
||||
.community-case-add-form select:focus,
|
||||
.community-case-add-form textarea:focus {
|
||||
border-color: rgba(var(--accent-rgb), 0.52);
|
||||
box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.1);
|
||||
}
|
||||
|
||||
.community-case-add-upload-row {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
gap: 12px;
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
.community-case-add-upload-row > button,
|
||||
.community-case-add-actions button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
min-height: 42px;
|
||||
padding: 0 14px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
font-weight: 800;
|
||||
cursor: pointer;
|
||||
transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
|
||||
}
|
||||
|
||||
.community-case-add-upload-row > button:hover,
|
||||
.community-case-add-actions button:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: var(--bg-hover);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.community-case-add-actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.community-case-add-actions button:first-child {
|
||||
border-color: var(--accent);
|
||||
background: var(--accent);
|
||||
color: #061014;
|
||||
}
|
||||
|
||||
.community-case-add-actions button:disabled {
|
||||
opacity: 0.55;
|
||||
cursor: not-allowed;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.community-case-add-preview {
|
||||
position: sticky;
|
||||
top: 24px;
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.community-case-add-preview > span {
|
||||
width: fit-content;
|
||||
padding: 5px 9px;
|
||||
border-radius: 999px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-case-add-preview strong {
|
||||
color: var(--fg-body);
|
||||
font-size: 20px;
|
||||
line-height: 1.25;
|
||||
}
|
||||
|
||||
.community-case-add-preview p {
|
||||
margin: 0;
|
||||
color: var(--fg-muted);
|
||||
line-height: 1.65;
|
||||
}
|
||||
|
||||
.community-case-add-preview img,
|
||||
.community-case-add-preview__empty {
|
||||
width: 100%;
|
||||
aspect-ratio: 16 / 10;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
background: var(--bg-inset);
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.community-case-add-preview__empty {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
color: var(--fg-muted);
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-case-add-preview dl {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
gap: 8px 10px;
|
||||
margin: 0;
|
||||
color: var(--fg-muted);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.community-case-add-preview dt {
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-case-add-preview dd {
|
||||
min-width: 0;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
color: var(--fg-body);
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.community-review-list {
|
||||
min-height: 0;
|
||||
max-height: calc(100svh - 230px);
|
||||
padding: 10px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.community-review-list__item {
|
||||
display: grid;
|
||||
grid-template-columns: 72px minmax(0, 1fr);
|
||||
grid-template-areas:
|
||||
"thumb status"
|
||||
"thumb title"
|
||||
"thumb meta";
|
||||
gap: 4px 12px;
|
||||
width: 100%;
|
||||
min-height: 92px;
|
||||
padding: 10px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 14px;
|
||||
background: transparent;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.community-review-layout--reports .community-review-list__item {
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-areas:
|
||||
"status"
|
||||
"title"
|
||||
"meta";
|
||||
min-height: 84px;
|
||||
}
|
||||
|
||||
.community-review-list__item:hover,
|
||||
.community-review-list__item.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.32);
|
||||
background: var(--bg-hover);
|
||||
}
|
||||
|
||||
.community-review-list__item img,
|
||||
.community-review-list__thumb {
|
||||
grid-area: thumb;
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset);
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.community-review-list__item > span:not(.community-review-list__thumb) {
|
||||
grid-area: status;
|
||||
justify-self: start;
|
||||
padding: 2px 7px;
|
||||
border-radius: 999px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
font-size: 11px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-review-list__item strong {
|
||||
grid-area: title;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
color: var(--fg-body);
|
||||
font-size: 14px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.community-review-list__item small {
|
||||
grid-area: meta;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.community-review-list__empty,
|
||||
.community-review-detail--empty {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 180px;
|
||||
color: var(--fg-muted);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.community-review-detail {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(260px, 42%) minmax(0, 1fr);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.community-review-layout--reports .community-review-detail {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.community-review-detail__cover {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
background: var(--bg-inset);
|
||||
}
|
||||
|
||||
.community-review-detail__cover img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 420px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.community-review-detail__cover span {
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
left: 14px;
|
||||
padding: 6px 10px;
|
||||
border-radius: 999px;
|
||||
background: rgba(13, 13, 15, 0.78);
|
||||
color: var(--accent);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-review-detail__body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
min-width: 0;
|
||||
padding: 22px;
|
||||
}
|
||||
|
||||
.community-review-detail__body header span,
|
||||
.report-hero__icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: fit-content;
|
||||
min-height: 28px;
|
||||
padding: 0 10px;
|
||||
border-radius: 999px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-review-detail__body h2 {
|
||||
margin: 10px 0 8px;
|
||||
color: var(--fg-body);
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.community-review-detail__body p {
|
||||
margin: 0;
|
||||
color: var(--fg-muted);
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.community-review-meta {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: 8px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.community-review-meta span,
|
||||
.community-review-note-preview,
|
||||
.community-review-report-raw {
|
||||
min-width: 0;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset);
|
||||
}
|
||||
|
||||
.community-review-note {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
color: var(--fg-muted);
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-review-note textarea,
|
||||
.report-form input,
|
||||
.report-form select,
|
||||
.report-form textarea {
|
||||
width: 100%;
|
||||
border: 1px solid var(--border-default);
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
font: inherit;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.community-review-note textarea {
|
||||
min-height: 118px;
|
||||
padding: 12px;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.community-review-note textarea:focus,
|
||||
.report-form input:focus,
|
||||
.report-form select:focus,
|
||||
.report-form textarea:focus {
|
||||
border-color: rgba(var(--accent-rgb), 0.52);
|
||||
box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.1);
|
||||
}
|
||||
|
||||
.community-review-report-detail .community-review-detail__body {
|
||||
padding: 26px;
|
||||
}
|
||||
|
||||
.community-review-link {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: fit-content;
|
||||
min-height: 36px;
|
||||
padding: 0 14px;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.36);
|
||||
border-radius: 12px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
text-decoration: none;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-review-report-raw {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.community-review-report-raw span {
|
||||
color: var(--fg-body);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.community-review-access {
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
gap: 12px;
|
||||
width: min(520px, calc(100% - 40px));
|
||||
margin: 80px auto;
|
||||
padding: 34px 28px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.community-review-access > .anticon {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 52px;
|
||||
height: 52px;
|
||||
border-radius: 16px;
|
||||
background: rgba(var(--accent-rgb), 0.14);
|
||||
color: var(--accent);
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.community-review-access h1,
|
||||
.report-success h2 {
|
||||
margin: 0;
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.community-review-access p,
|
||||
.report-success p {
|
||||
margin: 0;
|
||||
color: var(--fg-muted);
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.report-page__inner {
|
||||
width: min(920px, calc(100% - 48px));
|
||||
}
|
||||
|
||||
.report-hero {
|
||||
justify-content: flex-start;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.report-hero__icon {
|
||||
flex: 0 0 52px;
|
||||
width: 52px;
|
||||
height: 52px;
|
||||
border-radius: 16px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.report-contact-strip {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.report-contact-strip span {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
min-height: 34px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 999px;
|
||||
background: var(--bg-inset);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.report-form {
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
padding: 22px;
|
||||
}
|
||||
|
||||
.report-form label {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.report-form input,
|
||||
.report-form select {
|
||||
min-height: 42px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.report-form textarea {
|
||||
min-height: 132px;
|
||||
padding: 12px;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.report-form__grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.report-success {
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
gap: 12px;
|
||||
padding: 42px 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.report-success > .anticon {
|
||||
color: var(--accent);
|
||||
font-size: 42px;
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.community-review-page__inner,
|
||||
.report-page__inner {
|
||||
width: min(100% - 28px, 720px);
|
||||
padding-top: 24px;
|
||||
}
|
||||
|
||||
.community-review-toolbar {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.community-review-layout,
|
||||
.community-review-detail,
|
||||
.community-case-add-layout {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.community-case-add-form__grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.community-case-add-preview {
|
||||
position: static;
|
||||
}
|
||||
|
||||
.community-review-list {
|
||||
max-height: none;
|
||||
}
|
||||
|
||||
.community-review-detail__cover img {
|
||||
min-height: 240px;
|
||||
}
|
||||
|
||||
.community-review-meta,
|
||||
.report-form__grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 560px) {
|
||||
.community-review-toolbar__actions,
|
||||
.community-review-actions,
|
||||
.community-case-add-upload-row,
|
||||
.community-case-add-actions,
|
||||
.report-form__actions {
|
||||
align-items: stretch;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.community-review-toolbar__actions button,
|
||||
.community-review-actions button,
|
||||
.community-case-add-upload-row > button,
|
||||
.community-case-add-actions button,
|
||||
.report-form__actions button {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.community-review-tabs {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,510 @@
|
||||
.product-clone-page[data-tool="clone"] .product-clone-preview--video {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
align-content: initial;
|
||||
justify-items: initial;
|
||||
gap: 0;
|
||||
overflow: hidden;
|
||||
background: #0e1014;
|
||||
scrollbar-color: #353b45 #0e1014;
|
||||
}
|
||||
|
||||
.ecom-video-workspace {
|
||||
display: grid;
|
||||
grid-template-rows: auto minmax(0, 1fr);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
background: #0e1014;
|
||||
color: #e5ebf4;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(96px, 1fr) auto;
|
||||
align-items: center;
|
||||
gap: 18px;
|
||||
min-height: 58px;
|
||||
border-bottom: 1px solid #242a33;
|
||||
background: #11151b;
|
||||
padding: 10px 16px;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__title {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__pulse {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 999px;
|
||||
background: #48505c;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__pulse.is-active {
|
||||
background: #34d399;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__wave {
|
||||
display: inline-flex;
|
||||
align-items: end;
|
||||
gap: 3px;
|
||||
width: 24px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__wave i {
|
||||
display: block;
|
||||
width: 4px;
|
||||
height: 8px;
|
||||
border-radius: 999px;
|
||||
background: #5b6675;
|
||||
animation: ecom-video-wave 1.1s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__wave i:nth-child(2) {
|
||||
height: 15px;
|
||||
animation-delay: 120ms;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__wave i:nth-child(3) {
|
||||
height: 11px;
|
||||
animation-delay: 240ms;
|
||||
}
|
||||
|
||||
.ecom-video-step-dots {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.ecom-video-step-dot {
|
||||
display: block;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
border-radius: 999px;
|
||||
background: #343b46;
|
||||
}
|
||||
|
||||
.ecom-video-step-dot.is-done {
|
||||
background: #34d399;
|
||||
}
|
||||
|
||||
.ecom-video-step-dot.is-active {
|
||||
background: #53e5ff;
|
||||
animation: ecom-video-node-breathe 1.2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__actions {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__error {
|
||||
max-width: min(260px, 28vw);
|
||||
overflow: hidden;
|
||||
color: #ff9f9f;
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ecom-video-flow-action {
|
||||
display: inline-grid;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
place-items: center;
|
||||
border: 1px solid #1c4d3a;
|
||||
border-radius: 8px;
|
||||
background: #34d399;
|
||||
color: #06110e;
|
||||
padding: 0;
|
||||
font-size: 17px;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
transform 150ms ease,
|
||||
border-color 150ms ease,
|
||||
background-color 150ms ease,
|
||||
color 150ms ease;
|
||||
}
|
||||
|
||||
.ecom-video-flow-action:hover:not(:disabled) {
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.ecom-video-flow-action--ghost {
|
||||
background: #0e2b26;
|
||||
color: #baf6ff;
|
||||
border-color: #1a4d40;
|
||||
}
|
||||
|
||||
.ecom-video-flow-action--danger {
|
||||
border-color: #4d1a1a;
|
||||
background: #2b1212;
|
||||
color: #ffb1b1;
|
||||
}
|
||||
|
||||
.ecom-video-flow-action:disabled {
|
||||
border-color: #303743;
|
||||
background: #20252d;
|
||||
color: #697486;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.ecom-video-flow-canvas {
|
||||
position: relative;
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
background: #101318;
|
||||
padding: 26px;
|
||||
}
|
||||
|
||||
.ecom-video-flow-map {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: clamp(24px, 3vw, 48px);
|
||||
min-width: 0;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
.ecom-video-flow-lines {
|
||||
position: absolute;
|
||||
inset: 50% 0 auto;
|
||||
z-index: 0;
|
||||
width: 100%;
|
||||
height: min(72%, 420px);
|
||||
overflow: visible;
|
||||
pointer-events: none;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.ecom-video-flow-lines path {
|
||||
fill: none;
|
||||
stroke: #485365;
|
||||
stroke-width: 3;
|
||||
stroke-linecap: round;
|
||||
stroke-dasharray: 12 14;
|
||||
}
|
||||
|
||||
.ecom-video-flow-lines path.is-active {
|
||||
stroke: #34d399;
|
||||
animation: ecom-video-path-dash 1.8s linear infinite;
|
||||
}
|
||||
|
||||
.ecom-video-flow-map > :not(.ecom-video-flow-lines) {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.ecom-video-scene-strip {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: clamp(12px, 2vw, 24px);
|
||||
min-width: 0;
|
||||
overflow-x: auto;
|
||||
overflow-y: visible;
|
||||
padding: 28px 4px;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #414958 #101318;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node {
|
||||
position: relative;
|
||||
flex: 0 0 auto;
|
||||
overflow: hidden;
|
||||
border: 1px solid #333a45;
|
||||
border-radius: 8px;
|
||||
background: #172027;
|
||||
animation: ecom-video-node-in 360ms ease both;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node.is-ready,
|
||||
.ecom-video-flow-node.is-completed {
|
||||
border-color: #1c4d3a;
|
||||
background: #162820;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node.is-running,
|
||||
.ecom-video-flow-node.is-pending {
|
||||
border-color: #1a4d4d;
|
||||
animation: ecom-video-node-breathe 1.6s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node.is-failed {
|
||||
border-color: #4d1a1a;
|
||||
background: #2a1b1d;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node--source,
|
||||
.ecom-video-flow-node--final {
|
||||
width: min(100%, 142px);
|
||||
aspect-ratio: 9 / 13;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node--final {
|
||||
border-color: #3d3020;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node--final.is-completed {
|
||||
border-color: #4d3a1a;
|
||||
background: #2a2116;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node--scene {
|
||||
width: clamp(76px, 7vw, 104px);
|
||||
aspect-ratio: 9 / 16;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node__media,
|
||||
.ecom-video-flow-node__media img,
|
||||
.ecom-video-flow-node__media video {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node__media img,
|
||||
.ecom-video-flow-node__media video {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node__placeholder {
|
||||
display: grid;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
place-items: center;
|
||||
background: #18231f;
|
||||
color: #7eeecf;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node__status-orb {
|
||||
position: absolute;
|
||||
left: 9px;
|
||||
top: 9px;
|
||||
z-index: 4;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: 2px solid #0c1016;
|
||||
border-radius: 999px;
|
||||
background: #687386;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node.is-ready .ecom-video-flow-node__status-orb,
|
||||
.ecom-video-flow-node.is-completed .ecom-video-flow-node__status-orb {
|
||||
background: #34d399;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node.is-running .ecom-video-flow-node__status-orb,
|
||||
.ecom-video-flow-node.is-pending .ecom-video-flow-node__status-orb {
|
||||
background: #53e5ff;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node.is-failed .ecom-video-flow-node__status-orb {
|
||||
background: #ff5e5e;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node--final.is-completed .ecom-video-flow-node__status-orb {
|
||||
background: #ffb84d;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node__progress {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 4;
|
||||
height: 4px;
|
||||
overflow: hidden;
|
||||
background: #242830;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node__progress i {
|
||||
display: block;
|
||||
height: 100%;
|
||||
background: #53e5ff;
|
||||
transition: width 240ms ease;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node__retry {
|
||||
position: absolute;
|
||||
right: 9px;
|
||||
top: 9px;
|
||||
z-index: 5;
|
||||
display: grid;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
place-items: center;
|
||||
border: 1px solid #4d1a1a;
|
||||
border-radius: 999px;
|
||||
background: #241417;
|
||||
color: #ffb1b1;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ecom-video-flow-connector,
|
||||
.ecom-video-scene-link {
|
||||
position: relative;
|
||||
height: 4px;
|
||||
border-radius: 999px;
|
||||
background: #303843;
|
||||
}
|
||||
|
||||
.ecom-video-flow-connector {
|
||||
flex: 0 0 clamp(30px, 3vw, 56px);
|
||||
}
|
||||
|
||||
.ecom-video-scene-link {
|
||||
flex: 0 0 clamp(26px, 3vw, 44px);
|
||||
}
|
||||
|
||||
.ecom-video-flow-connector i,
|
||||
.ecom-video-scene-link i {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
transform: translateX(-100%);
|
||||
background: #34d399;
|
||||
}
|
||||
|
||||
.ecom-video-flow-connector.is-active i,
|
||||
.ecom-video-scene-link.is-active i {
|
||||
animation: ecom-video-flow-line 1.55s linear infinite;
|
||||
}
|
||||
|
||||
.ecom-video-flow-dock {
|
||||
position: sticky;
|
||||
z-index: 4;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.ecom-video-flow-dock button {
|
||||
display: inline-grid;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
place-items: center;
|
||||
border: 1px solid #3d3020;
|
||||
border-radius: 8px;
|
||||
background: #15181f;
|
||||
color: #ffe1ad;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
transform 150ms ease,
|
||||
border-color 150ms ease,
|
||||
background-color 150ms ease;
|
||||
}
|
||||
|
||||
.ecom-video-flow-dock button:hover {
|
||||
border-color: #4d3a1a;
|
||||
background: #241c12;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.ecom-video-flow-notice {
|
||||
position: absolute;
|
||||
right: 22px;
|
||||
bottom: 18px;
|
||||
z-index: 5;
|
||||
border: 1px solid #1c3d2a;
|
||||
border-radius: 999px;
|
||||
background: #08110f;
|
||||
color: #a8ffe3;
|
||||
padding: 7px 11px;
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
@keyframes ecom-video-flow-line {
|
||||
from { transform: translateX(-100%); }
|
||||
to { transform: translateX(100%); }
|
||||
}
|
||||
|
||||
@keyframes ecom-video-path-dash {
|
||||
to { stroke-dashoffset: -52; }
|
||||
}
|
||||
|
||||
@keyframes ecom-video-node-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(10px) scale(0.98);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ecom-video-node-breathe {
|
||||
0%, 100% { border-color: #1a4d4d; }
|
||||
50% { border-color: #53e5ff; }
|
||||
}
|
||||
|
||||
@keyframes ecom-video-pulse {
|
||||
from {
|
||||
opacity: 0.8;
|
||||
transform: scale(0.7);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale(1.45);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ecom-video-wave {
|
||||
0%, 100% {
|
||||
opacity: 0.45;
|
||||
transform: scaleY(0.72);
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.ecom-video-flowbar {
|
||||
grid-template-columns: auto 1fr;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.ecom-video-step-dots {
|
||||
justify-content: flex-start;
|
||||
order: 3;
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.ecom-video-flowbar__actions {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.ecom-video-flow-canvas {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.ecom-video-flow-node--scene {
|
||||
width: 118px;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,887 @@
|
||||
.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: clamp(122px, 9.8vw, 162px);
|
||||
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: clamp(220px, 20.8vw, 350px);
|
||||
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: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-token::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;
|
||||
}
|
||||
|
||||
.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);
|
||||
}
|
||||
|
||||
.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-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-stats {
|
||||
bottom: 34px;
|
||||
}
|
||||
|
||||
.omni-home__feature-stats span {
|
||||
min-height: 32px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,373 @@
|
||||
/* Local preview theme parity: scoped to ecommerce/template pages, colors and border tones only. */
|
||||
|
||||
.product-clone-page[data-tool="clone"] {
|
||||
background: var(--bg-base);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] > .product-clone-shell,
|
||||
.product-clone-page[data-tool="clone"] .clone-ai-preview {
|
||||
background: var(--bg-base);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] .product-clone-panel,
|
||||
.product-clone-page[data-tool="clone"] .clone-ai-panel::-webkit-scrollbar-track {
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] .product-clone-panel,
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo,
|
||||
.clone-ai-card,
|
||||
.clone-ai-platform-spec,
|
||||
.clone-ai-count-panel,
|
||||
.clone-ai-replicate-panel,
|
||||
.clone-ai-module-panel,
|
||||
.clone-ai-model-panel,
|
||||
.clone-ai-video-panel,
|
||||
.clone-ai-empty-state .anticon,
|
||||
.clone-ai-main-result,
|
||||
.clone-ai-result-grid button,
|
||||
.clone-ai-input-wrapper
|
||||
) {
|
||||
border-color: var(--border-weak);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo,
|
||||
.clone-ai-card,
|
||||
.clone-ai-platform-spec,
|
||||
.clone-ai-count-panel,
|
||||
.clone-ai-replicate-panel,
|
||||
.clone-ai-module-panel,
|
||||
.clone-ai-model-panel,
|
||||
.clone-ai-video-panel,
|
||||
.clone-ai-empty-state .anticon,
|
||||
.clone-ai-main-result,
|
||||
.clone-ai-result-grid button,
|
||||
.clone-ai-input-wrapper
|
||||
) {
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo em,
|
||||
.clone-ai-upload-zone,
|
||||
.clone-ai-upload-icon,
|
||||
.clone-ai-uploaded-file,
|
||||
.clone-ai-tag-group button,
|
||||
.clone-ai-basic-select > button,
|
||||
.clone-ai-basic-select__menu,
|
||||
.clone-ai-basic-select__menu button,
|
||||
.clone-ai-replicate-tabs button,
|
||||
.clone-ai-replicate-upload,
|
||||
.clone-ai-replicate-link input,
|
||||
.clone-ai-replicate-levels button,
|
||||
.clone-ai-count-row,
|
||||
.clone-ai-count-stepper button,
|
||||
.clone-ai-module-list button,
|
||||
.clone-ai-model-tabs button,
|
||||
.clone-ai-model-scene-grid button,
|
||||
.clone-ai-model-select,
|
||||
.clone-ai-model-select > button,
|
||||
.clone-ai-model-select__menu,
|
||||
.clone-ai-model-select__menu button,
|
||||
.clone-ai-video-options button,
|
||||
.clone-ai-video-smart,
|
||||
.clone-ai-video-smart i,
|
||||
.clone-ai-send-button
|
||||
) {
|
||||
border-color: var(--border-subtle);
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-upload-zone:hover,
|
||||
.clone-ai-upload-zone.is-dragging,
|
||||
.clone-ai-tag-group button:hover,
|
||||
.clone-ai-basic-select > button:hover,
|
||||
.clone-ai-basic-select > button.is-open,
|
||||
.clone-ai-basic-select__menu button:hover,
|
||||
.clone-ai-basic-select__menu button.is-active,
|
||||
.clone-ai-replicate-tabs button:hover,
|
||||
.clone-ai-replicate-upload:hover,
|
||||
.clone-ai-replicate-levels button:hover,
|
||||
.clone-ai-count-stepper button:hover:not(:disabled),
|
||||
.clone-ai-module-list button:hover,
|
||||
.clone-ai-model-tabs button:hover,
|
||||
.clone-ai-model-scene-grid button:hover,
|
||||
.clone-ai-model-select > button:hover,
|
||||
.clone-ai-model-select > button.is-open,
|
||||
.clone-ai-model-select__menu button:hover,
|
||||
.clone-ai-model-select__menu button.is-active,
|
||||
.clone-ai-video-options button:hover,
|
||||
.clone-ai-video-smart:hover,
|
||||
.clone-ai-send-button:hover:not(:disabled),
|
||||
.clone-ai-main-result:hover,
|
||||
.clone-ai-result-grid button:hover
|
||||
) {
|
||||
border-color: var(--border-default);
|
||||
background: var(--bg-hover);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo em.is-ready,
|
||||
.clone-ai-tag-group button.is-active,
|
||||
.clone-ai-basic-select__menu button.is-active,
|
||||
.clone-ai-replicate-tabs button.is-active,
|
||||
.clone-ai-replicate-levels button.is-active,
|
||||
.clone-ai-module-list button.is-active,
|
||||
.clone-ai-model-tabs button.is-active,
|
||||
.clone-ai-model-scene-grid button.is-active,
|
||||
.clone-ai-model-select__menu button.is-active,
|
||||
.clone-ai-video-options button.is-active,
|
||||
.clone-ai-video-smart.is-on
|
||||
) {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: var(--accent-muted);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo strong,
|
||||
.clone-ai-card h2,
|
||||
.clone-ai-platform-spec strong,
|
||||
.clone-ai-basic-select > button strong,
|
||||
.clone-ai-model-select > button strong,
|
||||
.clone-ai-preview-header strong,
|
||||
.clone-ai-empty-state strong,
|
||||
.clone-ai-input-wrapper textarea
|
||||
) {
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo em,
|
||||
.clone-ai-card h2 .anticon,
|
||||
.clone-ai-upload-title,
|
||||
.clone-ai-upload-hint,
|
||||
.clone-ai-settings-label,
|
||||
.clone-ai-basic-select > button span,
|
||||
.clone-ai-model-select > button span,
|
||||
.clone-ai-preview-header span,
|
||||
.clone-ai-empty-state,
|
||||
.clone-ai-empty-state span,
|
||||
.clone-ai-char-count,
|
||||
.clone-ai-input-wrapper textarea::placeholder
|
||||
) {
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo__mark,
|
||||
.clone-ai-upload-zone strong,
|
||||
.clone-ai-generate,
|
||||
.clone-ai-send-button
|
||||
) {
|
||||
background: var(--accent);
|
||||
color: var(--dg-button-text, #061014);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-logo strong span,
|
||||
.clone-ai-upload-icon,
|
||||
.clone-ai-preview-header b,
|
||||
.clone-ai-video-smart.is-on i::after
|
||||
) {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] :is(
|
||||
.clone-ai-generate:disabled,
|
||||
.clone-ai-send-button:disabled
|
||||
) {
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-soft);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] .clone-ai-flow-arrow {
|
||||
background: var(--accent);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] .clone-ai-video-smart.is-on i {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: var(--accent-muted);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] .clone-ai-settings-toggle {
|
||||
border-color: var(--border-default);
|
||||
background: var(--bg-panel);
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.product-clone-page[data-tool="clone"] .clone-ai-settings-toggle:hover,
|
||||
.product-clone-page[data-tool="clone"] .clone-ai-settings-toggle:focus-visible {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: var(--bg-hover);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.size-template-workbench {
|
||||
--size-green: var(--accent);
|
||||
--size-cyan: var(--accent);
|
||||
--size-violet: var(--accent);
|
||||
--size-amber: var(--accent);
|
||||
}
|
||||
|
||||
.size-template-workbench .product-clone-panel,
|
||||
.size-template-workbench :is(
|
||||
.size-template-upload-card,
|
||||
.size-template-generate-card,
|
||||
.size-template-platform-dialog,
|
||||
.size-template-main-frame,
|
||||
.size-template-spec-grid,
|
||||
.size-template-preview-note,
|
||||
.size-template-empty-state__image
|
||||
) {
|
||||
border-color: var(--border-weak);
|
||||
background: var(--bg-panel);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.size-template-workbench :is(.size-template-detail-card span, .size-template-check-list span) {
|
||||
border-color: var(--border-subtle);
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.size-template-workbench :is(
|
||||
.size-template-upload-card h2,
|
||||
.size-template-generate-card h2,
|
||||
.size-template-main-frame span,
|
||||
.size-template-spec-grid b,
|
||||
.size-template-preview-note > div:first-child
|
||||
) {
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.size-template-workbench :is(.size-template-platform-dialog button, .size-template-preview-note p) {
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.size-template-workbench :is(
|
||||
.size-template-static-field.is-clickable > button:hover,
|
||||
.size-template-static-field.is-clickable > button[aria-expanded="true"],
|
||||
.size-template-platform-dialog button:hover,
|
||||
.size-template-platform-dialog button.is-active
|
||||
) {
|
||||
border-color: var(--border-default);
|
||||
background: var(--bg-hover);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.size-template-workbench :is(
|
||||
.size-template-preview-note > div:first-child .anticon,
|
||||
.size-template-check-list .anticon
|
||||
) {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page {
|
||||
--commerce-accent: var(--accent);
|
||||
--commerce-accent-strong: var(--accent);
|
||||
--commerce-accent-rgb: var(--accent-rgb);
|
||||
--commerce-ink: var(--fg-body);
|
||||
--commerce-muted: var(--fg-muted);
|
||||
--commerce-line: var(--border-subtle);
|
||||
--commerce-panel: var(--bg-panel);
|
||||
--commerce-soft: var(--bg-inset);
|
||||
background: var(--bg-base);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page :is(
|
||||
.omni-commerce-panel,
|
||||
.omni-commerce-band,
|
||||
.omni-commerce-flow-head,
|
||||
.omni-commerce-template,
|
||||
.omni-commerce-project
|
||||
) {
|
||||
border-color: var(--border-weak);
|
||||
background: var(--bg-panel);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page :is(
|
||||
.omni-commerce-ghost-action,
|
||||
.omni-commerce-text-button,
|
||||
.omni-commerce-segmented button,
|
||||
.omni-commerce-ratio-grid button,
|
||||
.omni-commerce-filter button,
|
||||
.omni-commerce-flow-head button,
|
||||
.omni-commerce-template em,
|
||||
.omni-commerce-search,
|
||||
.omni-commerce-project__delete
|
||||
) {
|
||||
border-color: var(--border-subtle);
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page :is(
|
||||
.omni-commerce-ghost-action:hover,
|
||||
.omni-commerce-text-button:hover,
|
||||
.omni-commerce-segmented button:hover,
|
||||
.omni-commerce-ratio-grid button:hover,
|
||||
.omni-commerce-filter button:hover,
|
||||
.omni-commerce-flow-head button:hover,
|
||||
.omni-commerce-template__select:hover em,
|
||||
.omni-commerce-project__delete:hover
|
||||
) {
|
||||
border-color: var(--border-default);
|
||||
background: var(--bg-hover);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page :is(
|
||||
.omni-commerce-segmented button.is-active,
|
||||
.omni-commerce-ratio-grid button.is-active,
|
||||
.omni-commerce-filter button.is-active,
|
||||
.omni-commerce-step-head > span,
|
||||
.omni-commerce-template span
|
||||
) {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: var(--accent-muted);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page :is(
|
||||
.omni-commerce-section-head h2,
|
||||
.omni-commerce-template strong,
|
||||
.omni-commerce-project strong,
|
||||
.omni-commerce-search input
|
||||
) {
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page :is(
|
||||
.omni-commerce-section-head span,
|
||||
.omni-commerce-template p,
|
||||
.omni-commerce-project span,
|
||||
.omni-commerce-search,
|
||||
.omni-commerce-search input::placeholder
|
||||
) {
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .omni-commerce-page .omni-commerce-section-head .anticon {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .ecommerce-template-apple-card {
|
||||
border: 1px solid var(--border-weak);
|
||||
background: var(--bg-panel);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.web-shell[data-ui-theme="dark-green"] .ecommerce-template-apple-card:hover,
|
||||
.web-shell[data-ui-theme="dark-green"] .ecommerce-template-apple-card.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,315 @@
|
||||
.more-page-v2 {
|
||||
display: grid;
|
||||
grid-template-rows: auto minmax(0, 1fr);
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
padding-left: 82px;
|
||||
background: var(--bg-base);
|
||||
color: var(--fg-body);
|
||||
font-family: var(--font-sans);
|
||||
}
|
||||
|
||||
.more-page-v2__header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 24px;
|
||||
padding: 18px 28px 14px;
|
||||
border-bottom: 1px solid var(--border-weak);
|
||||
background:
|
||||
linear-gradient(90deg, rgba(var(--accent-rgb), 0.1), transparent 50%),
|
||||
var(--bg-surface, var(--bg-panel));
|
||||
}
|
||||
|
||||
.more-page-v2__header h1 {
|
||||
margin: 0;
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
.more-page-v2__filters {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.more-page-v2__filters button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 30px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 999px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
font: inherit;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: all 140ms ease;
|
||||
}
|
||||
|
||||
.more-page-v2__filters button:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.3);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.more-page-v2__filters button.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.5);
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.more-page-v2__scroll {
|
||||
overflow-y: auto;
|
||||
padding: 24px 28px 64px;
|
||||
scrollbar-color: rgba(var(--accent-rgb), 0.2) transparent;
|
||||
}
|
||||
|
||||
.more-page-v2__section {
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
|
||||
.more-page-v2__section-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin: 0 0 14px;
|
||||
color: var(--fg-muted);
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
|
||||
.more-page-v2__section-title .anticon {
|
||||
font-size: 13px;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.more-page-v2__recent-row {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.more-page-v2__featured-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.more-card--featured {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 16px;
|
||||
padding: 24px;
|
||||
border-radius: var(--radius-md, 14px);
|
||||
background: var(--card-gradient);
|
||||
border: 1px solid var(--border-weak);
|
||||
transition: all 200ms ease;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.more-card--featured::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: -20px;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
border-radius: 50%;
|
||||
background: radial-gradient(circle, rgba(var(--accent-rgb), 0.06), transparent 70%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.more-card--featured:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.4);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.more-card__featured-icon {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 16px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
font-size: 24px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.more-card__featured-body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.more-card__featured-body strong {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.more-card__featured-body span {
|
||||
font-size: 13px;
|
||||
color: var(--fg-muted);
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.more-card__cta {
|
||||
margin-top: 4px;
|
||||
font-size: 12px !important;
|
||||
font-weight: 600;
|
||||
color: var(--accent) !important;
|
||||
}
|
||||
|
||||
.more-page-v2__grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
||||
gap: 14px;
|
||||
}
|
||||
|
||||
.more-card {
|
||||
position: relative;
|
||||
display: grid;
|
||||
align-content: start;
|
||||
justify-items: start;
|
||||
gap: 8px;
|
||||
padding: 18px;
|
||||
border: 1px solid var(--border-weak);
|
||||
border-radius: var(--radius-sm, 10px);
|
||||
background: var(--bg-panel);
|
||||
color: var(--fg-body);
|
||||
font: inherit;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
transition: all 160ms ease;
|
||||
}
|
||||
|
||||
.more-card:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.4);
|
||||
background: var(--bg-hover, rgba(255, 255, 255, 0.03));
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.more-card--pending {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.more-card--pending:hover {
|
||||
transform: none;
|
||||
box-shadow: none;
|
||||
border-color: var(--border-weak);
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
|
||||
.more-card--recent {
|
||||
flex-direction: row;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
padding: 10px 16px;
|
||||
min-width: 140px;
|
||||
}
|
||||
|
||||
.more-card__icon {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
border-radius: var(--radius-xs, 8px);
|
||||
background: rgba(var(--accent-rgb), 0.1);
|
||||
color: var(--accent);
|
||||
font-size: 16px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.more-card--recent .more-card__icon {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.more-card strong {
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.more-card__desc {
|
||||
color: var(--fg-muted);
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.more-card__badge {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: var(--accent);
|
||||
font-size: 10px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
@media (max-width: 1180px) {
|
||||
.more-page-v2 {
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 860px) {
|
||||
.more-page-v2 {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.more-page-v2__header {
|
||||
flex-wrap: wrap;
|
||||
padding: 14px 16px 12px;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.more-page-v2__scroll {
|
||||
padding: 16px 16px 48px;
|
||||
}
|
||||
|
||||
.more-page-v2__grid {
|
||||
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.more-page-v2__recent-row {
|
||||
overflow-x: auto;
|
||||
flex-wrap: nowrap;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
.more-page-v2__featured-grid {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.more-card--featured {
|
||||
padding: 18px;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.more-card__featured-icon {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
border-radius: 12px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.more-card__featured-body strong {
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
/* Profile page rules move here as they are retired from legacy-pages.css. */
|
||||
@@ -0,0 +1,166 @@
|
||||
.provider-health-page__inner {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
padding: 24px;
|
||||
max-width: 960px;
|
||||
}
|
||||
|
||||
.provider-health-toolbar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.provider-health-toolbar h2 {
|
||||
font-size: 18px;
|
||||
margin: 0 0 4px;
|
||||
}
|
||||
|
||||
.provider-health-toolbar p {
|
||||
font-size: 13px;
|
||||
color: var(--text-muted);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.provider-health-toolbar button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 14px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
background: var(--surface-elevated);
|
||||
color: var(--text-primary);
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.provider-health-toolbar button:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: wait;
|
||||
}
|
||||
|
||||
.provider-health-access {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 12px;
|
||||
padding: 80px 0;
|
||||
text-align: center;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.provider-health-access button {
|
||||
padding: 8px 20px;
|
||||
border-radius: 10px;
|
||||
background: var(--accent);
|
||||
color: #fff;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.provider-health-error {
|
||||
color: var(--error, #ef4444);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.provider-health-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.provider-health-card {
|
||||
padding: 16px;
|
||||
border-radius: 14px;
|
||||
background: var(--surface-card);
|
||||
border: 1px solid var(--border-subtle);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.provider-health-card__header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.provider-health-card__status {
|
||||
font-size: 12px;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.provider-health-card__status--healthy {
|
||||
background: rgba(16, 185, 129, 0.15);
|
||||
color: #10b981;
|
||||
}
|
||||
|
||||
.provider-health-card__status--arrears,
|
||||
.provider-health-card__status--denied,
|
||||
.provider-health-card__status--error {
|
||||
background: rgba(239, 68, 68, 0.15);
|
||||
color: #ef4444;
|
||||
}
|
||||
|
||||
.provider-health-card__status--timeout,
|
||||
.provider-health-card__status--no_key {
|
||||
background: rgba(245, 158, 11, 0.15);
|
||||
color: #f59e0b;
|
||||
}
|
||||
|
||||
.provider-health-card__status--unknown {
|
||||
background: rgba(156, 163, 175, 0.15);
|
||||
color: #9ca3af;
|
||||
}
|
||||
|
||||
.provider-health-card__time {
|
||||
font-size: 11px;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.provider-health-card__error {
|
||||
font-size: 12px;
|
||||
color: var(--error, #ef4444);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.provider-health-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.provider-health-section h3 {
|
||||
font-size: 14px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.provider-health-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.provider-health-table th {
|
||||
text-align: left;
|
||||
padding: 8px 12px;
|
||||
border-bottom: 2px solid var(--border-subtle);
|
||||
color: var(--text-muted);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.provider-health-table td {
|
||||
padding: 6px 12px;
|
||||
border-bottom: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
.provider-health-table tr:hover td {
|
||||
background: var(--surface-elevated);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,476 @@
|
||||
.product-clone-page[data-tool="clone"].size-template-workbench {
|
||||
--clone-settings-panel-width: 640px;
|
||||
--size-green: #34d399;
|
||||
--size-cyan: #38bdf8;
|
||||
--size-violet: #a78bfa;
|
||||
--size-amber: #fbbf24;
|
||||
}
|
||||
|
||||
.web-shell[data-view="sizeTemplate"] .product-clone-page[data-tool="clone"] {
|
||||
padding-left: 92px;
|
||||
}
|
||||
|
||||
.web-shell[data-view="sizeTemplate"] .product-clone-page[data-tool="clone"] > .product-clone-shell {
|
||||
width: 100%;
|
||||
grid-template-columns: var(--clone-settings-panel-width) minmax(0, 1fr);
|
||||
}
|
||||
|
||||
.web-shell[data-view="sizeTemplate"] .product-clone-page[data-tool="clone"].is-settings-collapsed > .product-clone-shell {
|
||||
grid-template-columns: 0 minmax(0, 1fr);
|
||||
}
|
||||
|
||||
.size-template-workbench .product-clone-panel {
|
||||
background: #15171c;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-settings-panel {
|
||||
gap: 18px;
|
||||
padding: 22px 22px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-upload-card,
|
||||
.size-template-workbench .size-template-generate-card {
|
||||
border-color: #303540;
|
||||
border-radius: 14px;
|
||||
background: #1b1d23;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-upload-card h2,
|
||||
.size-template-workbench .size-template-generate-card h2 {
|
||||
margin-bottom: 11px;
|
||||
color: #b8c0cd;
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-upload-zone {
|
||||
min-height: 174px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-uploaded-files {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.size-template-empty-state.has-upload {
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.size-template-empty-state__image {
|
||||
width: min(72%, 420px);
|
||||
max-height: min(46vh, 420px);
|
||||
object-fit: contain;
|
||||
border: 1px solid #303540;
|
||||
border-radius: 14px;
|
||||
background: #101115;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-category-grid {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-category-grid button {
|
||||
height: 54px;
|
||||
padding: 0 12px;
|
||||
font-size: 13px;
|
||||
line-height: 1.2;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.size-template-workbench .clone-ai-settings-section {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.size-template-workbench .clone-ai-settings-section + .clone-ai-settings-section {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.size-template-workbench .clone-ai-select-group {
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-static-field > button {
|
||||
height: 66px;
|
||||
padding: 10px 38px 10px 14px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-static-field > button {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-static-field.is-clickable > button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-static-field.is-clickable > button:hover,
|
||||
.size-template-workbench .size-template-static-field.is-clickable > button[aria-expanded="true"] {
|
||||
border-color: #34d399;
|
||||
background: #202c28;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-static-field > button:active {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-static-field > button i {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-static-field.is-clickable > button i {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.size-template-platform-dialog {
|
||||
position: absolute;
|
||||
z-index: 40;
|
||||
top: calc(100% + 8px);
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: grid;
|
||||
gap: 5px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #303540;
|
||||
border-radius: 10px;
|
||||
background: #20232a;
|
||||
padding: 6px;
|
||||
box-shadow: 0 18px 40px rgb(0 0 0 / 34%);
|
||||
animation: size-template-dialog-rise 150ms ease both;
|
||||
}
|
||||
|
||||
.size-template-platform-dialog button {
|
||||
min-height: 38px;
|
||||
border: 0;
|
||||
border-radius: 7px;
|
||||
background: transparent;
|
||||
color: #b7bfcc;
|
||||
padding: 0 12px;
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.size-template-platform-dialog button:hover,
|
||||
.size-template-platform-dialog button.is-active {
|
||||
background: #17352a;
|
||||
color: #34d399;
|
||||
}
|
||||
|
||||
@keyframes size-template-dialog-rise {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(-6px);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-preset-panel {
|
||||
max-height: none;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-preset-list button span {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-option-panel {
|
||||
flex: 1 1 auto;
|
||||
min-height: 238px;
|
||||
height: auto;
|
||||
max-height: none;
|
||||
gap: 12px;
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.size-template-workbench .clone-ai-model-tabs {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.size-template-workbench .clone-ai-model-tabs button {
|
||||
height: 42px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.size-template-workbench .clone-ai-model-scroll {
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-option-grid {
|
||||
align-content: start;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-option-grid button {
|
||||
justify-content: flex-start;
|
||||
min-height: 50px;
|
||||
padding: 11px 12px;
|
||||
font-size: 13px;
|
||||
text-align: left;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-submit {
|
||||
flex: 0 0 auto;
|
||||
min-height: 58px;
|
||||
margin-top: 0;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-demo-board {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(220px, 300px) 54px minmax(330px, 520px);
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
width: min(100%, 930px);
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-demo-board::before {
|
||||
content: "";
|
||||
display: block;
|
||||
grid-column: 2;
|
||||
grid-row: 1;
|
||||
width: 54px;
|
||||
height: 2px;
|
||||
border-radius: 999px;
|
||||
background: linear-gradient(90deg, #34d399, rgb(52 211 153 / 0%));
|
||||
box-shadow: 0 0 18px rgb(52 211 153 / 35%);
|
||||
}
|
||||
|
||||
.size-template-main-frame {
|
||||
--size-template-ratio: 1 / 1;
|
||||
--size-tone: var(--size-green);
|
||||
display: grid;
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
width: min(100%, 300px);
|
||||
aspect-ratio: var(--size-template-ratio);
|
||||
min-height: 180px;
|
||||
max-height: 360px;
|
||||
align-content: center;
|
||||
justify-items: center;
|
||||
gap: 10px;
|
||||
overflow: hidden;
|
||||
border: 1px solid color-mix(in srgb, var(--size-tone) 48%, #2c3038);
|
||||
border-left: 6px solid var(--size-tone);
|
||||
border-radius: 14px;
|
||||
background:
|
||||
linear-gradient(90deg, rgb(255 255 255 / 8%) 1px, transparent 1px),
|
||||
linear-gradient(180deg, rgb(255 255 255 / 8%) 1px, transparent 1px),
|
||||
linear-gradient(135deg, color-mix(in srgb, var(--size-tone) 18%, transparent), rgb(255 255 255 / 5%)),
|
||||
#1b1d23;
|
||||
background-size: 20px 20px, 20px 20px, auto, auto;
|
||||
color: #eef2f6;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 26px 70px rgb(0 0 0 / 35%);
|
||||
}
|
||||
|
||||
.size-template-main-frame span {
|
||||
color: #eef2f6;
|
||||
font-size: clamp(42px, 6vw, 72px);
|
||||
font-weight: 950;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.size-template-main-frame strong {
|
||||
color: rgb(238 242 246 / 72%);
|
||||
font-size: 15px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.size-template-main-frame.is-green {
|
||||
--size-tone: var(--size-green);
|
||||
}
|
||||
|
||||
.size-template-main-frame.is-cyan {
|
||||
--size-tone: var(--size-cyan);
|
||||
}
|
||||
|
||||
.size-template-main-frame.is-violet {
|
||||
--size-tone: var(--size-violet);
|
||||
}
|
||||
|
||||
.size-template-main-frame.is-amber {
|
||||
--size-tone: var(--size-amber);
|
||||
}
|
||||
|
||||
.size-template-spec-grid {
|
||||
display: grid;
|
||||
grid-column: 3;
|
||||
grid-row: 1;
|
||||
grid-template-columns: repeat(2, minmax(130px, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.size-template-spec-grid span {
|
||||
display: grid;
|
||||
min-height: 112px;
|
||||
align-content: center;
|
||||
gap: 8px;
|
||||
border: 1px solid #2c3038;
|
||||
border-radius: 14px;
|
||||
background: #1b1d23;
|
||||
color: #8f98a8;
|
||||
padding: 16px;
|
||||
font-size: 13px;
|
||||
font-weight: 850;
|
||||
}
|
||||
|
||||
.size-template-spec-grid b {
|
||||
color: #eef2f6;
|
||||
font-size: 18px;
|
||||
font-weight: 950;
|
||||
}
|
||||
|
||||
.size-template-preview-note {
|
||||
position: absolute;
|
||||
left: 46px;
|
||||
right: 46px;
|
||||
bottom: 118px;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(180px, auto) minmax(0, 1fr) auto;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
border: 1px solid #2c3038;
|
||||
border-radius: 18px;
|
||||
background: #1b1d23;
|
||||
padding: 14px 16px;
|
||||
}
|
||||
|
||||
.size-template-preview-note > div:first-child {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
color: #eef2f6;
|
||||
font-size: 14px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.size-template-preview-note > div:first-child .anticon {
|
||||
color: #34d399;
|
||||
}
|
||||
|
||||
.size-template-preview-note p {
|
||||
min-width: 0;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
color: #8f98a8;
|
||||
font-size: 13px;
|
||||
font-weight: 750;
|
||||
line-height: 1.5;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.size-template-detail-card {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 10px;
|
||||
width: min(100%, 930px);
|
||||
}
|
||||
|
||||
.size-template-detail-card span {
|
||||
display: flex;
|
||||
min-height: 44px;
|
||||
align-items: center;
|
||||
border: 1px solid #2c3038;
|
||||
border-radius: 12px;
|
||||
background: #1b1d23;
|
||||
color: #b7bfcc;
|
||||
padding: 10px 12px;
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.size-template-check-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.size-template-check-list span {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
min-height: 30px;
|
||||
border: 1px solid #303540;
|
||||
border-radius: 999px;
|
||||
background: #22252d;
|
||||
color: #b7bfcc;
|
||||
padding: 0 10px;
|
||||
font-size: 12px;
|
||||
font-weight: 850;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.size-template-check-list .anticon {
|
||||
color: #34d399;
|
||||
}
|
||||
|
||||
@media (max-width: 1320px) {
|
||||
.size-template-workbench .size-template-demo-board {
|
||||
grid-template-columns: minmax(180px, 260px) 44px minmax(280px, 1fr);
|
||||
}
|
||||
|
||||
.size-template-preview-note {
|
||||
left: 30px;
|
||||
right: 30px;
|
||||
}
|
||||
|
||||
.size-template-detail-card {
|
||||
width: min(100%, 840px);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 980px) {
|
||||
.web-shell[data-view="sizeTemplate"] .product-clone-page[data-tool="clone"] {
|
||||
--clone-settings-panel-width: 100%;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.web-shell[data-view="sizeTemplate"] .product-clone-page[data-tool="clone"] > .product-clone-shell,
|
||||
.web-shell[data-view="sizeTemplate"] .product-clone-page[data-tool="clone"].is-settings-collapsed > .product-clone-shell {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.web-shell[data-view="sizeTemplate"] .product-clone-page[data-tool="clone"].is-settings-collapsed .product-clone-panel {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-demo-board {
|
||||
grid-template-columns: 1fr;
|
||||
max-width: 430px;
|
||||
}
|
||||
|
||||
.size-template-workbench .size-template-demo-board::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.size-template-main-frame,
|
||||
.size-template-spec-grid {
|
||||
grid-column: 1;
|
||||
grid-row: auto;
|
||||
}
|
||||
|
||||
.size-template-spec-grid,
|
||||
.size-template-preview-note,
|
||||
.size-template-detail-card {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.size-template-preview-note,
|
||||
.size-template-detail-card {
|
||||
position: static;
|
||||
width: min(100%, 430px);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,680 @@
|
||||
/* Unified studio layout — shared by Digital Human, Character Mix, and similar workspace pages. */
|
||||
.studio-tool-layout {
|
||||
display: grid;
|
||||
grid-template-rows: 46px minmax(0, 1fr) 36px;
|
||||
grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) minmax(238px, 280px);
|
||||
grid-template-areas:
|
||||
"toolstrip toolstrip toolstrip"
|
||||
"left canvas right"
|
||||
"status status status";
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
background: var(--bg-base);
|
||||
}
|
||||
|
||||
.studio-tool-layout--no-left {
|
||||
grid-template-columns: minmax(0, 1fr) minmax(238px, 280px);
|
||||
grid-template-areas:
|
||||
"toolstrip toolstrip"
|
||||
"canvas right"
|
||||
"status status";
|
||||
}
|
||||
|
||||
.studio-tool-layout--no-right {
|
||||
grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
|
||||
grid-template-areas:
|
||||
"toolstrip toolstrip"
|
||||
"left canvas"
|
||||
"status status";
|
||||
}
|
||||
|
||||
.studio-tool-layout--no-left.studio-tool-layout--no-right {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
grid-template-areas:
|
||||
"toolstrip"
|
||||
"canvas"
|
||||
"status";
|
||||
}
|
||||
|
||||
.studio-tool-layout--no-top {
|
||||
grid-template-rows: minmax(0, 1fr) 36px;
|
||||
grid-template-areas:
|
||||
"left canvas right"
|
||||
"status status status";
|
||||
}
|
||||
|
||||
.studio-tool-layout--no-top.studio-tool-layout--no-left {
|
||||
grid-template-areas:
|
||||
"canvas right"
|
||||
"status status";
|
||||
}
|
||||
|
||||
.studio-tool-layout--no-top.studio-tool-layout--no-right {
|
||||
grid-template-areas:
|
||||
"left canvas"
|
||||
"status status";
|
||||
}
|
||||
|
||||
.studio-tool-layout--no-top.studio-tool-layout--no-left.studio-tool-layout--no-right {
|
||||
grid-template-areas:
|
||||
"canvas"
|
||||
"status";
|
||||
}
|
||||
|
||||
.studio-toolstrip {
|
||||
grid-area: toolstrip;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
gap: 12px;
|
||||
padding: 0 16px;
|
||||
border-bottom: 1px solid var(--border-weak);
|
||||
background:
|
||||
linear-gradient(90deg, rgba(var(--accent-rgb), 0.14), transparent 48%),
|
||||
var(--bg-panel);
|
||||
}
|
||||
|
||||
.studio-toolstrip__left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.studio-toolstrip__breadcrumb {
|
||||
color: var(--fg-body);
|
||||
font-size: 14px;
|
||||
font-weight: 750;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.studio-toolstrip__divider {
|
||||
width: 1px;
|
||||
height: 18px;
|
||||
background: var(--border-subtle);
|
||||
}
|
||||
|
||||
.studio-segmented {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 3px;
|
||||
border: 1px solid var(--border-weak);
|
||||
border-radius: var(--radius-xs);
|
||||
background: var(--bg-inset);
|
||||
}
|
||||
|
||||
.studio-segmented__btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 28px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 6px;
|
||||
background: transparent;
|
||||
color: var(--fg-muted);
|
||||
font: inherit;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
cursor: pointer;
|
||||
transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
|
||||
}
|
||||
|
||||
.studio-segmented__btn:hover {
|
||||
background: var(--bg-hover);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.studio-segmented__btn.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.38);
|
||||
background: rgba(var(--accent-rgb), 0.13);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
/* Panels */
|
||||
.studio-panel {
|
||||
grid-area: left;
|
||||
display: grid;
|
||||
align-content: start;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
gap: 0;
|
||||
overflow-y: auto;
|
||||
padding: 14px;
|
||||
border-right: 1px solid var(--border-weak);
|
||||
background: var(--bg-panel);
|
||||
scrollbar-color: rgba(var(--accent-rgb), 0.34) transparent;
|
||||
}
|
||||
|
||||
.studio-panel--right {
|
||||
grid-area: right;
|
||||
border-right: 0;
|
||||
border-left: 1px solid var(--border-weak);
|
||||
}
|
||||
|
||||
.studio-panel__section {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
padding: 14px 0;
|
||||
border-bottom: 1px solid var(--border-weak);
|
||||
}
|
||||
|
||||
.studio-panel__section:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.studio-panel__section:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.studio-panel__section-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
min-width: 0;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.studio-panel__section-title {
|
||||
color: var(--fg-body);
|
||||
font-size: 13px;
|
||||
font-weight: 750;
|
||||
}
|
||||
|
||||
.studio-panel__section-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 22px;
|
||||
padding: 0 8px;
|
||||
border-radius: 999px;
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.studio-panel__section-chip--waiting {
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.studio-panel__section-chip--ready {
|
||||
background: rgba(var(--accent-rgb), 0.13);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
/* Upload slots */
|
||||
.studio-upload-slot--empty,
|
||||
.studio-upload-slot--filled {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
min-height: 100px;
|
||||
padding: 16px;
|
||||
border: 1px dashed rgba(var(--accent-rgb), 0.36);
|
||||
border-radius: var(--radius-sm);
|
||||
background:
|
||||
linear-gradient(180deg, rgba(var(--accent-rgb), 0.06), transparent),
|
||||
var(--bg-inset);
|
||||
cursor: pointer;
|
||||
transition: border-color 140ms ease, background 140ms ease;
|
||||
}
|
||||
|
||||
.studio-upload-slot--empty:hover,
|
||||
.studio-upload-slot--filled:hover {
|
||||
border-color: rgba(var(--accent-rgb), 0.56);
|
||||
background: var(--bg-hover);
|
||||
}
|
||||
|
||||
.studio-upload-slot--filled {
|
||||
border-style: solid;
|
||||
border-color: rgba(var(--accent-rgb), 0.28);
|
||||
}
|
||||
|
||||
.studio-upload-slot--empty input[type="file"],
|
||||
.studio-upload-slot--filled input[type="file"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.studio-upload-slot--empty__icon {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: var(--radius-xs);
|
||||
background: rgba(var(--accent-rgb), 0.13);
|
||||
color: var(--accent);
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.studio-upload-slot--filled__thumb {
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: var(--radius-xs);
|
||||
object-fit: cover;
|
||||
border: 1px solid var(--border-subtle);
|
||||
}
|
||||
|
||||
.studio-upload-slot--filled__info {
|
||||
display: grid;
|
||||
gap: 3px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.studio-upload-slot--filled__info strong {
|
||||
color: var(--fg-body);
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.studio-upload-slot--filled__info small {
|
||||
color: var(--fg-muted);
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
/* Canvas */
|
||||
.studio-canvas {
|
||||
grid-area: canvas;
|
||||
position: relative;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
padding: 18px;
|
||||
background:
|
||||
radial-gradient(circle, rgba(var(--accent-rgb), 0.12) 1px, transparent 1.4px),
|
||||
var(--bg-inset);
|
||||
background-size: 22px 22px;
|
||||
}
|
||||
|
||||
.studio-canvas-ghost {
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
gap: 10px;
|
||||
padding: 32px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.studio-canvas-ghost__icon {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: var(--radius-sm);
|
||||
background: rgba(var(--accent-rgb), 0.13);
|
||||
color: var(--accent);
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
.studio-canvas-ghost__title {
|
||||
color: var(--fg-body);
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.studio-canvas-ghost__hint {
|
||||
max-width: 320px;
|
||||
color: var(--fg-muted);
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.studio-canvas-image {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
.studio-canvas-image img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
max-height: 68vh;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: var(--radius-sm);
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.studio-canvas-video {
|
||||
position: relative;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.studio-canvas-video video {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
max-height: 68vh;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: var(--radius-sm);
|
||||
}
|
||||
|
||||
.studio-result-caption {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
margin-top: 10px;
|
||||
color: var(--fg-muted);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.studio-result-caption strong {
|
||||
color: var(--accent);
|
||||
font-weight: 750;
|
||||
}
|
||||
|
||||
.studio-result-actions {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 8px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.studio-result-actions--with-clear {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.studio-result-actions button {
|
||||
display: inline-flex;
|
||||
min-width: 0;
|
||||
min-height: 36px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: var(--radius-xs);
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
font: inherit;
|
||||
font-size: 12px;
|
||||
font-weight: 750;
|
||||
cursor: pointer;
|
||||
transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
|
||||
}
|
||||
|
||||
.studio-result-actions button:hover:not(:disabled) {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: rgba(var(--accent-rgb), 0.11);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.studio-result-actions button:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.56;
|
||||
}
|
||||
|
||||
.studio-canvas-pip {
|
||||
position: absolute;
|
||||
bottom: 14px;
|
||||
right: 14px;
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
overflow: hidden;
|
||||
border: 2px solid rgba(var(--accent-rgb), 0.42);
|
||||
border-radius: var(--radius-xs);
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.studio-canvas-pip img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
/* Controls: toggles, generate button, audio preview */
|
||||
.studio-toggle-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
min-width: 0;
|
||||
gap: 12px;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.studio-toggle-row__copy {
|
||||
display: grid;
|
||||
gap: 2px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.studio-toggle-row__title {
|
||||
color: var(--fg-body);
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.studio-toggle-row__desc {
|
||||
color: var(--fg-muted);
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.studio-toggle {
|
||||
position: relative;
|
||||
flex: 0 0 auto;
|
||||
width: 40px;
|
||||
height: 22px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 999px;
|
||||
background: var(--bg-inset);
|
||||
cursor: pointer;
|
||||
transition: background 140ms ease, border-color 140ms ease;
|
||||
}
|
||||
|
||||
.studio-toggle__thumb {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 3px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border-radius: 50%;
|
||||
background: var(--fg-muted);
|
||||
transition: transform 140ms ease, background 140ms ease;
|
||||
}
|
||||
|
||||
.studio-toggle.is-on {
|
||||
border-color: rgba(var(--accent-rgb), 0.42);
|
||||
background: rgba(var(--accent-rgb), 0.13);
|
||||
}
|
||||
|
||||
.studio-toggle.is-on .studio-toggle__thumb {
|
||||
background: var(--accent);
|
||||
transform: translateX(18px);
|
||||
}
|
||||
|
||||
.studio-generate-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
width: 100%;
|
||||
min-height: 40px;
|
||||
margin-top: 8px;
|
||||
border: 1px solid var(--accent);
|
||||
border-radius: var(--radius-xs);
|
||||
background: var(--accent);
|
||||
color: #061014;
|
||||
font: inherit;
|
||||
font-size: 13px;
|
||||
font-weight: 750;
|
||||
cursor: pointer;
|
||||
transition: opacity 140ms ease, transform 140ms ease;
|
||||
}
|
||||
|
||||
.studio-generate-btn:hover {
|
||||
opacity: 0.88;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.studio-generate-btn:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.48;
|
||||
}
|
||||
|
||||
.studio-audio-preview {
|
||||
width: 100%;
|
||||
height: 36px;
|
||||
margin-top: 8px;
|
||||
border-radius: var(--radius-xs);
|
||||
}
|
||||
|
||||
/* Debug panel */
|
||||
.studio-debug-panel__clear {
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 999px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
font: inherit;
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
padding: 3px 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.studio-debug-panel__clear:hover {
|
||||
color: var(--fg-body);
|
||||
border-color: rgba(var(--accent-rgb), 0.36);
|
||||
}
|
||||
|
||||
.studio-debug-panel__list {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
max-height: 280px;
|
||||
overflow-y: auto;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.studio-debug-panel__item {
|
||||
display: grid;
|
||||
gap: 5px;
|
||||
padding: 9px 10px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-left: 3px solid rgba(var(--accent-rgb), 0.42);
|
||||
border-radius: var(--radius-xs);
|
||||
background: var(--bg-inset);
|
||||
}
|
||||
|
||||
.studio-debug-panel__item--success {
|
||||
border-left-color: var(--accent);
|
||||
}
|
||||
|
||||
.studio-debug-panel__item--error {
|
||||
border-left-color: #ff5c7a;
|
||||
}
|
||||
|
||||
.studio-debug-panel__item-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
min-width: 0;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.studio-debug-panel__item-head strong {
|
||||
color: var(--fg-body);
|
||||
font-size: 12px;
|
||||
font-weight: 750;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.studio-debug-panel__item-head span,
|
||||
.studio-debug-panel__empty {
|
||||
color: var(--fg-muted);
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.studio-debug-panel__item p {
|
||||
margin: 0;
|
||||
color: var(--fg-muted);
|
||||
font-size: 11px;
|
||||
line-height: 1.45;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
/* Status bar */
|
||||
.studio-status-bar {
|
||||
grid-area: status;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
gap: 10px;
|
||||
padding: 0 16px;
|
||||
border-top: 1px solid var(--border-weak);
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
|
||||
.studio-status-bar__badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 22px;
|
||||
padding: 0 8px;
|
||||
border-radius: 999px;
|
||||
font-size: 11px;
|
||||
font-weight: 750;
|
||||
}
|
||||
|
||||
.studio-status-bar__badge--idle {
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
}
|
||||
|
||||
.studio-status-bar__badge--running {
|
||||
background: rgba(var(--accent-rgb), 0.13);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.studio-status-bar__text {
|
||||
color: var(--fg-muted);
|
||||
font-size: 12px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.studio-status-bar__meta {
|
||||
margin-left: auto;
|
||||
color: var(--accent);
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 1080px) {
|
||||
.studio-tool-layout {
|
||||
grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
|
||||
grid-template-areas:
|
||||
"toolstrip toolstrip"
|
||||
"left canvas"
|
||||
"status status";
|
||||
}
|
||||
|
||||
.studio-panel--right {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.studio-tool-layout {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
grid-template-rows: 46px auto minmax(260px, 1fr) 36px;
|
||||
grid-template-areas:
|
||||
"toolstrip"
|
||||
"left"
|
||||
"canvas"
|
||||
"status";
|
||||
}
|
||||
|
||||
.studio-panel {
|
||||
border-right: 0;
|
||||
border-bottom: 1px solid var(--border-weak);
|
||||
max-height: 320px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
.subtitle-removal-presets {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 8px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.subtitle-removal-preset {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 10px 8px;
|
||||
border: 1.5px solid var(--border-weak, #e5e5e5);
|
||||
border-radius: 10px;
|
||||
background: var(--bg-surface, #fff);
|
||||
cursor: pointer;
|
||||
transition: border-color 0.15s, background 0.15s;
|
||||
}
|
||||
|
||||
.subtitle-removal-preset:hover {
|
||||
border-color: var(--accent, #0d9488);
|
||||
background: var(--bg-elevated, #f8f8f8);
|
||||
}
|
||||
|
||||
.subtitle-removal-preset.is-active {
|
||||
border-color: var(--accent, #0d9488);
|
||||
background: color-mix(in srgb, var(--accent, #0d9488) 6%, transparent);
|
||||
}
|
||||
|
||||
.subtitle-removal-preset strong {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.subtitle-removal-preset span {
|
||||
font-size: 11px;
|
||||
opacity: 0.55;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.subtitle-removal-preset__visual {
|
||||
position: relative;
|
||||
width: 48px;
|
||||
height: 32px;
|
||||
border-radius: 4px;
|
||||
background: var(--bg-page, #f0f0f0);
|
||||
border: 1px solid var(--border-weak, #e0e0e0);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.subtitle-removal-preset__region {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: var(--region-top);
|
||||
height: var(--region-height);
|
||||
background: color-mix(in srgb, var(--accent, #0d9488) 30%, transparent);
|
||||
border-top: 1.5px dashed var(--accent, #0d9488);
|
||||
border-bottom: 1.5px dashed var(--accent, #0d9488);
|
||||
}
|
||||
|
||||
.subtitle-removal-preview {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
padding: 24px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__video-wrap {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__video-wrap video {
|
||||
max-width: 100%;
|
||||
max-height: 40vh;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__video-wrap h4 {
|
||||
margin: 0 0 8px;
|
||||
font-size: 13px;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__region-overlay {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: var(--region-top);
|
||||
height: var(--region-height);
|
||||
background: rgba(13, 148, 136, 0.15);
|
||||
border-top: 2px dashed rgba(13, 148, 136, 0.6);
|
||||
border-bottom: 2px dashed rgba(13, 148, 136, 0.6);
|
||||
pointer-events: none;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__actions button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 6px 14px;
|
||||
border: none;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__actions button:hover:not(:disabled) {
|
||||
background: var(--accent, #0d9488);
|
||||
}
|
||||
|
||||
.subtitle-removal-preview__actions button:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
.welcome-splash {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 9999;
|
||||
background: #000;
|
||||
transition: opacity 0.7s ease;
|
||||
}
|
||||
|
||||
.welcome-splash.is-exiting {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.welcome-splash__canvas {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.welcome-splash__ambient {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: radial-gradient(ellipse at 50% 80%, rgba(0, 255, 0, 0.08), transparent 70%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.welcome-splash__hero {
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.welcome-splash__title {
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", sans-serif;
|
||||
font-weight: 900;
|
||||
font-size: clamp(4.5rem, 18vw, 9rem);
|
||||
letter-spacing: 0.08em;
|
||||
background: linear-gradient(135deg, #0f0, #0fa, #2eff7a, #aaffaa);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
margin: 0 0 0.3em;
|
||||
animation: welcome-splash-glow 3s infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes welcome-splash-glow {
|
||||
0% { text-shadow: 0 0 15px #0f0, 0 0 30px #0f8a3a; }
|
||||
100% { text-shadow: 0 0 30px #2eff7a, 0 0 60px #0f0, 0 0 10px #aaffaa; }
|
||||
}
|
||||
|
||||
.welcome-splash__subtitle {
|
||||
font-family: "Microsoft YaHei", "PingFang SC", monospace;
|
||||
font-size: clamp(1.1rem, 5vw, 1.8rem);
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.12em;
|
||||
color: #caffb0;
|
||||
background: rgba(0, 0, 0, 0.55);
|
||||
backdrop-filter: blur(6px);
|
||||
padding: 0.6rem 1.5rem;
|
||||
border-radius: 60px;
|
||||
border: 1px solid rgba(0, 255, 0, 0.5);
|
||||
box-shadow: 0 0 18px rgba(0, 255, 0, 0.25);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.welcome-splash__enter {
|
||||
font-family: "Microsoft YaHei", "PingFang SC", monospace;
|
||||
font-size: clamp(1.3rem, 6vw, 2.2rem);
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.1em;
|
||||
color: #e0ffc0;
|
||||
background: linear-gradient(135deg, rgba(0, 30, 0, 0.7), rgba(0, 60, 0, 0.6));
|
||||
backdrop-filter: blur(8px);
|
||||
padding: 0.7rem 1.8rem;
|
||||
border-radius: 50px;
|
||||
margin-top: 2rem;
|
||||
border: 1px solid #2eff7a;
|
||||
box-shadow: 0 0 25px rgba(50, 255, 50, 0.4);
|
||||
cursor: pointer;
|
||||
animation: welcome-splash-enter-in 0.8s cubic-bezier(0.2, 0.9, 0.4, 1.2) both;
|
||||
transition: transform 0.2s, box-shadow 0.2s;
|
||||
}
|
||||
|
||||
.welcome-splash__enter:hover {
|
||||
transform: scale(1.05);
|
||||
box-shadow: 0 0 40px rgba(50, 255, 50, 0.6);
|
||||
}
|
||||
|
||||
.welcome-splash__enter:active {
|
||||
transform: scale(0.97);
|
||||
}
|
||||
|
||||
@keyframes welcome-splash-enter-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.welcome-splash__subtitle {
|
||||
white-space: normal;
|
||||
width: 85%;
|
||||
line-height: 1.4;
|
||||
font-size: 1rem;
|
||||
padding: 0.4rem 1rem;
|
||||
}
|
||||
.welcome-splash__title {
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,442 @@
|
||||
/* Workbench page rules move here as they are retired from legacy-pages.css. */
|
||||
|
||||
.wb-prompt-cases {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
width: min(100%, 1600px);
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.wb-prompt-cases__grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
||||
grid-auto-flow: dense;
|
||||
grid-auto-rows: 10px;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card {
|
||||
position: relative;
|
||||
display: block;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
grid-row: span 14;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border-radius: 8px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-body);
|
||||
padding: 0;
|
||||
cursor: zoom-in;
|
||||
text-align: left;
|
||||
isolation: isolate;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-wide {
|
||||
grid-column: span 1;
|
||||
grid-row: span 8;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-tall {
|
||||
grid-column: span 1;
|
||||
grid-row: span 23;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-square {
|
||||
grid-column: span 1;
|
||||
grid-row: span 13;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-portrait {
|
||||
grid-column: span 1;
|
||||
grid-row: span 16;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
background: #07111b;
|
||||
transform: scale(1.001);
|
||||
transition: filter 180ms ease, transform 180ms ease;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card:hover img,
|
||||
.wb-prompt-case-card:focus-visible img {
|
||||
filter: brightness(0.72);
|
||||
transform: scale(1.035);
|
||||
}
|
||||
|
||||
.wb-prompt-case-card > div {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card > div {
|
||||
inset: auto 0 0;
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
padding: 36px 12px 12px;
|
||||
background: rgba(0, 0, 0, 0.82);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transform: translateY(8px);
|
||||
transition: opacity 160ms ease, transform 160ms ease;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card:hover > div,
|
||||
.wb-prompt-case-card:focus-visible > div {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.wb-prompt-case-card strong {
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card em {
|
||||
color: rgba(255, 255, 255, 0.72);
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 650;
|
||||
}
|
||||
|
||||
.web-shell .ai-workbench-page.is-launch .wb-home {
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.web-shell .ai-workbench-page.is-launch .wb-prompt-cases .wb-showcase__header {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 1200;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: 28px;
|
||||
background: rgba(2, 6, 12, 0.42);
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__backdrop {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
border: 0;
|
||||
background: rgba(2, 6, 12, 0.58);
|
||||
backdrop-filter: none;
|
||||
cursor: zoom-out;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__panel {
|
||||
--prompt-case-modal-max-height: min(720px, calc(100svh - 56px));
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(300px, 0.95fr) minmax(300px, 1fr);
|
||||
width: min(880px, calc(100vw - 56px));
|
||||
max-height: var(--prompt-case-modal-max-height);
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(148, 163, 184, 0.18);
|
||||
border-radius: 16px;
|
||||
background: #070b10;
|
||||
color: #e5edf7;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__media {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
padding: 16px;
|
||||
background: #05080d;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__media img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-height: min(560px, calc(100svh - 108px));
|
||||
border-radius: 12px;
|
||||
object-fit: contain;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__sidebar {
|
||||
position: relative;
|
||||
display: grid;
|
||||
align-content: start;
|
||||
min-height: 0;
|
||||
max-height: var(--prompt-case-modal-max-height);
|
||||
gap: 16px;
|
||||
overflow-y: auto;
|
||||
overscroll-behavior: contain;
|
||||
padding: 34px 26px 26px;
|
||||
scrollbar-gutter: stable;
|
||||
border-left: 1px solid rgba(148, 163, 184, 0.16);
|
||||
background: #0c1118;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__close {
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
right: 14px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
border: 1px solid rgba(148, 163, 184, 0.18);
|
||||
border-radius: 10px;
|
||||
background: rgba(15, 23, 42, 0.72);
|
||||
color: #e5edf7;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__close:hover {
|
||||
background: rgba(30, 41, 59, 0.95);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.wb-prompt-case-author {
|
||||
display: grid;
|
||||
grid-template-columns: 36px minmax(0, 1fr);
|
||||
gap: 10px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.wb-prompt-case-author > span {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 50%;
|
||||
background: #00ff88;
|
||||
color: #061014;
|
||||
font-size: 13px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.wb-prompt-case-author strong,
|
||||
.wb-prompt-case-meta h2 {
|
||||
color: #f8fafc;
|
||||
}
|
||||
|
||||
.wb-prompt-case-author strong {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
font-size: 14px;
|
||||
font-weight: 900;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.wb-prompt-case-author em,
|
||||
.wb-prompt-case-meta span {
|
||||
color: #94a3b8;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.wb-prompt-case-meta {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
padding-bottom: 18px;
|
||||
border-bottom: 1px solid rgba(148, 163, 184, 0.16);
|
||||
}
|
||||
|
||||
.wb-prompt-case-meta h2 {
|
||||
margin: 0;
|
||||
font-size: 19px;
|
||||
font-weight: 900;
|
||||
line-height: 1.25;
|
||||
}
|
||||
|
||||
.wb-prompt-case-meta p {
|
||||
margin: 0;
|
||||
color: #cbd5e1;
|
||||
font-size: 13px;
|
||||
font-weight: 650;
|
||||
line-height: 1.65;
|
||||
}
|
||||
|
||||
.wb-prompt-case-prompt {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-prompt span {
|
||||
color: #94a3b8;
|
||||
font-size: 14px;
|
||||
font-weight: 850;
|
||||
}
|
||||
|
||||
.wb-prompt-case-prompt p {
|
||||
margin: 0;
|
||||
color: #e2e8f0;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 1.75;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.wb-prompt-case-actions {
|
||||
position: sticky;
|
||||
bottom: -1px;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 8px;
|
||||
margin: 0 -2px -2px;
|
||||
padding: 10px 2px 2px;
|
||||
background: #0c1118;
|
||||
}
|
||||
|
||||
.wb-prompt-case-actions button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 7px;
|
||||
min-height: 44px;
|
||||
border: 1px solid rgba(148, 163, 184, 0.16);
|
||||
border-radius: 8px;
|
||||
background: #16202c;
|
||||
color: #e5edf7;
|
||||
font-size: 14px;
|
||||
font-weight: 850;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.wb-prompt-case-actions button:hover {
|
||||
background: #1f2c3a;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.wb-prompt-case-actions button:first-child {
|
||||
background: #00ff88;
|
||||
border-color: #00ff88;
|
||||
color: #061014;
|
||||
}
|
||||
|
||||
.wb-prompt-case-actions button:first-child:hover {
|
||||
background: #42ffa6;
|
||||
color: #061014;
|
||||
}
|
||||
|
||||
@media (max-width: 980px) {
|
||||
.wb-prompt-cases__grid {
|
||||
grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
|
||||
grid-auto-rows: 8px;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card {
|
||||
grid-row: span 13;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-wide {
|
||||
grid-column: span 1;
|
||||
grid-row: span 7;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-tall {
|
||||
grid-column: span 1;
|
||||
grid-row: span 19;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-square {
|
||||
grid-column: span 1;
|
||||
grid-row: span 11;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-portrait {
|
||||
grid-column: span 1;
|
||||
grid-row: span 14;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__panel {
|
||||
--prompt-case-modal-max-height: calc(100svh - 28px);
|
||||
width: min(640px, calc(100vw - 28px));
|
||||
max-height: var(--prompt-case-modal-max-height);
|
||||
grid-template-columns: 1fr;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__media {
|
||||
min-height: 0;
|
||||
overflow: visible;
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__sidebar {
|
||||
max-height: none;
|
||||
overflow: visible;
|
||||
border-left: 0;
|
||||
border-top: 1px solid rgba(148, 163, 184, 0.16);
|
||||
padding: 24px 22px 24px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__close {
|
||||
right: 14px;
|
||||
top: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 560px) {
|
||||
.wb-prompt-cases__grid {
|
||||
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||
grid-auto-rows: 8px;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card {
|
||||
grid-row: span 12;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-wide {
|
||||
grid-column: span 1;
|
||||
grid-row: span 7;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-tall {
|
||||
grid-column: span 1;
|
||||
grid-row: span 18;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-square {
|
||||
grid-column: span 1;
|
||||
grid-row: span 11;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card--ratio-portrait {
|
||||
grid-column: span 1;
|
||||
grid-row: span 13;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card > div {
|
||||
padding: 34px 10px 10px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card strong {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-card em {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__media {
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-modal__sidebar {
|
||||
padding: 22px 16px 22px;
|
||||
}
|
||||
|
||||
.wb-prompt-case-actions {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,542 @@
|
||||
/* Shell layout extracted from the legacy app stylesheet. */
|
||||
.web-shell {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
background: var(--page-bg);
|
||||
background-size: auto;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] {
|
||||
background: var(--page-bg);
|
||||
background-size: auto;
|
||||
}
|
||||
|
||||
.event-strip {
|
||||
position: relative;
|
||||
z-index: 30;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 14px;
|
||||
height: 36px;
|
||||
padding: 0 44px 0 18px;
|
||||
border-bottom: 1px solid rgba(37, 96, 56, 0.12);
|
||||
background: rgba(210, 246, 219, 0.94);
|
||||
color: #173425;
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .event-strip {
|
||||
border-color: rgba(var(--accent-rgb), 0.2);
|
||||
background: var(--bg-panel);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.event-strip__pill {
|
||||
padding: 5px 13px;
|
||||
border-radius: 999px;
|
||||
background: rgba(255, 255, 255, 0.86);
|
||||
color: #236039;
|
||||
box-shadow: inset 0 0 0 1px rgba(35, 96, 57, 0.11);
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .event-strip__pill {
|
||||
background: rgba(255, 255, 255, 0.11);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.event-strip button {
|
||||
height: 24px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid rgba(35, 96, 57, 0.18);
|
||||
border-radius: 999px;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
color: #236039;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
transition: background var(--transition-fast, 140ms ease), border-color var(--transition-fast, 140ms ease), transform var(--transition-fast, 140ms ease);
|
||||
}
|
||||
|
||||
.event-strip button:hover {
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .event-strip button {
|
||||
border-color: rgba(255, 255, 255, 0.14);
|
||||
background: rgba(255, 255, 255, 0.08);
|
||||
color: var(--fg-body);
|
||||
}
|
||||
|
||||
.event-strip__close {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 14px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
padding: 0;
|
||||
transform: translateY(-50%);
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: rgba(23, 52, 37, 0.7);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .event-strip__close {
|
||||
color: rgba(244, 247, 245, 0.72);
|
||||
}
|
||||
|
||||
.web-shell__stage {
|
||||
position: relative;
|
||||
height: calc(100svh - 36px);
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.web-shell.event-strip-hidden .web-shell__stage {
|
||||
height: 100svh;
|
||||
}
|
||||
|
||||
.web-shell__content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.web-topbar {
|
||||
position: relative;
|
||||
z-index: 20;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex: 0 0 62px;
|
||||
gap: 18px;
|
||||
padding: 12px 22px 10px;
|
||||
border-bottom: 1px solid var(--border-weak);
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .web-topbar {
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
|
||||
.brand-lockup {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
min-width: 0;
|
||||
background: transparent;
|
||||
color: var(--text);
|
||||
font-size: 15px;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.brand-lockup__mark {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
overflow: hidden;
|
||||
border-radius: 8px;
|
||||
background: transparent;
|
||||
color: inherit;
|
||||
font-size: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.brand-lockup__logo {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.brand-lockup__name {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.brand-lockup__tone {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: 22px;
|
||||
padding: 0 8px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 999px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--fg-muted);
|
||||
font-size: 11px;
|
||||
font-weight: 900;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.web-topbar__actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
min-width: 0;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.creator-button,
|
||||
.member-button,
|
||||
.profile-button,
|
||||
.icon-button,
|
||||
.theme-toggle {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 7px;
|
||||
min-width: 0;
|
||||
height: 36px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset);
|
||||
color: var(--text);
|
||||
font-size: 12px;
|
||||
font-weight: 850;
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
transition:
|
||||
transform 160ms ease,
|
||||
border-color 160ms ease,
|
||||
background 160ms ease,
|
||||
color 160ms ease;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .creator-button,
|
||||
.web-shell[data-theme="dark"] .member-button,
|
||||
.web-shell[data-theme="dark"] .profile-button,
|
||||
.web-shell[data-theme="dark"] .icon-button,
|
||||
.web-shell[data-theme="dark"] .theme-toggle {
|
||||
background: var(--bg-inset);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.creator-button {
|
||||
border-color: rgba(var(--accent-rgb), 0.26);
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
color: #1f6d3c;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .creator-button {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.member-button {
|
||||
color: var(--cyan-strong);
|
||||
}
|
||||
|
||||
.member-button--community {
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.icon-button,
|
||||
.theme-toggle {
|
||||
width: 36px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.theme-switcher {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
height: 40px;
|
||||
padding: 3px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
border-radius: 14px;
|
||||
background: var(--bg-inset);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .theme-switcher {
|
||||
border-color: rgba(var(--accent-rgb), 0.18);
|
||||
background: var(--bg-inset);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.theme-switcher .theme-toggle.theme-switcher__option {
|
||||
width: auto;
|
||||
min-width: 70px;
|
||||
height: 32px;
|
||||
min-height: 32px;
|
||||
padding: 0 10px;
|
||||
border-color: transparent;
|
||||
border-radius: 10px;
|
||||
background: transparent;
|
||||
color: var(--fg-muted);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.theme-switcher .theme-toggle.theme-switcher__option.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.24);
|
||||
background: rgba(var(--accent-rgb), 0.16);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.theme-switcher .theme-toggle.theme-switcher__option:hover {
|
||||
background: rgba(var(--accent-rgb), 0.12);
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.profile-button--guest {
|
||||
border-color: rgba(var(--accent-rgb), 0.32);
|
||||
background: var(--accent);
|
||||
color: #07100b;
|
||||
}
|
||||
|
||||
.creator-button:hover,
|
||||
.member-button:hover,
|
||||
.profile-button:hover,
|
||||
.icon-button:hover,
|
||||
.theme-toggle:hover {
|
||||
transform: translateY(-1px);
|
||||
border-color: var(--line-strong);
|
||||
background: var(--bg-hover);
|
||||
}
|
||||
|
||||
.profile-button--guest:hover {
|
||||
background: rgba(var(--accent-rgb), 0.88);
|
||||
color: #07100b;
|
||||
}
|
||||
|
||||
.status-dot {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 7px;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 999px;
|
||||
background: var(--danger);
|
||||
}
|
||||
|
||||
.floating-nav {
|
||||
position: fixed;
|
||||
z-index: 24;
|
||||
left: 22px;
|
||||
top: 50%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
width: 62px;
|
||||
padding: 8px;
|
||||
border: 1px solid var(--border-weak);
|
||||
border-radius: 20px;
|
||||
transform: translateY(-50%);
|
||||
background: var(--bg-panel);
|
||||
box-shadow: var(--shadow-tight);
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .floating-nav {
|
||||
background: var(--bg-panel);
|
||||
}
|
||||
|
||||
.floating-nav__create,
|
||||
.floating-nav__button {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
border-radius: 14px;
|
||||
background: transparent;
|
||||
color: var(--text-muted);
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
color 160ms ease,
|
||||
transform 160ms ease,
|
||||
box-shadow 160ms ease;
|
||||
}
|
||||
|
||||
.floating-nav__item {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 44px;
|
||||
}
|
||||
|
||||
.floating-nav__submenu {
|
||||
position: absolute;
|
||||
left: calc(100% + 12px);
|
||||
top: 50%;
|
||||
z-index: 3;
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
min-width: 112px;
|
||||
padding: 6px;
|
||||
border: 1px solid var(--border-weak);
|
||||
border-radius: 16px;
|
||||
transform: translate(-6px, -50%);
|
||||
background: var(--bg-elevated);
|
||||
box-shadow: var(--shadow-tight);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition:
|
||||
opacity 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .floating-nav__submenu {
|
||||
background: var(--bg-elevated);
|
||||
}
|
||||
|
||||
.floating-nav__item.has-children.is-submenu-open .floating-nav__submenu {
|
||||
opacity: 1;
|
||||
transform: translate(0, -50%);
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.floating-nav__item.has-children.is-submenu-open .floating-nav__button .floating-nav__label {
|
||||
opacity: 0;
|
||||
transform: translate(-6px, -50%);
|
||||
}
|
||||
|
||||
.floating-nav__subbutton {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
min-width: 0;
|
||||
height: 36px;
|
||||
padding: 0 10px;
|
||||
border-radius: 12px;
|
||||
background: transparent;
|
||||
color: var(--text-muted);
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
color 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.floating-nav__subbutton:hover,
|
||||
.floating-nav__subbutton.is-active {
|
||||
background: rgba(var(--accent-rgb), 0.14);
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.floating-nav__create {
|
||||
margin-bottom: 6px;
|
||||
background: var(--accent);
|
||||
color: #07100b;
|
||||
font-size: 26px;
|
||||
font-weight: 900;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.floating-nav__label {
|
||||
position: absolute;
|
||||
left: calc(100% + 12px);
|
||||
top: 50%;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
width: max-content;
|
||||
max-width: 180px;
|
||||
height: 30px;
|
||||
padding: 0 11px;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 999px;
|
||||
transform: translate(-6px, -50%);
|
||||
background: var(--bg-elevated);
|
||||
color: var(--fg-body);
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
white-space: nowrap;
|
||||
box-shadow: var(--shadow-tight);
|
||||
transition:
|
||||
opacity 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.floating-nav__button:hover,
|
||||
.floating-nav__button.is-active {
|
||||
background: rgba(var(--accent-rgb), 0.14);
|
||||
color: var(--text);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.floating-nav__button:active {
|
||||
transform: scale(0.92);
|
||||
transition-duration: 80ms;
|
||||
}
|
||||
|
||||
.floating-nav__button.is-active {
|
||||
color: var(--accent);
|
||||
box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), 0.34);
|
||||
}
|
||||
|
||||
.floating-nav__button:hover .floating-nav__label,
|
||||
.floating-nav__button:focus-visible .floating-nav__label,
|
||||
.floating-nav__button.is-active .floating-nav__label {
|
||||
opacity: 1;
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
|
||||
.floating-nav__button.has-divider {
|
||||
margin-top: 9px;
|
||||
}
|
||||
|
||||
.floating-nav__button.has-divider::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
width: 30px;
|
||||
height: 1px;
|
||||
background: var(--line);
|
||||
}
|
||||
|
||||
.floating-page-scroll-actions {
|
||||
position: fixed;
|
||||
z-index: 25;
|
||||
left: 30px;
|
||||
top: calc(50% + 265px);
|
||||
display: grid;
|
||||
gap: 7px;
|
||||
}
|
||||
|
||||
.floating-page-scroll-actions__button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 44px;
|
||||
height: 36px;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 12px;
|
||||
background: rgba(var(--accent-rgb), 0.08);
|
||||
color: var(--text-muted);
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 160ms ease,
|
||||
color 160ms ease,
|
||||
transform 160ms ease;
|
||||
}
|
||||
|
||||
.floating-page-scroll-actions__button:hover {
|
||||
background: rgba(var(--accent-rgb), 0.16);
|
||||
color: var(--accent);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.web-shell__page {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
scrollbar-color: rgba(var(--accent-rgb), 0.42) transparent;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,86 @@
|
||||
:root {
|
||||
color-scheme: dark;
|
||||
--bg-base: #0d0d0f;
|
||||
--bg-page: var(--bg-base);
|
||||
--bg-shell: #0d0d0f;
|
||||
--bg-surface: #151719;
|
||||
--bg-panel: #151719;
|
||||
--bg-elevated: #181b1d;
|
||||
--bg-elevated-rgb: 24, 27, 29;
|
||||
--bg-inset: #101214;
|
||||
--bg-hover: #202527;
|
||||
--bg-active: #243129;
|
||||
--border-weak: #242a2c;
|
||||
--border-subtle: #2a3032;
|
||||
--border-default: #394044;
|
||||
--border-accent: #00ff88;
|
||||
--fg-body: #f3f5f2;
|
||||
--fg-muted: #aeb8b1;
|
||||
--fg-soft: #7e8983;
|
||||
--fg-dim: #5f6a64;
|
||||
--accent: #00ff88;
|
||||
--accent-rgb: 0, 255, 136;
|
||||
--accent-dim: #00d874;
|
||||
--accent-hover: #58ffac;
|
||||
--accent-muted: #183527;
|
||||
--accent-glow: none;
|
||||
--accent-cyan: #7be7ff;
|
||||
--accent-gold: #d9f99d;
|
||||
--success: #26d06e;
|
||||
--warning: #f3aa26;
|
||||
--error: #ff5a5f;
|
||||
--radius-xs: 8px;
|
||||
--radius-sm: 10px;
|
||||
--radius-md: 14px;
|
||||
--radius-lg: 18px;
|
||||
--shadow-panel: 0 0 0 1px rgba(255, 255, 255, 0.06);
|
||||
--shadow-tight: 0 0 0 1px rgba(255, 255, 255, 0.04);
|
||||
--shadow-glow: 0 0 26px rgba(45, 212, 191, 0.18);
|
||||
|
||||
/* Motion tokens */
|
||||
--transition-fast: 140ms ease;
|
||||
--transition-base: 200ms ease;
|
||||
--transition-slow: 320ms ease;
|
||||
--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
|
||||
--ease-spring: cubic-bezier(0.34, 1.2, 0.64, 1);
|
||||
|
||||
--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"Microsoft YaHei", sans-serif;
|
||||
|
||||
/* Semantic aliases used by the layered stylesheet structure. */
|
||||
--surface-canvas: var(--bg-base);
|
||||
--surface-shell: var(--bg-shell);
|
||||
--surface-panel: var(--bg-panel);
|
||||
--surface-elevated: var(--bg-elevated);
|
||||
--surface-muted: var(--bg-inset);
|
||||
--surface-hover: var(--bg-hover);
|
||||
--text-primary: var(--fg-body);
|
||||
--text-muted: var(--fg-muted);
|
||||
--text-subtle: var(--fg-soft);
|
||||
--text-disabled: var(--fg-dim);
|
||||
--border-soft: var(--border-weak);
|
||||
--border-normal: var(--border-subtle);
|
||||
--border-strong: var(--border-default);
|
||||
--radius-control: var(--radius-sm);
|
||||
--radius-panel: var(--radius-lg);
|
||||
--shadow-surface: var(--shadow-tight);
|
||||
--shadow-elevated: var(--shadow-panel);
|
||||
--accent-primary: var(--accent);
|
||||
--accent-primary-rgb: var(--accent-rgb);
|
||||
|
||||
/* Legacy aliases used by the first web preview. */
|
||||
--page-bg: var(--bg-base);
|
||||
--page-bg-soft: var(--bg-shell);
|
||||
--surface: var(--bg-panel);
|
||||
--surface-strong: var(--bg-elevated);
|
||||
--line: var(--border-subtle);
|
||||
--line-strong: var(--border-default);
|
||||
--text: var(--fg-body);
|
||||
--text-soft: var(--fg-soft);
|
||||
--cyan: var(--accent-cyan);
|
||||
--cyan-strong: #5eead4;
|
||||
--gold: var(--accent-gold);
|
||||
--green: var(--success);
|
||||
--danger: var(--error);
|
||||
--shadow-soft: var(--shadow-panel);
|
||||
}
|
||||
Reference in New Issue
Block a user