/* Giriş başarılı geçişi (giris.js gecis, kutuphane.js gecisEkran aynı ekranı sürdürür)
   1) kesinti: ekran bir anda siyaha geçer, ortadan tek bir ışık çizgisi açılır
   2) erişim ekranı: "İZİN VERİLDİ" çözülür, loglar ve hex akışı geçer; gerçek bağlantı adımları loga düşer
   3) terminalin ilk verisiyle ekran söner, altındaki salon görünür */

/* ── 1 · kesinti ── */
.hack{--h-bg:#06080C;--h-fg:#B9C0CB;--h-dim:#3C4350;--h-mid:#6B7383;--h-ok:#7FC08F;--h-amber:#D9A62E;--h-hi:#F6F1E6;
  position:fixed;inset:0;z-index:70;overflow:hidden;background:var(--h-bg);color:var(--h-fg);
  font:500 12.5px/1.6 ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  transition:background .32s ease}
/* hafif tarama çizgileri: ekrana doku, göze yük değil */
.hack::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}
.h-line{position:absolute;left:50%;top:50%;width:0;height:2px;margin-top:-1px;background:var(--h-hi);box-shadow:0 0 18px 2px rgba(246,241,230,.55);transform:translateX(-50%);opacity:0}
.hack.cut .h-line{animation:h-line .34s cubic-bezier(.2,.8,.2,1) both}
@keyframes h-line{0%{width:0;opacity:1}45%{width:100%;height:2px;opacity:1}100%{width:100%;height:0;opacity:0}}
/* kesinti anında kâğıt dünya tek karede parlar ve kaybolur */
body.cut>header,body.cut>main,body.cut>.doodle{animation:h-blow .09s steps(1) both}
@keyframes h-blow{0%{filter:brightness(2.4) contrast(1.4)}100%{visibility:hidden}}

/* ── 2 · erişim ekranı ── */
.h-log{position:absolute;left:28px;top:24px;right:46%;margin:0;white-space:pre;overflow:hidden;color:var(--h-mid)}
.h-log .t{color:var(--h-dim)}.h-log .k{color:var(--h-amber)}.h-log .ok{color:var(--h-ok)}.h-log .v{color:var(--h-fg)}
.h-hex{position:absolute;right:28px;top:24px;bottom:24px;margin:0;width:max-content;white-space:pre;overflow:hidden;color:var(--h-dim);font-size:11.5px;line-height:1.5;
  -webkit-mask:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.h-hex b{color:var(--h-mid);font-weight:500}
.h-mid{position:absolute;left:50%;top:50%;width:min(620px,calc(100% - 32px));transform:translate(-50%,-50%);text-align:center;opacity:0}
.hack.grant .h-mid{opacity:1}
.h-eb{margin:0 0 14px;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--h-mid)}
.h-eb b{color:var(--h-amber);font-weight:500}
.h-title{margin:0;font:700 clamp(34px,7vw,64px)/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;letter-spacing:.14em;color:var(--h-hi);white-space:nowrap}
.h-title .s{color:var(--h-ok)}
.h-sub{margin:16px 0 0;font-size:13px;letter-spacing:.06em;color:var(--h-mid);min-height:1.6em}
.h-sub .u{color:var(--h-amber)}
.h-bar{position:relative;height:2px;margin:22px auto 0;width:min(360px,80%);background:var(--h-dim);overflow:hidden}
.h-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--h-ok);box-shadow:0 0 10px rgba(127,192,143,.7);transition:width .5s cubic-bezier(.3,.7,.2,1)}

/* ── 3 · salona devir ── */
.hack.out{opacity:0;transition:opacity .22s ease}
.kp-gecisli .xterm [style*="xx-large"]{visibility:hidden!important}

@media (max-width:820px){.h-hex{display:none}.h-log{right:28px;font-size:11px}.h-mid{top:58%}}
@media (max-width:520px){.h-log{left:16px;right:16px;top:16px}}
@media (prefers-reduced-motion:reduce){.h-line{display:none}}
