/* Shared Quayside identity, derived from the Solar Dashboard. */
:root { color-scheme:dark; --bg:#0b0f1c; --paper:#0b0f1c; --ink:#f2f5fa; --text:#f2f5fa; --muted:#a7afbf; --text-dim:#a7afbf; --border:rgba(255,255,255,.14); --border-strong:rgba(255,255,255,.24); --line:rgba(255,255,255,.14); --surface:rgba(255,255,255,.07); --glass-bg:rgba(255,255,255,.07); --glass:rgba(255,255,255,.07); --glass-border:rgba(255,255,255,.14); --glass-highlight:rgba(255,255,255,.28); --solar:#ffb547; --orange:#ffb547; --coral:#ff7847; --coral-dark:#ff935f; --accent:#7aa5ff; --blue:#7aa5ff; --blue-soft:rgba(122,165,255,.14); --teal:#ffb547; --green:#4ade9e; --radius:22px; --serif:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif; --shadow:0 10px 34px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.28); }
html { background:#0b0f1c; }body { isolation:isolate; color:var(--ink); background:transparent; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Inter,sans-serif; font-size:16px; line-height:1.5; }
.qw-atmosphere { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background:radial-gradient(120% 120% at 20% 0%,#131b33 0%,#0b0f1c 55%,#070a13 100%); }.qw-atmosphere span { position:absolute; border-radius:50%; filter:blur(90px); opacity:.5; animation:qw-drift 26s ease-in-out infinite alternate; }.qw-atmosphere span:nth-child(1) { width:46vw; height:46vw; background:#ff9d3d33; top:-12%; left:-8%; }.qw-atmosphere span:nth-child(2) { width:40vw; height:40vw; background:#2dd4a733; bottom:-15%; right:-6%; animation-delay:-8s; }.qw-atmosphere span:nth-child(3) { width:34vw; height:34vw; background:#6d8dff2e; top:30%; left:55%; animation-delay:-16s; }@keyframes qw-drift { to { transform:translate(6vw,-4vh) scale(1.15); } }
.qw-header { box-sizing:border-box; width:min(1180px,calc(100% - 40px)); min-height:88px; margin:28px auto 22px; padding:18px 24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; border:1px solid var(--glass-border); border-radius:22px; background:var(--glass-bg); backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%); box-shadow:var(--shadow); }
.qw-header .qw-brand { display:flex; gap:14px; align-items:center; color:var(--ink); text-decoration:none; flex-shrink:0; }.qw-header .qw-logo { display:block; width:98px; height:44px; object-fit:contain; }.qw-header .qw-brand strong { display:block; margin:0; font-family:inherit; font-size:21px; line-height:1.2; font-weight:650; letter-spacing:-.025em; }.qw-header .qw-brand small { display:block; margin-top:5px; color:var(--muted); font-size:12px; font-weight:400; letter-spacing:.03em; }
.qw-header .qw-nav { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; }.qw-header .qw-nav a { display:flex; align-items:center; justify-content:center; min-height:42px; white-space:nowrap; padding:8px 19px; border:1px solid var(--glass-border); border-radius:999px; font-size:14px; line-height:1.4; font-weight:500; color:var(--ink); background:rgba(255,255,255,.05); text-decoration:none; transition:background .2s; }.qw-header .qw-nav a:hover { background:rgba(255,255,255,.12); }.qw-header .qw-nav a[aria-current=page] { background:linear-gradient(135deg,#ffb547,#ff7847); color:#1a1205; border-color:transparent; box-shadow:0 4px 14px rgba(255,150,60,.25); font-weight:650; }
:where(a,button,input,select,textarea):focus-visible { outline:3px solid #ffb547; outline-offset:4px; }.liquid-bg { display:none; }
@media(max-width:800px) { .qw-header { flex-wrap:wrap; gap:18px; padding:18px 20px; }.qw-header .qw-nav { width:100%; }.qw-header .qw-nav a { flex:1; padding-inline:12px; } }
@media(max-width:480px) { .qw-header { width:calc(100% - 28px); margin:14px auto 18px; padding:17px; }.qw-header .qw-brand { gap:12px; }.qw-header .qw-brand strong { font-size:20px; }.qw-header .qw-logo { width:86px; }.qw-header .qw-nav { gap:6px; }.qw-header .qw-nav a { padding:8px 10px; min-width:0; font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .qw-atmosphere span { animation:none; }.qw-header .qw-nav a { transition:none; } }
