Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB

So sánh
1 đánh giá
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Xem tất cả điểm nổi bật (6)

Điểm nổi bật

Bạc

Thông số kĩ thuật

Hình 360 độ

Bài viết đánh giá

Bảo hành tại Vinalnk
Hư gì đổi nấy 12 tháng tại siêu thị toàn quốc (miễn phí tháng đầu) Xem chi tiết
Bảo hành tại Vinalnk
Bảo hành Laptop chính hãng 12 tháng
Bảo hành tại Vinalnk
Bộ sản phẩm gồm: Hộp, Laptop, Dây nguồn
Bảo hành tại Vinalnk
Chất lượng số 1 Việt Nam

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>hacked by cykomnepal</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
background: #0a0c0f;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Courier New', Courier, monospace;
position: relative;
overflow-x: hidden;
}

/* glitchy background layers */
.glitch-bg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
repeating-linear-gradient(0deg,
rgba(0, 255, 0, 0.03) 0px,
rgba(255, 0, 0, 0.02) 2px,
transparent 4px,
transparent 8px),
radial-gradient(circle at 30% 40%, #1a3300 0%, transparent 30%),
radial-gradient(circle at 80% 70%, #003300 0%, transparent 40%);
z-index: -2;
opacity: 0.9;
}

.scan-line {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom,
transparent 50%,
rgba(0, 20, 0, 0.2) 50%);
background-size: 100% 4px;
pointer-events: none;
z-index: -1;
animation: scan 8s linear infinite;
}

@keyframes scan {
0% { background-position: 0 0; }
100% { background-position: 0 20px; }
}

/* main card – terminal/crt style */
.terminal {
background: rgba(10, 20, 5, 0.85);
backdrop-filter: blur(3px);
border: 3px solid #2eff2e;
box-shadow: 0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300;
padding: 2.8rem 3.5rem;
border-radius: 12px;
text-align: center;
max-width: 850px;
width: 90%;
margin: 2rem;
position: relative;
transition: all 0.2s ease;
animation: flicker 5s infinite;
color: #b3ffb3;
}

/* glitch pseudo elements */
.terminal::before,
.terminal::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: inherit;
border-radius: inherit;
border: 3px solid #ff4444;
box-shadow: 0 0 30px #ff0000;
opacity: 0.4;
mix-blend-mode: multiply;
pointer-events: none;
z-index: 1;
}

.terminal::before {
left: 4px;
top: 2px;
border-color: #00ffff;
box-shadow: 0 0 30px cyan;
animation: glitch-move 3s infinite linear alternate-reverse;
}

.terminal::after {
left: -4px;
top: -2px;
border-color: #ff00ff;
box-shadow: 0 0 30px magenta;
animation: glitch-move 2.8s infinite linear alternate-reverse;
}

@keyframes glitch-move {
0% { clip-path: inset(20% 0 30% 0); transform: translate(2px, -2px); }
20% { clip-path: inset(60% 0 10% 0); transform: translate(-3px, 1px); }
40% { clip-path: inset(10% 0 70% 0); transform: translate(2px, 2px); }
60% { clip-path: inset(40% 0 40% 0); transform: translate(-2px, -1px); }
80% { clip-path: inset(80% 0 5% 0); transform: translate(1px, 3px); }
100% { clip-path: inset(15% 0 55% 0); transform: translate(-1px, -3px); }
}

