/* ==========================================================================
   Sanalsehrim Guvenlik Laboratuvari, gorev merkezi (brifing).
   Tasarim yonu: markanin yesili, jenerik hacker "asit yesili" yerine terminal
   aksani. Yesile calan gece siyahi zemin, krem murekkep, amber/terakota uyari.
   Baslikta Fraunces (serif), teknikte JetBrains Mono, govdede Source Sans 3.
   ========================================================================== */
:root{
  --bg:#0A0F0B; --bg2:#0c130d; --panel:#101a12; --panel2:#0d150f;
  --line:#1d2b21; --line2:#27382b;
  --green:#66BB6A; --green2:#43A047; --greenDim:#3a6b43;
  --amber:#E0A458; --terra:#C97B5B;
  --ink:#EDE8DB; --dim:#9db0a2; --faint:#6f8375;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{ /* cok hafif tarama cizgisi dokusu */
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(102,187,106,.025) 0 1px, transparent 1px 3px);
  mix-blend-mode:screen; opacity:.5;
}
.wrap{max-width:1140px; margin:0 auto; padding:0 24px; position:relative; z-index:1;}
a{color:var(--green);}
.mono{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;}

/* ---- ust bar ---- */
.top{border-bottom:1px solid var(--line); background:linear-gradient(180deg, rgba(12,19,13,.9), rgba(10,15,11,.6)); position:sticky; top:0; z-index:20; backdrop-filter:blur(6px);}
.topin{display:flex; align-items:center; gap:16px; height:70px;}
.logo{height:26px; width:auto; display:block;}
.top .tag{font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.14em; color:var(--faint); text-transform:uppercase; border-left:1px solid var(--line2); padding-left:16px;}
.status{margin-left:auto; display:inline-flex; align-items:center; gap:9px; font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--green); letter-spacing:.06em;}
.dot{width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green); animation:blink 1.6s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.35;}}

