
:root{
  --bg:#07101f;
  --surface:rgba(255,255,255,.055);
  --surface-hover:rgba(255,255,255,.085);
  --border:rgba(255,255,255,.10);
  --text:#f4f7fb;
  --muted:#9ca9bd;
  --primary:#67d7ff;
  --primary-2:#a78bfa;
  --header:rgba(7,16,31,.74);
  --shadow:0 18px 60px rgba(0,0,0,.22);
  --max-width:1180px;
  --radius:22px;
}
html[data-theme="light"]{
  --bg:#f7f9fc;
  --surface:rgba(15,23,42,.045);
  --surface-hover:rgba(15,23,42,.075);
  --border:rgba(15,23,42,.10);
  --text:#0f172a;
  --muted:#64748b;
  --primary:#0284c7;
  --primary-2:#7c3aed;
  --header:rgba(247,249,252,.82);
  --shadow:0 18px 50px rgba(15,23,42,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  transition:background-color .25s ease,color .25s ease;
}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(var(--max-width),calc(100% - 40px));margin:auto}
header{
  position:sticky;top:0;z-index:100;
  background:var(--header);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border)
}
.navbar{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.logo{font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.nav-right{display:flex;align-items:center;gap:18px}
.nav-links{display:flex;gap:24px;font-size:.9rem;color:var(--muted)}
.nav-links a:hover{color:var(--text)}
.theme-toggle{
  width:42px;height:42px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface);color:var(--text);cursor:pointer;display:grid;place-items:center;transition:.2s ease
}
.theme-toggle:hover{background:var(--surface-hover);transform:translateY(-1px)}

.hero{
  min-height:calc(100vh - 74px);
  display:flex;align-items:center;
  padding:100px 0 130px;
  position:relative;overflow:hidden;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 30%,rgba(56,189,248,.16),transparent 28%),
    radial-gradient(circle at 80% 25%,rgba(139,92,246,.14),transparent 30%),
    radial-gradient(circle at 55% 78%,rgba(34,211,238,.08),transparent 26%);
  filter:blur(22px);
  animation:heroGlow 18s ease-in-out infinite alternate;
}
html[data-theme="light"] .hero::before{
  background:
    radial-gradient(circle at 18% 28%,rgba(14,116,144,.10),transparent 30%),
    radial-gradient(circle at 82% 24%,rgba(91,33,182,.08),transparent 30%),
    radial-gradient(circle at 55% 78%,rgba(8,145,178,.05),transparent 28%);
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(125,211,252,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,211,252,.045) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 90%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 90%);
  animation:gridDrift 28s linear infinite;
}
html[data-theme="light"] .hero::after{
  background-image:
    linear-gradient(rgba(15,23,42,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,23,42,.04) 1px,transparent 1px);
}
.hero-content{max-width:930px;position:relative;z-index:2}
.eyebrow,.section-label{color:var(--primary);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px}
.dot{width:7px;height:7px;background:#4ade80;border-radius:50%;box-shadow:0 0 12px rgba(74,222,128,.7)}
h1{font-size:clamp(3rem,8vw,6.2rem);line-height:.98;letter-spacing:-.06em}
.gradient-text{
  background:linear-gradient(90deg,var(--text),#38bdf8,#8b5cf6);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.hero-description{max-width:720px;font-size:1.18rem;color:var(--muted);margin-top:28px}
.hero-actions,.app-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;align-items:center}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 20px;border-radius:12px;border:1px solid var(--border);
  font-size:.92rem;font-weight:700;transition:.2s ease
}
.button-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;border:none}
html:not([data-theme="light"]) .button-primary{color:#06101b}
.button-secondary{background:var(--surface);backdrop-filter:blur(12px)}
.button:hover{transform:translateY(-2px)}
.button-disabled{background:var(--surface);color:var(--muted);cursor:default}
.button-disabled:hover{transform:none}
.text-link{color:var(--primary);font-weight:700;font-size:.9rem}

section{padding:88px 0}
.section-header{margin-bottom:40px}.section-label{margin-bottom:10px}
.section-title{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.04em;line-height:1.1}
.section-description{max-width:650px;color:var(--muted);margin-top:16px}
.about-grid,.apps-grid{display:grid;gap:24px}.about-grid{grid-template-columns:1.2fr .8fr}.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.panel,.app-card,.info-card,.legal-card,.contact-card{
  border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)
}
.panel,.app-card,.info-card{padding:32px}.panel,.app-card{transition:.2s ease}
.panel:hover,.app-card:hover{background:var(--surface-hover);transform:translateY(-3px)}
.panel h3,.info-card h3{font-size:1.25rem;margin-bottom:12px}
.panel p,.info-card p,.content p,.content li{color:var(--muted)}
.skills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.skill,.status{border:1px solid var(--border);border-radius:999px;color:var(--muted)}
.skill{padding:8px 12px;font-size:.82rem}.status{display:inline-block;padding:6px 10px;font-size:.76rem;margin-bottom:18px}
.app-card{min-height:350px;background:linear-gradient(145deg,rgba(103,215,255,.07),rgba(167,139,250,.04)),var(--surface);display:flex;flex-direction:column;justify-content:space-between}
.app-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;font-size:1.4rem;font-weight:900;margin-bottom:25px}
html:not([data-theme="light"]) .app-icon{color:#08111d}
.app-card h3{font-size:2rem;letter-spacing:-.04em;margin-bottom:12px}.app-card p{color:var(--muted);max-width:460px}
.project-list{border-top:1px solid var(--border)}
.project-item{padding:24px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 2fr auto;gap:28px;align-items:center}
.project-name{font-weight:700}.project-description,.project-type{color:var(--muted)}.project-type{font-size:.85rem}
.contact-card{padding:52px;background:radial-gradient(circle at top right,rgba(103,215,255,.13),transparent 35%),var(--surface)}
.contact-card h2{font-size:clamp(2.2rem,6vw,4rem);letter-spacing:-.05em;max-width:720px}
.contact-card p{color:var(--muted);max-width:620px;margin-top:18px}
.page-hero{padding:92px 0 38px}
.page-hero h1{font-size:clamp(3rem,7vw,5.4rem);max-width:900px;margin-top:12px}
.page-hero .section-description{font-size:1.08rem}
.content{max-width:820px}.content h2{font-size:1.4rem;margin:34px 0 10px;letter-spacing:-.02em}
.content p{margin-bottom:16px}.content ul{padding-left:22px;margin-bottom:16px}.legal-card{padding:34px}
footer{padding:30px 0 42px;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}
.footer-content{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:900px){.about-grid,.apps-grid{grid-template-columns:1fr}.hero{min-height:auto}}
@media(max-width:760px){
  .container{width:min(100% - 28px,var(--max-width))}.navbar{min-height:68px}.nav-links{display:none}.nav-right{gap:10px}
  .hero{padding:76px 0 105px}.hero-description{font-size:1.05rem}section{padding:70px 0}
  .project-item{grid-template-columns:1fr;gap:7px}.contact-card,.legal-card,.panel,.app-card,.info-card{padding:24px}
  .button{width:100%}.hero-actions,.app-actions{align-items:stretch}
}
@media(max-width:420px){h1{font-size:clamp(2.6rem,14vw,4rem)}.logo{font-size:.95rem}.theme-toggle{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.panel,.app-card,.button,.theme-toggle{transition:none}}

@keyframes heroGlow{
  0%{transform:translate3d(-2%,0,0) scale(1)}
  50%{transform:translate3d(2%,-1%,0) scale(1.035)}
  100%{transform:translate3d(0,2%,0) scale(1.02)}
}
@keyframes gridDrift{
  from{background-position:0 0,0 0}
  to{background-position:56px 56px,56px 56px}
}
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero::after{animation:none!important}
}
