/* ==========================================================================
   CYBERZ — Giriş (Raw Energy entry) stilleri
   HTML : index.html → "RAW ENERGY ENTRY" bölümü
   CSS  : css/intro.css
   JS   : js/intro.js
   ========================================================================== */

/* --------------------------------------------------------------------------
   RAW ENERGY ENTRY — ilk ziyaret girisi (js/intro.js)
   Kapi sinifi <head>'deki inline script'ten gelir. JS yoksa sinif yok,
   overlay gorunmez. Kilit acildiktan sonra (.is-live) devir teslim bitene
   kadar gorunur kalir; sonunda JS DOM'dan kaldirir.
   -------------------------------------------------------------------------- */
html.etp-wait{ overflow:hidden; }
.no-js .etp,
html:not(.etp-wait) .etp:not(.is-live){ display:none; }

.etp{ position:fixed; inset:0; z-index:9999; background:var(--bg-0); overflow:visible; }
.etp__scene{ position:absolute; inset:0; width:100%; height:100%; display:block; }

.etp__ring{
    position:absolute; left:50%; top:50%;
    width:120px; height:120px; margin:-60px 0 0 -60px;
    border-radius:50%; opacity:0; pointer-events:none;
    border:2px solid var(--energy-hot);
    box-shadow:0 0 34px rgba(0,212,200,.85), inset 0 0 26px rgba(0,212,200,.45);
}

.etp__label{
    position:fixed; left:0; right:0; top:74%;
    margin:0; padding:0 var(--gutter); text-align:center; max-width:none;
    font-family:var(--font-mono); font-size:clamp(.625rem,1.5vw,.75rem);
    letter-spacing:.26em; text-transform:uppercase;
    color:var(--energy); opacity:0;
}
.etp__label--sub{ top:79%; color:var(--amber); font-variant-numeric:tabular-nums; }
.etp__label.is-line{
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(.875rem,2.2vw,1.2rem);
    letter-spacing:.06em; text-transform:none; color:var(--fg);
}

/* logo olusumu: gercek logo maske olarak, once kizgin sonra soguk */
.etp__logo-zone{ position:fixed; left:0; right:0; top:12%; display:flex; justify-content:center; }
.etp__logo{ position:relative; width:min(70vw,560px); aspect-ratio:1144/362; }
.etp__heat{
    position:absolute; inset:0; opacity:0;
    background:linear-gradient(to top,#FF3A3A 0%,#E9A63C 32%,#00D4C8 70%,#7CFFE8 100%);
    background-size:100% 300%; background-position:0 100%;
    -webkit-mask:url('../assets/brand/cyberz-logo-2.webp') center / contain no-repeat;
            mask:url('../assets/brand/cyberz-logo-2.webp') center / contain no-repeat;
    filter:drop-shadow(0 0 16px rgba(0,212,200,.55));
}
.etp__cold{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; }
.etp__frag{
    position:absolute; left:50%; top:50%;
    width:28px; height:12px; margin:-6px 0 0 -14px;
    background:var(--metal); opacity:0;
    clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);
}
.etp__frag:nth-child(odd){ background:var(--rust); }

.etp__dot{
    position:fixed; z-index:10000; pointer-events:none;
    width:12px; height:12px; margin:-6px 0 0 -6px;
    border-radius:50%; background:var(--energy-hot);
    box-shadow:0 0 18px 4px rgba(0,212,200,.8);
}

.etp__skip{
    position:fixed; right:clamp(16px,4vw,40px); bottom:clamp(16px,4vw,36px);
    min-height:44px; padding:8px 0;
    font-family:var(--font-mono); font-size:.6875rem;
    letter-spacing:.22em; text-transform:uppercase;
    color:var(--fg-3); cursor:pointer;
    border-bottom:1px solid var(--line-2);
    opacity:0; visibility:hidden;
}
.etp__skip:hover, .etp__skip:focus-visible{ color:var(--energy); border-color:var(--energy); }

@media (max-width:600px){
    .etp__label{ top:70%; }
    .etp__label--sub{ top:75%; }
    .etp__logo-zone{ top:10%; }
}

/* devir teslim: cekirdek konduiye oturunca ilk eklem yanar */
.conduit__node.is-pulse{ animation:etp-node 1.1s var(--ease); }
@keyframes etp-node{
    0%  { fill:var(--bg-0); }
    35% { fill:var(--energy-hot); filter:drop-shadow(0 0 10px rgba(124,255,232,1)); }
    100%{ fill:var(--bg-0); }
}
.charge{ overflow:hidden; }
.charge.is-pulse::after{
    content:''; position:absolute; left:0; top:0; height:100%; width:28%;
    background:linear-gradient(90deg,var(--energy-hot),transparent);
    animation:etp-charge .9s ease-out forwards;
}
@keyframes etp-charge{
    from{ transform:translateX(-100%); opacity:1; }
    to  { transform:translateX(380%); opacity:0; }
}
