/* =====================================================================
   is-down.ai "Signal" rebrand (light-only). Loads LAST so it wins the cascade.
   Redefines design tokens (so token-driven components reflow
   automatically) then refines structure: instrument-grade monospace data,
   elevated cards, status dots instead of side-stripes, refined header/footer.
   ===================================================================== */

:root{
	/* --- Signal palette: a deliberate electric cobalt, off the default indigo --- */
	--isd-brand:oklch(0.51 0.22 264);
	--isd-brand-700:oklch(0.44 0.21 264);
	--isd-brand-600:oklch(0.48 0.21 264);
	--isd-brand-200:oklch(0.82 0.10 264);
	--isd-brand-tint:oklch(0.965 0.022 264);

	/* Retarget Blocksy's global palette (drives default link + nav color) from
	   the old indigo to the new cobalt, so theme-driven links match the rebrand. */
	--theme-palette-color-1:#2440E6;
	--theme-palette-color-2:#1B30C7;

	/* --- Neutrals: near-black ink, calm cool greys, true-but-not-pure white --- */
	--isd-ink:oklch(0.20 0.022 268);
	--isd-ink-2:oklch(0.33 0.018 268);
	--isd-muted:oklch(0.505 0.014 268);
	--isd-faint:oklch(0.63 0.012 268);

	--isd-paper:oklch(0.984 0.004 268);
	--isd-paper-2:oklch(0.962 0.006 268);
	--isd-card:oklch(0.998 0.0015 268);
	--isd-border:oklch(0.912 0.006 268);
	--isd-border-strong:oklch(0.86 0.008 268);

	/* Status hues unchanged (semantic), only minor refinement for harmony. */
	--isd-status-operational:oklch(0.62 0.15 152);
	--isd-status-operational-ink:oklch(0.50 0.13 152);

	/* Softer, more deliberate elevation; indigo-free neutral shadow. */
	--isd-shadow-sm:0 1px 2px oklch(0.20 0.02 268 / .05),0 1px 1px oklch(0.20 0.02 268 / .04);
	--isd-shadow-md:0 22px 48px -26px oklch(0.30 0.10 264 / .34),0 6px 16px -12px oklch(0.20 0.02 268 / .14);

	--isd-r-sm:10px;
	--isd-r-card:14px;
	--isd-r-panel:20px;

	/* Monospace for data (response times, %, counts, timestamps) = instrument feel. */
	--isd-mono:"JetBrains Mono",ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;
}

/* Numeric / data values get the mono treatment + tabular figures. */
.isd-card__meta,.isd-verdict__meta,.isd-statusbar__count,
.isd-stat__v,.isd-uptime__v,.isd-compare__pct,.isd-rep__count,
.isd-history__avg,.isd-incident__upd,.isd-timeline__meta,.isd-latest__meta{
	font-family:var(--isd-mono);
	font-variant-numeric:tabular-nums;
	font-feature-settings:"tnum" 1;
	letter-spacing:-0.01em;
}

/* ============================ Header / brand lockup ============================ */
.ct-header{background:var(--isd-card);border-bottom:1px solid var(--isd-border);}
.site-title-container{display:none !important;}
/* The uploaded site logo is now the new outlined lockup; just size it. */
.site-logo-container img.default-logo{height:38px !important;width:auto !important;}
.ct-header [class*="menu"] a,.header-menu a{font-weight:600;letter-spacing:-0.01em;}

/* ============================ Page rhythm ============================ */
body{color:var(--isd-ink);background:var(--isd-paper);}
.isd-home,.isd-single{padding-block:clamp(2rem,5vw,3.5rem);}
/* Blocksy's .ct-container is a flex/grid parent, so these wrappers would size to
   their widest child (the auto-fill component grids) and overflow on narrow
   screens. Pin them to the track width so internal grids collapse correctly. */
.isd-home,.isd-single{min-width:0;width:100%;box-sizing:border-box;}
.isd-systems__list,.isd-grid,.isd-glance,.isd-reportsmod__cols,.isd-incpage__facts,.isd-uptime,.isd-compare__list{min-width:0;}

