@import "tailwindcss"; @theme { --ease-ios: cubic-bezier(0.25, 0.46, 0.45, 0.94); --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); --ease-liquid: cubic-bezier(0.2, 0.8, 0.2, 1); } html { background: #0f1720; } body { min-width: 320px; margin: 0; background: #0f1720; color: white; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } #root { min-height: 100vh; } .vision-shell { position: relative; isolation: isolate; overflow-x: hidden; background: radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.16), transparent 28rem), radial-gradient(circle at 82% 20%, rgba(34, 211, 238, 0.13), transparent 26rem), linear-gradient(135deg, rgba(241, 245, 249, 0.1), rgba(15, 23, 42, 0.18) 52%, rgba(8, 13, 20, 0.34)); } .vision-shell::before { content: ""; position: fixed; inset: 0; z-index: -15; pointer-events: none; background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.04) 38%, rgba(2, 6, 23, 0.34) 100%), radial-gradient(ellipse at center, transparent 0%, rgba(2, 6, 23, 0.2) 78%, rgba(2, 6, 23, 0.42) 100%); } .wallpaper-transition { transition: filter 0.7s var(--ease-liquid), opacity 0.7s var(--ease-liquid), transform 0.7s var(--ease-liquid); } .wallpaper-layer { position: fixed; inset: 0; z-index: -30; width: 100%; height: 100%; background-size: cover; background-position: center; transform: scale(1.015); will-change: filter, opacity, transform; } .wallpaper-luminance { position: fixed; inset: 0; z-index: -25; pointer-events: none; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.04) 34%, rgba(5, 12, 20, 0.38)), radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.16), transparent 28rem), radial-gradient(circle at 50% 100%, rgba(8, 13, 24, 0.42), transparent 36rem); } .liquid-surface { position: relative; overflow: hidden; background: linear-gradient(145deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.07) 46%, rgba(15, 23, 42, 0.2)), rgba(8, 13, 23, 0.22); border: 1px solid rgba(255, 255, 255, 0.24); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), inset 0 -18px 30px rgba(2, 6, 23, 0.18), 0 18px 42px rgba(2, 6, 23, 0.24); backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%); } .liquid-surface::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg, rgba(255, 255, 255, 0.36), transparent 34%), radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.22), transparent 42%); opacity: 0.7; } .liquid-panel { position: relative; overflow: hidden; background: linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.08) 48%, rgba(5, 12, 22, 0.36)), rgba(8, 13, 23, 0.38); border: 1px solid rgba(255, 255, 255, 0.22); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 28px 80px rgba(2, 6, 23, 0.34); backdrop-filter: blur(30px) saturate(155%); -webkit-backdrop-filter: blur(30px) saturate(155%); } .liquid-control { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-width: 2.75rem; min-height: 2.75rem; color: white; transition: transform 180ms var(--ease-ios), background 180ms var(--ease-ios), border-color 180ms var(--ease-ios), box-shadow 180ms var(--ease-ios), color 180ms var(--ease-ios); } .liquid-control:hover { transform: translateY(-1px) scale(1.025); background: linear-gradient(145deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1)), rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.36); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.44), 0 18px 40px rgba(2, 6, 23, 0.28); } .liquid-control:active { transform: scale(0.94); } .liquid-focus { outline: none; } .liquid-focus:focus-visible { outline: 2px solid rgba(34, 211, 238, 0.9); outline-offset: 3px; } .liquid-input { width: 100%; color: white; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 0.875rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); transition: background 180ms var(--ease-ios), border-color 180ms var(--ease-ios), box-shadow 180ms var(--ease-ios); } .liquid-input::placeholder { color: rgba(226, 232, 240, 0.58); } .liquid-input:hover { background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.24); } .liquid-input:focus { outline: none; border-color: rgba(34, 211, 238, 0.76); box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.16); } .liquid-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; border-radius: 0.875rem; font-weight: 700; color: white; transition: transform 150ms var(--ease-ios), filter 150ms var(--ease-ios), background 150ms var(--ease-ios), box-shadow 150ms var(--ease-ios); } .liquid-button:hover { transform: translateY(-1px); filter: brightness(1.08); } .liquid-button:active { transform: scale(0.96); } .liquid-button-primary { background: linear-gradient(135deg, #06b6d4, #22d3ee); box-shadow: 0 14px 28px rgba(8, 145, 178, 0.22); } .liquid-button-success { background: linear-gradient(135deg, #10b981, #22c55e); box-shadow: 0 14px 28px rgba(34, 197, 94, 0.2); } .liquid-button-secondary { background: rgba(100, 116, 139, 0.74); } .liquid-button-danger { background: linear-gradient(135deg, #ef4444, #fb7185); } .liquid-range { width: 12rem; height: 1.25rem; appearance: none; background: transparent; accent-color: #22d3ee; } .liquid-range:focus { outline: none; } .liquid-range::-webkit-slider-runnable-track { height: 0.38rem; border-radius: 999px; background: linear-gradient(90deg, rgba(34, 211, 238, 0.9), rgba(255, 255, 255, 0.7)); box-shadow: inset 0 1px 2px rgba(2, 6, 23, 0.24); } .liquid-range::-webkit-slider-thumb { width: 1rem; height: 1rem; margin-top: -0.31rem; appearance: none; border-radius: 999px; background: white; border: 2px solid rgba(34, 211, 238, 0.9); box-shadow: 0 6px 16px rgba(2, 6, 23, 0.3); } .liquid-range::-moz-range-track { height: 0.38rem; border-radius: 999px; background: linear-gradient(90deg, rgba(34, 211, 238, 0.9), rgba(255, 255, 255, 0.7)); } .liquid-range::-moz-range-thumb { width: 1rem; height: 1rem; border-radius: 999px; background: white; border: 2px solid rgba(34, 211, 238, 0.9); } .liquid-tile { border-radius: 1.35rem; transition: transform 220ms var(--ease-liquid), background 220ms var(--ease-ios), border-color 220ms var(--ease-ios), box-shadow 220ms var(--ease-liquid); } .liquid-tile:hover { transform: translateY(-4px) scale(1.035); border-color: rgba(255, 255, 255, 0.42); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42), 0 24px 46px rgba(2, 6, 23, 0.28), 0 0 34px rgba(34, 211, 238, 0.12); } .liquid-tile:active { transform: scale(0.965); } .liquid-ghost-tile { border-radius: 1.35rem; color: rgba(255, 255, 255, 0.72); border-style: dashed; border-color: rgba(255, 255, 255, 0.32); background: linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04)), rgba(255, 255, 255, 0.04); } .liquid-ghost-tile:hover { color: white; border-color: rgba(34, 211, 238, 0.62); background: linear-gradient(145deg, rgba(34, 211, 238, 0.18), rgba(255, 255, 255, 0.08)), rgba(255, 255, 255, 0.08); } .liquid-edit-toolbar { position: absolute; left: 50%; bottom: -0.9rem; z-index: 5; display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.25rem; border-radius: 999px; transform: translateX(-50%); } .liquid-edit-action { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 999px; color: rgba(255, 255, 255, 0.72); transition: color 150ms var(--ease-ios), background 150ms var(--ease-ios), transform 150ms var(--ease-ios); } .liquid-edit-action:hover { color: white; background: rgba(255, 255, 255, 0.16); transform: scale(1.08); } .liquid-edit-action:active { transform: scale(0.92); } .liquid-category-title { text-shadow: 0 2px 16px rgba(2, 6, 23, 0.45); letter-spacing: 0; } .liquid-clock-text, .liquid-title-text { text-shadow: 0 2px 18px rgba(2, 6, 23, 0.45), 0 0 28px rgba(255, 255, 255, 0.12); letter-spacing: 0; } .liquid-drawer { background: linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.05) 38%, rgba(7, 12, 22, 0.48)), rgba(7, 12, 22, 0.54); border-left: 1px solid rgba(255, 255, 255, 0.18); box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.14), -32px 0 80px rgba(2, 6, 23, 0.32); backdrop-filter: blur(34px) saturate(160%); -webkit-backdrop-filter: blur(34px) saturate(160%); } .liquid-modal-backdrop { background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.12), transparent 32rem), rgba(3, 7, 18, 0.72); backdrop-filter: blur(10px) saturate(130%); -webkit-backdrop-filter: blur(10px) saturate(130%); } .liquid-modal-card { overflow: visible; animation: liquid-pop 240ms var(--ease-spring); } .liquid-dropdown-list { overflow-x: hidden; overflow-y: auto; animation: liquid-drop 150ms var(--ease-ios); transform-origin: top; } .liquid-status-dot { box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1), 0 0 18px currentColor; } @keyframes liquid-pop { from { opacity: 0; transform: translateY(0.75rem) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes liquid-drop { from { opacity: 0; transform: translateY(-0.35rem) scaleY(0.97); } to { opacity: 1; transform: translateY(0) scaleY(1); } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } .liquid-control:hover, .liquid-tile:hover, .liquid-button:hover, .liquid-edit-action:hover { transform: none; } }