Spaces:
Configuration error
Configuration error
| :root { | |
| color: #eef2ff; | |
| background: #070a12; | |
| font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; | |
| font-synthesis: none; | |
| --ink: #eef2ff; | |
| --muted: #8b93a7; | |
| --line: rgba(174, 190, 228, 0.13); | |
| --line-bright: rgba(174, 190, 228, 0.25); | |
| --panel: rgba(14, 18, 31, 0.78); | |
| --panel-strong: #101523; | |
| --lime: #c6ff4a; | |
| --cyan: #58e6ff; | |
| --violet: #8f7cff; | |
| --danger: #ff6f91; | |
| --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace; | |
| } | |
| * { box-sizing: border-box; } | |
| html { min-width: 320px; scroll-behavior: smooth; } | |
| body { | |
| min-width: 320px; | |
| min-height: 100vh; | |
| margin: 0; | |
| overflow-x: hidden; | |
| background: | |
| linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px), | |
| radial-gradient(circle at 76% 12%, rgba(87, 71, 188, .17), transparent 32rem), | |
| #070a12; | |
| background-size: 48px 48px, 48px 48px, auto, auto; | |
| } | |
| a { color: inherit; } | |
| button, input, select { font: inherit; } | |
| button, a, input, select { -webkit-tap-highlight-color: transparent; } | |
| .ambient { | |
| position: fixed; | |
| z-index: -1; | |
| width: 24rem; | |
| height: 24rem; | |
| border-radius: 50%; | |
| filter: blur(110px); | |
| opacity: .16; | |
| pointer-events: none; | |
| } | |
| .ambient-one { top: -10rem; left: -8rem; background: var(--cyan); } | |
| .ambient-two { right: -8rem; bottom: 4rem; background: var(--violet); } | |
| .topbar { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| width: min(100% - 40px, 1500px); | |
| min-height: 76px; | |
| margin: 0 auto; | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .brand, .topbar-meta { display: flex; align-items: center; } | |
| .brand { | |
| gap: 12px; | |
| color: var(--ink); | |
| font-size: .78rem; | |
| font-weight: 800; | |
| letter-spacing: .16em; | |
| text-decoration: none; | |
| } | |
| .brand b { color: var(--lime); font-weight: 800; } | |
| .brand-mark { | |
| position: relative; | |
| display: grid; | |
| width: 28px; | |
| height: 28px; | |
| place-items: center; | |
| border: 1px solid rgba(198, 255, 74, .55); | |
| transform: rotate(45deg); | |
| } | |
| .brand-mark::before, .brand-mark::after, .brand-mark span { | |
| content: ""; | |
| position: absolute; | |
| border: 1px solid var(--lime); | |
| } | |
| .brand-mark::before { inset: 5px; } | |
| .brand-mark::after { inset: 9px; background: var(--lime); } | |
| .brand-mark span { inset: -5px 11px; border-width: 0 1px; opacity: .5; } | |
| .topbar-meta { gap: 28px; font: 500 .68rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; } | |
| .topbar-meta a { color: var(--muted); text-decoration: none; transition: color .2s ease; } | |
| .topbar-meta a:hover { color: var(--ink); } | |
| .capability { display: flex; align-items: center; gap: 8px; color: var(--muted); } | |
| .capability i { width: 6px; height: 6px; border-radius: 50%; background: #e0b23b; box-shadow: 0 0 12px currentColor; } | |
| .capability.is-ready { color: var(--lime); } | |
| .capability.is-ready i { background: var(--lime); } | |
| .capability.is-missing { color: var(--danger); } | |
| .capability.is-missing i { background: var(--danger); } | |
| .app-shell { width: min(100% - 40px, 1500px); margin: 0 auto; } | |
| .hero { padding: clamp(62px, 9vw, 130px) 0 clamp(52px, 7vw, 96px); } | |
| .eyebrow, .section-index { | |
| color: var(--muted); | |
| font: 500 .66rem/1 var(--mono); | |
| letter-spacing: .14em; | |
| text-transform: uppercase; | |
| } | |
| .eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; } | |
| .eyebrow span { color: var(--lime); } | |
| .eyebrow::after { content: ""; width: 72px; height: 1px; background: var(--line-bright); } | |
| .hero h1 { | |
| max-width: 1000px; | |
| margin: 0; | |
| color: #f5f7ff; | |
| font-size: clamp(3.45rem, 8.1vw, 8.6rem); | |
| font-weight: 500; | |
| letter-spacing: -.07em; | |
| line-height: .88; | |
| } | |
| .hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(225, 232, 255, .48); } | |
| .hero > p { max-width: 670px; margin: 38px 0 0; color: #a9b0c1; font-size: clamp(.98rem, 1.4vw, 1.17rem); line-height: 1.8; } | |
| .pipeline { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 38px; color: #c4cad8; font: 500 .66rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; } | |
| .pipeline span { padding: 9px 12px; border: 1px solid var(--line); background: rgba(255,255,255,.02); } | |
| .pipeline i { color: var(--lime); font-style: normal; } | |
| .workspace-grid { display: grid; grid-template-columns: minmax(310px, .78fr) minmax(0, 1.45fr); gap: 14px; align-items: stretch; } | |
| .panel { | |
| position: relative; | |
| border: 1px solid var(--line); | |
| background: linear-gradient(145deg, rgba(18, 23, 39, .86), rgba(9, 13, 23, .82)); | |
| box-shadow: 0 30px 80px rgba(0,0,0,.18); | |
| backdrop-filter: blur(24px); | |
| } | |
| .panel::before { content: ""; position: absolute; inset: -1px auto auto -1px; width: 34px; height: 34px; border-top: 1px solid var(--lime); border-left: 1px solid var(--lime); pointer-events: none; } | |
| .control-panel { padding: clamp(24px, 3.2vw, 44px); } | |
| .panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; } | |
| .panel-heading h2 { margin: 10px 0 0; font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 600; letter-spacing: -.035em; } | |
| .local-badge { padding: 7px 9px; border: 1px solid rgba(198,255,74,.28); color: var(--lime); background: rgba(198,255,74,.06); font: 500 .6rem/1 var(--mono); letter-spacing: .14em; } | |
| .panel-copy { margin: 22px 0 30px; color: var(--muted); font-size: .82rem; line-height: 1.7; } | |
| .field-stack, .advanced-fields { display: grid; gap: 10px; } | |
| .field-stack label, .advanced-fields label, #e2e-generation-controls label { display: grid ; gap: 4px ; margin-top: 12px; } | |
| label span, #e2e-generation-controls label span { color: #d9deeb; font-size: .76rem; font-weight: 600; } | |
| label small { color: #6f778b; font: .58rem/1.4 var(--mono); } | |
| input, select { | |
| width: 100%; | |
| min-width: 0; | |
| height: 45px; | |
| border: 1px solid var(--line-bright); | |
| border-radius: 0; | |
| outline: none; | |
| color: #dce2f1; | |
| background: rgba(3, 6, 12, .58); | |
| padding: 0 13px; | |
| font: .68rem/1 var(--mono); | |
| transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; | |
| } | |
| input:focus, select:focus { border-color: rgba(88,230,255,.62); background: rgba(4,10,17,.86); box-shadow: 0 0 0 3px rgba(88,230,255,.08); } | |
| select { appearance: none; background-image: linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position: calc(100% - 17px) 19px,calc(100% - 12px) 19px; background-size: 5px 5px; background-repeat: no-repeat; } | |
| .advanced { margin-top: 24px; border-block: 1px solid var(--line); } | |
| .advanced summary { display: flex; justify-content: space-between; padding: 18px 0; color: #cdd3e0; cursor: pointer; list-style: none; font-size: .76rem; font-weight: 600; } | |
| .advanced summary::-webkit-details-marker { display: none; } | |
| .advanced summary::before { content: "+"; margin-right: 10px; color: var(--lime); font: 500 .9rem var(--mono); } | |
| .advanced[open] summary::before { content: "−"; } | |
| .advanced summary small { margin-left: auto; color: var(--muted); font: .6rem var(--mono); letter-spacing: .08em; text-transform: uppercase; } | |
| .advanced-fields { padding-bottom: 22px; } | |
| .run-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 26px; } | |
| button { min-height: 44px; border: 1px solid var(--line-bright); color: #dfe4f0; background: rgba(255,255,255,.035); cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease; } | |
| button:hover:not(:disabled) { transform: translateY(-1px); border-color: rgba(198,255,74,.5); } | |
| button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; } | |
| button:disabled { opacity: .38; cursor: not-allowed; } | |
| .run-button { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 18px; border-color: var(--lime); color: #0b0e0a; background: var(--lime); font-size: .77rem; font-weight: 800; } | |
| .run-button:hover:not(:disabled) { color: #080a07; background: #d6ff79; box-shadow: 0 10px 35px rgba(198,255,74,.12); } | |
| .run-button b { font-size: 1.1rem; } | |
| .cancel-button { padding-inline: 17px; font: .65rem var(--mono); text-transform: uppercase; } | |
| .status-card { display: grid; grid-template-columns: auto 1fr; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid var(--line); background: rgba(0,0,0,.2); } | |
| .status-pulse { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 14px rgba(198,255,74,.55); animation: pulse 2.2s ease-in-out infinite; } | |
| .status-card small { color: #697186; font: 500 .56rem/1 var(--mono); letter-spacing: .12em; } | |
| .status-card p { margin: 7px 0 0; color: #aeb5c5; font: .63rem/1.65 var(--mono); } | |
| #e2e-generation-controls { display: grid ; gap: 18px ; margin: 28px 0 0 ; padding: 28px 0 0 ; border: 0 ; border-top: 1px solid var(--line) ; border-radius: 0 ; } | |
| #e2e-generation-controls h2 { margin: 0 ; font-size: .8rem ; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; } | |
| #e2e-generation-controls > div { gap: 8px ; } | |
| #e2e-generation-controls > div:first-of-type { grid-template-columns: repeat(2, minmax(0, 1fr)) ; } | |
| #e2e-generation-controls button { min-height: 36px; padding: 7px 10px; font: .62rem var(--mono); } | |
| #e2e-generation-controls [data-steps-preset] { min-width: 36px; color: var(--lime); } | |
| #e2e-generation-controls [data-testid="e2e-storage-status"], #e2e-generation-controls [data-testid="e2e-image-status"] { padding-left: 12px; border-left: 1px solid var(--line-bright); color: var(--muted); font: .59rem/1.6 var(--mono); } | |
| #e2e-generation-controls table { min-width: 760px; font: .55rem/1.5 var(--mono); } | |
| #e2e-generation-controls th, #e2e-generation-controls td { padding: 9px 8px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; } | |
| #e2e-generation-controls th { color: #7f8799; font-weight: 500; text-transform: uppercase; } | |
| #e2e-generation-controls td { color: #b7bece; } | |
| .viewer-panel { display: flex; min-height: 790px; padding: clamp(24px, 3.2vw, 44px); flex-direction: column; overflow: hidden; } | |
| .viewer-heading { margin-bottom: 22px; } | |
| .viewer-heading > p { margin: 0; padding: 8px 10px; border: 1px solid var(--line); color: #8d95a7; background: rgba(0,0,0,.18); font: .58rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; } | |
| .viewer-heading > p::before { content: "●"; margin-right: 7px; color: #555e71; } | |
| .viewer-heading > p[data-viewer-state="ready"] { color: var(--lime); border-color: rgba(198,255,74,.28); } | |
| .viewer-heading > p[data-viewer-state="ready"]::before { color: var(--lime); } | |
| .viewer-heading > p[data-viewer-state="loading"] { color: var(--cyan); } | |
| #e2e-preview-root { position: relative; width: 100%; min-height: 620px; flex: 1; overflow: hidden; border: 1px solid var(--line); background: radial-gradient(circle at center, rgba(91,79,172,.15), transparent 38%), #030509; } | |
| #e2e-preview-root::before, #e2e-preview-root::after { content: ""; position: absolute; z-index: 3; pointer-events: none; } | |
| #e2e-preview-root::before { inset: 14px; border: 1px solid rgba(255,255,255,.035); } | |
| #e2e-preview-root::after { inset: 50% 0 auto; height: 1px; background: linear-gradient(90deg,transparent,rgba(88,230,255,.12),transparent); } | |
| #e2e-preview-root .preview-panel { display: flex; width: 100%; height: 100%; min-height: 620px; flex-direction: column; } | |
| #e2e-preview-root .preview-toolbar { position: absolute; z-index: 4; right: 18px; bottom: 18px; left: 18px; display: flex; justify-content: space-between; gap: 1rem; color: #9ba3b5; font: .6rem var(--mono); } | |
| #e2e-preview-root .splat-canvas-shell { position: relative; flex: 1; min-height: 600px; overflow: hidden; background: #030509; } | |
| #e2e-preview-root .splat-canvas-host { position: absolute; inset: 0; } | |
| #e2e-preview-root .splat-canvas-host canvas { display: block; width: 100% ; height: 100% ; } | |
| #e2e-preview-root .splat-empty { position: absolute; inset: 0; display: grid; place-items: center; color: #b8bfce; } | |
| .viewer-placeholder { position: absolute; inset: 0; display: grid; z-index: 0; place-content: center; justify-items: center; text-align: center; background-image: radial-gradient(circle, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 18px 18px; mask-image: radial-gradient(circle, #000, transparent 68%); } | |
| .orbital { position: relative; width: 170px; height: 170px; border: 1px solid rgba(88,230,255,.18); border-radius: 50%; animation: rotate 18s linear infinite; } | |
| .orbital::before, .orbital::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(143,124,255,.28); transform: rotate(62deg); } | |
| .orbital::before { inset: 20px -14px; } | |
| .orbital::after { inset: -14px 20px; transform: rotate(-35deg); } | |
| .orbital span { position: absolute; inset: 54px; border-radius: 50%; background: radial-gradient(circle at 38% 30%, #e8ffb5, var(--lime) 14%, #725fff 48%, transparent 70%); filter: blur(.3px); box-shadow: 0 0 55px rgba(143,124,255,.35); } | |
| .orbital i { position: absolute; top: 50%; left: -3px; width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); } | |
| .viewer-placeholder p { margin: 32px 0 5px; color: #d9deeb; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; } | |
| .viewer-placeholder small { color: #6e7689; font: .6rem var(--mono); } | |
| .preview-panel + .viewer-placeholder, #e2e-preview-root:has(.preview-panel) > .viewer-placeholder { display: none; } | |
| .viewer-footer { display: flex; justify-content: space-between; padding: 13px 2px 0; color: #626a7d; font: .55rem/1 var(--mono); letter-spacing: .09em; } | |
| .notice { display: grid; grid-template-columns: auto 1fr; gap: 20px; margin: 14px 0 70px; padding: 22px 24px; border: 1px solid var(--line); color: var(--muted); background: rgba(13,17,29,.56); } | |
| .notice span { color: var(--lime); font: .6rem var(--mono); letter-spacing: .12em; } | |
| .notice p { max-width: 920px; margin: 0; font-size: .72rem; line-height: 1.7; } | |
| .error { margin: 14px 0; padding: 18px; overflow: auto; border: 1px solid rgba(255,111,145,.36); color: #ff9bb3; background: rgba(75,14,33,.22); font: .7rem/1.7 var(--mono); white-space: pre-wrap; } | |
| footer { display: flex; justify-content: space-between; width: min(100% - 40px, 1500px); margin: 0 auto; padding: 24px 0 36px; border-top: 1px solid var(--line); color: #596174; font: .55rem/1 var(--mono); letter-spacing: .1em; } | |
| @keyframes pulse { 50% { opacity: .35; box-shadow: 0 0 3px rgba(198,255,74,.2); } } | |
| @keyframes rotate { to { transform: rotate(360deg); } } | |
| @media (max-width: 980px) { | |
| .workspace-grid { grid-template-columns: 1fr; } | |
| .viewer-panel { min-height: 680px; } | |
| #e2e-preview-root, #e2e-preview-root .preview-panel { min-height: 520px; } | |
| #e2e-preview-root .splat-canvas-shell { min-height: 500px; } | |
| } | |
| @media (max-width: 620px) { | |
| .topbar, .app-shell, footer { width: min(100% - 24px, 1500px); } | |
| .topbar { min-height: 66px; } | |
| .topbar-meta { gap: 12px; } | |
| .topbar-meta > a { display: none; } | |
| .hero { padding-top: 58px; } | |
| .hero h1 { font-size: clamp(3.1rem, 16vw, 5rem); } | |
| .pipeline i { display: none; } | |
| .workspace-grid { margin-inline: -12px; } | |
| .panel { border-inline: 0; } | |
| .viewer-panel { min-height: 570px; } | |
| #e2e-preview-root, #e2e-preview-root .preview-panel { min-height: 400px; } | |
| #e2e-preview-root .splat-canvas-shell { min-height: 380px; } | |
| .viewer-heading { display: grid; } | |
| .viewer-heading > p { margin-top: 12px; width: fit-content; } | |
| .viewer-footer span:nth-child(2) { display: none; } | |
| .notice { grid-template-columns: 1fr; } | |
| footer { gap: 20px; line-height: 1.5; } | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, *::before, *::after { scroll-behavior: auto ; animation-duration: .01ms ; animation-iteration-count: 1 ; } | |
| } |