:root { --bg: #f5f5f7; --fg: #1c1c1e; --fg-muted: rgba(28, 28, 30, 0.55); --card: rgba(255, 255, 255, 0.7); --card-border: rgba(0, 0, 0, 0.08); --card-shadow: 0 8px 24px rgba(0, 0, 0, 0.06); --grid-gap: 16px; } [data-theme="dark"] { --bg: #0f0f12; --fg: #f0f0f5; --fg-muted: rgba(240, 240, 245, 0.55); --card: rgba(255, 255, 255, 0.06); --card-border: rgba(255, 255, 255, 0.08); --card-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); } html, body { margin: 0; padding: 0; height: 100%; background: var(--bg); color: var(--fg); } body { font-family: ui-sans-serif, system-ui, -apple-system, 'Inter', sans-serif; -webkit-font-smoothing: antialiased; } #boot { position: fixed; top: 16px; left: 16px; padding: 8px 12px; background: rgba(255, 80, 80, 0.85); color: white; font-family: ui-monospace, monospace; font-size: 12px; border-radius: 6px; z-index: 9999; } #grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(120px, auto); gap: var(--grid-gap); padding: var(--grid-gap); min-height: 100%; box-sizing: border-box; } .widget { background: var(--card); border: 1px solid var(--card-border); border-radius: 18px; padding: 20px; box-shadow: var(--card-shadow); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); overflow: hidden; position: relative; transition: transform 120ms ease, box-shadow 120ms ease; } .widget-error { border-color: rgba(255, 80, 80, 0.6); color: rgba(255, 80, 80, 0.95); display: grid; place-items: center; font-family: ui-monospace, monospace; font-size: 12px; }