/* ============================================================================
   PRAKRITI CLUB - SHARED THEME
   Applied site-wide on 15 Oct 2026.
   Visual language matches the ICSIGT 2026 conference page:
   IBM Plex Sans / IBM Plex Mono, deep blue #194f96, teal #299eb3 / #1da57c,
   warm off-white #f4f5f2, flat cards, 6px corners.
   This file is loaded LAST in every page head, so it wins the cascade.
   ========================================================================== */

/* ---------- tokens used by every page ---------- */
:root{
  --ink:#194f96;            /* primary deep blue */
  --steel:#33465e;          /* body text */
  --muted:#5b6b7d;
  --flare:#299eb3;          /* teal accent */
  --flare-deep:#1da57c;     /* deep green-teal */
  --paper:#f4f5f2;          /* warm off-white page */
  --white:#fff;
  --line:#dde2de;
  --line2:#c8d4dc;
  --pipe:#8fa2b6;
  --radius:6px;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --shadow:0 10px 30px rgba(22,35,53,.07);
  --shadow-lg:0 24px 60px rgba(22,35,53,.13);
  --ease:cubic-bezier(.2,.7,.3,1);
}

/* ---------- remap every legacy variable schema to the new palette ----------
   idx.html / avinya.html : --navy --navy-2 --teal --teal-light --gold --cream
                            --heading --ink --muted --line --glass --neu-*
   participants.html      : --navy --teal --teal-light --cream --white --soft
   safety.html            : --bg --blue --panel --panel2 --mono --sans --disp
   ---------------------------------------------------------------------------- */
:root{
  --navy:#194f96;
  --navy-2:#162335;
  --heading:#194f96;
  --teal:#1da57c;
  --teal-light:#299eb3;
  --gold:#299eb3;
  --gold-ink:#162335;
  --cream:#f4f5f2;
  --glass:rgba(255,255,255,.97);

  /* flatten the neumorphic system - this is the single biggest visual change */
  --neu-surface:#fff;
  --neu-light:#fff;
  --neu-dark:#e8ecef;
  --neu-dark2:#dde2de;
  --neu-raised:#fff;
  --neu-pressed:#fbfcfa;

  --soft:#eef1f3;
  --bg:#f4f5f2;
  --blue:#194f96;
  --panel:#fff;
  --panel2:#eef1f3;
  --disp:"IBM Plex Sans",system-ui,sans-serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --zc:#162335;
  --red:#c0392b;
  --orange:#e07a1f;
  --yellow:#f4c542;
  --glow:none;
}

/* ---------- base ---------- */
html{scroll-behavior:smooth}
body{
  font-family:var(--sans)!important;
  background:var(--paper)!important;
  color:var(--steel)!important;
  line-height:1.65!important;
  letter-spacing:0;
}
body,input,textarea,select,button{font-family:var(--sans)}
img{max-width:100%;height:auto}
h1,h2,h3,h4,h5{font-family:var(--sans);color:var(--ink);letter-spacing:-.01em;line-height:1.2}
a{color:var(--flare-deep)}
::selection{background:rgba(41,158,179,.22)}

/* kill every neumorphic shadow in the legacy system */
[class*="neu-"],[class*="soft-ui"],.neu,.soft{
  box-shadow:none!important;
  text-shadow:none!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
}

/* ---------- layout ---------- */
.container{width:min(1240px,92%)!important}
.section{padding:72px 0!important}
.section[id]{scroll-margin-top:86px}

/* ---------- headings ---------- */
.section-title{
  font-weight:600!important;
  color:var(--ink)!important;
  letter-spacing:-.015em!important;
}
.eyebrow{
  font-family:var(--mono)!important;
  font-size:.7rem!important;
  text-transform:uppercase!important;
  letter-spacing:.2em!important;
  color:var(--flare-deep)!important;
  font-weight:500!important;
  background:none!important;
  border:0!important;
  padding:0!important;
}
.eyebrow::before{background:var(--flare-deep)!important}
.section-sub{color:var(--muted)!important}

/* ---------- navigation ---------- */
.nav{
  background:var(--glass)!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 1px 0 rgba(22,35,53,.04)!important;
}
.nav-links a{color:var(--steel)!important;font-weight:500!important}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--flare-deep)!important}
.nav-links a.active{color:var(--ink)!important}
.brand img{border-radius:0!important}