/* ----- Hero ----- */
.isd-home__hero{max-width:820px;}
.isd-home__hero::before{
	content:"● Live AI status monitoring";
	display:inline-flex;align-items:center;gap:.45rem;
	font-family:var(--isd-mono);font-size:.74rem;font-weight:600;letter-spacing:.02em;
	text-transform:uppercase;color:var(--isd-brand-700);
	background:var(--isd-brand-tint);border:1px solid color-mix(in oklch,var(--isd-brand) 18%,white);
	padding:.4rem .8rem;border-radius:999px;margin:0 0 1.15rem;
}
.isd-home__title{font-size:clamp(2.3rem,6.2vw,3.6rem);letter-spacing:-0.035em;line-height:1.02;}
.isd-home__sub{font-size:clamp(1.05rem,2.3vw,1.28rem);color:var(--isd-muted);max-width:60ch;margin-inline:auto;}

/* ============================ Status banner ============================ */
.isd-statusbar{
	padding:1.05rem 1.3rem;border-radius:var(--isd-r-panel);
	background:color-mix(in oklch,var(--isd-c) 7%,var(--isd-card));
	border:1px solid color-mix(in oklch,var(--isd-c) 26%,var(--isd-border));
	box-shadow:var(--isd-shadow-sm);
}
.isd-statusbar__text{font-weight:800;letter-spacing:-0.02em;}
.isd-statusbar__count{color:var(--isd-muted);}
.isd-statusbar__count strong{color:var(--isd-ct);}

/* ============================ Dashboard grid + cards ============================ */
.isd-grid{grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:clamp(14px,1.5vw,18px);}
.isd-search input{border-radius:var(--isd-r-card);background:var(--isd-card);}

.isd-card{
	gap:.95rem;padding:1.15rem 1.2rem;border-radius:var(--isd-r-card);
	border:1px solid var(--isd-border);box-shadow:var(--isd-shadow-sm);
	transition:transform .16s var(--isd-ease),box-shadow .16s var(--isd-ease),border-color .16s var(--isd-ease);
}
.isd-card:hover{transform:translateY(-3px);box-shadow:var(--isd-shadow-md);
	border-color:color-mix(in oklch,var(--isd-brand) 40%,var(--isd-border));}
.isd-card__name{font-size:1.08rem;letter-spacing:-0.02em;}
.isd-card__meta{font-size:.78rem;color:var(--isd-muted);}
.isd-card__meta .isd-ms::before{color:currentColor;}

/* Elevated monogram tile: squircle, flat brand wash, subtle ring (no gradients). */
.isd-mono{
	width:40px;height:40px;border-radius:12px;font-size:1.02rem;font-weight:800;
	background:color-mix(in oklch,var(--isd-brand) 11%,white);
	color:var(--isd-brand-700);
	box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--isd-brand) 20%,white);
}
.isd-logo{width:40px;height:40px;border-radius:12px;}

/* ============================ Currently affected ============================ */
.isd-affected{padding:1.05rem 1.3rem;border-radius:var(--isd-r-panel);box-shadow:var(--isd-shadow-sm);}
.isd-affected__title{font-weight:800;letter-spacing:-0.01em;}
.isd-affected__item{box-shadow:var(--isd-shadow-sm);}

/* ============================ Latest incidents (dot, not stripe) ============================ */
.isd-latest__item{
	border-left:0;padding:.6rem .85rem .6rem .95rem;background:var(--isd-card);
	border:1px solid var(--isd-border);border-radius:var(--isd-r-sm);position:relative;
	grid-template-columns:auto auto 1fr auto;
}
.isd-latest__item::before{
	content:"";width:8px;height:8px;border-radius:50%;flex:0 0 auto;
	background:var(--isd-c,var(--isd-status-unknown));box-shadow:0 0 0 3px color-mix(in oklch,var(--isd-c) 22%,transparent);
}

/* ============================ Verdict (LCP) ============================ */
.isd-verdict{
	padding:clamp(1.5rem,3.6vw,2.4rem);border-radius:var(--isd-r-panel);
	background:color-mix(in oklch,var(--isd-c,var(--isd-status-unknown)) 7%,var(--isd-card));
	border:1px solid color-mix(in oklch,var(--isd-c,var(--isd-status-unknown)) 28%,var(--isd-border));
	box-shadow:var(--isd-shadow-sm);
}
.isd-verdict__q{font-size:clamp(1.8rem,4.6vw,2.6rem);letter-spacing:-0.035em;line-height:1.06;}
.isd-verdict__qstatus{font-family:var(--isd-mono);text-transform:uppercase;font-size:.8rem;letter-spacing:.02em;color:var(--isd-muted);font-weight:600;}
.isd-verdict__a{font-size:clamp(1.12rem,2.5vw,1.42rem);letter-spacing:-0.01em;}
.isd-verdict__official{color:var(--isd-brand-700);}

