Download web/src/styles/studio.css from Azamaka/carprint: direct link, hf CLI and curl.
- Browser
- Download file 16.3 kB
-
https://huggingface.co/spaces/Azamaka/carprint/resolve/main/web/src/styles/studio.css
- Command line
-
hf download hf://spaces/Azamaka/carprint/web/src/styles/studio.css
-
curl -L -o studio.css https://huggingface.co/spaces/Azamaka/carprint/resolve/main/web/src/styles/studio.css
16.3 kB
| .studio { | |
| min-height: 100svh; | |
| background: var(--paper); | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .studio__bar { | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| gap: var(--s-5); | |
| padding: 0 var(--gutter); | |
| min-height: 64px; | |
| background: var(--ink); | |
| color: var(--ink-text); | |
| } | |
| .studio__tabs { | |
| display: flex; | |
| gap: 4px; | |
| margin-left: var(--s-5); | |
| } | |
| .studio__tabs button { | |
| border: 0; | |
| background: transparent; | |
| color: var(--ink-muted); | |
| padding: 22px 14px 20px; | |
| font-size: 15px; | |
| border-bottom: 2px solid transparent; | |
| } | |
| .studio__tabs button[aria-selected="true"] { | |
| color: var(--ink-text); | |
| border-bottom-color: var(--signal); | |
| } | |
| .studio__bar-right { | |
| margin-left: auto; | |
| display: flex; | |
| align-items: center; | |
| gap: var(--s-4); | |
| } | |
| .studio__home { | |
| color: var(--ink-muted); | |
| font-size: 14px; | |
| text-decoration: none; | |
| } | |
| .studio__home:hover { | |
| color: var(--ink-text); | |
| } | |
| .studio__main { | |
| flex: 1 1 auto; | |
| } | |
| /* ---------- quick check ---------- */ | |
| .quick, | |
| .plan { | |
| padding-top: var(--s-8); | |
| padding-bottom: var(--s-9); | |
| } | |
| .quick__head { | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: flex-end; | |
| justify-content: space-between; | |
| gap: var(--s-5); | |
| } | |
| .quick__intro { | |
| margin-top: 16px; | |
| max-width: 640px; | |
| font-size: 17px; | |
| } | |
| .quick__drops { | |
| margin-top: var(--s-7); | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: var(--s-5); | |
| } | |
| .drop { | |
| background: var(--sheet); | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius); | |
| padding: 20px; | |
| transition: border-color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease); | |
| } | |
| .drop.is-over { | |
| border-color: var(--signal); | |
| background: #fff8f4; | |
| } | |
| .drop__head { | |
| display: flex; | |
| align-items: baseline; | |
| justify-content: space-between; | |
| gap: 12px; | |
| } | |
| .drop__title { | |
| font-size: 22px; | |
| font-weight: 600; | |
| letter-spacing: -0.01em; | |
| } | |
| .drop__empty { | |
| margin-top: 16px; | |
| width: 100%; | |
| min-height: 240px; | |
| border: 1px dashed #bdbab2; | |
| background: var(--paper-2); | |
| border-radius: var(--radius); | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 10px; | |
| color: var(--text-2); | |
| font-size: 16px; | |
| } | |
| .drop__empty:hover { | |
| border-color: var(--text); | |
| } | |
| .drop__grid { | |
| margin-top: 16px; | |
| display: grid; | |
| grid-template-columns: repeat(4, minmax(0, 1fr)); | |
| gap: 8px; | |
| } | |
| .drop__thumb { | |
| position: relative; | |
| aspect-ratio: 4 / 3; | |
| background: var(--paper-2); | |
| } | |
| .drop__thumb img { | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| } | |
| .drop__thumb button { | |
| position: absolute; | |
| top: 4px; | |
| right: 4px; | |
| width: 28px; | |
| height: 28px; | |
| border: 0; | |
| border-radius: 50%; | |
| background: rgba(12, 13, 15, 0.7); | |
| color: var(--ink-text); | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .drop__add { | |
| width: 100%; | |
| aspect-ratio: 4 / 3; | |
| border: 1px dashed #bdbab2; | |
| background: transparent; | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .quick__run { | |
| margin-top: var(--s-5); | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: flex-end; | |
| justify-content: space-between; | |
| gap: var(--s-5); | |
| } | |
| .field { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 8px; | |
| border: 0; | |
| padding: 0; | |
| margin: 0; | |
| } | |
| .field select, | |
| .field input { | |
| height: 48px; | |
| min-width: 280px; | |
| padding: 0 14px; | |
| border: 1px solid #c9c7c0; | |
| border-radius: var(--radius); | |
| background: var(--sheet); | |
| font-size: 16px; | |
| } | |
| .field select:focus, | |
| .field input:focus { | |
| border-color: var(--text); | |
| outline: none; | |
| } | |
| .alert { | |
| margin-top: var(--s-5); | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 14px 16px; | |
| border: 1px solid var(--different); | |
| color: var(--different-text); | |
| background: #fff5f6; | |
| font-size: 15px; | |
| } | |
| .quick__lang-note { | |
| margin-top: var(--s-5); | |
| } | |
| /* honest progress */ | |
| .progress { | |
| margin-top: var(--s-6); | |
| border: 1px solid var(--line); | |
| background: var(--sheet); | |
| padding: 20px 24px; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .progress__scan { | |
| position: absolute; | |
| inset: 0 0 auto 0; | |
| height: 2px; | |
| background: var(--line-soft); | |
| } | |
| .progress__scan span { | |
| position: absolute; | |
| top: 0; | |
| height: 2px; | |
| width: 30%; | |
| background: var(--signal); | |
| animation: sweep 1.4s var(--ease-in-out) infinite; | |
| } | |
| @keyframes sweep { | |
| from { | |
| left: -30%; | |
| } | |
| to { | |
| left: 100%; | |
| } | |
| } | |
| .progress__stages { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px 24px; | |
| font-size: 15px; | |
| color: var(--faint); | |
| } | |
| .progress__stages li { | |
| display: inline-flex; | |
| gap: 8px; | |
| align-items: baseline; | |
| transition: color var(--t-mid) var(--ease); | |
| } | |
| .progress__stages .mono { | |
| font-size: 11px; | |
| } | |
| .progress__stages li.is-done { | |
| color: var(--text); | |
| } | |
| .progress__stages li.is-now { | |
| color: var(--signal-text); | |
| } | |
| .progress__time { | |
| display: block; | |
| margin-top: 12px; | |
| font-size: 12px; | |
| color: var(--muted); | |
| } | |
| /* ---------- result ---------- */ | |
| .result { | |
| display: grid; | |
| grid-template-columns: 260px minmax(0, 1fr) 380px; | |
| min-height: calc(100svh - 64px); | |
| } | |
| .result__frames { | |
| border-right: 1px solid var(--line); | |
| background: var(--paper-2); | |
| padding: 24px 20px 32px; | |
| } | |
| .frames + .frames { | |
| margin-top: 28px; | |
| } | |
| .frames ul { | |
| margin-top: 12px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 8px; | |
| } | |
| .frames li { | |
| display: grid; | |
| grid-template-columns: 64px minmax(0, 1fr); | |
| grid-template-rows: auto auto; | |
| column-gap: 12px; | |
| align-items: center; | |
| padding-bottom: 8px; | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .frames img, | |
| .frames__ph { | |
| grid-row: 1 / span 2; | |
| width: 64px; | |
| height: 48px; | |
| object-fit: cover; | |
| background: var(--line-soft); | |
| } | |
| .frames__slot { | |
| font-size: 14px; | |
| font-weight: 500; | |
| } | |
| .frames__q { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| font-size: 11px; | |
| color: var(--ok); | |
| } | |
| .frames__q.is-bad { | |
| color: var(--review-text); | |
| } | |
| .result__integrity { | |
| margin-top: 20px; | |
| } | |
| .result__center { | |
| padding: 24px 28px 40px; | |
| min-width: 0; | |
| } | |
| .result__toolbar { | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 12px; | |
| } | |
| .result__meta { | |
| font-size: 12px; | |
| color: var(--muted); | |
| } | |
| .seg { | |
| display: inline-flex; | |
| border: 1px solid #c9c7c0; | |
| border-radius: var(--radius); | |
| } | |
| .seg button { | |
| border: 0; | |
| background: transparent; | |
| padding: 9px 14px; | |
| font-size: 14px; | |
| } | |
| .seg button + button { | |
| border-left: 1px solid #c9c7c0; | |
| } | |
| .seg button[aria-selected="true"], | |
| .seg button[aria-pressed="true"] { | |
| background: var(--text); | |
| color: var(--paper); | |
| } | |
| .result__viewer { | |
| margin-top: 16px; | |
| background: var(--ink); | |
| border-radius: var(--radius); | |
| padding: 10px; | |
| min-height: 360px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .result__empty { | |
| color: var(--ink-muted); | |
| font-size: 15px; | |
| padding: 40px; | |
| text-align: center; | |
| max-width: 480px; | |
| } | |
| .result__pairs { | |
| margin-top: 14px; | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| } | |
| .result__pairs button { | |
| border: 1px solid #c9c7c0; | |
| background: var(--sheet); | |
| border-radius: var(--radius); | |
| padding: 8px 12px; | |
| font-size: 13px; | |
| } | |
| .result__pairs button[aria-pressed="true"] { | |
| background: var(--text); | |
| color: var(--paper); | |
| border-color: var(--text); | |
| } | |
| .slider { | |
| position: relative; | |
| width: 100%; | |
| user-select: none; | |
| touch-action: none; | |
| cursor: ew-resize; | |
| } | |
| .slider img { | |
| width: 100%; | |
| height: auto; | |
| display: block; | |
| } | |
| .slider__after { | |
| position: absolute; | |
| inset: 0; | |
| height: 100% ; | |
| object-fit: fill; | |
| } | |
| .slider__divider { | |
| position: absolute; | |
| top: 0; | |
| bottom: 0; | |
| width: 2px; | |
| margin-left: -1px; | |
| background: var(--ink-text); | |
| } | |
| .slider__knob { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| width: 40px; | |
| height: 40px; | |
| margin: -20px 0 0 -20px; | |
| border-radius: 50%; | |
| background: var(--ink-text); | |
| color: var(--ink); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .slider__tag { | |
| position: absolute; | |
| top: 12px; | |
| font-size: 11px; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| color: var(--ink-text); | |
| background: rgba(12, 13, 15, 0.6); | |
| padding: 6px 8px; | |
| } | |
| .slider__tag--left { | |
| left: 12px; | |
| } | |
| .slider__tag--right { | |
| right: 12px; | |
| } | |
| .slider__range { | |
| position: absolute; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| width: 100%; | |
| opacity: 0; | |
| height: 32px; | |
| cursor: ew-resize; | |
| } | |
| .slider__range:focus-visible { | |
| opacity: 0.6; | |
| } | |
| .timeline { | |
| margin-top: 28px; | |
| border-top: 1px solid var(--text); | |
| } | |
| .timeline__head { | |
| display: flex; | |
| justify-content: space-between; | |
| padding: 14px 0; | |
| } | |
| .timeline__empty { | |
| color: var(--muted); | |
| font-size: 15px; | |
| padding: 8px 0; | |
| } | |
| .timeline__grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); | |
| border-top: 1px solid var(--line); | |
| } | |
| .timeline__grid li { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: flex-start; | |
| gap: 8px; | |
| padding: 16px 16px 16px 0; | |
| border-bottom: 1px solid var(--line); | |
| font-size: 14px; | |
| color: var(--muted); | |
| } | |
| .timeline__grid strong { | |
| color: var(--text); | |
| font-size: 15px; | |
| } | |
| .result__side { | |
| border-left: 1px solid var(--line); | |
| background: var(--sheet); | |
| padding: 28px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 18px; | |
| } | |
| .verdict { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| font-size: 30px; | |
| line-height: 1.1; | |
| font-weight: 600; | |
| letter-spacing: -0.02em; | |
| } | |
| .verdict svg { | |
| flex: 0 0 auto; | |
| } | |
| .verdict--same svg { | |
| color: var(--same); | |
| } | |
| .verdict--review svg, | |
| .verdict--recapture_required svg { | |
| color: var(--review); | |
| } | |
| .verdict--different svg { | |
| color: var(--different); | |
| } | |
| .reasons { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| font-size: 15px; | |
| line-height: 1.5; | |
| color: var(--text-2); | |
| } | |
| .reasons li { | |
| padding-left: 14px; | |
| position: relative; | |
| } | |
| .reasons li::before { | |
| content: ""; | |
| position: absolute; | |
| left: 0; | |
| top: 0.7em; | |
| width: 6px; | |
| height: 1px; | |
| background: var(--text); | |
| } | |
| .result__facts { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| font-size: 11px; | |
| } | |
| .result__facts span { | |
| padding: 5px 8px; | |
| border: 1px solid var(--line); | |
| } | |
| .result__cost .cost { | |
| border: 0; | |
| border-top: 1px solid var(--line); | |
| border-radius: 0; | |
| } | |
| .result__cost .cost__head, | |
| .result__cost .cost__strip, | |
| .result__cost .cost__foot { | |
| padding-left: 0; | |
| padding-right: 0; | |
| } | |
| .result__cost .cost__value { | |
| font-size: 32px; | |
| } | |
| .result__cost .cost__table th:first-child, | |
| .result__cost .cost__table td:first-child { | |
| padding-left: 0; | |
| } | |
| .result__cost .cost__table th:last-child, | |
| .result__cost .cost__table td:last-child { | |
| padding-right: 0; | |
| } | |
| .result__nocost { | |
| font-size: 15px; | |
| color: var(--muted); | |
| padding-top: 16px; | |
| border-top: 1px solid var(--line); | |
| } | |
| .result__actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| } | |
| /* ---------- guided inspection ---------- */ | |
| .plan__form { | |
| margin-top: var(--s-6); | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: flex-end; | |
| gap: var(--s-5); | |
| } | |
| .plan__top { | |
| display: flex; | |
| flex-wrap: wrap; | |
| justify-content: space-between; | |
| align-items: baseline; | |
| gap: 12px; | |
| } | |
| .plan__progress { | |
| margin-top: 16px; | |
| display: grid; | |
| grid-template-columns: repeat(9, minmax(0, 1fr)); | |
| gap: 4px; | |
| } | |
| .plan__progress span { | |
| height: 3px; | |
| background: var(--line); | |
| } | |
| .plan__progress .is-done { | |
| background: var(--signal); | |
| } | |
| .plan__progress .is-bad { | |
| background: var(--review); | |
| } | |
| .plan__grid { | |
| margin-top: var(--s-6); | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); | |
| gap: var(--s-5); | |
| } | |
| .shot { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| } | |
| .shot__frame { | |
| position: relative; | |
| aspect-ratio: 4 / 3; | |
| background: var(--ink-2); | |
| color: var(--ink-muted); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| overflow: hidden; | |
| } | |
| .shot__frame img { | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| } | |
| .silhouette { | |
| width: 82%; | |
| } | |
| .shot__num { | |
| position: absolute; | |
| left: 10px; | |
| top: 8px; | |
| font-size: 11px; | |
| color: var(--ink-text); | |
| } | |
| .shot__text { | |
| font-size: 15px; | |
| line-height: 1.4; | |
| } | |
| .shot__status { | |
| font-size: 12px; | |
| min-height: 16px; | |
| } | |
| .shot__status .is-ok { | |
| color: var(--ok); | |
| display: inline-flex; | |
| gap: 6px; | |
| align-items: center; | |
| } | |
| .shot__status .is-bad { | |
| color: var(--review-text); | |
| display: inline-flex; | |
| gap: 6px; | |
| align-items: center; | |
| } | |
| .shot__btn { | |
| align-self: flex-start; | |
| cursor: pointer; | |
| } | |
| .plan__finish { | |
| margin-top: var(--s-6); | |
| } | |
| .plan__after { | |
| margin-top: var(--s-7); | |
| display: grid; | |
| grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); | |
| gap: var(--s-6); | |
| align-items: start; | |
| } | |
| .plan__compare { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 14px; | |
| align-items: flex-start; | |
| } | |
| .plan__compare ul { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 8px; | |
| } | |
| @media (max-width: 1180px) { | |
| .result { | |
| grid-template-columns: minmax(0, 1fr) 360px; | |
| } | |
| .result__frames { | |
| grid-column: 1 / -1; | |
| border-right: 0; | |
| border-bottom: 1px solid var(--line); | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: var(--s-5); | |
| } | |
| .frames + .frames { | |
| margin-top: 0; | |
| } | |
| } | |
| @media (max-width: 860px) { | |
| .quick__drops, | |
| .plan__after { | |
| grid-template-columns: minmax(0, 1fr); | |
| } | |
| .result { | |
| grid-template-columns: minmax(0, 1fr); | |
| } | |
| .result__side { | |
| border-left: 0; | |
| border-top: 1px solid var(--line); | |
| } | |
| .result__frames { | |
| grid-template-columns: minmax(0, 1fr); | |
| } | |
| .studio__tabs { | |
| order: 3; | |
| width: 100%; | |
| margin-left: 0; | |
| } | |
| .studio__tabs button { | |
| padding: 12px 10px; | |
| } | |
| .field select, | |
| .field input { | |
| min-width: 0; | |
| width: 100%; | |
| } | |
| .quick__run .field { | |
| flex: 1 1 100%; | |
| } | |
| } | |
| .result__overlay { | |
| width: 100%; | |
| height: auto; | |
| display: block; | |
| } | |
| .timeline__check { | |
| font-style: normal; | |
| color: var(--signal-text); | |
| } | |
| .findings { | |
| grid-column: 1 / -1; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 14px; | |
| } | |
| .findings__grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); | |
| gap: var(--s-5, 24px); | |
| } | |
| .findings__grid > li { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| position: relative; | |
| } | |
| .findings__grid img { | |
| width: 100%; | |
| height: auto; | |
| display: block; | |
| border: 1px solid var(--line); | |
| } | |
| .findings__slot { | |
| position: absolute; | |
| top: 8px; | |
| left: 8px; | |
| padding: 2px 8px; | |
| background: var(--ink); | |
| color: var(--ink-text); | |
| font-size: 12px; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .findings__list li { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 2px; | |
| padding: 10px 0; | |
| border-bottom: 1px solid var(--line); | |
| font-size: 14px; | |
| color: var(--muted); | |
| } | |
| .findings__list strong { | |
| color: var(--text); | |
| font-size: 15px; | |
| } | |
| .examples { | |
| padding-top: var(--s-7, 48px); | |
| padding-bottom: var(--s-8, 64px); | |
| } | |
| .examples__grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); | |
| gap: var(--s-5, 24px); | |
| margin: var(--s-6, 32px) 0; | |
| } | |
| .examples__grid > li { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: flex-start; | |
| gap: 8px; | |
| padding-bottom: 12px; | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .examples__grid > li.is-active { | |
| border-bottom-color: var(--signal); | |
| } | |
| .examples__grid img { | |
| width: 100%; | |
| aspect-ratio: 4 / 3; | |
| object-fit: cover; | |
| display: block; | |
| border: 1px solid var(--line); | |
| } | |