/* ---------- buttons ---------- */
.btn{
  border-radius:var(--radius)!important;
  font-weight:600!important;
  padding:12px 24px!important;
  transition:background .2s,color .2s,border-color .2s,transform .15s!important;
}
.btn-primary,.btn.primary{
  background:var(--flare)!important;color:var(--ink)!important;border:1px solid var(--flare)!important;
}
.btn-primary:hover{background:#ffb44d!important;border-color:#ffb44d!important}
.btn-outline,.btn-outline-secondary,.btn.ghost{
  background:transparent!important;color:var(--ink)!important;border:1px solid var(--line2)!important;
}
.btn-outline:hover{border-color:var(--flare-deep)!important;color:var(--flare-deep)!important}

/* ---------- cards (flat, the core change) ---------- */
.roster-card,.team-card,.proj-card,.do-card,.panel,.card,.stat-card,.info-card{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  box-shadow:none!important;
  transition:border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease)!important;
}
.roster-card:hover,.team-card:hover,.proj-card:hover,.do-card:hover,.info-card:hover{
  border-color:var(--flare)!important;
  transform:translateY(-3px)!important;
  box-shadow:var(--shadow-lg)!important;
}
.roster-card h4,.team-card h3,.proj-card h3,.do-card h3{color:var(--ink)!important}
.roster-meta,.team-role,.team-mail,.proj-tag{color:var(--muted)!important}

/* ---------- pills / tags ---------- */
.pill,.tag,.proj-tag,.roster-tag{
  background:rgba(41,158,179,.12)!important;
  color:var(--flare-deep)!important;
  border:1px solid rgba(41,158,179,.28)!important;
  border-radius:3px!important;
  font-family:var(--mono)!important;
  font-size:.7rem!important;
  letter-spacing:.06em!important;
}

/* ---------- accent strips, a signature of the ICSIGT look ---------- */
.proj-card,.do-card,.info-card{position:relative;overflow:hidden}
.proj-card::before,.do-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--flare);opacity:0;transition:opacity .22s var(--ease);
}
.proj-card:hover::before,.do-card:hover::before{opacity:1}

/* ---------- stats ---------- */
.stat b,.stat .n,.stat strong{color:var(--flare-deep)!important}
.stat span,.stat .l{font-family:var(--mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}

/* ---------- marquee ---------- */
.marquee{background:#fff!important;border-block:1px solid var(--line)!important}

/* ---------- tables ---------- */
table{border-collapse:collapse}
th{
  background:var(--ink)!important;color:#dfe7ee!important;
  font-family:var(--mono)!important;font-weight:500!important;
  font-size:.73rem!important;letter-spacing:.12em;text-transform:uppercase;
  padding:12px 16px!important;text-align:left!important;
}
td{padding:11px 16px!important;border-bottom:1px solid #eceff1!important;color:var(--steel)}
tbody tr:nth-child(even){background:#fbfcfa}
tbody tr:hover{background:#f0f8f6}

/* ---------- forms ---------- */
input,textarea,select{
  border:1px solid var(--line2)!important;border-radius:var(--radius)!important;
  background:#fff!important;color:var(--ink)!important;padding:10px 13px!important;
  font-family:var(--sans)!important;
}
input:focus,textarea:focus,select:focus{
  outline:none!important;border-color:var(--flare)!important;box-shadow:0 0 0 3px rgba(41,158,179,.18)!important;
}
label{color:var(--steel)!important;font-weight:500!important}

/* ---------- footer ---------- */
footer{
  background:#e8ecef!important;color:var(--muted)!important;
  border-top:1px solid var(--line)!important;
}
footer h1,footer h2,footer h3,footer h4{color:var(--ink)!important}
footer h3{font-family:var(--mono)!important;font-size:.74rem!important;letter-spacing:.2em!important;text-transform:uppercase!important}
footer a{color:var(--ink)!important}
footer a:hover{color:var(--flare-deep)!important}
footer p{color:var(--muted)!important}

/* ---------- focus + motion ---------- */
:focus-visible{outline:2px solid var(--flare);outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- scroll reveal (opt-in via .rv, harmless if unused) ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* ---------- back to top ---------- */
.pk-totop{
  position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;
  background:var(--ink);color:#fff;border:none;cursor:pointer;z-index:900;
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  opacity:0;pointer-events:none;transition:opacity .28s,transform .28s,background .2s;
  box-shadow:var(--shadow-lg);
}
.pk-totop.show{opacity:1;pointer-events:auto}
.pk-totop:hover{background:var(--flare-deep);transform:translateY(-3px)}

/* ---------- scroll progress ---------- */
.pk-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:1001;
  background:linear-gradient(90deg,var(--flare),var(--flare-deep));
  transition:width .1s linear;
}

/* ---------- print ---------- */
@media print{
  .nav,.footer,.pk-totop,.pk-progress,marquee,#hamburger{display:none!important}
  body{background:#fff;font-size:11pt}
  a{text-decoration:none;color:#000}
  .card,.panel,.roster-card,.team-card{break-inside:avoid;box-shadow:none!important}
}