/* Shared art direction — Palpagos Expedition 2026 */
:root {
  --pw-sky:#22c7f2;
  --pw-ocean:#087bb9;
  --pw-deep:#04101a;
  --pw-panel:#0a1d2b;
  --pw-orange:#ff8b2b;
  --pw-sun:#ffc857;
  --pw-mint:#50e3a4;
  --pw-ink:#edfaff;
  --pw-muted:#91b2c5;
  --pw-line:rgba(104,205,239,.2);
  --pw-shadow:0 24px 70px rgba(0,5,12,.34);
}

body { position:relative; background-color:var(--pw-deep); }
body::after {
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
}

/* Branded focus and selection */
::selection { color:#06121c; background:var(--pw-sky); }
:focus-visible { outline:2px solid var(--pw-sky)!important; outline-offset:3px; }

/* Landing page */
.land-header.scrolled { background:rgba(4,16,26,.84)!important; border-bottom:1px solid var(--pw-line); }
.land-header-inner { max-width:1380px!important; }
.land-logo img,.sidebar-logo-img,.brand-link img { background:radial-gradient(circle,rgba(34,199,242,.18),transparent 70%); }
.land-nav-cta,.hero-btn--primary {
  position:relative; overflow:hidden; border:1px solid rgba(255,206,112,.38)!important;
  background:linear-gradient(135deg,#ff9b38,#f36a20)!important;
  box-shadow:0 10px 30px rgba(244,127,30,.28),inset 0 1px 0 rgba(255,255,255,.32)!important;
}
.land-nav-cta::after,.hero-btn--primary::after { content:""; position:absolute; inset:-50%; background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.22) 50%,transparent 62%); transform:translateX(-70%); transition:transform .55s ease; }
.land-nav-cta:hover::after,.hero-btn--primary:hover::after { transform:translateX(70%); }
.land-hero { min-height:760px!important; }
.land-hero::before { content:"PALPAGOS"; position:absolute; right:-1vw; bottom:-7vw; font-family:var(--font-title); font-weight:900; font-size:clamp(6rem,18vw,17rem); letter-spacing:-.08em; color:transparent; -webkit-text-stroke:1px rgba(72,181,222,.055); pointer-events:none; }
.hero-badge { background:linear-gradient(90deg,rgba(34,199,242,.12),rgba(80,227,164,.06))!important; border-color:rgba(80,227,164,.25)!important; color:#80edbd!important; }
.hero-title { text-wrap:balance; }
.hero-card-preview { border-radius:32px 12px 32px 12px!important; transform:rotate(2deg); border:1px solid rgba(82,206,244,.28)!important; background:linear-gradient(145deg,rgba(15,43,61,.85),rgba(5,17,28,.92))!important; box-shadow:var(--pw-shadow),0 0 80px rgba(34,199,242,.09)!important; }
.hero-card-preview::after { content:"EXPEDITION // 01"; position:absolute; right:18px; top:15px; font:700 .58rem/1 var(--font-body); letter-spacing:.16em; color:#668a9e; }
.ftag { border:1px solid rgba(255,255,255,.1)!important; backdrop-filter:blur(14px); box-shadow:0 10px 25px rgba(0,0,0,.25)!important; }
.land-section { position:relative; }
.land-section--alt { background:linear-gradient(180deg,rgba(12,34,49,.42),rgba(5,17,27,.16))!important; border-block:1px solid rgba(91,196,232,.08); }
.land-section-title { letter-spacing:-.045em!important; }
.land-section-title::before { content:"//"; margin-right:.45rem; color:var(--pw-orange); font-size:.75em; }
.tool-card { border-radius:22px 8px 22px 8px!important; border-color:var(--pw-line)!important; background:linear-gradient(145deg,rgba(13,38,55,.82),rgba(6,20,31,.9))!important; box-shadow:0 14px 40px rgba(0,4,10,.18)!important; }
.tool-card:hover { transform:translateY(-7px)!important; border-color:rgba(34,199,242,.48)!important; box-shadow:0 26px 60px rgba(0,5,12,.34),0 0 0 1px rgba(34,199,242,.06)!important; }
.tool-card--featured { background:linear-gradient(145deg,rgba(12,58,77,.9),rgba(7,25,37,.95))!important; border-color:rgba(34,199,242,.38)!important; }
.tool-card-icon { border-radius:16px 6px 16px 6px!important; background:linear-gradient(145deg,rgba(34,199,242,.17),rgba(8,123,185,.08))!important; }
.tc-tag { border:1px solid rgba(105,187,219,.12); }

/* Dashboard */
.app-sidebar { background:linear-gradient(180deg,#081c2a 0%,#06121d 62%,#071019 100%)!important; }
.sidebar-header { background:linear-gradient(90deg,rgba(34,199,242,.04),transparent); }
.nav-group-header { color:#668ba0!important; }
.nav-link.active { border-radius:14px 5px 14px 5px!important; background:linear-gradient(100deg,rgba(34,199,242,.18),rgba(8,123,185,.05))!important; box-shadow:inset 3px 0 0 var(--pw-sky),0 10px 28px rgba(0,0,0,.2)!important; }
.app-header { background:rgba(4,14,23,.82)!important; }
.app-main { background:radial-gradient(circle at 82% 8%,rgba(34,199,242,.055),transparent 25rem); }
.section-header { position:relative; padding-left:20px; }
.section-header::before { content:""; position:absolute; left:0; top:3px; bottom:3px; width:4px; border-radius:5px; background:linear-gradient(var(--pw-sky),var(--pw-orange)); box-shadow:0 0 15px rgba(34,199,242,.35); }
.section-title::after { display:none!important; }
.section-subtitle { margin-top:9px!important; }
.glass-card,.controls-bar,.capture-calc-controls,.capture-calc-results { border-radius:24px 8px 24px 8px!important; background:linear-gradient(145deg,rgba(13,37,54,.88),rgba(5,17,28,.91))!important; border-color:var(--pw-line)!important; }
.parent-picker-card { position:relative; }
.parent-picker-card::after { content:"CHOISIR"; position:absolute; right:14px; top:13px; color:#56788c; font-size:.56rem; font-weight:800; letter-spacing:.14em; }
.picker-avatar { box-shadow:inset 0 0 38px rgba(34,199,242,.06),0 12px 34px rgba(0,0,0,.2); }
.swap-btn { background:linear-gradient(145deg,rgba(34,199,242,.17),rgba(8,123,185,.08))!important; }
.modal-container { border-radius:28px 8px 28px 8px!important; background:linear-gradient(145deg,#0d2738,#071521)!important; }
.home-link-btn,.theme-toggle-btn,.collapse-btn,.mobile-toggle { border-radius:12px 5px 12px 5px!important; }

/* Interactive map */
.map-topbar { background:linear-gradient(90deg,rgba(6,24,36,.97),rgba(4,14,23,.94))!important; }
.filters-panel { background:linear-gradient(180deg,#091f2e,#06131e 65%,#071019)!important; }
.filter-option { border-radius:13px 5px 13px 5px!important; }
.filter-option.active { background:linear-gradient(90deg,rgba(34,199,242,.11),rgba(34,199,242,.025))!important; }
.filter-icon { border-radius:11px 4px 11px 4px!important; }
.map-statusbar { background:rgba(4,14,23,.88)!important; }
.map-viewport::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(1,7,12,.34) 100%); }
.map-canvas { border:1px solid rgba(109,203,236,.13); border-radius:26px 8px 26px 8px; overflow:hidden; }
.world-map { filter:saturate(1.08) contrast(1.04) brightness(.93); }
.map-controls button,.place-card { border-radius:14px 5px 14px 5px!important; }
.place-card { background:linear-gradient(145deg,rgba(10,31,45,.96),rgba(5,17,27,.97))!important; }
.found-button { border-radius:11px 4px 11px 4px!important; }

@media (max-width:700px) {
  .land-hero::before { display:none; }
  .hero-card-preview { transform:none; }
  .tool-card,.glass-card,.controls-bar { border-radius:18px 6px 18px 6px!important; }
}

@media (prefers-reduced-motion:no-preference) {
  .hero-card-preview { animation:pw-float 6s ease-in-out infinite; }
  @keyframes pw-float { 0%,100%{transform:rotate(2deg) translateY(0)} 50%{transform:rotate(1deg) translateY(-10px)} }
}
