Spaces:
Sleeping
Sleeping
| /* ===== Mobile Responsive (< 768px) ===== */ | |
| /* ββ Global ββ */ | |
| @media (max-width: 768px) { | |
| html { font-size: 18px; } | |
| /* Header */ | |
| .page-header { | |
| padding: 8px 12px; | |
| min-height: 44px; | |
| gap: 6px; | |
| } | |
| .page-header h2 { | |
| font-size: 0.95rem; | |
| white-space: nowrap; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| min-width: 0; | |
| flex-shrink: 1; | |
| } | |
| .header-right { | |
| gap: 6px; | |
| flex-shrink: 0; | |
| } | |
| .anlas-display { | |
| font-size: 0.72rem; | |
| padding: 3px 6px; | |
| } | |
| .header-logout-btn { | |
| font-size: 0.85rem; | |
| padding: 2px 4px; | |
| } | |
| .queue-status { | |
| display: none; | |
| } | |
| /* Sidebar */ | |
| .sidebar { | |
| width: 260px; | |
| } | |
| .sidebar-overlay.active { | |
| display: block; | |
| } | |
| /* ββ Generate Page ββ */ | |
| .gen-layout { | |
| flex-direction: column; | |
| } | |
| .gen-params { | |
| width: 100% ; | |
| max-width: none ; | |
| min-width: 0 ; | |
| max-height: none; | |
| border-right: none; | |
| flex: 0 0 auto; | |
| max-height: 55%; | |
| overflow: hidden; | |
| } | |
| /* Make params scrollable with limited initial height, | |
| expandable via a toggle */ | |
| .gen-params-scroll { | |
| padding: 12px; | |
| overflow-y: auto; | |
| } | |
| .gen-resizer { | |
| display: none ; | |
| } | |
| .gen-result { | |
| min-height: 200px; | |
| flex: 1 1 0%; | |
| } | |
| .gen-result-image { | |
| padding: 8px; | |
| } | |
| .gen-result-info { | |
| padding: 8px 12px; | |
| max-height: 120px; | |
| } | |
| /* Seed row */ | |
| .seed-row { | |
| flex-wrap: nowrap; | |
| } | |
| .seed-row .form-input { | |
| min-width: 0; | |
| } | |
| /* Collapsible sections */ | |
| .collapsible-content.open { | |
| max-height: 8000px; | |
| } | |
| /* Generate button */ | |
| .btn-generate { | |
| padding: 14px; | |
| font-size: 1.05rem; | |
| position: sticky; | |
| bottom: 0; | |
| z-index: 5; | |
| } | |
| /* ββ Director Tools Page ββ */ | |
| .dt-layout { | |
| flex-direction: column; | |
| } | |
| .dt-left { | |
| border-right: none ; | |
| flex: 0 0 auto; | |
| max-height: 55%; | |
| overflow: hidden; | |
| } | |
| .dt-left .dt-panel-body { | |
| overflow-y: auto; | |
| } | |
| .dt-right { | |
| flex: 1 1 0%; | |
| min-height: 200px; | |
| } | |
| .dt-controls { | |
| max-height: none; | |
| overflow-y: visible; | |
| } | |
| .dt-req-type-row { | |
| flex-wrap: wrap; | |
| } | |
| .dt-btn-row { | |
| flex-wrap: wrap; | |
| } | |
| .dt-btn-row .btn-mask { | |
| min-width: 0; | |
| font-size: 0.72rem; | |
| padding: 5px 4px; | |
| } | |
| .dt-send-row { | |
| padding: 6px 10px; | |
| } | |
| .dt-send-row .btn-mask { | |
| font-size: 0.72rem; | |
| padding: 5px 4px; | |
| } | |
| .dt-generate-bar { | |
| padding: 8px 12px; | |
| } | |
| .dt-output-img-large { | |
| max-height: 35vh; | |
| } | |
| /* ββ PNG Info Page ββ */ | |
| .pi-layout { | |
| flex-direction: column; | |
| } | |
| .pi-left { | |
| max-width: none ; | |
| border-right: none ; | |
| flex: 0 0 auto; | |
| max-height: 55%; | |
| overflow: hidden; | |
| } | |
| .pi-right { | |
| flex: 1 1 0%; | |
| min-height: 200px; | |
| } | |
| .pi-preview-img { | |
| max-height: 30vh; | |
| } | |
| .pi-raw-text { | |
| max-height: 120px; | |
| } | |
| /* ββ Tagger Page ββ */ | |
| .tagger-layout { | |
| flex-direction: column; | |
| } | |
| .tagger-left { | |
| max-width: none ; | |
| border-right: none ; | |
| flex: 0 0 auto; | |
| max-height: 55%; | |
| overflow: hidden; | |
| } | |
| .tagger-left .tagger-panel-body { | |
| overflow-y: auto; | |
| } | |
| .tagger-right { | |
| flex: 1 1 0%; | |
| min-height: 200px; | |
| } | |
| .tagger-preview-img { | |
| max-height: 25vh; | |
| } | |
| .tagger-param-row { | |
| flex-wrap: wrap; | |
| gap: 4px; | |
| } | |
| /* ββ History Page ββ */ | |
| .history-layout { | |
| flex-direction: column; | |
| } | |
| .history-left { | |
| flex: 1; | |
| min-height: 0; | |
| } | |
| .history-right { | |
| width: 100% ; | |
| max-width: none ; | |
| min-width: 0 ; | |
| border-left: none ; | |
| border-top: 1px solid var(--border); | |
| flex-shrink: 0; | |
| } | |
| #history-grid { | |
| grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); | |
| gap: 3px; | |
| padding: 4px; | |
| } | |
| .history-detail-img-wrap { | |
| max-height: 25vh; | |
| } | |
| .history-detail-img-wrap img { | |
| max-height: 25vh; | |
| } | |
| .history-action-bar { | |
| padding: 6px 8px; | |
| } | |
| .history-btn-row { | |
| gap: 3px; | |
| } | |
| .history-btn-row .btn-mask { | |
| font-size: 0.68rem; | |
| padding: 4px 3px; | |
| } | |
| .history-search-bar { | |
| padding: 6px 8px; | |
| } | |
| /* ββ Cloud Page ββ */ | |
| .cloud-layout { | |
| flex-direction: column; | |
| } | |
| .cloud-sidebar { | |
| width: 100% ; | |
| min-width: 0 ; | |
| max-height: 70px; | |
| border-right: none ; | |
| border-bottom: 1px solid var(--border); | |
| flex-shrink: 0; | |
| } | |
| .cloud-sidebar-body { | |
| display: flex; | |
| overflow-x: auto; | |
| overflow-y: hidden; | |
| gap: 0; | |
| } | |
| .cloud-date-item { | |
| white-space: nowrap; | |
| border-left: none; | |
| border-bottom: 3px solid transparent; | |
| padding: 6px 10px; | |
| font-size: 0.75rem; | |
| } | |
| .cloud-date-item.active { | |
| border-left-color: transparent; | |
| border-bottom-color: var(--accent); | |
| } | |
| .cloud-main { | |
| flex: 1; | |
| min-height: 0; | |
| } | |
| #cloud-grid { | |
| grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); | |
| gap: 3px; | |
| padding: 4px; | |
| } | |
| .cloud-detail-panel { | |
| width: 100% ; | |
| max-width: none ; | |
| min-width: 0 ; | |
| border-left: none ; | |
| border-top: 1px solid var(--border); | |
| flex-shrink: 0; | |
| } | |
| /* ββ Settings Page ββ */ | |
| .settings-scroll { | |
| padding: 12px; | |
| } | |
| .settings-section { | |
| padding: 12px 14px; | |
| } | |
| .settings-row { | |
| flex-wrap: wrap; | |
| gap: 6px; | |
| } | |
| .settings-row label { | |
| flex: 1; | |
| min-width: 120px; | |
| } | |
| /* ββ Tag Autocomplete ββ */ | |
| .tac-popup { | |
| max-width: calc(100vw - 16px); | |
| min-width: 220px; | |
| left: 8px ; | |
| max-height: 200px; | |
| } | |
| .tac-item { | |
| padding: 6px 8px; | |
| font-size: 0.78rem; | |
| } | |
| .tac-item-name { | |
| max-width: 140px; | |
| } | |
| .tac-item-zh { | |
| font-size: 0.68rem; | |
| } | |
| /* ββ Upload Dropzone ββ */ | |
| .upload-dropzone { | |
| padding: 12px; | |
| } | |
| .upload-dropzone-text { | |
| font-size: 0.8rem; | |
| } | |
| .upload-icon { | |
| font-size: 1.2rem; | |
| } | |
| /* ββ Vibe Items ββ */ | |
| .vibe-ref-item, .vibe-file-item { | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| .vibe-ref-thumb-wrap, .vibe-file-thumb-wrap { | |
| width: 100%; | |
| height: auto; | |
| max-height: 80px; | |
| } | |
| .vibe-ref-thumb, .vibe-file-thumb { | |
| width: 100%; | |
| height: auto; | |
| max-height: 80px; | |
| object-fit: contain; | |
| } | |
| /* ββ Character Grid ββ */ | |
| .char-grid { | |
| max-width: 130px; | |
| } | |
| /* ββ Extra Input ββ */ | |
| .extra-preview-img { | |
| max-height: 250px; | |
| } | |
| .extra-btn-row { | |
| flex-wrap: wrap; | |
| } | |
| .extra-btn-row .btn-mask { | |
| font-size: 0.75rem; | |
| min-width: 0; | |
| } | |
| /* ββ Mode Switch ββ */ | |
| .mode-label { | |
| padding: 7px 8px; | |
| font-size: 0.8rem; | |
| } | |
| /* ββ Slider ββ */ | |
| .slider-value { | |
| min-width: 36px; | |
| font-size: 0.78rem; | |
| padding: 3px 4px; | |
| } | |
| /* ββ Misc ββ */ | |
| [data-tooltip]::after { | |
| display: none; | |
| } | |
| .form-divider { | |
| margin: 12px 0; | |
| } | |
| } | |
| /* ===== Extra small screens (< 400px) ===== */ | |
| @media (max-width: 400px) { | |
| html { font-size: 12px; } | |
| .page-header h2 { | |
| font-size: 0.85rem; | |
| } | |
| .anlas-display { | |
| display: none; | |
| } | |
| .gen-params-scroll { | |
| padding: 10px 8px; | |
| max-height: 50vh; | |
| } | |
| #history-grid, #cloud-grid { | |
| grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); | |
| } | |
| .settings-section { | |
| padding: 10px; | |
| } | |
| .tac-popup { | |
| max-height: 160px; | |
| } | |
| } | |
| /* ===== Touch improvements ===== */ | |
| @media (hover: none) and (pointer: coarse) { | |
| /* Larger touch targets */ | |
| .nav-item { | |
| padding: 12px 14px; | |
| } | |
| .btn-icon { | |
| width: 40px; | |
| height: 40px; | |
| } | |
| .tac-item { | |
| padding: 8px 10px; | |
| min-height: 36px; | |
| } | |
| /* Show remove buttons always on touch */ | |
| .vibe-ref-remove, | |
| .vibe-file-download { | |
| opacity: 1; | |
| } | |
| .history-card { | |
| -webkit-tap-highlight-color: transparent; | |
| } | |
| /* Prevent zoom on input focus */ | |
| input[type="text"], | |
| input[type="number"], | |
| input[type="search"], | |
| textarea, | |
| select { | |
| font-size: 16px ; | |
| } | |
| } | |
| /* ===== Mobile Toast ===== */ | |
| .mobile-toast { | |
| display: none; | |
| position: fixed; | |
| bottom: 20px; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| background: var(--bg-card); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| padding: 8px 16px; | |
| font-size: 0.8rem; | |
| color: var(--text-secondary); | |
| z-index: 10001; | |
| box-shadow: 0 4px 20px var(--shadow); | |
| align-items: center; | |
| gap: 6px; | |
| white-space: nowrap; | |
| max-width: calc(100vw - 32px); | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| } | |
| .mobile-toast.show { | |
| display: flex; | |
| } |