/* ui-tokens.css: the design tokens of the site's old ui.css, and nothing else.
   The projects player (projects.css) and the case-study demo were written against
   these variables. This shim lets them render without loading ui.css, so the
   Keshav template's style.css owns the page. Light is :root here, dark is
   [data-theme="dark"], the opposite of the old file, which was dark-first.
   Generated from the two token blocks at the top of ui.css + the --text-3
   override further down + the skin-dbc chip tokens. */
:root{
  --bg-0:#FFFFFF;
  --bg-1:#F5F5F8;
  --paper:#FFFFFF;
  --glass:#FFFFFF;
  --glass-hi:#F5F7FB;
  --card-grad:linear-gradient(168deg,#FFFFFF 0%,#FFFFFF 100%);
  --card-edge:rgba(39,67,103,.14);
  --plate:rgba(39,67,103,.04);
  --dots:rgba(39,67,103,.1);
  --bar:rgba(255,255,255,.88);
  --line:rgba(28,36,49,.12);
  --line-strong:rgba(28,36,49,.26);
  --line-soft:rgba(28,36,49,.07);
  --text-1:#1C1C1C;
  --text-2:#55606E;
  --text-3:#6E7784;
  --accent:#2E6BD3;
  --accent-ink:#FFFFFF;
  --accent-2:#6FA0EA;
  --accent-deep:#1C4FA8;
  --accent-glow:rgba(46,107,211,.3);
  --btn-bg:#2E6BD3;
  --btn-ink:#FFFFFF;
  --accent-soft:rgba(46,107,211,.08);
  --success:#12A150;
  --success-soft:rgba(18,161,80,.08);
  --warn:#D98A00;
  --warn-soft:rgba(217,138,0,.1);
  --danger:#E5484D;
  --gold:#3D5E93;
  --gold-soft:rgba(61,94,147,.08);
  --gold-line:rgba(61,94,147,.3);
  --field-bg:#FFFFFF;
  --fill:linear-gradient(158deg,#1E4A96 0%,#133875 52%,#0B2450 100%);
  --fill-glow:0 30px 66px -30px rgba(19,56,117,.5);
  --fill-ink:#FFFFFF;
  --fill-muted:rgba(230,242,255,.85);
  --fill-line:rgba(255,255,255,.22);
  --grad:linear-gradient(100deg,#2E6BD3,#4E86DB);
  --shadow:0 24px 56px -22px rgba(39,67,103,.3);
  --shadow-soft:0 14px 36px -20px rgba(39,67,103,.24);
  --shadow-lg:0 32px 70px -26px rgba(39,67,103,.36);
}
[data-theme="dark"]{
  --bg-0:#070707;
  --bg-1:#0D0D0D;
  --paper:#161616;
  --glass:#161616;
  --glass-hi:#1D1D1D;
  --card-grad:linear-gradient(168deg,#1A1A1A 0%,#141414 100%);
  --card-edge:rgba(255,255,255,.08);      
  --plate:rgba(94,146,232,.05);           
  --dots:rgba(255,255,255,.07);           
  --bar:rgba(7,7,7,.84);                  
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(94,146,232,.32);
  --line-soft:rgba(255,255,255,.06);
  --text-1:#F8F8F8;
  --text-2:#A5ACB7;
  --text-3:#8A8F98;
  --accent:#5E92E8;
  --accent-ink:#FFFFFF;   
  --accent-2:#8FB3EE;
  --accent-deep:#2E6BD3;
  --accent-glow:rgba(46,107,211,.4);
  --btn-bg:#2E6BD3;
  --btn-ink:#FFFFFF;
  --accent-soft:rgba(94,146,232,.13);
  --success:#2FBF71;
  --success-soft:rgba(47,191,113,.1);
  --warn:#E3A008;
  --warn-soft:rgba(227,160,8,.12);
  --danger:#F2555C;
  --gold:#8FB3EE;
  --gold-soft:rgba(143,179,238,.1);
  --gold-line:rgba(143,179,238,.38);
  --field-bg:rgba(255,255,255,.05);
  --fill:linear-gradient(158deg,#1E4A96 0%,#133875 52%,#0B2450 100%);
  --fill-glow:0 34px 76px -34px rgba(19,56,117,.7);
  --fill-ink:#FFFFFF;
  --fill-muted:rgba(226,240,255,.78);
  --fill-line:rgba(255,255,255,.18);
  --grad:linear-gradient(100deg,#5E92E8,#8FB3EE);
  --t-fast:170ms;
  --t-med:340ms;
  --t-slow:680ms;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --radius:20px;
  --radius-sm:14px;
  --shadow:0 22px 50px -20px rgba(0,0,0,.65);
  --shadow-soft:0 14px 34px -18px rgba(0,0,0,.72);
  --shadow-lg:0 34px 74px -26px rgba(0,0,0,.85);
}
:root{ --text-3:#69707C; --chip-bg:#DCE9FB; --chip-ink:#1C4FA8; }
[data-theme="dark"]{ --text-3:#8E939C; --chip-bg:rgba(94,146,232,.16); --chip-ink:#A9C7F5; }
/* the player tiles reveal themselves (projects.js toggles .in) */
.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