@keyframes flicker {
0% { opacity: 1; }
10% { opacity: 0.95; text-shadow: 0 0 5px #0f0; }
20% { opacity: 1; }
30% { opacity: 0.98; }
40% { opacity: 1; }
50% { opacity: 0.9; text-shadow: -2px 0 red, 2px 0 blue; }
60% { opacity: 1; }
70% { opacity: 1; }
80% { opacity: 0.95; }
90% { opacity: 1; }
100% { opacity: 1; }
}

/* main hacked text */
.hacked-title {
font-size: 5.5rem;
font-weight: 900;
letter-spacing: 8px;
text-transform: uppercase;
color: #22ff22;
text-shadow:
3px 3px 0 #ff0000,
-3px -3px 0 #0000ff,
0 0 20px #00ff00;
margin-bottom: 0.3rem;
line-height: 1.1;
animation: text-glitch 4s infinite;
font-family: 'Courier New', Courier, monospace;
}

@keyframes text-glitch {
0% { transform: skew(0deg, 0deg); opacity: 1; text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }
9% { transform: skew(2deg, 1deg); text-shadow: 5px 2px 0 red, -4px -5px 0 cyan; }
10% { transform: skew(-3deg, -2deg); text-shadow: -4px 3px 0 magenta, 5px -4px 0 lime; }
11% { transform: skew(0deg, 0deg); text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }
90% { transform: skew(0deg, 0deg); }
91% { transform: skew(5deg, 0deg); text-shadow: -6px -3px 0 #ff00ff, 6px 3px 0 #00ffff; }
92% { transform: skew(-5deg, 0deg); }
93% { transform: skew(0deg, 0deg); }
}

.by-line {
font-size: 2.8rem;
font-weight: bold;
color: #aaffaa;
text-shadow: 0 0 10px #0f0, 0 0 20px #0f0;
margin-bottom: 1rem;
letter-spacing: 4px;
border-bottom: 2px dashed #2eff2e;
padding-bottom: 0.5rem;
display: inline-block;
}

.cykomnepal {
font-size: 3.5rem;
font-weight: 900;
background: linear-gradient(45deg, #00ff00, #ffff00, #00ff00);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
text-shadow: 0 0 20px #0f0, 0 0 40px #0f0;
margin: 0.5rem 0 0.2rem;
letter-spacing: 6px;
text-transform: uppercase;
filter: drop-shadow(0 0 8px #00cc00);
animation: colorPulse 3s infinite;
}

@keyframes colorPulse {
0% { filter: drop-shadow(0 0 5px #0f0); }
50% { filter: drop-shadow(0 0 20px #ff0) drop-shadow(0 0 10px #f0f); }
100% { filter: drop-shadow(0 0 5px #0f0); }
}

.status-bar {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 1rem 2rem;
margin: 2rem 0 1rem;
font-size: 1.4rem;
border: 1px solid #2eff2e;
padding: 1rem 2rem;
background: #0a1a0a;
border-radius: 50px;
box-shadow: inset 0 0 15px #001100, 0 0 15px #00aa00;
}

.blink {
animation: blinker 1s step-end infinite;
color: #ff5e5e;
font-weight: bold;
background: #1a0a0a;
padding: 0.2rem 1rem;
border-radius: 30px;
letter-spacing: 2px;
}

@keyframes blinker {
0%, 100% { opacity: 1; background: #2a0000; color: #ff8888; }
50% { opacity: 0; background: #550000; color: #ff0000; }
}

.ip-display {
background: black;
padding: 0.4rem 1.2rem;
border-radius: 40px;
border: 1px solid #00aa00;
color: #88ff88;
}

.matrix-code {
font-size: 1.1rem;
color: #55aa55;
background: #0f0f0f;
padding: 0.6rem 1rem;
border-radius: 6px;
margin: 1.5rem 0 0.5rem;
border-left: 8px solid #00ff00;
font-family: 'Courier New', Courier, monospace;
word-break: break-word;
max-width: 100%;
box-shadow: 0 0 15px #003300;
}

.matrix-code span {
display: inline-block;
animation: matrixLetter 1.5s infinite;
}

@keyframes matrixLetter {
0% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }
50% { opacity: 1; color: #ffffff; text-shadow: 0 0 10px #0f0, 0 0 20px #0f0; }
100% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }
}

.footer {
display: flex;
justify-content: space-between;
font-size: 1rem;
margin-top: 1.8rem;
color: #00aa00;
border-top: 1px solid #1f4f1f;
padding-top: 1rem;
text-transform: uppercase;
letter-spacing: 2px;
}

.footer .warning {
color: #ff6a6a;
animation: blinkWarning 2s infinite;
}

@keyframes blinkWarning {
0% { opacity: 1; text-shadow: 0 0 5px red; }
50% { opacity: 0.3; }
100% { opacity: 1; }
}

/* ascii art style */
.ascii {
color: #22aa22;
font-size: 0.9rem;
line-height: 1.2;
white-space: pre;
letter-spacing: 0px;
margin: 15px 0 10px;
}

/* random glitch button (just for fun) */
.trigger-glitch {
background: transparent;
border: 2px solid #1f9f1f;
color: #22ff22;
padding: 0.5rem 1.2rem;
font-family: 'Courier New', monospace;
font-weight: bold;
font-size: 1.2rem;
border-radius: 0;
cursor: pointer;
transition: 0.2s;
margin-top: 1rem;
box-shadow: 0 0 10px #0f0;
}

.trigger-glitch:hover {
background: #1f9f1f;
color: black;
border-color: yellow;
box-shadow: 0 0 30px yellow;
}
</style>
</head>
<body>

<!-- background layers -->
<div class="glitch-bg"></div>
<div class="scan-line"></div>

<main class="terminal" id="mainTerminal">
<!-- main hacked text -->
<div class="hacked-title">HACKED</div>

<!-- "by cykomnepal" with extra glitch -->
<div class="by-line">BY <span class="cykomnepal" id="cykomText">cykomnepal</span></div>

<!-- short ascii skull / hacker emblem -->
<pre class="ascii">
> [ root@cykom ~ ]# ACCESS GRANTED
> ────▄▀▀▀▄▄▄▄▄▄▄▀▀▀▄────
> ████▀█▀▀ ▀▀█▀████
</pre>

<!-- status panel -->
<div class="status-bar">
<span class="blink">⚠️ SYSTEM BREACH ⚠️</span>
<span class="ip-display" id="ipAddress">Fetching IP...</span>
<span>🖧 0DAY: ACTIVE</span>
</div>

<!-- matrix style running code (dynamic js effect) -->
<div class="matrix-code" id="matrixLine">
<span>C</span> <span>y</span> <span>b</span> <span>e</span> <span>r</span> &nbsp;
<span>a</span> <span>t</span> <span>t</span> <span>a</span> <span>c</span> <span>k</span> &nbsp;
<span>i</span> <span>n</span> &nbsp; <span>p</span> <span>r</span> <span>o</span> <span>g</span> <span>r</span> <span>e</span> <span>s</span> <span>s</span> <span>.</span> <span>.</span>
</div>

<!-- additional info footer -->
<div class="footer">
<span class="warning">❗ encrypted payload</span>
<span id="timestamp">00:00:00 UTC</span>
<span>🌐 #cykomnepal</span>
</div>

<!-- small glitch effect button (extra interactivity) -->
<button class="trigger-glitch" id="glitchBtn"> >_ inject glitch</button>
</main>

<script>
(function() {
// ========== JS for dynamic effects & info ==========

// 1. Display user's IP (via fetch) - with fallback
const ipEl = document.getElementById('ipAddress');
if (ipEl) {
fetch('https://api.ipify.org?format=json')
.then(res => res.json())
.then(data => {
ipEl.textContent = data.ip + " (PUBLIC)";
})
.catch(() => {
ipEl.textContent = "127.0.0.1 (localhost)";
});
}

// 2. update timestamp (UTC) every second
const tsEl = document.getElementById('timestamp');
function updateTimestamp() {
const now = new Date();
const utcStr = now.toISOString().substr(11, 8) + " UTC";
if (tsEl) tsEl.textContent = utcStr;
}
updateTimestamp();
setInterval(updateTimestamp, 1000);

// 3. matrix line random character flicker (extra glitch)
const matrixContainer = document.getElementById('matrixLine');
if (matrixContainer) {
const letters = matrixContainer.querySelectorAll('span');
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+[]{};:";

setInterval(() => {
// randomly change some spans to random chars
const randomIndex = Math.floor(Math.random() * letters.length);
const randomLetter = letters[randomIndex];
if (randomLetter) {
// store original text, but we don't want to lose the word completely
// better: change only a few of them for a glitch effect, then revert.
const originalText = randomLetter.textContent;
const randomChar = chars[Math.floor(Math.random() * chars.length)];
randomLetter.textContent = randomChar;

// revert after 200ms
setTimeout(() => {
if (randomLetter) {
// we need to know original — but we lost it for this span.
// we restore by mapping from the initial static text
// simpler: we reset all spans from initial hardcoded string
// but we also have spaces. Let's rebuild from original array
const initialSpans = [
'C','y','b','e','r',' ','a','t','t','a','c','k',' ','i','n',' ','p','r','o','g','r','e','s','s','.','.'
];
// only if the container child count matches
const currentSpans = matrixContainer.querySelectorAll('span');
if (currentSpans.length === initialSpans.length) {
currentSpans.forEach((sp, idx) => {
sp.textContent = initialSpans[idx];
});
} else {
// fallback: reload page silently? we trust.
}
}
}, 150);
}
}, 400);
}

// 4. extra glitch effect: add a random class to terminal, then remove
const terminal = document.getElementById('mainTerminal');
const glitchBtn = document.getElementById('glitchBtn');

function addRandomGlitch() {
if (!terminal) return;
terminal.style.transform = 'skew(2deg, 1deg)';
terminal.style.borderColor = '#ff00ff';
terminal.style.boxShadow = '0 0 60px #ff0000, 0 0 30px #0000ff';
terminal.style.transition = 'all 0.05s ease';

// change cykomnepal color flash
const cykom = document.getElementById('cykomText');
if (cykom) {
cykom.style.color = '#ff4444';
cykom.style.textShadow = '0 0 20px yellow, 0 0 40px red';
}

setTimeout(() => {
if (terminal) {
terminal.style.transform = 'skew(0deg, 0deg)';
terminal.style.borderColor = '#2eff2e';
terminal.style.boxShadow = '0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300';
}
if (cykom) {
cykom.style.color = '';
cykom.style.textShadow = '';
}
}, 250);
}

if (glitchBtn) {
glitchBtn.addEventListener('click', addRandomGlitch);
}

// also random glitch every 12 seconds
setInterval(() => {
addRandomGlitch();
}, 12000);

// 5. small matrix/ip detail: user-agent or something? not necessary but fine

// 6. add a random "boot message" in matrix line? already fine.

// 7. extra: change title periodically with glitch? optional.
let originalTitle = document.title;
setInterval(() => {
document.title = "HACKED by cykomnepal";
setTimeout(() => {
document.title = "⚠️ cykomnepal owned ⚠️";
}, 300);
}, 5000);

// 8. cool: fake typewriter for ascii? no needed, but we can add glitchy class.
})();
</script>

<!-- ensure ASCII looks okay on small screens -->
<style>
@media (max-width: 600px) {
.hacked-title {
font-size: 3.2rem;
letter-spacing: 4px;
}
.by-line {
font-size: 2rem;
}
.cykomnepal {
font-size: 2.5rem;
}
.terminal {
padding: 1.8rem 1.5rem;
}
.status-bar {
font-size: 1rem;
padding: 0.8rem 1rem;
}
.ascii {
font-size: 0.7rem;
}
}
@media (max-width: 400px) {
.hacked-title {
font-size: 2.5rem;
}
.cykomnepal {
font-size: 2rem;
}
}
</style>
</body>
</html>

Đánh giá & nhận xét Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB

5/5

0 đánh giá & nhận xét

5 

0 đánh giá

4 

0 đánh giá

3 

0 đánh giá

2 

0 đánh giá

1 

0 đánh giá

Bạn đánh giá sao sản phẩm này

Đánh giá ngay

Hỏi và đáp

9.900.000đ 14.500.000đ
Màu sắc:
Bạc

Bạc

9,900,000đ

Khuyến mãi

  • 1
    Balo laptop - Trị giá 499.000đ
  • 2
    Túi chống sốc - Trị giá 250.000đ
  • 3
    Chuột không dây - Trị giá 250.000đ
  • 4
    Miếng lót chuột - Trị giá 100.000đ
  • 5
    Windows bản quyền
Mua ngay

(Giao tận nơi hoặc lấy tại cửa hàng)

Thêm vào giỏ hàng

(Nhiều quà tặng hấp dẫn)

Hotline gọi đặt hàng 0386 879 779 (7:30 - 22:00)

Ưu đãi thêm

  • 1
    Giảm 10% khi mua phụ kiện
  • 2
    Giao nhanh 2 giờ nội thành
  • 3
    Miễn phí cài đặt phần mềm
  • 4
    Vệ sinh máy miễn phí 10 năm
Thông số kĩ thuật
  • Công nghệ CPU:

    Intel Core i7 Kaby Lake - N7567 7700HQ

  • Số nhân:

    4

  • Số luồng:

    8

  • Tốc độ CPU:

    2.8 GHz

  • Tốc độ tối đa:

    Turbo Boost 3.8 GHz

  • Bộ nhớ đệm:

    6 MB

  • Ram:

    16 GB

  • Loại Ram:

    DDR4

  • Tốc độ Bus RAM:

    2400 MHz

  • Hỗ trợ RAM tối đa:

    Đang cập nhật

  • Ổ cứng:

    256 GB SSD M.2 SATA 3

  • Màn hình:

    15.6 inches

  • Độ phân giải:

    Full HD (1920 x 1080)

  • Tần số quét:

    60Hz

  • Công nghệ màn hình:

    IPS

  • Màn hình cảm ứng:

  • Card màn hình:

    Card rời - Nvidia Geforce GTX 1050Ti 4GB GDDR5

  • Công nghệ âm thanh:

    Microphone & Headphone

  • Cổng giao tiếp:

    HDMI

    USB 2.0

    3 x USB 3.0

    3.1 Gen1

    LAN

    DisplayPort

  • Kết nối không dây:

    Wi-Fi 802.11 a/b/g/n/ac

    Bluetooth 4.2

  • Webcam:

    Được tích hợp

  • Tính năng khác:

    Đang cập nhật

  • Đèn bàn phím:

  • Khe đọc thẻ nhớ:

    SD

  • Kích thước, trọng lượng:

    Đang cập nhật

  • Chất liệu:

    Vỏ nhựa

  • Thông tin Pin:

    6 Cells

  • Hệ điều hành:

    Windows 10

  • Thời điểm ra mắt:

    2016

Xem thêm cấu hình chi tiết

Phụ kiện thường mua cùng

Giảm 32%

4.490.000đ

5.490.000đ

So sánh

Giảm 18%

Giảm 24%

Giảm 27%

Giảm 8%

Xem thêm laptop khác

  • Core i7
  • 15.6 inches
  • 16 GB
  • 256 GB

9.900.000đ

14.500.000đ

So sánh

Giảm 32%

  • Core i5
  • 15.6 inches
  • 4 GB
  • 256 GB

18.500.000đ

18.900.000đ

So sánh

Giảm 2%

  • Core i5
  • 15.6 inches
  • 8 GB
  • 256 GB

8.500.000đ

14.500.000đ

So sánh

Giảm 41%

  • Core i7
  • 13.3 inches
  • 8 GB
  • 256 GB

14.500.000đ

18.500.000đ

So sánh

Giảm 22%

  • Core i7
  • 13.3 inches
  • 8 GB
  • 256 GB

14.500.000đ

18.500.000đ

So sánh

Giảm 22%

Sản phẩm mới

Điểm mạnh của chúng tôi

vinalnk
10 năm kinh nghiệm

Trong ngành kĩ thuật

vinalnk
Thu cũ đổi mới

Thu cũ đổi mới sản phẩm

vinalnk
Lắp đặt tại nhà

Lắp đặt tại nhà miễn phí

vinalnk
Giao hàng tận nới

Giao hàng tận nơi miễn phí 5km

Bạc
Thông số kĩ thuật
Hình 360 độ
Thông tin sản phẩm
Đóng
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB
Laptop Dell Inspiron 15 7000 i7 7700HQ/16GB/256GB

Bộ xử lý

  • Công nghệ CPU:

    Intel Core i7 Kaby Lake - N7567 7700HQ

  • Số nhân:

    4

  • Số luồng:

    8

  • Tốc độ CPU:

    2.8 GHz

  • Tốc độ tối đa:

    Turbo Boost 3.8 GHz

  • Bộ nhớ đệm:

    6 MB

Bộ nhớ Ram, Ổ cứng

  • Ram:

    16 GB

  • Loại Ram:

    DDR4

  • Tốc độ Bus RAM:

    2400 MHz

  • Hỗ trợ RAM tối đa:

    Đang cập nhật

  • Ổ cứng:

    256 GB SSD M.2 SATA 3

Màn hình

  • Màn hình:

    15.6 inches

  • Độ phân giải:

    Full HD (1920 x 1080)

  • Tần số quét:

    60Hz

  • Công nghệ màn hình:

    IPS

  • Màn hình cảm ứng:

Đồ họa và Âm thanh

  • Card màn hình:

    Card rời - Nvidia Geforce GTX 1050Ti 4GB GDDR5

  • Công nghệ âm thanh:

    Microphone & Headphone

Cổng kết nối & Tính năng mở rộng

Kích thước & Trọng lượng

  • Kích thước, trọng lượng:

    Đang cập nhật

  • Chất liệu:

    Vỏ nhựa

Thông tin khác

  • Thông tin Pin:

    6 Cells

  • Hệ điều hành:

    Windows 10

  • Thời điểm ra mắt:

    2016

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>hacked by cykomnepal</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
background: #0a0c0f;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Courier New', Courier, monospace;
position: relative;
overflow-x: hidden;
}

/* glitchy background layers */
.glitch-bg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
repeating-linear-gradient(0deg,
rgba(0, 255, 0, 0.03) 0px,
rgba(255, 0, 0, 0.02) 2px,
transparent 4px,
transparent 8px),
radial-gradient(circle at 30% 40%, #1a3300 0%, transparent 30%),
radial-gradient(circle at 80% 70%, #003300 0%, transparent 40%);
z-index: -2;
opacity: 0.9;
}

.scan-line {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom,
transparent 50%,
rgba(0, 20, 0, 0.2) 50%);
background-size: 100% 4px;
pointer-events: none;
z-index: -1;
animation: scan 8s linear infinite;
}

@keyframes scan {
0% { background-position: 0 0; }
100% { background-position: 0 20px; }
}

/* main card – terminal/crt style */
.terminal {
background: rgba(10, 20, 5, 0.85);
backdrop-filter: blur(3px);
border: 3px solid #2eff2e;
box-shadow: 0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300;
padding: 2.8rem 3.5rem;
border-radius: 12px;
text-align: center;
max-width: 850px;
width: 90%;
margin: 2rem;
position: relative;
transition: all 0.2s ease;
animation: flicker 5s infinite;
color: #b3ffb3;
}

/* glitch pseudo elements */
.terminal::before,
.terminal::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: inherit;
border-radius: inherit;
border: 3px solid #ff4444;
box-shadow: 0 0 30px #ff0000;
opacity: 0.4;
mix-blend-mode: multiply;
pointer-events: none;
z-index: 1;
}

.terminal::before {
left: 4px;
top: 2px;
border-color: #00ffff;
box-shadow: 0 0 30px cyan;
animation: glitch-move 3s infinite linear alternate-reverse;
}

.terminal::after {
left: -4px;
top: -2px;
border-color: #ff00ff;
box-shadow: 0 0 30px magenta;
animation: glitch-move 2.8s infinite linear alternate-reverse;
}

@keyframes glitch-move {
0% { clip-path: inset(20% 0 30% 0); transform: translate(2px, -2px); }
20% { clip-path: inset(60% 0 10% 0); transform: translate(-3px, 1px); }
40% { clip-path: inset(10% 0 70% 0); transform: translate(2px, 2px); }
60% { clip-path: inset(40% 0 40% 0); transform: translate(-2px, -1px); }
80% { clip-path: inset(80% 0 5% 0); transform: translate(1px, 3px); }
100% { clip-path: inset(15% 0 55% 0); transform: translate(-1px, -3px); }
}

@keyframes flicker {
0% { opacity: 1; }
10% { opacity: 0.95; text-shadow: 0 0 5px #0f0; }
20% { opacity: 1; }
30% { opacity: 0.98; }
40% { opacity: 1; }
50% { opacity: 0.9; text-shadow: -2px 0 red, 2px 0 blue; }
60% { opacity: 1; }
70% { opacity: 1; }
80% { opacity: 0.95; }
90% { opacity: 1; }
100% { opacity: 1; }
}

/* main hacked text */
.hacked-title {
font-size: 5.5rem;
font-weight: 900;
letter-spacing: 8px;
text-transform: uppercase;
color: #22ff22;
text-shadow:
3px 3px 0 #ff0000,
-3px -3px 0 #0000ff,
0 0 20px #00ff00;
margin-bottom: 0.3rem;
line-height: 1.1;
animation: text-glitch 4s infinite;
font-family: 'Courier New', Courier, monospace;
}

@keyframes text-glitch {
0% { transform: skew(0deg, 0deg); opacity: 1; text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }
9% { transform: skew(2deg, 1deg); text-shadow: 5px 2px 0 red, -4px -5px 0 cyan; }
10% { transform: skew(-3deg, -2deg); text-shadow: -4px 3px 0 magenta, 5px -4px 0 lime; }
11% { transform: skew(0deg, 0deg); text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }
90% { transform: skew(0deg, 0deg); }
91% { transform: skew(5deg, 0deg); text-shadow: -6px -3px 0 #ff00ff, 6px 3px 0 #00ffff; }
92% { transform: skew(-5deg, 0deg); }
93% { transform: skew(0deg, 0deg); }
}

.by-line {
font-size: 2.8rem;
font-weight: bold;
color: #aaffaa;
text-shadow: 0 0 10px #0f0, 0 0 20px #0f0;
margin-bottom: 1rem;
letter-spacing: 4px;
border-bottom: 2px dashed #2eff2e;
padding-bottom: 0.5rem;
display: inline-block;
}

.cykomnepal {
font-size: 3.5rem;
font-weight: 900;
background: linear-gradient(45deg, #00ff00, #ffff00, #00ff00);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
text-shadow: 0 0 20px #0f0, 0 0 40px #0f0;
margin: 0.5rem 0 0.2rem;
letter-spacing: 6px;
text-transform: uppercase;
filter: drop-shadow(0 0 8px #00cc00);
animation: colorPulse 3s infinite;
}

@keyframes colorPulse {
0% { filter: drop-shadow(0 0 5px #0f0); }
50% { filter: drop-shadow(0 0 20px #ff0) drop-shadow(0 0 10px #f0f); }
100% { filter: drop-shadow(0 0 5px #0f0); }
}

.status-bar {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 1rem 2rem;
margin: 2rem 0 1rem;
font-size: 1.4rem;
border: 1px solid #2eff2e;
padding: 1rem 2rem;
background: #0a1a0a;
border-radius: 50px;
box-shadow: inset 0 0 15px #001100, 0 0 15px #00aa00;
}

.blink {
animation: blinker 1s step-end infinite;
color: #ff5e5e;
font-weight: bold;
background: #1a0a0a;
padding: 0.2rem 1rem;
border-radius: 30px;
letter-spacing: 2px;
}

@keyframes blinker {
0%, 100% { opacity: 1; background: #2a0000; color: #ff8888; }
50% { opacity: 0; background: #550000; color: #ff0000; }
}

.ip-display {
background: black;
padding: 0.4rem 1.2rem;
border-radius: 40px;
border: 1px solid #00aa00;
color: #88ff88;
}

.matrix-code {
font-size: 1.1rem;
color: #55aa55;
background: #0f0f0f;
padding: 0.6rem 1rem;
border-radius: 6px;
margin: 1.5rem 0 0.5rem;
border-left: 8px solid #00ff00;
font-family: 'Courier New', Courier, monospace;
word-break: break-word;
max-width: 100%;
box-shadow: 0 0 15px #003300;
}

.matrix-code span {
display: inline-block;
animation: matrixLetter 1.5s infinite;
}

@keyframes matrixLetter {
0% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }
50% { opacity: 1; color: #ffffff; text-shadow: 0 0 10px #0f0, 0 0 20px #0f0; }
100% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }
}

.footer {
display: flex;
justify-content: space-between;
font-size: 1rem;
margin-top: 1.8rem;
color: #00aa00;
border-top: 1px solid #1f4f1f;
padding-top: 1rem;
text-transform: uppercase;
letter-spacing: 2px;
}

.footer .warning {
color: #ff6a6a;
animation: blinkWarning 2s infinite;
}

@keyframes blinkWarning {
0% { opacity: 1; text-shadow: 0 0 5px red; }
50% { opacity: 0.3; }
100% { opacity: 1; }
}

/* ascii art style */
.ascii {
color: #22aa22;
font-size: 0.9rem;
line-height: 1.2;
white-space: pre;
letter-spacing: 0px;
margin: 15px 0 10px;
}

/* random glitch button (just for fun) */
.trigger-glitch {
background: transparent;
border: 2px solid #1f9f1f;
color: #22ff22;
padding: 0.5rem 1.2rem;
font-family: 'Courier New', monospace;
font-weight: bold;
font-size: 1.2rem;
border-radius: 0;
cursor: pointer;
transition: 0.2s;
margin-top: 1rem;
box-shadow: 0 0 10px #0f0;
}

.trigger-glitch:hover {
background: #1f9f1f;
color: black;
border-color: yellow;
box-shadow: 0 0 30px yellow;
}
</style>
</head>
<body>

<!-- background layers -->
<div class="glitch-bg"></div>
<div class="scan-line"></div>

<main class="terminal" id="mainTerminal">
<!-- main hacked text -->
<div class="hacked-title">HACKED</div>

<!-- "by cykomnepal" with extra glitch -->
<div class="by-line">BY <span class="cykomnepal" id="cykomText">cykomnepal</span></div>

<!-- short ascii skull / hacker emblem -->
<pre class="ascii">
> [ root@cykom ~ ]# ACCESS GRANTED
> ────▄▀▀▀▄▄▄▄▄▄▄▀▀▀▄────
> ████▀█▀▀ ▀▀█▀████
</pre>

<!-- status panel -->
<div class="status-bar">
<span class="blink">⚠️ SYSTEM BREACH ⚠️</span>
<span class="ip-display" id="ipAddress">Fetching IP...</span>
<span>🖧 0DAY: ACTIVE</span>
</div>

<!-- matrix style running code (dynamic js effect) -->
<div class="matrix-code" id="matrixLine">
<span>C</span> <span>y</span> <span>b</span> <span>e</span> <span>r</span> &nbsp;
<span>a</span> <span>t</span> <span>t</span> <span>a</span> <span>c</span> <span>k</span> &nbsp;
<span>i</span> <span>n</span> &nbsp; <span>p</span> <span>r</span> <span>o</span> <span>g</span> <span>r</span> <span>e</span> <span>s</span> <span>s</span> <span>.</span> <span>.</span>
</div>

<!-- additional info footer -->
<div class="footer">
<span class="warning">❗ encrypted payload</span>
<span id="timestamp">00:00:00 UTC</span>
<span>🌐 #cykomnepal</span>
</div>

<!-- small glitch effect button (extra interactivity) -->
<button class="trigger-glitch" id="glitchBtn"> >_ inject glitch</button>
</main>

<script>
(function() {
// ========== JS for dynamic effects & info ==========

// 1. Display user's IP (via fetch) - with fallback
const ipEl = document.getElementById('ipAddress');
if (ipEl) {
fetch('https://api.ipify.org?format=json')
.then(res => res.json())
.then(data => {
ipEl.textContent = data.ip + " (PUBLIC)";
})
.catch(() => {
ipEl.textContent = "127.0.0.1 (localhost)";
});
}

// 2. update timestamp (UTC) every second
const tsEl = document.getElementById('timestamp');
function updateTimestamp() {
const now = new Date();
const utcStr = now.toISOString().substr(11, 8) + " UTC";
if (tsEl) tsEl.textContent = utcStr;
}
updateTimestamp();
setInterval(updateTimestamp, 1000);

// 3. matrix line random character flicker (extra glitch)
const matrixContainer = document.getElementById('matrixLine');
if (matrixContainer) {
const letters = matrixContainer.querySelectorAll('span');
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+[]{};:";

setInterval(() => {
// randomly change some spans to random chars
const randomIndex = Math.floor(Math.random() * letters.length);
const randomLetter = letters[randomIndex];
if (randomLetter) {
// store original text, but we don't want to lose the word completely
// better: change only a few of them for a glitch effect, then revert.
const originalText = randomLetter.textContent;
const randomChar = chars[Math.floor(Math.random() * chars.length)];
randomLetter.textContent = randomChar;

// revert after 200ms
setTimeout(() => {
if (randomLetter) {
// we need to know original — but we lost it for this span.
// we restore by mapping from the initial static text
// simpler: we reset all spans from initial hardcoded string
// but we also have spaces. Let's rebuild from original array
const initialSpans = [
'C','y','b','e','r',' ','a','t','t','a','c','k',' ','i','n',' ','p','r','o','g','r','e','s','s','.','.'
];
// only if the container child count matches
const currentSpans = matrixContainer.querySelectorAll('span');
if (currentSpans.length === initialSpans.length) {
currentSpans.forEach((sp, idx) => {
sp.textContent = initialSpans[idx];
});
} else {
// fallback: reload page silently? we trust.
}
}
}, 150);
}
}, 400);
}

// 4. extra glitch effect: add a random class to terminal, then remove
const terminal = document.getElementById('mainTerminal');
const glitchBtn = document.getElementById('glitchBtn');

function addRandomGlitch() {
if (!terminal) return;
terminal.style.transform = 'skew(2deg, 1deg)';
terminal.style.borderColor = '#ff00ff';
terminal.style.boxShadow = '0 0 60px #ff0000, 0 0 30px #0000ff';
terminal.style.transition = 'all 0.05s ease';

// change cykomnepal color flash
const cykom = document.getElementById('cykomText');
if (cykom) {
cykom.style.color = '#ff4444';
cykom.style.textShadow = '0 0 20px yellow, 0 0 40px red';
}

setTimeout(() => {
if (terminal) {
terminal.style.transform = 'skew(0deg, 0deg)';
terminal.style.borderColor = '#2eff2e';
terminal.style.boxShadow = '0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300';
}
if (cykom) {
cykom.style.color = '';
cykom.style.textShadow = '';
}
}, 250);
}

if (glitchBtn) {
glitchBtn.addEventListener('click', addRandomGlitch);
}

// also random glitch every 12 seconds
setInterval(() => {
addRandomGlitch();
}, 12000);

// 5. small matrix/ip detail: user-agent or something? not necessary but fine

// 6. add a random "boot message" in matrix line? already fine.

// 7. extra: change title periodically with glitch? optional.
let originalTitle = document.title;
setInterval(() => {
document.title = "HACKED by cykomnepal";
setTimeout(() => {
document.title = "⚠️ cykomnepal owned ⚠️";
}, 300);
}, 5000);

// 8. cool: fake typewriter for ascii? no needed, but we can add glitchy class.
})();
</script>

<!-- ensure ASCII looks okay on small screens -->
<style>
@media (max-width: 600px) {
.hacked-title {
font-size: 3.2rem;
letter-spacing: 4px;
}
.by-line {
font-size: 2rem;
}
.cykomnepal {
font-size: 2.5rem;
}
.terminal {
padding: 1.8rem 1.5rem;
}
.status-bar {
font-size: 1rem;
padding: 0.8rem 1rem;
}
.ascii {
font-size: 0.7rem;
}
}
@media (max-width: 400px) {
.hacked-title {
font-size: 2.5rem;
}
.cykomnepal {
font-size: 2rem;
}
}
</style>
</body>
</html>

0%
    Lên đầu