* { margin: 0; padding: 0; box-sizing: border-box; } html, body { width: 100%; height: 100%; overflow: hidden; background: #0d0d1a; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #eee; } #app { width: 100vw; height: 100vh; display: flex; flex-direction: column; background: #16213e; } /* ===== HEADER ===== */ header { background: rgba(15, 52, 96, 0.95); padding: 8px 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-bottom: 2px solid #533483; flex-shrink: 0; z-index: 10; } header h1 { font-size: 1.2rem; background: linear-gradient(45deg, #e94560, #f5a623); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-right: 8px; white-space: nowrap; } .toolbar { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; } .toolbar button { background: rgba(26, 26, 64, 0.8); border: 1px solid #533483; color: #eee; padding: 4px 10px; border-radius: 6px; cursor: pointer; font-size: 0.8rem; transition: 0.2s; min-height: 32px; min-width: 36px; } .toolbar button:hover { background: #533483; border-color: #e94560; } .toolbar button.active { background: #e94560; border-color: #fff; } #brushColor { width: 36px; height: 30px; border: 2px solid #533483; border-radius: 6px; background: transparent; cursor: pointer; padding: 2px; } #sizeDisplay { min-width: 24px; text-align: center; font-weight: bold; color: #f5a623; font-size: 0.9rem; } /* ===== MAIN ===== */ main { flex: 1; position: relative; overflow: hidden; background: #0d0d1a; } #drawCanvas { width: 100%; height: 100%; display: block; cursor: none; background: #1a1a2e; } /* ===== GESTURE GUIDE ===== */ #gestureGuide { position: absolute; bottom: 20px; left: 20px; display: flex; flex-direction: column; gap: 6px; background: rgba(0, 0, 0, 0.7); padding: 10px 14px; border-radius: 10px; border: 1px solid rgba(83, 52, 131, 0.5); backdrop-filter: blur(4px); z-index: 5; pointer-events: none; font-size: 0.75rem; } .gesture-item { display: flex; align-items: center; gap: 8px; } .gesture-icon { font-size: 1.2rem; width: 28px; text-align: center; } .gesture-label { color: #ccc; font-weight: 300; } /* ===== STATUS INDICATOR (minimal) ===== */ #statusIndicator { position: absolute; top: 12px; right: 12px; padding: 4px 12px; border-radius: 12px; font-size: 0.7rem; background: rgba(0, 0, 0, 0.6); color: #7fdb9a; border: 1px solid rgba(127, 219, 154, 0.3); z-index: 5; pointer-events: none; transition: 0.3s; } #statusIndicator.ready { color: #7fdb9a; border-color: rgba(127, 219, 154, 0.4); } #statusIndicator.loading { color: #f5a623; border-color: rgba(245, 166, 35, 0.4); } #statusIndicator.error { color: #ff6b6b; border-color: rgba(255, 107, 107, 0.4); } /* ===== FOOTER ===== */ footer { background: rgba(15, 52, 96, 0.95); padding: 4px 16px; display: flex; justify-content: space-between; font-size: 0.7rem; color: #888; border-top: 1px solid #533483; flex-shrink: 0; } /* ===== RESPONSIVE ===== */ @media (max-width: 700px) { header { flex-direction: column; align-items: stretch; gap: 4px; } .toolbar { justify-content: center; } #gestureGuide { bottom: 10px; left: 10px; padding: 6px 10px; font-size: 0.65rem; } .gesture-icon { font-size: 1rem; width: 22px; } #statusIndicator { top: 8px; right: 8px; font-size: 0.6rem; padding: 2px 8px; } } @media (max-width: 480px) { #gestureGuide { display: none; } /* Hide on very small screens */ }