:root{
  --bg:#ffffff; --bg-alt:#f5f4f2; --card:#ffffff; --card-alt:#f0efec;
  --text:#131313; --text-muted:#6b6a64; --border:rgba(19,19,19,.12);
  --glass:rgba(255,255,255,.7); --nav-bg:rgba(255,255,255,.85);
}
body.dark{
  --bg:#0C0C0C; --bg-alt:#131313; --card:#191919; --card-alt:#1c1b1b;
  --text:#e5e2e1; --text-muted:#a39c96; --border:#2a2a2a;
  --glass:rgba(25,25,25,.7); --nav-bg:rgba(12,12,12,.85);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);transition:background .3s ease,color .3s ease}
::selection{background:#fc5a0e;color:#fff}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,p,ul{margin:0}
.navlink{color:var(--text-muted);transition:color .2s}
.navlink:hover{color:#fc5a0e !important}
.btn-primary{background:#fc5a0e;color:#fff;box-shadow:0 0 24px rgba(252,90,14,.25);transition:transform .15s ease,box-shadow .2s ease}
.btn-primary:hover{transform:scale(1.03);box-shadow:0 0 30px rgba(252,90,14,.4)}
.btn-outline{border:1px solid var(--border);color:var(--text);transition:background .2s ease}
.btn-outline:hover{background:var(--card-alt)}
.glass{background:var(--glass);border:1px solid var(--border);backdrop-filter:blur(12px);transition:border-color .3s ease,transform .2s ease}
.glass:hover{border-color:#fc5a0e}
.kinetic{background:linear-gradient(90deg,#ffb59b,#fc5a0e,#ffb59b);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
.socialdot{background:var(--card-alt);transition:background .2s ease}
.socialdot:hover{background:#fc5a0e !important}
.rowhover{transition:background .2s ease}
.rowhover:hover{background:var(--card-alt)}
.toggle-track{transition:background .25s ease}
.skillcard{position:absolute;left:50%;top:50%;width:250px;height:300px;margin:-150px 0 0 -125px;border-radius:20px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s ease,box-shadow .35s ease;cursor:pointer}
.skillcard .badge{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:12px}
.skillcard .title{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Sora',sans-serif;font-weight:700;font-size:26px;line-height:1.25}
.skillcard .desc{font-size:16px;line-height:1.55}