/* ---- hero ---- */
.hero{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:76px 0 64px;}
.eyebrow{font-family:"JetBrains Mono",monospace; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--amber); margin:0 0 22px; display:flex; align-items:center; gap:12px;}
.eyebrow::before{content:""; width:34px; height:1px; background:var(--amber);}
.hero h1{
  font-family:Fraunces,Georgia,serif; font-weight:600; font-optical-sizing:auto;
  font-size:clamp(38px,5.4vw,64px); line-height:1.04; letter-spacing:-.015em; margin:0 0 22px;
  color:#fbfaf5;
}
.hero h1 em{font-style:italic; color:var(--green); font-weight:600;}
.hero .sub{font-size:18.5px; color:var(--dim); max-width:48ch; margin:0 0 30px;}
.hero .sub b{color:var(--ink); font-weight:600;}
.cta{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.btn{
  display:inline-flex; align-items:center; gap:10px; font-family:"JetBrains Mono",monospace;
  font-size:14px; letter-spacing:.04em; text-decoration:none; padding:14px 22px; border-radius:11px; cursor:pointer;
}
.btn-primary{background:var(--green); color:#08120a; font-weight:700; box-shadow:0 0 0 1px rgba(102,187,106,.6), 0 12px 30px -10px rgba(102,187,106,.5);}
.btn-primary:hover{background:#7fce84; transform:translateY(-1px);}
.btn-primary::after{content:"\2192";}
.btn-ghost{border:1px solid var(--line2); color:var(--ink);}
.btn-ghost:hover{border-color:var(--green); color:var(--green);}
.trust{margin:22px 0 0; font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--faint); letter-spacing:.03em;}
.trust b{color:var(--green2);}

/* ---- imza: hedef terminali ---- */
.term{
  background:linear-gradient(180deg,#0b130d,#0a110b); border:1px solid var(--line2); border-radius:16px;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.03);
  overflow:hidden; position:relative;
}
.term::after{ /* tarama cizgisi parlamasi */
  content:""; position:absolute; left:0; right:0; height:120px; top:-120px;
  background:linear-gradient(180deg, transparent, rgba(102,187,106,.10), transparent);
  animation:scan 5.5s linear infinite; pointer-events:none;
}
@keyframes scan{to{transform:translateY(560px);}}
.term-bar{display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.02);}
.term-bar i{width:11px; height:11px; border-radius:50%; display:block;}
.term-bar i:nth-child(1){background:#e06b5b;} .term-bar i:nth-child(2){background:#e0a458;} .term-bar i:nth-child(3){background:#66bb6a;}
.term-bar span{margin-left:8px; font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--faint);}
.term-body{padding:22px 20px 26px; font-family:"JetBrains Mono",monospace; font-size:14px; line-height:1.85; min-height:280px;}
.term-body .l{white-space:pre-wrap; word-break:break-word;}
.term-body .p{color:var(--green);}
.term-body .o{color:var(--dim);}
.term-body .k{color:var(--amber);}
.term-body .g{color:var(--green); font-weight:700;}
.cursor{display:inline-block; width:9px; height:17px; background:var(--green); vertical-align:-3px; box-shadow:0 0 8px var(--green); animation:blink 1.1s step-end infinite;}

/* ---- bolum baslik ---- */
.sec{padding:60px 0; border-top:1px solid var(--line);}
.sec-head{display:flex; align-items:baseline; gap:16px; margin-bottom:34px; flex-wrap:wrap;}
.sec-num{font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--greenDim); letter-spacing:.1em;}
.sec h2{font-family:Fraunces,serif; font-weight:600; font-size:clamp(26px,3.4vw,36px); margin:0; color:#f7f5ee; letter-spacing:-.01em;}
.sec .intro{color:var(--dim); max-width:60ch; margin:-20px 0 0;}

/* gorev dosyasi */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.step{background:var(--panel); border:1px solid var(--line); border-radius:15px; padding:24px 22px; position:relative; transition:border-color .15s, transform .15s;}
.step:hover{border-color:var(--greenDim); transform:translateY(-3px);}
.step .no{font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--green); letter-spacing:.1em;}
.step h3{font-family:Fraunces,serif; font-weight:600; font-size:22px; margin:10px 0 8px; color:var(--ink);}
.step p{margin:0; color:var(--dim); font-size:15.5px;}
.step .cmd{margin-top:14px; font-family:"JetBrains Mono",monospace; font-size:12.5px; color:var(--amber); background:rgba(224,164,88,.07); border:1px solid rgba(224,164,88,.18); border-radius:8px; padding:8px 10px; white-space:pre-wrap; overflow-wrap:anywhere;}

/* kapsam / kurallar */
.rules{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.rule{border-radius:15px; padding:24px; border:1px solid var(--line);}
.rule.in{background:linear-gradient(180deg, rgba(102,187,106,.06), transparent); border-color:rgba(102,187,106,.28);}
.rule.out{background:linear-gradient(180deg, rgba(201,123,91,.06), transparent); border-color:rgba(201,123,91,.28);}
.rule h3{margin:0 0 14px; font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.08em; text-transform:uppercase;}
.rule.in h3{color:var(--green);} .rule.out h3{color:var(--terra);}
.rule ul{margin:0; padding:0; list-style:none;}
.rule li{padding:8px 0 8px 26px; position:relative; color:var(--ink); border-top:1px solid var(--line); font-size:15.5px;}
.rule li:first-child{border-top:0;}
.rule.in li::before{content:"\2713"; position:absolute; left:0; color:var(--green); font-weight:700;}
.rule.out li::before{content:"\2717"; position:absolute; left:0; color:var(--terra); font-weight:700;}
.rule .code{font-family:"JetBrains Mono",monospace; font-size:13.5px; color:var(--amber);}

/* uyari */
.warn{background:linear-gradient(180deg, rgba(201,123,91,.10), rgba(201,123,91,.03)); border:1px solid rgba(201,123,91,.32); border-left:4px solid var(--terra); border-radius:14px; padding:26px 28px;}
.warn h3{margin:0 0 10px; font-family:Fraunces,serif; font-size:22px; color:#f2d9c9;}
.warn p{margin:0 0 10px; color:#e7d3c6;}
.warn p:last-child{margin-bottom:0;}
.warn b{color:#f3b48f;}

/* kapanis PR */
.close{padding:74px 0 30px; text-align:center; border-top:1px solid var(--line);}
.close .k{font-family:"JetBrains Mono",monospace; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin:0 0 20px;}
.close h2{font-family:Fraunces,serif; font-weight:600; font-size:clamp(28px,4vw,44px); line-height:1.12; margin:0 auto 20px; max-width:16ch; color:#fbfaf5;}
.close h2 em{font-style:italic; color:var(--green);}
.close p{color:var(--dim); max-width:56ch; margin:0 auto 32px; font-size:17px;}

/* footer */
.foot{border-top:1px solid var(--line); padding:26px 0 60px; color:var(--faint); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.03em; text-align:center;}
.foot .logo{height:20px; opacity:.7; margin:0 auto 14px;}

@media (max-width:900px){
  .hero{grid-template-columns:1fr; gap:36px; padding:52px 0 44px;}
  .steps{grid-template-columns:1fr;}
  .rules{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .term::after{animation:none;} .dot{animation:none;} .cursor{animation:none;} html{scroll-behavior:auto;}
}
