Spaces:
Running
Running
Download src/styles.css from Xenova/kinetic-depth-effect: direct link, hf CLI and curl.
- Browser
- Download file 26.1 kB
-
https://huggingface.co/spaces/Xenova/kinetic-depth-effect/resolve/main/src/styles.css
- Command line
-
hf download hf://spaces/Xenova/kinetic-depth-effect/src/styles.css
-
curl -L -o styles.css https://huggingface.co/spaces/Xenova/kinetic-depth-effect/resolve/main/src/styles.css
26.1 kB
| @import "tailwindcss"; | |
| @import "tw-animate-css"; | |
| @custom-variant dark (&:where(.dark, .dark *)); | |
| :root, | |
| .dark { | |
| --background: #050608; | |
| --foreground: #f2f4f7; | |
| --popover: #191c22; | |
| --popover-foreground: #f2f4f7; | |
| --primary: #9cddff; | |
| --primary-foreground: #07131b; | |
| --muted: #282c34; | |
| --muted-foreground: #9a9fa9; | |
| --accent: #262b34; | |
| --accent-foreground: #f2f4f7; | |
| --destructive: #ffaaa9; | |
| --border: #ffffff13; | |
| --input: #ffffff20; | |
| --ring: #9cddff; | |
| --radius: 0.75rem; | |
| } | |
| @theme inline { | |
| --color-background: var(--background); | |
| --color-foreground: var(--foreground); | |
| --color-popover: var(--popover); | |
| --color-popover-foreground: var(--popover-foreground); | |
| --color-primary: var(--primary); | |
| --color-primary-foreground: var(--primary-foreground); | |
| --color-muted: var(--muted); | |
| --color-muted-foreground: var(--muted-foreground); | |
| --color-accent: var(--accent); | |
| --color-accent-foreground: var(--accent-foreground); | |
| --color-destructive: var(--destructive); | |
| --color-border: var(--border); | |
| --color-input: var(--input); | |
| --color-ring: var(--ring); | |
| --radius-sm: calc(var(--radius) - 4px); | |
| --radius-md: calc(var(--radius) - 2px); | |
| --radius-lg: var(--radius); | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| html, | |
| body { | |
| margin: 0; | |
| width: 100%; | |
| min-height: 100%; | |
| background: var(--background); | |
| color: var(--foreground); | |
| } | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| } | |
| button, | |
| a, | |
| input, | |
| [role="slider"] { | |
| -webkit-tap-highlight-color: transparent; | |
| } | |
| button { | |
| cursor: pointer; | |
| font-family: inherit; | |
| } | |
| button:disabled { | |
| cursor: default; | |
| } | |
| button:focus-visible, | |
| a:focus-visible, | |
| summary:focus-visible { | |
| outline: 2px solid var(--ring); | |
| outline-offset: 4px; | |
| } | |
| button svg { | |
| flex-shrink: 0; | |
| } | |
| .studio { | |
| position: relative; | |
| width: 100%; | |
| height: 100dvh; | |
| min-height: 320px; | |
| overflow: hidden; | |
| isolation: isolate; | |
| background: #050608; | |
| } | |
| .topbar { | |
| position: absolute; | |
| z-index: 10; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| height: 92px; | |
| padding: 0 32px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: flex-end; | |
| gap: 20px; | |
| pointer-events: none; | |
| } | |
| .topbar > * { | |
| pointer-events: auto; | |
| } | |
| .header-import { | |
| height: 40px; | |
| padding: 0 15px; | |
| gap: 9px; | |
| border: 1px solid #ffffff21; | |
| border-radius: 11px; | |
| color: #dedfe4; | |
| background: #12141980 ; | |
| font-size: 0.875rem; | |
| font-weight: 450; | |
| box-shadow: none; | |
| } | |
| .header-import:hover { | |
| background: #20242b ; | |
| border-color: #ffffff38; | |
| } | |
| /* The canvas stays full-size; only the renderer's framing moves. */ | |
| :root { | |
| --scene-top: 80px; | |
| --scene-side: 24px; | |
| --scene-bottom: 157px; | |
| --inspector-width: 380px; | |
| --inspector-gap: 24px; | |
| --inspector-height: min( | |
| 360px, | |
| calc((100dvh - var(--scene-top) - var(--scene-bottom)) * 0.52) | |
| ); | |
| } | |
| .scene-area { | |
| position: absolute; | |
| inset: var(--scene-top) var(--scene-side) var(--scene-bottom); | |
| } | |
| .scene-framing { | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: none; | |
| } | |
| .studio[data-inspector-open="true"] .scene-framing { | |
| right: calc(var(--inspector-width) + var(--inspector-gap)); | |
| } | |
| .canvas-host { | |
| position: absolute; | |
| inset: 0; | |
| cursor: grab; | |
| touch-action: none; | |
| transition: opacity 0.2s ease; | |
| } | |
| .canvas-host:active { | |
| cursor: grabbing; | |
| } | |
| .canvas-host canvas { | |
| display: block; | |
| position: absolute; | |
| inset: 0; | |
| width: 100%; | |
| height: 100%; | |
| } | |
| .scene-dock { | |
| position: absolute; | |
| z-index: 20; | |
| bottom: 34px; | |
| left: 0; | |
| right: 0; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 12px; | |
| padding: 0 16px; | |
| pointer-events: none; | |
| } | |
| .dock { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 6px; | |
| min-height: 64px; | |
| max-width: 100%; | |
| padding: 8px 10px; | |
| border: 1px solid #ffffff18; | |
| border-radius: 20px; | |
| background: linear-gradient(145deg, #1b1d23e8, #111419e8); | |
| box-shadow: | |
| 0 12px 50px #0008, | |
| inset 0 1px 0 #ffffff04; | |
| backdrop-filter: blur(24px); | |
| pointer-events: auto; | |
| } | |
| .dock button { | |
| font-size: 0.875rem; | |
| font-weight: 450; | |
| border-radius: 10px; | |
| flex-shrink: 0; | |
| box-shadow: none; | |
| } | |
| .dock .play-button { | |
| width: 38px; | |
| height: 38px; | |
| border-radius: 50%; | |
| background: #ffffff08; | |
| color: #e9edf3; | |
| margin: 0 3px; | |
| } | |
| .play-button svg { | |
| width: 15px; | |
| height: 15px; | |
| stroke-width: 1.3; | |
| } | |
| .dock .play-button:hover { | |
| background: #ffffff15; | |
| } | |
| .dock-divider { | |
| height: 22px; | |
| width: 1px; | |
| flex-shrink: 0; | |
| background: #ffffff12; | |
| margin: 0 5px; | |
| } | |
| .dock-choice { | |
| height: 42px; | |
| padding: 0 13px; | |
| gap: 13px; | |
| color: #cbcdd4; | |
| } | |
| .dock-choice:hover { | |
| background: #ffffff07; | |
| color: #fff; | |
| } | |
| .dock-choice[data-active="true"] { | |
| background: #a7dfff10; | |
| color: #d8efff; | |
| } | |
| .dock-choice[data-active="true"] > svg { | |
| color: #adddff; | |
| } | |
| .dock-label { | |
| display: block; | |
| max-width: 140px; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .dock .adjust-choice { | |
| gap: 9px; | |
| } | |
| .dock .adjust-choice > svg { | |
| color: #a7acb6; | |
| } | |
| .dock .export-button { | |
| height: 40px; | |
| padding: 0 19px; | |
| margin-left: 5px; | |
| gap: 8px; | |
| border-radius: 12px; | |
| background: #f0f2f5; | |
| color: #17191d; | |
| font-weight: 550; | |
| } | |
| .dock .export-button:hover { | |
| background: white; | |
| } | |
| .export-button > svg { | |
| display: none; | |
| } | |
| .depth-hint { | |
| min-height: 42px; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| pointer-events: auto; | |
| } | |
| .reveal-control { | |
| position: relative; | |
| width: 264px; | |
| height: 42px; | |
| } | |
| .depth-control { | |
| position: relative; | |
| width: 100%; | |
| height: 42px; | |
| padding: 4px; | |
| border: 1px solid transparent; | |
| border-radius: 24px; | |
| background: transparent; | |
| color: #919dac; | |
| font-size: 0.8125rem; | |
| font-weight: 400; | |
| user-select: none; | |
| -webkit-user-select: none; | |
| -webkit-touch-callout: none; | |
| touch-action: none; | |
| transition: | |
| background 0.16s ease, | |
| border-color 0.16s ease; | |
| } | |
| .depth-control:hover { | |
| background: #ffffff04; | |
| color: #c4d0df; | |
| } | |
| .depth-control[data-held="true"] { | |
| color: #d2eafb; | |
| border-color: #ffffff12; | |
| background: #151a21; | |
| box-shadow: 0 4px 20px #0004; | |
| } | |
| .reveal-idle { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 8px; | |
| } | |
| .reveal-choices { | |
| width: 100%; | |
| display: grid; | |
| grid-template-columns: 1fr 36px 1fr; | |
| align-items: center; | |
| gap: 3px; | |
| } | |
| .reveal-choice { | |
| height: 32px; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| gap: 10px; | |
| border-radius: 18px; | |
| font-size: 0.8125rem; | |
| background: rgb(164 221 255 / calc(var(--reveal-strength, 0) * 0.22)); | |
| color: color-mix( | |
| in srgb, | |
| #bde9ff calc(var(--reveal-strength, 0) * 100%), | |
| #8795a8 | |
| ); | |
| box-shadow: inset 0 0 0 1px | |
| rgb(164 221 255 / calc(var(--reveal-strength, 0) * 0.5)); | |
| transition: | |
| background 0.12s ease, | |
| color 0.12s ease, | |
| box-shadow 0.12s ease; | |
| } | |
| .reveal-eye { | |
| justify-self: center; | |
| color: #7f91a6; | |
| } | |
| .reveal-caption { | |
| position: absolute; | |
| top: calc(100% + 5px); | |
| left: 50%; | |
| transform: translateX(-50%); | |
| white-space: nowrap; | |
| color: #8896a8; | |
| font-size: 0.6875rem; | |
| line-height: 14px; | |
| pointer-events: none; | |
| } | |
| .depth-control:disabled { | |
| opacity: 0.5; | |
| } | |
| .corner-actions { | |
| position: absolute; | |
| z-index: 15; | |
| right: 25px; | |
| bottom: 40px; | |
| display: flex; | |
| gap: 2px; | |
| } | |
| .corner-actions button { | |
| color: #777f8c; | |
| width: 34px; | |
| height: 34px; | |
| } | |
| .corner-actions button:hover { | |
| color: #d3dbe7; | |
| background: #ffffff07; | |
| } | |
| .exit-focus { | |
| position: absolute; | |
| top: 24px; | |
| right: 24px; | |
| z-index: 40; | |
| background: #14181dcc; | |
| color: #c8d0dc; | |
| font-size: 0.875rem; | |
| } | |
| .focus-mode .topbar, | |
| .focus-mode .scene-dock, | |
| .focus-mode .corner-actions { | |
| display: none; | |
| } | |
| .focus-mode .scene-area { | |
| inset: 25px; | |
| } | |
| .scene-area[data-loading="true"] .canvas-host { | |
| opacity: 0.22; | |
| } | |
| .stage-loading { | |
| position: absolute; | |
| z-index: 5; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| display: flex; | |
| flex-direction: column; | |
| gap: 17px; | |
| align-items: center; | |
| width: min(300px, calc(100vw - 48px)); | |
| padding: 24px; | |
| border: 1px solid #ffffff13; | |
| background: #12171eea; | |
| backdrop-filter: blur(16px); | |
| border-radius: 18px; | |
| box-shadow: 0 12px 48px #0005; | |
| color: #d7e7f5; | |
| text-align: center; | |
| } | |
| .loading-orbit { | |
| position: relative; | |
| display: grid; | |
| place-items: center; | |
| width: 54px; | |
| height: 54px; | |
| color: #a2d8f7; | |
| } | |
| .loading-orbit > span { | |
| position: absolute; | |
| inset: 0; | |
| border: 1px solid #9cddff19; | |
| border-top: 2px solid #9cddff; | |
| border-right-color: #9cddff66; | |
| border-radius: 50%; | |
| animation: loading-orbit 1.1s linear infinite; | |
| } | |
| .loading-orbit > svg { | |
| animation: loading-breathe 1.8s ease-in-out infinite; | |
| } | |
| .loading-label { | |
| display: grid; | |
| gap: 6px; | |
| max-width: 100%; | |
| } | |
| .loading-label strong { | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| } | |
| .loading-label > span { | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| font-size: 0.75rem; | |
| color: #8798ab; | |
| } | |
| @keyframes loading-orbit { | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| @keyframes loading-breathe { | |
| 50% { | |
| opacity: 0.45; | |
| transform: scale(0.9); | |
| } | |
| } | |
| .drop-overlay { | |
| position: fixed; | |
| z-index: 100; | |
| inset: 14px; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 16px; | |
| background: #0c1b2aef; | |
| border: 1px dashed #9cddff; | |
| border-radius: 20px; | |
| color: #bee8ff; | |
| pointer-events: none; | |
| } | |
| .drop-overlay strong { | |
| font-size: 1.5rem; | |
| font-weight: 500; | |
| letter-spacing: -0.03em; | |
| } | |
| .drop-overlay span { | |
| color: #9eabb9; | |
| font-size: 0.875rem; | |
| } | |
| /* One nonmodal inspector; the dock remains fixed and the scene stays interactive. */ | |
| .scene-inspector { | |
| position: fixed; | |
| z-index: 50; | |
| top: var(--scene-top); | |
| right: var(--scene-side); | |
| bottom: var(--scene-bottom); | |
| left: auto; | |
| width: var(--inspector-width); | |
| height: auto; | |
| max-width: none; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0; | |
| padding: 0; | |
| border: 1px solid #ffffff1a; | |
| border-radius: 18px; | |
| background: linear-gradient(145deg, #191d24f5, #11151bf5); | |
| box-shadow: | |
| 0 18px 65px #0007, | |
| inset 0 1px 0 #ffffff05; | |
| backdrop-filter: blur(28px); | |
| outline: none; | |
| --inspector-enter-x: 20px; | |
| --inspector-enter-y: 0px; | |
| } | |
| .scene-inspector[data-state="open"] { | |
| animation: inspector-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) both; | |
| } | |
| .scene-inspector[data-state="closed"] { | |
| animation: inspector-out 0.3s cubic-bezier(0.22, 1, 0.36, 1) both; | |
| pointer-events: none; | |
| } | |
| @keyframes inspector-in { | |
| from { | |
| opacity: 0; | |
| transform: translate(var(--inspector-enter-x), var(--inspector-enter-y)); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translate(0, 0); | |
| } | |
| } | |
| @keyframes inspector-out { | |
| from { | |
| opacity: 1; | |
| transform: translate(0, 0); | |
| } | |
| to { | |
| opacity: 0; | |
| transform: translate(var(--inspector-enter-x), var(--inspector-enter-y)); | |
| } | |
| } | |
| .inspector-header { | |
| flex-shrink: 0; | |
| min-height: 65px; | |
| padding: 21px 54px 18px 22px; | |
| } | |
| .inspector-title { | |
| color: #e4eaf2; | |
| font-size: 1rem; | |
| line-height: 1.5; | |
| font-weight: 500; | |
| letter-spacing: -0.02em; | |
| } | |
| .inspector-close { | |
| position: absolute; | |
| top: 15px; | |
| right: 14px; | |
| width: 34px; | |
| height: 34px; | |
| border-radius: 9px; | |
| color: #8c96a5; | |
| } | |
| .inspector-close:hover { | |
| color: #e6edf5; | |
| background: #ffffff08; | |
| } | |
| .inspector-scroll { | |
| min-height: 0; | |
| overflow-y: auto; | |
| overflow-x: hidden; | |
| padding: 0 22px 20px; | |
| overscroll-behavior: contain; | |
| scrollbar-width: thin; | |
| scrollbar-color: #414a58 transparent; | |
| animation: inspector-section-in 0.16s ease-out; | |
| } | |
| @keyframes inspector-section-in { | |
| from { | |
| opacity: 0.4; | |
| transform: translateY(4px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .model-choice { | |
| width: 158px; | |
| } | |
| .style-choice { | |
| width: 126px; | |
| } | |
| .dock .adjust-choice { | |
| width: 120px; | |
| } | |
| .dock-choice[data-active="true"] { | |
| box-shadow: inset 0 0 0 1px #9cddff26; | |
| } | |
| .panel-section { | |
| padding: 18px 0; | |
| border-bottom: 1px solid #ffffff0b; | |
| } | |
| .panel-section:first-child { | |
| padding-top: 0; | |
| } | |
| .panel-section:last-child { | |
| border-bottom: 0; | |
| } | |
| .panel-section h3 { | |
| font-size: 0.875rem; | |
| color: #b6bbc5; | |
| font-weight: 450; | |
| margin: 0 0 16px; | |
| } | |
| .model-grid { | |
| display: grid; | |
| grid-template-columns: repeat(4, minmax(0, 1fr)); | |
| gap: 9px; | |
| padding: 4px; | |
| margin: -4px; | |
| } | |
| .model-card { | |
| position: relative; | |
| display: flex; | |
| flex-direction: column; | |
| min-width: 0; | |
| min-height: 118px; | |
| padding: 0 6px 10px; | |
| border: 1px solid #ffffff0d; | |
| border-radius: 12px; | |
| background: #17191f; | |
| cursor: pointer; | |
| transition: | |
| background 0.15s ease, | |
| border-color 0.15s ease; | |
| } | |
| .model-card:hover { | |
| background: #1c2028; | |
| border-color: #ffffff22; | |
| } | |
| .model-card[data-selected="true"] { | |
| background: #19232f; | |
| border-color: #89c9f3a0; | |
| } | |
| .model-card:has(:focus-visible) { | |
| outline: 2px solid #9cddff; | |
| outline-offset: 3px; | |
| } | |
| .model-card canvas { | |
| display: block; | |
| width: 100%; | |
| height: 82px; | |
| object-fit: contain; | |
| margin: 3px auto 0; | |
| } | |
| .model-card > span { | |
| font-size: 0.875rem; | |
| line-height: 1.5; | |
| color: #c8cdd7; | |
| text-align: center; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .model-card[data-selected="true"] > span { | |
| color: #e0f2ff; | |
| } | |
| .model-radio { | |
| position: absolute; | |
| right: 9px; | |
| top: 9px; | |
| width: 14px; | |
| height: 14px; | |
| border-color: #667487; | |
| background: transparent ; | |
| opacity: 0; | |
| } | |
| .model-card:hover .model-radio, | |
| .model-card[data-selected="true"] .model-radio, | |
| .model-card:focus-within .model-radio { | |
| opacity: 1; | |
| } | |
| .model-radio[data-state="checked"] { | |
| border-color: #a0dcff; | |
| background: #a0dcff ; | |
| } | |
| .model-radio svg { | |
| width: 5px; | |
| height: 5px; | |
| fill: #142635; | |
| } | |
| .import-dropzone { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| width: 100%; | |
| min-height: 132px; | |
| height: auto; | |
| padding: 20px 12px; | |
| gap: 13px; | |
| border: 1px dashed #ffffff29; | |
| border-radius: 13px; | |
| background: #ffffff02 ; | |
| color: #c6d3e2; | |
| font-weight: 400; | |
| white-space: normal; | |
| } | |
| .import-dropzone > svg { | |
| color: #94aabd; | |
| } | |
| .import-dropzone:hover { | |
| background: #9cddff06 ; | |
| border-color: #96d4fa80; | |
| color: #e1f2ff; | |
| } | |
| .import-dropzone > span { | |
| display: flex; | |
| flex-wrap: wrap; | |
| justify-content: center; | |
| align-items: baseline; | |
| gap: 6px; | |
| font-size: 0.875rem; | |
| } | |
| .import-dropzone small { | |
| color: #8595a8; | |
| font-size: 0.75rem; | |
| font-weight: 400; | |
| } | |
| .import-dropzone .import-formats { | |
| font-size: 0.75rem; | |
| line-height: 1.5; | |
| } | |
| .pose-controls { | |
| display: grid; | |
| gap: 20px; | |
| } | |
| .pose-controls h3 { | |
| margin: 0; | |
| } | |
| .choice { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| min-width: 0; | |
| } | |
| .choice > label { | |
| color: #a9b0bd; | |
| font-size: 0.875rem; | |
| } | |
| .choice > [data-slot="select-trigger"] { | |
| width: 100%; | |
| min-height: 42px; | |
| border-radius: 9px; | |
| border-color: #ffffff15; | |
| background: #1a1e25; | |
| font-size: 0.875rem; | |
| color: #e0e5ed; | |
| box-shadow: none; | |
| } | |
| .choice [data-slot="select-value"] { | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| } | |
| .segments { | |
| display: flex; | |
| width: 100%; | |
| border: 1px solid #ffffff07; | |
| border-radius: 11px; | |
| padding: 4px; | |
| gap: 3px; | |
| background: #1b1e24; | |
| } | |
| .segments [data-slot="toggle-group-item"] { | |
| flex: 1; | |
| min-width: 0; | |
| height: 34px; | |
| padding: 0 8px; | |
| border: 0; | |
| border-radius: 7px ; | |
| color: #8e96a4; | |
| font-size: 0.875rem; | |
| font-weight: 450; | |
| background: transparent; | |
| } | |
| .segments [data-slot="toggle-group-item"]:hover { | |
| background: #ffffff04; | |
| color: #dfe5ee; | |
| } | |
| .segments [data-state="on"] { | |
| background: #343a46 ; | |
| color: #f2f5fa ; | |
| box-shadow: 0 1px 4px #0003; | |
| } | |
| .section-label { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 12px; | |
| margin-bottom: 22px; | |
| } | |
| .section-label h3 { | |
| margin: 0; | |
| } | |
| .section-label > span { | |
| color: #818c9e; | |
| font-size: 0.8125rem; | |
| } | |
| .swatches { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 12px; | |
| padding: 0 3px; | |
| } | |
| .color-swatch { | |
| width: 34px; | |
| height: 34px; | |
| border: 4px solid #171b22; | |
| background: var(--swatch) ; | |
| box-shadow: 0 0 0 1px transparent; | |
| } | |
| .color-swatch:hover { | |
| box-shadow: 0 0 0 1px #ffffff45; | |
| } | |
| .color-swatch[data-state="checked"] { | |
| box-shadow: 0 0 0 1px var(--swatch); | |
| } | |
| .color-swatch [data-slot="radio-group-indicator"] { | |
| display: none; | |
| } | |
| .color-section .segments { | |
| margin-top: 22px; | |
| background: transparent; | |
| border-color: #ffffff10; | |
| } | |
| .color-section .segments [data-slot="toggle-group-item"] { | |
| height: 30px; | |
| font-size: 0.8125rem; | |
| } | |
| .range-control { | |
| margin-bottom: 19px; | |
| } | |
| .range-control:last-child { | |
| margin-bottom: 0; | |
| } | |
| .control-label { | |
| display: flex; | |
| align-items: baseline; | |
| justify-content: space-between; | |
| gap: 12px; | |
| color: #a9b0bd; | |
| font-size: 0.875rem; | |
| margin-bottom: 8px; | |
| } | |
| .control-label output { | |
| color: #b5bdcb; | |
| font-size: 0.8125rem; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .range-control [data-slot="slider"] { | |
| min-height: 20px; | |
| } | |
| .range-control [data-slot="slider-track"] { | |
| height: 3px; | |
| background: #2c313a; | |
| } | |
| .range-control [data-slot="slider-range"] { | |
| background: #b6c5d8; | |
| } | |
| .range-control [data-slot="slider-thumb"] { | |
| width: 12px; | |
| height: 12px; | |
| border: 0; | |
| background: #e1e6ed; | |
| box-shadow: 0 1px 4px #0005; | |
| } | |
| .view-section { | |
| position: relative; | |
| } | |
| .view-section > .reset-button { | |
| position: absolute; | |
| top: 11px; | |
| right: 0; | |
| margin-top: 0; | |
| } | |
| .reset-button { | |
| padding: 0; | |
| height: 36px; | |
| margin-top: 12px; | |
| gap: 9px; | |
| color: #969fad; | |
| font-size: 0.8125rem; | |
| font-weight: 400; | |
| } | |
| .reset-button:hover { | |
| background: transparent; | |
| color: #d9e7f4; | |
| } | |
| .motion-section > .segments { | |
| margin-bottom: 20px; | |
| } | |
| .panel-footer { | |
| display: flex; | |
| justify-content: flex-end; | |
| padding-top: 5px; | |
| } | |
| .panel-footer .reset-button { | |
| margin: 0; | |
| } | |
| .message { | |
| position: fixed; | |
| z-index: 80; | |
| top: 100px; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| width: max-content; | |
| max-width: min(520px, calc(100% - 32px)); | |
| padding: 10px 12px 10px 17px; | |
| background: #182632; | |
| border: 1px solid #527b9566; | |
| border-radius: 12px; | |
| color: #d1e7f7; | |
| box-shadow: 0 8px 30px #0008; | |
| font-size: 0.875rem; | |
| line-height: 1.6; | |
| } | |
| .message.error { | |
| color: #ffd1ce; | |
| background: #301e23; | |
| border-color: #a55f6666; | |
| } | |
| .message button { | |
| flex-shrink: 0; | |
| width: 30px; | |
| height: 30px; | |
| } | |
| .info-dialog, | |
| .export-dialog { | |
| background: #12151b; | |
| padding: 28px; | |
| border-color: #ffffff16; | |
| border-radius: 20px; | |
| max-height: calc(100dvh - 32px); | |
| overflow-y: auto; | |
| } | |
| .info-dialog [data-slot="dialog-title"], | |
| .export-dialog [data-slot="dialog-title"] { | |
| font-size: 1.375rem; | |
| font-weight: 500; | |
| letter-spacing: -0.04em; | |
| } | |
| .info-dialog [data-slot="dialog-description"], | |
| .export-dialog [data-slot="dialog-description"] { | |
| font-size: 0.875rem; | |
| line-height: 1.7; | |
| color: #919ba9; | |
| margin-top: 8px; | |
| } | |
| .info-dialog > p { | |
| font-size: 0.9375rem; | |
| line-height: 1.7; | |
| color: #afb8c6; | |
| margin: 0; | |
| } | |
| .info-dialog b { | |
| font-weight: 500; | |
| color: #d3deeb; | |
| } | |
| .shortcut-note { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 12px 20px; | |
| padding: 14px 0; | |
| border-top: 1px solid #ffffff0d; | |
| color: #929dac; | |
| font-size: 0.8125rem; | |
| } | |
| .shortcut-note > span { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| kbd { | |
| background: #222832; | |
| color: #bccbdb; | |
| padding: 2px 6px; | |
| border: 1px solid #ffffff0b; | |
| border-radius: 4px; | |
| font-family: inherit; | |
| font-size: 0.75rem; | |
| } | |
| .export-options { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 20px 16px; | |
| margin: 10px 0; | |
| } | |
| .export-summary { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 12px 20px; | |
| padding: 16px 0; | |
| border-top: 1px solid #ffffff0e; | |
| border-bottom: 1px solid #ffffff0e; | |
| color: #8995a6; | |
| font-size: 0.8125rem; | |
| } | |
| .render-button { | |
| width: 100%; | |
| min-height: 44px; | |
| background: #eaf1f8; | |
| color: #131c25; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 10px; | |
| font-size: 0.875rem; | |
| font-weight: 550; | |
| border-radius: 10px; | |
| } | |
| .render-button:hover { | |
| background: white; | |
| } | |
| .export-progress { | |
| display: grid; | |
| gap: 16px; | |
| } | |
| .export-progress > div:first-child { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 10px; | |
| color: #b9c7d7; | |
| font-size: 0.875rem; | |
| } | |
| .export-error { | |
| color: #ffbab6; | |
| font-size: 0.875rem; | |
| line-height: 1.65; | |
| } | |
| @media (max-width: 959px) { | |
| .scene-inspector { | |
| top: auto; | |
| left: max(12px, calc((100vw - 520px) / 2)); | |
| right: max(12px, calc((100vw - 520px) / 2)); | |
| bottom: var(--scene-bottom); | |
| width: auto; | |
| height: var(--inspector-height); | |
| --inspector-enter-x: 0px; | |
| --inspector-enter-y: 18px; | |
| } | |
| .studio[data-inspector-open="true"] .scene-framing { | |
| right: 0; | |
| bottom: calc(var(--inspector-height) + 20px); | |
| } | |
| } | |
| @media (max-width: 800px) { | |
| .topbar { | |
| height: 78px; | |
| padding: 0 22px; | |
| } | |
| :root { | |
| --scene-top: 75px; | |
| --scene-side: 14px; | |
| --scene-bottom: 155px; | |
| } | |
| .scene-dock { | |
| bottom: 27px; | |
| } | |
| .corner-actions { | |
| right: 17px; | |
| top: 94px; | |
| bottom: auto; | |
| flex-direction: column; | |
| gap: 4px; | |
| } | |
| .message { | |
| top: 85px; | |
| } | |
| } | |
| @media (max-width: 700px) { | |
| .topbar { | |
| height: 74px; | |
| padding: 0 18px; | |
| } | |
| .header-import { | |
| font-size: 0.8125rem; | |
| height: 37px; | |
| padding: 0 12px; | |
| gap: 7px; | |
| } | |
| .scene-dock { | |
| padding: 0 12px; | |
| bottom: max(23px, env(safe-area-inset-bottom)); | |
| gap: 10px; | |
| } | |
| .dock { | |
| width: 100%; | |
| max-width: 430px; | |
| min-height: 60px; | |
| padding: 7px; | |
| gap: 2px; | |
| border-radius: 17px; | |
| } | |
| .dock .play-button { | |
| width: 34px; | |
| height: 34px; | |
| margin: 0 2px; | |
| } | |
| .dock-divider { | |
| margin: 0 3px; | |
| height: 20px; | |
| } | |
| .secondary-divider { | |
| display: none; | |
| } | |
| .dock-choice { | |
| padding: 0 8px; | |
| gap: 5px; | |
| font-size: 0.8125rem ; | |
| } | |
| .model-choice { | |
| width: auto; | |
| flex: 1 ; | |
| min-width: 0; | |
| } | |
| .style-choice { | |
| width: 104px; | |
| } | |
| .dock-label { | |
| max-width: 114px; | |
| } | |
| .dock .adjust-choice { | |
| width: 34px; | |
| padding: 0; | |
| } | |
| .adjust-choice span { | |
| display: none; | |
| } | |
| .dock .export-button { | |
| padding: 0 13px; | |
| margin-left: 2px; | |
| height: 38px; | |
| font-size: 0.8125rem; | |
| } | |
| .corner-actions { | |
| right: 11px; | |
| top: 89px; | |
| } | |
| :root { | |
| --scene-top: 88px; | |
| --scene-side: 8px; | |
| --scene-bottom: 154px; | |
| } | |
| .model-grid { | |
| gap: 9px; | |
| } | |
| .model-card { | |
| padding: 0 5px 10px; | |
| } | |
| .model-card > span { | |
| font-size: 0.875rem; | |
| } | |
| .color-section .swatches { | |
| justify-content: flex-start; | |
| gap: 21px; | |
| } | |
| .info-dialog, | |
| .export-dialog { | |
| padding: 25px 22px; | |
| } | |
| .export-options { | |
| gap: 18px 12px; | |
| } | |
| .export-summary { | |
| gap: 9px 17px; | |
| } | |
| } | |
| @media (max-width: 380px) { | |
| .dock-choice { | |
| padding: 0 6px; | |
| } | |
| .dock .play-button { | |
| width: 30px; | |
| height: 30px; | |
| } | |
| .dock .export-button { | |
| padding: 0 10px; | |
| } | |
| .dock-label { | |
| max-width: 74px; | |
| } | |
| .model-grid { | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| } | |
| .inspector-scroll { | |
| padding-left: 16px; | |
| padding-right: 16px; | |
| } | |
| .style-choice { | |
| width: 86px; | |
| } | |
| .style-choice > span { | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| } | |
| .dock-divider { | |
| display: none; | |
| } | |
| .dock .adjust-choice { | |
| width: 30px; | |
| } | |
| .color-section .swatches { | |
| justify-content: space-between; | |
| gap: 10px; | |
| } | |
| } | |
| @media (max-height: 580px) and (min-width: 700px) { | |
| .topbar { | |
| height: 70px; | |
| } | |
| :root { | |
| --scene-top: 55px; | |
| --scene-bottom: 116px; | |
| --inspector-width: 320px; | |
| --inspector-gap: 16px; | |
| } | |
| .scene-inspector { | |
| top: var(--scene-top); | |
| right: var(--scene-side); | |
| bottom: var(--scene-bottom); | |
| left: auto; | |
| width: var(--inspector-width); | |
| height: auto; | |
| --inspector-enter-x: 20px; | |
| --inspector-enter-y: 0px; | |
| } | |
| .studio[data-inspector-open="true"] .scene-framing { | |
| right: calc(var(--inspector-width) + var(--inspector-gap)); | |
| bottom: 0; | |
| } | |
| .model-grid { | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| } | |
| .scene-dock { | |
| bottom: 24px; | |
| gap: 5px; | |
| } | |
| .corner-actions { | |
| top: auto; | |
| bottom: 23px; | |
| flex-direction: row; | |
| } | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| scroll-behavior: auto ; | |
| transition: none ; | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| } | |
| } | |
| .local-library .section-label { | |
| margin-bottom: 12px; | |
| } | |
| .saved-models { | |
| display: grid; | |
| gap: 5px; | |
| max-height: 206px; | |
| overflow-y: auto; | |
| overscroll-behavior: contain; | |
| padding: 2px; | |
| margin: 0 -2px; | |
| scrollbar-width: thin; | |
| scrollbar-color: #424d5e transparent; | |
| border-radius: 9px; | |
| } | |
| .saved-models:focus-visible { | |
| outline: 1px solid #9cddff80; | |
| outline-offset: 2px; | |
| } | |
| .saved-model-row { | |
| display: flex; | |
| align-items: center; | |
| min-width: 0; | |
| gap: 2px; | |
| border: 1px solid transparent; | |
| border-radius: 10px; | |
| background: #ffffff03; | |
| } | |
| .saved-model-row[data-selected="true"] { | |
| background: #9cddff0c; | |
| border-color: #9cddff38; | |
| } | |
| .saved-model-select { | |
| flex: 1; | |
| min-width: 0; | |
| height: 70px; | |
| padding: 5px 9px; | |
| gap: 11px; | |
| justify-content: flex-start; | |
| color: #bbc8d7; | |
| font-weight: 400; | |
| } | |
| .saved-model-select:hover { | |
| background: #ffffff03; | |
| } | |
| .saved-model-select > img { | |
| width: 72px; | |
| height: 54px; | |
| object-fit: contain; | |
| flex-shrink: 0; | |
| } | |
| .saved-model-name { | |
| flex: 1; | |
| min-width: 0; | |
| text-align: left; | |
| display: grid; | |
| gap: 4px; | |
| } | |
| .saved-model-name strong { | |
| display: block; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| font-size: 0.875rem; | |
| font-weight: 450; | |
| color: #d5dfeb; | |
| } | |
| .saved-model-name small { | |
| font-size: 0.75rem; | |
| color: #8491a3; | |
| } | |
| .remove-model { | |
| width: 32px; | |
| height: 32px; | |
| color: #768395; | |
| margin-right: 5px; | |
| flex-shrink: 0; | |
| } | |
| .remove-model:hover { | |
| color: #ffb7b5; | |
| background: #ffaaaa0b; | |
| } | |
| .library-empty { | |
| font-size: 0.8125rem; | |
| color: #8f9caf; | |
| line-height: 1.6; | |
| margin: 0; | |
| } | |
| .library-error { | |
| font-size: 0.8125rem; | |
| color: #ffc6a3; | |
| line-height: 1.6; | |
| margin: 10px 0 0; | |
| } | |