/* DealRadar product-design layer.
   Deliberately additive: existing routes, handlers and page contracts remain unchanged. */
:root {
    /* Aliases onto dealradar-tokens.css — this was the third palette. */
    --brand-bg: var(--dr-midnight-950);
    --brand-panel: var(--dr-navy-850);
    --brand-panel-raised: var(--dr-navy-800);
    --brand-line: var(--dr-line);
    --brand-line-strong: var(--dr-line-strong);
    --brand-copy: var(--dr-text);
    --brand-muted: var(--dr-text-muted);
    --brand-green: var(--dr-green);
    --brand-cyan: var(--dr-cyan);
    --brand-violet: var(--dr-indigo);
    --brand-pink: var(--dr-danger);
    --brand-radius: var(--dr-radius-lg);
    --brand-shadow: var(--dr-shadow-panel);
}

html { background: var(--brand-bg); }
body { font-feature-settings: "ss01" 1, "cv11" 1; }
body.command-open { overflow: hidden; }

/* Public shell: Stripe editorial spacing with Vercel contrast and glow. */
.v2-marketing .site-header {
    background: rgba(8, 10, 13, .78);
    border-bottom-color: rgba(255, 255, 255, .08);
    backdrop-filter: blur(18px);
}
.v2-marketing .site-nav { min-height: 74px; }
.v2-marketing .site-brand { font-weight: 700; letter-spacing: -.04em; }
.v2-marketing .site-brand-mark img { filter: saturate(1.15) drop-shadow(0 0 18px rgba(201, 255, 116, .25)); }
.v2-marketing .site-nav-links .nav-link { color: #aeb7c5; font-size: .84rem; transition: color .18s ease, transform .18s ease; }
.v2-marketing .site-nav-links .nav-link:hover { color: #fff; transform: translateY(-1px); }
.brand-announcement { position: relative; z-index: 2; border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.018); }
.brand-announcement .site-container { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 36px; color: #a7b2c2; font-size: var(--dr-text-xs); }
.brand-announcement a { margin-left: 8px; color: #d5dce6; text-decoration: none; }
.brand-announcement a:hover { color: var(--brand-cyan); }
.brand-announcement-dot { width: 6px; height: 6px; border-radius: 999px; background: var(--brand-green); box-shadow: 0 0 14px rgba(201,255,116,.8); }
.v2-marketing .v2-hero {
    min-height: min(900px, calc(100vh - 74px));
    display: grid;
    align-items: center;
    padding-top: 100px;
    background:
        radial-gradient(ellipse 55% 60% at 75% 20%, rgba(113, 84, 255, .18), transparent 70%),
        radial-gradient(ellipse 46% 56% at 18% 12%, rgba(0, 199, 195, .12), transparent 70%);
}
.v2-marketing .v2-hero:before {
    content: "";
    position: absolute;
    inset: 74px 0 0;
    pointer-events: none;
    opacity: .45;
    background: linear-gradient(120deg, transparent 25%, rgba(255, 255, 255, .035) 25.2%, transparent 25.5% 72%, rgba(255, 255, 255, .025) 72.2%, transparent 72.6%);
    mask-image: linear-gradient(to bottom, #000, transparent 80%);
}
.v2-marketing .v2-hero h1 { max-width: 780px; font-size: clamp(3.5rem, 7.4vw, 8.2rem); line-height: .94; font-weight: 550; letter-spacing: -.075em; }
.v2-marketing .v2-hero h1 em {
    background: linear-gradient(100deg, var(--brand-cyan) 0%, #a99aff 42%, var(--brand-pink) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.v2-marketing .v2-eyebrow { color: #a9b5c5; letter-spacing: .12em; }
.v2-marketing .v2-eyebrow:after { content: "Live Vinted intelligence"; margin-left: auto; color: #667386; letter-spacing: .08em; }
.v2-marketing .v2-trust-line { text-transform: uppercase; letter-spacing: .11em; font-size: var(--dr-text-xs); }
.v2-marketing .v2-section { background: linear-gradient(180deg, rgba(255,255,255,.008), transparent 25%); }
.v2-marketing .v2-section-heading h2, .v2-marketing .v2-two-column h2, .v2-marketing .v2-final-cta h2 { font-weight: 520; }
.v2-marketing .v2-story, .v2-marketing .v2-outcome { border-color: var(--brand-line-strong); box-shadow: 0 20px 60px rgba(0, 0, 0, .18); }
.v2-marketing .v2-final-cta { position: relative; overflow: hidden; background: radial-gradient(ellipse at 85% 60%, rgba(146, 113, 255, .22), transparent 52%), radial-gradient(ellipse at 10% 80%, rgba(141, 232, 236, .11), transparent 45%); }
.v2-marketing .v2-final-cta:after { content: ""; position: absolute; width: 620px; height: 620px; right: -180px; bottom: -310px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.025), 0 0 0 96px rgba(255,255,255,.018), 0 0 0 144px rgba(255,255,255,.012); pointer-events: none; }

/* Raycast-inspired command palette. */
.site-nav-command { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; margin-right: 18px; padding: 7px 9px; border: 1px solid var(--brand-line); border-radius: 8px; color: #8290a1; background: transparent; font: inherit; font-size: var(--dr-text-xs); cursor: pointer; transition: border-color .18s ease, color .18s ease, background .18s ease; }
.site-nav-command:hover, .site-nav-command:focus-visible { color: var(--brand-copy); border-color: var(--brand-line-strong); background: rgba(255,255,255,.05); outline: 2px solid transparent; }
.site-nav-command-icon { color: var(--brand-cyan); font-size: .95rem; }
kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; min-height: 20px; padding: 1px 5px; border: 1px solid rgba(255,255,255,.16); border-radius: 5px; color: #aab4c0; font: 600 var(--dr-text-xs)/1 ui-monospace, SFMono-Regular, Consolas, monospace; background: rgba(255,255,255,.05); }
.command-palette[hidden] { display: none; }
.command-palette { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: start center; padding-top: min(18vh, 150px); }
.command-backdrop { position: absolute; inset: 0; background: rgba(1, 3, 7, .72); backdrop-filter: blur(10px); }
.command-dialog { position: relative; width: min(640px, calc(100vw - 28px)); overflow: hidden; border: 1px solid rgba(178, 164, 255, .36); border-radius: 16px; background: #0c1118; box-shadow: 0 40px 120px rgba(0, 0, 0, .7), 0 0 80px rgba(112, 81, 255, .18); animation: brand-pop .16s ease-out; }
.command-search-row { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--brand-line); }
.command-search-icon { color: var(--brand-cyan); font-size: 1.45rem; }
.command-search-row input { flex: 1; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--brand-copy); font-size: 1rem; }
.command-search-row input::placeholder { color: #667386; }
.command-close { border: 0; color: #708092; background: none; font: 600 var(--dr-text-xs) ui-monospace, monospace; cursor: pointer; }
.command-results { max-height: min(56vh, 430px); overflow-y: auto; padding: 10px; }
.command-section-label { padding: 10px 12px 6px; color: #68778b; text-transform: uppercase; letter-spacing: .1em; font: 600 var(--dr-text-xs) ui-monospace, monospace; }
.command-results a { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 9px 12px; border-radius: 9px; color: var(--brand-copy); text-decoration: none; }
.command-results a:hover, .command-results a.is-selected, .command-results a:focus-visible { background: linear-gradient(90deg, rgba(146,113,255,.2), rgba(141,232,236,.06)); outline: none; }
.command-results a > span:nth-child(2) { display: grid; gap: 3px; flex: 1; }
.command-results strong { font-size: .84rem; font-weight: 600; }
.command-results small { color: #7f8c9c; font-size: var(--dr-text-xs); }
.command-item-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: var(--brand-cyan); background: rgba(141,232,236,.08); }
.command-footer { display: flex; gap: 18px; padding: 10px 16px; border-top: 1px solid var(--brand-line); color: #69778a; font-size: var(--dr-text-xs); }
.command-footer kbd { margin-right: 4px; }

/* Linear workspace + Attio information density. */
.v2-app { background: var(--brand-bg); }
.v2-app .site-header { background: rgba(8, 10, 13, .9); border-bottom-color: var(--brand-line); }
.v2-app .site-main { min-height: calc(100vh - 160px); }
.v2-app .v2-sidebar { top: 86px; width: 232px; background: linear-gradient(180deg, #0d1219, #0a0e13); border-color: var(--brand-line); box-shadow: 12px 0 40px rgba(0,0,0,.18); }
.v2-app .v2-nav-content { padding: 16px 12px; }
.v2-app .v2-nav-title { color: var(--brand-cyan); }
.v2-app .v2-nav-group { margin: 10px 0 16px; }
.v2-app .v2-nav-group > span { color: #66778b; letter-spacing: .12em; }
.v2-app .v2-nav-group a { color: #9caabd; transition: background .15s ease, color .15s ease, transform .15s ease; }
.v2-app .v2-nav-group a:hover { color: #fff; background: rgba(255,255,255,.06); transform: translateX(2px); }
.v2-app .v2-nav-group a[aria-current=page] { color: #fff; background: linear-gradient(90deg, rgba(146,113,255,.22), rgba(141,232,236,.06)); box-shadow: inset 2px 0 var(--brand-violet); }
.v2-app .dashboard-heading-row { padding-top: 8px; }
.v2-app .section-kicker, .v2-app .dashboard-label { color: var(--brand-cyan); letter-spacing: .1em; font: 600 var(--dr-text-xs) ui-monospace, SFMono-Regular, Consolas, monospace; text-transform: uppercase; }
.v2-app .page-title { font-size: clamp(2.3rem, 4vw, 4.2rem); letter-spacing: -.065em; font-weight: 540; }
.v2-app .page-copy { max-width: 620px; color: var(--dr-text-muted); }
.v2-app :is(.overview-summary-card, .overview-panel, .dashboard-panel, .opportunity-card, .watchlist-card) { border-color: var(--brand-line); border-radius: var(--brand-radius); background: linear-gradient(145deg, rgba(17, 23, 32, .96), rgba(10, 14, 20, .96)); box-shadow: 0 18px 55px rgba(0,0,0,.17); }
.v2-app .overview-summary-card { transition: transform .18s ease, border-color .18s ease; }
.v2-app .overview-summary-card:hover { transform: translateY(-3px); border-color: rgba(141,232,236,.28); }
.v2-app .overview-summary-card strong { font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.v2-app :is(.button-primary, .button-secondary) { border-radius: 8px; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.v2-app .button-primary { background: linear-gradient(100deg, var(--dr-green), #a7ec83); box-shadow: 0 8px 24px rgba(201,255,116,.14); }
.v2-app .button-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(201,255,116,.2); }
.v2-app .button-secondary:hover { border-color: rgba(141,232,236,.4); }

@keyframes brand-pop { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 850px) {
    .site-nav-command { order: 2; margin-left: auto; margin-right: 10px; }
    .site-nav-command span:nth-child(2) { display: none; }
    .v2-marketing .v2-eyebrow:after { display: none; }
    .v2-marketing .v2-hero { min-height: auto; padding-top: 56px; }
    .v2-app .v2-sidebar { width: 100%; }
}
@media (max-width: 540px) {
    .site-nav-command { padding: 6px; }
    .site-nav-command kbd { display: none; }
    .command-footer { gap: 8px; justify-content: space-between; }
    .v2-marketing .v2-hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
    .brand-announcement .site-container { flex-wrap: wrap; padding-block: 8px; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .command-dialog, .v2-marketing *, .v2-app * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
