Spaces:
Sleeping
Sleeping
| :root { | |
| --background: 0 0% 100%; | |
| --foreground: 222.2 84% 4.9%; | |
| --card: 0 0% 100%; | |
| --card-foreground: 222.2 84% 4.9%; | |
| --popover: 0 0% 100%; | |
| --popover-foreground: 222.2 84% 4.9%; | |
| --primary: 221.2 83.2% 53.3%; | |
| --primary-foreground: 210 40% 98%; | |
| --secondary: 210 40% 96.1%; | |
| --secondary-foreground: 222.2 47.4% 11.2%; | |
| --muted: 210 40% 96.1%; | |
| --muted-foreground: 215.4 16.3% 46.9%; | |
| --accent: 210 40% 96.1%; | |
| --accent-foreground: 222.2 47.4% 11.2%; | |
| --destructive: 0 84.2% 60.2%; | |
| --destructive-foreground: 210 40% 98%; | |
| --border: 214.3 31.8% 91.4%; | |
| --input: 214.3 31.8% 91.4%; | |
| --ring: 221.2 83.2% 53.3%; | |
| --radius: 0.5rem; | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", | |
| Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", | |
| "Helvetica Neue", sans-serif; | |
| background-color: hsl(var(--background)); | |
| color: hsl(var(--foreground)); | |
| line-height: 1.5; | |
| min-height: 100vh; | |
| transition: background-color 0.2s; | |
| overflow-y: scroll; | |
| } | |
| .container { | |
| max-width: 1400px; | |
| margin: 0 auto; | |
| padding: 1rem; | |
| } | |
| header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 1rem 0; | |
| border-bottom: 1px solid hsl(var(--border)); | |
| margin-bottom: 2rem; | |
| } | |
| h1 { | |
| font-size: 1.5rem; | |
| font-weight: 600; | |
| } | |
| .grid { | |
| display: grid; | |
| gap: 1.5rem; | |
| } | |
| .grid-cols-2 { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .mb-2 { | |
| margin-bottom: 2rem; | |
| } | |
| .card { | |
| background-color: hsl(var(--card)); | |
| border: 1px solid hsl(var(--border)); | |
| border-radius: var(--radius); | |
| padding: 1.5rem; | |
| box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); | |
| } | |
| .card-header { | |
| margin-bottom: 1rem; | |
| } | |
| .card-title { | |
| font-size: 1.25rem; | |
| font-weight: 600; | |
| margin-bottom: 0.5rem; | |
| } | |
| .card-description { | |
| color: hsl(var(--muted-foreground)); | |
| font-size: 0.875rem; | |
| } | |
| .preview-area { | |
| position: relative; | |
| width: 100%; | |
| height: 300px; | |
| border: 2px dashed hsl(var(--border)); | |
| border-radius: var(--radius); | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| overflow: hidden; | |
| margin-bottom: 1rem; | |
| } | |
| .text-output-area { | |
| width: 100%; | |
| height: 500px; | |
| border: 2px dashed hsl(var(--border)); | |
| border-radius: var(--radius); | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| overflow: scroll; | |
| } | |
| .preview-area.has-image { | |
| border: none; | |
| } | |
| .preview-area img { | |
| max-width: 100%; | |
| max-height: 100%; | |
| object-fit: contain; | |
| } | |
| .preview-placeholder { | |
| text-align: center; | |
| color: hsl(var(--muted-foreground)); | |
| } | |
| .preview-placeholder svg { | |
| width: 3rem; | |
| height: 3rem; | |
| margin-bottom: 1rem; | |
| color: hsl(var(--muted-foreground)); | |
| } | |
| .btn { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| border-radius: var(--radius); | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| transition: all 0.2s; | |
| padding: 0.5rem 1rem; | |
| cursor: pointer; | |
| border: 1px solid transparent; | |
| } | |
| .btn-primary { | |
| background-color: hsl(var(--primary)); | |
| color: hsl(var(--primary-foreground)); | |
| } | |
| .btn-primary:hover { | |
| background-color: hsl(var(--primary) / 0.9); | |
| } | |
| .btn-secondary { | |
| background-color: hsl(var(--secondary)); | |
| color: hsl(var(--secondary-foreground)); | |
| border-color: hsl(var(--border)); | |
| } | |
| .btn-secondary:hover { | |
| background-color: hsl(var(--secondary) / 0.9); | |
| } | |
| .btn-group { | |
| display: flex; | |
| gap: 0.5rem; | |
| } | |
| .tabs { | |
| display: flex; | |
| border-bottom: 1px solid hsl(var(--border)); | |
| margin-bottom: 1rem; | |
| } | |
| .tab { | |
| padding: 0.5rem 1rem; | |
| cursor: pointer; | |
| border-bottom: 2px solid transparent; | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| color: hsl(var(--muted-foreground)); | |
| } | |
| .tab.active { | |
| color: hsl(var(--primary)); | |
| border-bottom-color: hsl(var(--primary)); | |
| } | |
| .results { | |
| margin-top: 1rem; | |
| border-top: 1px solid hsl(var(--border)); | |
| padding-top: 1rem; | |
| } | |
| .result-item { | |
| padding: 0.5rem; | |
| border-radius: var(--radius); | |
| margin-bottom: 0.5rem; | |
| background-color: hsl(var(--secondary)); | |
| } | |
| .result-label { | |
| font-weight: 500; | |
| } | |
| .result-confidence { | |
| color: hsl(var(--muted-foreground)); | |
| font-size: 0.75rem; | |
| } | |
| .bounding-box { | |
| position: absolute; | |
| border: 2px solid hsl(var(--primary)); | |
| background-color: hsl(var(--primary) / 0.2); | |
| } | |
| /* Updated tabs styling for collapsible applications */ | |
| .applications-container { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| margin-bottom: 1rem; | |
| } | |
| .application-tab { | |
| border: 1px solid hsl(var(--border)); | |
| border-radius: var(--radius); | |
| overflow: hidden; | |
| } | |
| .application-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 0.75rem 1rem; | |
| background-color: hsl(var(--secondary)); | |
| cursor: pointer; | |
| user-select: none; | |
| } | |
| .application-header:hover { | |
| background-color: hsl(var(--secondary) / 0.9); | |
| } | |
| .application-title { | |
| font-weight: 500; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .application-icon { | |
| width: 1.25rem; | |
| height: 1.25rem; | |
| } | |
| .application-content { | |
| padding: 0 1rem; | |
| max-height: 0; | |
| overflow: hidden; | |
| transition: max-height 0.1s ease-out; | |
| } | |
| .application-tab.active .application-content { | |
| padding: 1rem; | |
| max-height: 2000px; | |
| transition: max-height 0.2s ease-in; | |
| } | |
| .application-arrow { | |
| transition: transform 0.2s ease; | |
| } | |
| .application-tab.active .application-arrow { | |
| transform: rotate(180deg); | |
| } | |
| /* -- */ | |
| @media (max-width: 768px) { | |
| .grid-cols-2 { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| .input-group { | |
| margin-bottom: 4px; | |
| } | |
| .input-group label { | |
| display: block; | |
| margin-bottom: 4px; | |
| font-weight: 500; | |
| font-size: 0.875rem; | |
| color: var(--foreground); | |
| } | |
| .input-group input { | |
| width: 100%; | |
| padding: 10px 12px; | |
| font-size: 0.9375rem; | |
| border: 1px solid hsl(var(--border)); | |
| border-radius: var(--radius); | |
| transition: var(--transition); | |
| box-shadow: var(--shadow-sm); | |
| } | |
| .input-group input::placeholder { | |
| color: #9ca3af; /* Placeholder text color */ | |
| } | |
| .input-group input:focus { | |
| outline: none; | |
| border-color: #6b7280; | |
| box-shadow: var(--shadow-focus), var(--shadow-sm); | |
| } | |
| .helper-text { | |
| margin-top: 6px; | |
| font-size: 0.75rem; | |
| color: #6b7280; /* Muted gray for helper text */ | |
| } | |
| .hidden { | |
| display: none; | |
| } | |
| .confidence-slider input[type="range"] { | |
| width: 100%; | |
| appearance: none; | |
| height: 6px; | |
| background: hsl(var(--border)); | |
| border-radius: var(--radius); | |
| outline: none; | |
| transition: background 0.2s; | |
| } | |
| .confidence-slider input[type="range"]::-webkit-slider-thumb { | |
| appearance: none; | |
| width: 16px; | |
| height: 16px; | |
| border-radius: 50%; | |
| background: hsl(var(--primary)); | |
| cursor: pointer; | |
| transition: background 0.2s; | |
| } | |
| .confidence-slider input[type="range"]::-webkit-slider-thumb:hover { | |
| background: hsl(var(--primary) / 0.9); | |
| } | |
| /* Sample images collapsible section */ | |
| .sample-images-container { | |
| border-top: 1px solid hsl(var(--border)); | |
| margin-top: 1rem; | |
| } | |
| .collapsible-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 0.75rem 0; | |
| cursor: pointer; | |
| font-weight: 500; | |
| user-select: none; | |
| } | |
| .collapsible-header:hover { | |
| color: hsl(var(--primary)); | |
| } | |
| .transition-transform { | |
| transition: transform 0.2s ease; | |
| } | |
| .rotate-180 { | |
| transform: rotate(180deg); | |
| } | |
| .sample-images-content { | |
| padding-bottom: 0.5rem; | |
| } | |
| .sample-image-grid { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 1rem; | |
| } | |
| .sample-image { | |
| cursor: pointer; | |
| text-align: center; | |
| transition: transform 0.2s; | |
| } | |
| .sample-image:hover { | |
| transform: scale(1.05); | |
| } | |
| .sample-image-thumb { | |
| width: 80px; | |
| height: 80px; | |
| border-radius: var(--radius); | |
| overflow: hidden; | |
| border: 1px solid hsl(var(--border)); | |
| margin-bottom: 0.25rem; | |
| } | |
| .sample-image-thumb img { | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| } | |
| .sample-image p { | |
| font-size: 0.75rem; | |
| margin-top: 0.25rem; | |
| } | |
| .mt-2 { | |
| margin-top: 2rem; | |
| } | |