:root{
  --bg-0:#fffaf2;
  --bg-1:#fff5e9;
  --bg:#fffaf2;
  --card:#ffffff;
  --panel2:#fff5e9;
  --soft:#fff0dd;
  --text:#1f2937;
  --muted:#6b7280;
  --brand:#ea580c;
  --brand2:#c2410c;
  --border:#fed7aa;
  --shadow:0 16px 40px rgba(15,23,42,.08);
  --r:28px;
  --ring:0 0 0 4px rgba(234,88,12,.12);
}

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&family=Inter:wght@400;500;600;700;800&display=swap");

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:light}
html[data-theme="midnight"]{color-scheme:dark}
body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  line-height:1.6;
  background:
    radial-gradient(1200px 560px at 14% -10%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 60%),
    radial-gradient(900px 500px at 90% 0%, color-mix(in srgb, var(--brand2) 10%, transparent), transparent 58%),
    linear-gradient(180deg, var(--bg-0), var(--bg-1));
}

h1,h2,h3,h4,h5,h6,.pp-h1,.pp-h2,.pp-brand-title,.pp-brand-sub,.pp-mini{font-family:"DM Sans",system-ui,sans-serif;letter-spacing:-.02em}
a{color:inherit}

.pp-container{max-width:1240px;margin:0 auto;padding:18px 14px}

.pp-top{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(255,255,255,.9);
  border-bottom:1px solid var(--border);
}
.pp-top-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pp-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.pp-logo{
  width:48px;height:48px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff;font-weight:1000;
  box-shadow:var(--shadow);
}
.pp-brand-title{display:block;font-weight:800;font-size:1.1rem}
.pp-brand-sub{display:block;font-size:12px;color:var(--muted);font-weight:800}

.pp-nav{display:flex;gap:10px;flex-wrap:wrap}
.pp-nav a{
  text-decoration:none;color:inherit;
  padding:10px 12px;border-radius:999px;
  border:1px solid transparent;
  font-weight:800;
}
.pp-nav a:hover{border-color:var(--border);background:var(--soft)}

.pp-foot{margin-top:26px;border-top:1px solid var(--border);background:rgba(255,255,255,.9)}
.pp-foot-inner{padding:22px 14px}

.pp-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.pp-pad{padding:22px}

.pp-h1{margin:6px 0 0;font-size:clamp(1.9rem,4vw,3rem);line-height:1.12;font-weight:800}
.pp-h2{font-size:1.25rem;font-weight:800;line-height:1.15}
.pp-mini{font-size:12px;color:var(--brand);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.pp-muted{color:var(--muted);font-weight:500;line-height:1.65}

.pp-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pp-btn{
  appearance:none;border:none;cursor:pointer;
  padding:12px 18px;border-radius:18px;
  background:var(--brand);
  color:#fff;font-weight:800;
  text-decoration:none;display:inline-flex;align-items:center;gap:8px;
  box-shadow:var(--shadow);
  transition:.2s ease;
}
.pp-btn:hover{transform:translateY(-1px)}
.pp-btn--ghost{
  background:#fff;
  color:var(--text);
  border:1px solid var(--border);
  box-shadow:none;
}
.pp-btn:disabled{opacity:.5;cursor:not-allowed}
.pp-btn:focus{outline:none;box-shadow:var(--ring)}

.pp-input{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 14px;
  background:#fff;
  font-weight:700;
  outline:none;
  color:var(--text);
}
.pp-input:focus{box-shadow:var(--ring)}

.pp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width: 980px){ .pp-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width: 640px){ .pp-grid{grid-template-columns:1fr;} }

.pp-pill{
  display:inline-flex;padding:7px 12px;border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  font-weight:800;font-size:12px;color:var(--muted);
}

.pp-split{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-end}

html[data-theme="saffron"]{
  --bg-0:#fffaf2; --bg-1:#fff5e9; --card:#ffffff; --soft:#fff0dd; --text:#1f2937;
  --muted:#6b7280; --border:#fed7aa; --brand:#ea580c; --brand2:#c2410c;
  --shadow:0 16px 40px rgba(15,23,42,.08); --ring:0 0 0 4px rgba(234,88,12,.12);
}
html[data-theme="midnight"]{
  --bg-0:#020617; --bg-1:#0b1220; --card:#0f172a; --soft:#111827; --text:#e5e7eb;
  --muted:#94a3b8; --border:#1e293b; --brand:#f59e0b; --brand2:#fbbf24;
  --shadow:0 18px 50px rgba(0,0,0,.34); --ring:0 0 0 4px rgba(245,158,11,.2);
}
html[data-theme="mint"]{
  --bg-0:#f7fffb; --bg-1:#edfdf5; --card:#ffffff; --soft:#ecfdf5; --text:#1f2937;
  --muted:#6b7280; --border:#a7f3d0; --brand:#059669; --brand2:#047857;
  --shadow:0 16px 40px rgba(6,78,59,.10); --ring:0 0 0 4px rgba(5,150,105,.14);
}

@media (prefers-reduced-motion:no-preference){
  html.theme-animate, html.theme-animate *{
    transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,fill .25s ease,stroke .25s ease;
  }
}

.leaflet-div-icon{background:transparent !important;border:none !important}
.pp-marker{width:20px;height:20px;border-radius:999px;background:transparent !important;backdrop-filter:invert(1);-webkit-backdrop-filter:invert(1);border:2px solid currentColor;box-shadow:0 6px 18px rgba(0,0,0,.35);display:block}
.pp-marker,.pp-dot{color:var(--text)}
html.theme-animate .leaflet-container *,html.theme-animate .leaflet-container{transition:none !important}
