/* * Nova overrides (keep minimal). * The Nova layout is styled primarily via Tailwind utilities from resources/css/app.css. */ /* Hero radial background moved from inline styles to a class to respect Nova rules */ .nb-hero-radial { background-image: radial-gradient(circle at 20% 10%, rgba(77,163,255,.25), transparent 35%), radial-gradient(circle at 70% 30%, rgba(255,196,77,.18), transparent 40%), radial-gradient(circle at 30% 80%, rgba(180,77,255,.16), transparent 45%); } /* Nova design tokens and helper classes copied from nova.html preview These provide the same color tokens and small utilities used by the preview so `blank` renders consistently until Tailwind config is consolidated. */ :root { --sb-bg: #141416; --sb-top: #1c1c1f; --sb-panel: #191a1f; --sb-panel2: #15161b; --sb-line: #2a2a33; --sb-text: #e3e3e3; --sb-muted: #a6a6b0; --sb-blue: #4da3ff; /* Primary UI color tokens (Nova palette) */ --nova-blue: #09101acc; --deep-space: #0F1724; --panel-dark: #151E2E; --soft-blue: #7A8CA5; --accent-orange: #E07A21; /* Toolbar color (Skinbase Nova) */ --toolbar-bg: #0F1724; /* RGB variants for subtle overlays */ --nova-blue-rgb: 100,111,131; --deep-space-rgb: 15,23,36; --panel-dark-rgb: 21,30,46; --toolbar-bg-rgb: 15,23,36; } /* Background / text helpers (used in preview markup) */ .bg-sb-bg { background-color: var(--sb-bg) !important; } .bg-sb-top { background-color: var(--sb-top) !important; } .bg-sb-panel { background-color: var(--sb-panel) !important; } .bg-sb-panel2 { background-color: var(--sb-panel2) !important; } .text-sb-text { color: var(--sb-text) !important; } .text-sb-muted { color: var(--sb-muted) !important; } .border-sb-line { border-color: var(--sb-line) !important; } /* Small shadow token used by preview */ .shadow-sb { box-shadow: 0 12px 30px rgba(0,0,0,.45) !important; } /* Scrollbar helpers used in preview */ .sb-scrollbar::-webkit-scrollbar { width: 10px; height: 10px; } .sb-scrollbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.08); border-radius: 999px; } .sb-scrollbar::-webkit-scrollbar-track { background: rgba(0,0,0,.15); } /* Ensure header and dropdowns are not clipped and render above page content */ header { overflow: visible; /* Use the official toolbar background token from the Nova spec */ background-color: var(--toolbar-bg); /* subtle divider to separate toolbar from content */ border-bottom: 1px solid rgba(255,255,255,0.02); } /* Menus may be absolute-positioned; ensure they sit above other UI layers */ [id^="dd-"] , [data-dropdown-menu], [data-submenu-menu] { z-index: 9999 !important; background-color: var(--panel-dark); color: var(--sb-text); border: 1px solid rgba(255,255,255,0.03); } /* Convenience helpers for the new nova tokens */ .bg-nova { background-color: var(--nova-blue) !important; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(2px); } .bg-deep { background-color: var(--deep-space) !important; } .bg-panel-dark { background-color: var(--panel-dark) !important; } .text-soft { color: var(--soft-blue) !important; } .text-accent { color: var(--accent-orange) !important; } /* Dropdown section header: subtle, smaller and visually separated */ .dd-section { font-size: 11px; color: rgba(166,166,176,0.65); text-transform: uppercase; letter-spacing: 0.08em; border-top: 1px solid rgba(42,42,51,0.12); margin-top: 0.5rem; padding-top: 0.5rem; padding-bottom: 0.25rem; } /* ─── Dropdown animations ─────────────────────────────────────── */ /** * .dd-menu — base (closed) state. * Invisible, shifted up slightly, non-interactive. * On close the element fades out; visibility is hidden *after* the fade * so the element is still rendered during the transition. */ .dd-menu { opacity: 0; transform: translateY(-6px) scale(0.97); pointer-events: none; visibility: hidden; transition: opacity 140ms ease, transform 140ms ease, visibility 0s linear 140ms; } /** * .dd-menu.is-open — open state. * Fully visible, interactive, with a snappy entrance spring. * visibility is made visible immediately (0s delay), then * opacity + transform animate in. */ .dd-menu.is-open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; visibility: visible; transition: opacity 170ms cubic-bezier(0.16, 1, 0.3, 1), transform 170ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s; } /* Chevron rotation indicator for open dropdowns */ [data-dd] svg:last-child, [data-dropdown-toggle] svg:last-child { transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1); } [data-dd][aria-expanded="true"] svg:last-child, [data-dropdown-toggle][aria-expanded="true"] svg:last-child { transform: rotate(180deg); } /* Item hover: subtle left-border accent when hovering menu links */ .dd-menu a:hover, .dd-menu button:hover { border-left: 2px solid rgba(77,163,255,0.4); padding-left: calc(1rem - 2px); } .dd-menu a, .dd-menu button { border-left: 2px solid transparent; transition: border-color 120ms ease, background-color 120ms ease, padding-left 120ms ease; }