/* ============================ Glance stats (dot, not stripe) ============================ */
.isd-glance{gap:.75rem;}
.isd-stat{
	border-left:0;border:1px solid var(--isd-border);border-radius:12px;
	padding:.85rem .95rem;box-shadow:var(--isd-shadow-sm);position:relative;
}
.isd-stat__v{font-family:var(--isd-mono);font-size:1.4rem;letter-spacing:-0.02em;color:var(--isd-ink);}
.isd-stat__l{color:var(--isd-muted);display:flex;align-items:center;gap:.4rem;}
.isd-stat__l::before{
	content:"";width:7px;height:7px;border-radius:50%;flex:0 0 auto;
	background:var(--isd-c,var(--isd-status-unknown));
}

/* ============================ System components (dot, not stripe) ============================ */
.isd-systems__sum{font-family:var(--isd-mono);color:var(--isd-muted);}
.isd-systems__summary{border-left:0;border:1px solid color-mix(in oklch,var(--isd-status-degraded) 30%,white);border-radius:var(--isd-r-sm);}
.isd-system{
	border-left:0;background:var(--isd-card);border:1px solid var(--isd-border);
	border-radius:var(--isd-r-sm);padding:.6rem .8rem;
}
.isd-system__name{display:flex;align-items:center;gap:.5rem;}
.isd-system__name::before{
	content:"";width:7px;height:7px;border-radius:50%;flex:0 0 auto;
	background:var(--isd-c,var(--isd-status-operational));
}

/* ============================ Panels ============================ */
.isd-panel{border:1px solid var(--isd-border);border-radius:var(--isd-r-card);box-shadow:var(--isd-shadow-sm);}
.isd-panel__title{font-weight:800;letter-spacing:-0.02em;}
.isd-incident{background:var(--isd-card);border:1px solid var(--isd-border);border-radius:var(--isd-r-sm);}

/* Reliability compare + reports + uptime windows */
.isd-uptime__cell{background:var(--isd-card);border:1px solid var(--isd-border);box-shadow:var(--isd-shadow-sm);}
.isd-uptime__v{font-family:var(--isd-mono);}
.isd-compare__track{background:color-mix(in oklch,var(--isd-border) 55%,white);height:11px;}
.isd-compare__pct{color:var(--isd-status-operational-ink);}
.isd-rep__row{background:var(--isd-card);border:1px solid var(--isd-border);}

/* Service -> guide CTA (full border, no stripe) */
.isd-guidecta{border-left:1px solid var(--isd-border);border:1px solid color-mix(in oklch,var(--isd-brand) 22%,var(--isd-border));background:var(--isd-brand-tint);border-radius:var(--isd-r-card);}
.isd-guidecta__link{color:var(--isd-brand-700);white-space:normal;min-width:0;}

/* ============================ Buttons ============================ */
.isd-report__btn{background:var(--isd-brand);border-radius:var(--isd-r-card);box-shadow:0 6px 16px -8px oklch(0.51 0.22 264 / .55);}
.isd-report__btn:hover{background:var(--isd-brand-700);}
.isd-report__type{border-radius:999px;}

/* ============================ How-it-works strip ============================ */
.isd-steps__title{letter-spacing:-0.025em;}
.isd-step{border:1px solid var(--isd-border);border-radius:var(--isd-r-card);box-shadow:var(--isd-shadow-sm);}
.isd-step__n{border-radius:11px;background:var(--isd-brand-tint);color:var(--isd-brand-700);
	box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--isd-brand) 18%,white);}

/* ============================ FAQ ============================ */
.isd-faq__q::after{color:var(--isd-brand);}
.isd-faq__item[open]{border-color:color-mix(in oklch,var(--isd-brand) 32%,var(--isd-border));}

/* ============================ Footer ============================ */
.ct-footer,.ct-footer [data-row]{background:var(--isd-ink) !important;}
.isd-foot-nav a:hover{color:var(--isd-brand-200);}

/* ============================ Mobile menu tap target (a11y) ============================ */
/* Blocksy's hamburger trigger is an 18px glyph; enlarge the hit area to >=44px. */
.ct-header-trigger{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}

/* ============================ Focus visibility (a11y) ============================ */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
	outline:2px solid var(--isd-brand);outline-offset:2px;border-radius:3px;
}

@media (max-width:560px){
	.isd-latest__item{grid-template-columns:auto auto auto;}
	.isd-latest__title{grid-column:1 / -1;}
}
