
/* SKYNET v32.0 — Public UI */
:root{
  --pub-bg:#06111d;--pub-surface:#091927;--pub-surface2:#0d2131;--pub-line:#203f55;
  --pub-text:#edf8ff;--pub-muted:#87a6ba;--pub-accent:#3ab8f4;--pub-green:#39d99c;
  --pub-shadow:0 16px 40px rgba(0,0,0,.22);color-scheme:dark;
}
html[data-theme="light"]{
  --pub-bg:#eef4f8;--pub-surface:#fff;--pub-surface2:#f6f9fb;--pub-line:#c5d7e3;
  --pub-text:#163149;--pub-muted:#607d91;--pub-accent:#087cb9;--pub-green:#087a56;
  --pub-shadow:0 14px 34px rgba(32,54,72,.10);color-scheme:light;
}
html,body{background:var(--pub-bg)!important;color:var(--pub-text)!important}
body{
  background:
    radial-gradient(circle at 75% -15%,rgba(36,147,207,.08),transparent 36%),
    var(--pub-bg)!important;
}
a{color:inherit}
.pub-top,.public-rf-top,body>.topbar{
  background:rgba(5,16,27,.95)!important;
  border-color:var(--pub-line)!important;
  box-shadow:0 7px 24px rgba(0,0,0,.16);
}
html[data-theme="light"] .pub-top,
html[data-theme="light"] .public-rf-top,
html[data-theme="light"] body>.topbar{
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 7px 22px rgba(30,53,72,.08);
}
.pub-brand,.public-rf-brand,body>.topbar .brand{color:var(--pub-text)!important}
.pub-brand small,.public-rf-brand small,body>.topbar .brand small{color:var(--pub-accent)!important}

.pub-nav,.public-rf-nav,.public-nav,.nav{align-items:center}
.pub-nav a,.public-rf-nav a,.public-nav a,.nav a{
  color:var(--pub-muted)!important;
  border-color:transparent!important;
  border-radius:8px!important;
  transition:background .14s,border-color .14s,color .14s;
}
.pub-nav a:hover,.public-rf-nav a:hover,.public-nav a:hover,.nav a:hover,
.pub-nav a.active,.public-rf-nav a.active,.public-nav a.active,.nav a.active{
  color:var(--pub-text)!important;
  background:var(--pub-surface2)!important;
  border-color:var(--pub-line)!important;
}
.public-theme-toggle{
  min-height:31px;padding:6px 9px;border:1px solid var(--pub-line);border-radius:8px;
  background:var(--pub-surface);color:var(--pub-text);font:800 10px/1 system-ui,sans-serif;
  cursor:pointer;box-shadow:none;
}
.public-theme-toggle:hover{background:var(--pub-surface2);transform:none}
.public-theme-toggle span{margin-left:3px}

/* Public homepage */
.pub-shell{max-width:1320px!important;padding:0 22px!important}
.pub-hero{min-height:auto!important;padding:66px 0 52px!important;gap:44px!important}
.pub-hero-copy{max-width:650px}
.pub-hero h1{font-size:clamp(38px,5vw,66px)!important;line-height:1.01!important;letter-spacing:-.045em!important}
.pub-hero-copy>p:not(.eyebrow){font-size:15px!important;line-height:1.7!important;color:var(--pub-muted)!important}
.pub-primary,.pub-secondary{
  min-height:42px!important;border-radius:9px!important;font-size:11px!important;
}
.pub-primary{background:var(--pub-accent)!important}
.pub-secondary{background:var(--pub-surface)!important;border-color:var(--pub-line)!important;color:var(--pub-text)!important}
.pub-trust{font-size:10px!important;color:var(--pub-muted)!important}

.pub-tools{gap:12px!important}
.pub-card{
  min-height:208px;
  padding:18px!important;
  border-color:var(--pub-line)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,var(--pub-surface2),var(--pub-surface))!important;
  box-shadow:var(--pub-shadow)!important;
}
.pub-card:hover{transform:translateY(-2px)!important;border-color:#4183a8!important}
.pub-card h2{font-size:18px!important}
.pub-card p{font-size:11px!important;line-height:1.6!important;color:var(--pub-muted)!important}
.pub-features span{background:var(--pub-surface2)!important;border-color:var(--pub-line)!important;color:var(--pub-muted)!important}
.pub-open{color:var(--pub-accent)!important}

.pub-about{
  margin:42px 0 14px;padding:26px;border:1px solid var(--pub-line);border-radius:14px;
  background:
    linear-gradient(130deg,rgba(40,153,212,.08),transparent 48%),
    linear-gradient(180deg,var(--pub-surface2),var(--pub-surface));
  box-shadow:var(--pub-shadow);
}
.pub-about-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:start}
.pub-about .eyebrow{color:var(--pub-accent)!important}
.pub-about h2{margin:4px 0 12px;font-size:28px;letter-spacing:-.025em}
.pub-about p{margin:0;color:var(--pub-muted);font-size:13px;line-height:1.75}
.pub-role-grid{display:grid;gap:8px}
.pub-role{
  padding:11px 12px;border:1px solid var(--pub-line);border-radius:9px;background:var(--pub-bg);
}
.pub-role strong{display:block;font-size:11px;color:var(--pub-text)}
.pub-role span{display:block;margin-top:2px;color:var(--pub-muted);font-size:10px;line-height:1.4}
.pub-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.pub-principles article{padding:12px;border-top:2px solid var(--pub-accent);background:rgba(41,144,198,.04)}
.pub-principles b{display:block;font-size:10px;margin-bottom:4px}
.pub-principles small{color:var(--pub-muted);font-size:9px;line-height:1.45}

.pub-note{
  border-color:var(--pub-line)!important;border-radius:10px!important;
  background:var(--pub-surface)!important;color:var(--pub-muted)!important;
}
.pub-note strong{color:var(--pub-text)!important}
.pub-footer{border-color:var(--pub-line)!important;color:var(--pub-muted)!important}

/* Radar respects light mode without losing the operational look. */
html[data-theme="light"] .pub-radar{
  background:radial-gradient(circle at center,#e9f4fa 0,#dcecf5 45%,#cbdde9 100%)!important;
  border-color:#94bad1!important;box-shadow:inset 0 0 65px rgba(42,121,171,.10),0 20px 52px rgba(41,68,88,.13)!important
}
html[data-theme="light"] .radar-center{background:radial-gradient(circle,#fff,#e5f2f8)!important;border-color:#6aa6c8!important}
html[data-theme="light"] .radar-center span{color:#0874a9!important}
html[data-theme="light"] .radar-status{background:rgba(255,255,255,.82)!important;color:#4e7892!important;border-color:#aac6d7!important}

/* Generic public tools */
.public-rf-main,.pg,.public-map-shell>.content{max-width:1600px;margin-inline:auto}
.public-rf-note,.cc-hero,.mapcard,.side,.safety-main,.safety-side,.panel{
  border-color:var(--pub-line)!important;
  background:linear-gradient(180deg,var(--pub-surface2),var(--pub-surface))!important;
  color:var(--pub-text)!important;
  box-shadow:var(--pub-shadow);
}
.public-rf-note,.top p,.cc-hero p,.statusline,.legend,.item p,.safety-item p{color:var(--pub-muted)!important}
input,select,textarea{
  background:var(--pub-bg)!important;color:var(--pub-text)!important;border-color:var(--pub-line)!important
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea{background:#fff!important}
.cc-btn,.btn,button:not(.public-theme-toggle){
  border-radius:8px!important;box-shadow:none!important
}

/* Public map containers + popups */
html[data-theme="light"] .leaflet-container{
  background:#dce8ef;color:#18364b
}
html[data-theme="light"] .leaflet-control-zoom a,
html[data-theme="light"] .leaflet-control-layers{
  background:#fff!important;color:#18364b!important;border-color:#b7cddd!important
}
html[data-theme="light"] .leaflet-popup-content-wrapper,
html[data-theme="light"] .leaflet-popup-tip,
html[data-theme="light"] .leaflet-tooltip{
  background:#fff!important;color:#18364b!important
}

@media(max-width:900px){
  .pub-shell{padding-inline:14px!important}
  .pub-hero{padding-top:42px!important}
  .pub-about-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .pub-principles{grid-template-columns:1fr}
  .public-theme-toggle span{display:none}
  .pub-hero h1{font-size:39px!important}
}
