Harga Emas GAP Public Gold
Harga Emas GAP Public Gold Hari Ini
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>SECURE ACCESS — SYAHMIE.COM</title>
<meta name="robots" content="noindex, nofollow">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@700;800;900&family=JetBrains+Mono:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
:root {
--bg: #03050a;
--bg2: #060a10;
--ink: #e8eeff;
--ink-d: #b0bcd8;
--ink-f: #7a8aaa;
--amber: #c8a84b;
--red: rgba(255,80,80,0.9);
--green: #4cffaa;
--b: rgba(100,140,200,0.15);
--b-s: rgba(120,160,220,0.28);
--grad: linear-gradient(135deg,#9aa4c4 0%,#dde3f4 42%,#ffffff 68%,#c4cce8 100%);
--mono: 'JetBrains Mono',monospace;
--disp: 'Big Shoulders Display',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body {
background:var(--bg);
color:var(--ink);
font-family:var(--mono);
min-height:100vh;
display:flex;flex-direction:column;
align-items:center;justify-content:center;
padding:40px 16px 80px;
-webkit-font-smoothing:antialiased;
overflow-x:hidden;
cursor:none;
}
/* Force cursor:none on EVERYTHING — inputs override parent cursor by default */
*{cursor:none !important}
/* ── BACKGROUND EFFECTS ─────────────────────────────────────────────── */
.bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
/* Grid */
.bg-grid{
position:absolute;inset:0;
background-image:
linear-gradient(rgba(100,140,220,0.06) 1px,transparent 1px),
linear-gradient(90deg,rgba(100,140,220,0.06) 1px,transparent 1px);
background-size:48px 48px;
}
/* Sweeping scan line */
.scan-sweep{
position:absolute;left:0;right:0;height:2px;
background:linear-gradient(90deg,transparent,rgba(100,200,255,0.35),rgba(100,200,255,0.6),rgba(100,200,255,0.35),transparent);
animation:scanSweep 6s linear infinite;
filter:blur(1px);
}
@keyframes scanSweep{
0%{top:-2px;opacity:0}
5%{opacity:1}
95%{opacity:1}
100%{top:100%;opacity:0}
}
/* Horizontal scan lines overlay */
.scan-lines{
position:absolute;inset:0;
background:repeating-linear-gradient(
0deg,
transparent,
transparent 3px,
rgba(0,0,0,0.18) 3px,
rgba(0,0,0,0.18) 4px
);
pointer-events:none;
}
/* Corner brackets (full screen) */
.corner-tl,.corner-tr,.corner-bl,.corner-br{
position:absolute;width:40px;height:40px;
border-color:rgba(100,160,220,0.4);border-style:solid;
}
.corner-tl{top:20px;left:20px;border-width:1px 0 0 1px}
.corner-tr{top:20px;right:20px;border-width:1px 1px 0 0}
.corner-bl{bottom:20px;left:20px;border-width:0 0 1px 1px}
.corner-br{bottom:20px;right:20px;border-width:0 1px 1px 0}
/* Ambient glow orbs */
.glow{position:absolute;border-radius:50%;filter:blur(110px);pointer-events:none}
.glow1{top:-20%;left:-10%;width:60vw;height:60vw;background:radial-gradient(circle,rgba(60,100,200,0.08),transparent 70%);animation:driftA 18s ease-in-out infinite alternate}
.glow2{bottom:-20%;right:-10%;width:55vw;height:55vw;background:radial-gradient(circle,rgba(80,50,160,0.07),transparent 70%);animation:driftA 14s ease-in-out infinite alternate-reverse}
@keyframes driftA{from{transform:translate(0,0) scale(1)}to{transform:translate(30px,20px) scale(1.08)}}
/* Particle dots */
.particles{position:absolute;inset:0}
.particles span{
position:absolute;width:2px;height:2px;border-radius:50%;
background:rgba(140,180,255,0.5);
animation:floatUp var(--dur,8s) ease-in-out infinite;
animation-delay:var(--del,0s);
left:var(--x,50%);bottom:var(--y,-10px);
}
@keyframes floatUp{
0%{transform:translateY(0) scale(1);opacity:0}
10%{opacity:.7}
90%{opacity:.3}
100%{transform:translateY(-100vh) scale(0.3);opacity:0}
}
/* ── STATUS BAR (top) ────────────────────────────────────────────────── */
.status-bar{
position:fixed;top:0;left:0;right:0;z-index:50;
height:28px;
background:rgba(3,5,10,0.92);
border-bottom:1px solid var(--b);
display:flex;align-items:center;justify-content:space-between;
padding:0 20px;
backdrop-filter:blur(10px);
font-size:9px;letter-spacing:2px;text-transform:uppercase;
color:var(--ink-f);
}
.status-bar .sb-left{display:flex;align-items:center;gap:20px}
.status-bar .sb-right{display:flex;align-items:center;gap:16px}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulseDot 2s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1;box-shadow:0 0 6px var(--green)}50%{opacity:.5;box-shadow:0 0 12px var(--green)}}
.status-bar .enc{color:var(--amber);font-size:9px}
#live-ts{color:var(--ink-f)}
/* ── MAIN CARD ───────────────────────────────────────────────────────── */
.card{
position:relative;z-index:20;
width:min(440px,94vw);
background:rgba(8,14,28,0.80);
backdrop-filter:blur(32px) saturate(150%);
-webkit-backdrop-filter:blur(32px) saturate(150%);
border:1px solid var(--b-s);
box-shadow:
0 0 0 1px rgba(100,140,200,0.08),
0 40px 80px rgba(0,0,5,0.8),
inset 0 1px 0 rgba(140,180,255,0.06);
padding:0;
animation:riseIn .7s cubic-bezier(.2,.8,.2,1) both;
animation-delay:.3s;
}
@keyframes riseIn{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
/* Card top stripe */
.card-stripe{
height:3px;width:100%;
background:linear-gradient(90deg,transparent,rgba(100,160,255,0.5),rgba(180,200,255,0.8),rgba(100,160,255,0.5),transparent);
animation:stripeMove 4s ease-in-out infinite alternate;
}
@keyframes stripeMove{from{opacity:.6}to{opacity:1}}
/* Card corner deco */
.card-corner{position:absolute;width:14px;height:14px;border-color:rgba(120,160,220,0.5);border-style:solid}
.cc-tl{top:8px;left:8px;border-width:1px 0 0 1px}
.cc-tr{top:8px;right:8px;border-width:1px 1px 0 0}
.cc-bl{bottom:8px;left:8px;border-width:0 0 1px 1px}
.cc-br{bottom:8px;right:8px;border-width:0 1px 1px 0}
.card-inner{padding:32px 36px 28px}
/* ── HEADER ──────────────────────────────────────────────────────────── */
.card-head{margin-bottom:28px}
.sys-label{
font-size:9px;letter-spacing:3px;text-transform:uppercase;
color:var(--ink-f);margin-bottom:16px;display:flex;align-items:center;gap:10px;
}
.sys-label::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--b-s),transparent)}
.logo-row{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.logo-box{
width:44px;height:44px;flex-shrink:0;
border:1px solid rgba(120,160,220,0.3);
background:rgba(100,140,200,0.06);
display:grid;place-items:center;
position:relative;
overflow:hidden;
}
.logo-box::after{
content:'';position:absolute;inset:0;
background:linear-gradient(135deg,rgba(140,180,255,0.1),transparent);
}
.logo-char{
font-family:var(--disp);font-weight:900;font-size:24px;
background:var(--grad);-webkit-background-clip:text;
-webkit-text-fill-color:transparent;background-clip:text;
position:relative;z-index:1;
}
.logo-text .site-name{
font-family:var(--disp);font-weight:800;font-size:22px;
letter-spacing:1px;text-transform:uppercase;line-height:1;
background:var(--grad);-webkit-background-clip:text;
-webkit-text-fill-color:transparent;background-clip:text;
}
.logo-text .site-sub{
font-size:9px;letter-spacing:2.5px;color:var(--ink-f);
margin-top:4px;text-transform:uppercase;
}
/* Boot status line */
.boot-line{
font-size:10px;letter-spacing:1.5px;color:var(--green);
margin-top:10px;opacity:0;
animation:bootFade 1s ease .9s forwards;
}
.boot-line::before{content:'> '}
@keyframes bootFade{from{opacity:0;transform:translateX(-8px)}to{opacity:.8;transform:none}}
/* ── DIVIDER ─────────────────────────────────────────────────────────── */
.div-line{
display:flex;align-items:center;gap:14px;
margin-bottom:22px;
font-size:9px;letter-spacing:3px;color:var(--amber);
text-transform:uppercase;
}
.div-line::before,.div-line::after{
content:'';flex:1;height:1px;
background:linear-gradient(90deg,transparent,rgba(200,168,75,0.3),transparent);
}
/* ── ALERTS ──────────────────────────────────────────────────────────── */
.alert{
padding:10px 14px;margin-bottom:18px;
font-size:11px;letter-spacing:.8px;line-height:1.6;
border:1px solid;
animation:alertIn .3s ease;
}
@keyframes alertIn{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.alert-error{
background:rgba(255,60,60,0.06);
border-color:rgba(255,80,80,0.3);
color:#ff9999;
}
.alert-info{
background:rgba(76,255,170,0.04);
border-color:rgba(76,255,170,0.2);
color:var(--green);
}
/* ── FIELDS ──────────────────────────────────────────────────────────── */
.field{margin-bottom:22px}
.field label{
display:flex;align-items:center;gap:8px;
font-size:9px;letter-spacing:2.5px;
color:var(--ink-d);text-transform:uppercase;margin-bottom:10px;
}
.field label .lbl-dot{
width:4px;height:4px;border-radius:50%;
background:rgba(140,180,255,0.5);flex-shrink:0;
}
.iw{position:relative}
.iw input{
width:100%;
background:rgba(100,140,200,0.05);
border:none;
border-bottom:1px solid var(--b-s);
padding:11px 38px 11px 12px;
font-family:var(--mono);font-size:13px;
color:var(--ink);
outline:none;
transition:border-color .3s,background .3s;
letter-spacing:1px;
}
.iw input:focus{
border-color:rgba(140,180,255,0.7);
background:rgba(100,140,200,0.08);
}
.iw input::placeholder{color:var(--ink-f);letter-spacing:.5px}
.iw .uline{
display:block;height:1px;width:0;
background:linear-gradient(90deg,rgba(100,180,255,0.8),rgba(200,220,255,0.4));
transition:width .4s cubic-bezier(.2,.8,.2,1);
}
.iw input:focus~.uline{width:100%}
.eye{
position:absolute;right:10px;top:50%;transform:translateY(-50%);
background:none;border:none;cursor:none;
color:var(--ink-f);font-size:13px;padding:4px;
transition:color .2s;
}
.eye:hover{color:var(--ink-d)}
/* ── SUBMIT ──────────────────────────────────────────────────────────── */
.btn-wrap{margin-top:10px;position:relative}
.btn{
width:100%;
background:transparent;
border:1px solid var(--b-s);
cursor:none;
font-family:var(--mono);font-size:11px;font-weight:600;
letter-spacing:3px;text-transform:uppercase;
padding:16px 24px;
color:var(--ink);
transition:all .3s;
position:relative;overflow:hidden;
}
.btn::before{
content:'';position:absolute;inset:0;
background:linear-gradient(135deg,rgba(100,160,255,0.12),rgba(80,120,200,0.06));
opacity:0;transition:opacity .3s;
}
.btn::after{
content:'';position:absolute;
top:0;left:-100%;width:100%;height:100%;
background:linear-gradient(90deg,transparent,rgba(140,180,255,0.15),transparent);
transition:left .5s;
}
.btn:hover{
border-color:rgba(140,180,255,0.6);
color:#fff;
box-shadow:0 0 30px rgba(100,150,255,0.12),inset 0 0 20px rgba(100,150,255,0.04);
}
.btn:hover::before{opacity:1}
.btn:hover::after{left:100%}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn-icon{margin-right:8px;font-size:10px}
/* ── CONTACT PANEL ───────────────────────────────────────────────────── */
.cp{
position:relative;z-index:20;
width:min(440px,94vw);margin-top:10px;
animation:riseIn .8s cubic-bezier(.2,.8,.2,1) both;
animation-delay:.5s;
}
.cp-sep{
display:flex;align-items:center;gap:12px;
font-size:9px;letter-spacing:2.5px;color:var(--ink-f);
margin-bottom:12px;text-transform:uppercase;
}
.cp-sep::before,.cp-sep::after{
content:'';flex:1;height:1px;
background:linear-gradient(90deg,transparent,var(--b),transparent);
}
.cp-note{
text-align:center;font-size:11px;letter-spacing:.5px;
color:var(--ink-d);line-height:1.9;margin-bottom:12px;
}
.cp-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cp-btn{
display:flex;align-items:center;justify-content:center;gap:8px;
padding:12px 14px;text-decoration:none;
font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
background:rgba(100,140,200,0.04);
border:1px solid var(--b);
color:var(--ink-d);
transition:all .25s;
cursor:none;
}
.cp-btn:hover{
background:rgba(100,140,200,0.1);
border-color:rgba(140,180,255,0.35);
color:var(--ink);
transform:translateY(-2px);
box-shadow:0 8px 24px rgba(80,120,200,0.1);
}
.cp-btn svg{width:14px;height:14px;flex-shrink:0}
.cp-info{
text-align:center;margin-top:10px;
font-size:10px;letter-spacing:.5px;color:var(--ink-f);line-height:1.8;
}
.cp-info a{color:var(--ink-f);text-decoration:none;transition:color .2s}
.cp-info a:hover{color:var(--ink-d)}
/* ── GEO FOOTER ──────────────────────────────────────────────────────── */
.geo-bar{
position:fixed;bottom:0;left:0;right:0;z-index:30;
height:28px;
background:rgba(3,5,10,0.88);
border-top:1px solid var(--b);
display:flex;align-items:center;justify-content:space-between;
padding:0 20px;
backdrop-filter:blur(10px);
font-size:9px;letter-spacing:1.5px;color:var(--ink-f);
}
.ref-id{color:var(--amber);font-size:9px;letter-spacing:1.5px}
/* ── CURSOR ──────────────────────────────────────────────────────────── */
#cursor-orb{
pointer-events:none;
position:fixed;
top:-100px;left:-100px;
width:36px;height:36px;
border-radius:50%;
border:1.5px solid rgba(140,180,255,0.7);
background:rgba(100,150,255,0.06);
transform:translate(-50%,-50%);
z-index:9999;
transition:width .25s,height .25s,border-color .25s;
}
#cursor-trail{
pointer-events:none;
position:fixed;
top:-100px;left:-100px;
width:6px;height:6px;
border-radius:50%;
background:rgba(160,200,255,0.8);
transform:translate(-50%,-50%);
z-index:9998;
}
/* ── CURSOR ORB ─────────────────────────────────────────────────────── */
/* top/left offset by -half-size so translate(clientX, clientY) = center on cursor */
#cursor-orb{
pointer-events:none;
position:fixed;
top:-18px;left:-18px;
width:36px;height:36px;
border-radius:50%;
border:1.5px solid rgba(140,180,255,0.7);
background:rgba(100,150,255,0.06);
box-shadow:0 0 16px rgba(100,160,255,0.25);
z-index:99998;
will-change:transform;
transition:width .18s,height .18s,border-color .18s,top .18s,left .18s;
transform:translate(-500px,-500px);
}
#cursor-trail{
pointer-events:none;
position:fixed;
top:-3px;left:-3px;
width:6px;height:6px;
border-radius:50%;
background:rgba(160,200,255,0.9);
box-shadow:0 0 8px rgba(140,190,255,0.7);
z-index:99997;
will-change:transform;
transform:translate(-500px,-500px);
}
@media(hover:none),(max-width:768px){
#cursor-orb,#cursor-trail{display:none !important}
*{cursor:auto !important}
}
/* ── SHAKE ───────────────────────────────────────────────────────────── */
.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}
@keyframes shake{
10%,90%{transform:translateX(-3px)}
20%,80%{transform:translateX(4px)}
30%,50%,70%{transform:translateX(-4px)}
40%,60%{transform:translateX(4px)}
}
/* ── GLITCH TITLE ────────────────────────────────────────────────────── */
@keyframes glitch{
0%,100%{clip-path:none;transform:none}
4%{clip-path:inset(20% 0 60% 0);transform:translateX(-4px)}
6%{clip-path:inset(50% 0 30% 0);transform:translateX(4px)}
8%{clip-path:none;transform:none}
}
.site-name{position:relative}
.site-name::after{
content:attr(data-text);
position:absolute;left:2px;top:0;
background:var(--grad);-webkit-background-clip:text;
-webkit-text-fill-color:transparent;background-clip:text;
animation:glitch 7s ease-in-out infinite;
opacity:.6;
}
/* ── CONTACT ROW (icon only) ─────────────────────────────────────── */
.contact-row{
display:flex;align-items:center;justify-content:center;
gap:16px;margin-top:20px;padding-top:18px;
border-top:1px solid var(--b);
}
.c-icon{
display:flex;align-items:center;justify-content:center;
width:36px;height:36px;
border:1px solid var(--b);
color:var(--ink-f);
transition:all .25s;cursor:none;
}
.c-icon svg{width:15px;height:15px;flex-shrink:0}
.c-icon:hover{border-color:rgba(140,180,255,0.4);color:var(--ink-d);background:rgba(100,140,200,0.08)}
.c-dot{width:3px;height:3px;border-radius:50%;background:var(--b-s)}
/* ── GEO ─────────────────────────────────────────────────────────── */
.geo{
position:fixed;bottom:18px;left:50%;transform:translateX(-50%);
font-size:9px;letter-spacing:2px;color:rgba(120,140,180,0.4);
z-index:5;white-space:nowrap;font-family:var(--mono);text-transform:uppercase;
}
@media(max-width:480px){.card-inner{padding:24px 20px 22px}}
</style>
</head>
<body>
<!-- Cursor -->
<div id="cursor-orb"></div>
<div id="cursor-trail"></div>
<!-- ═══════════════════════════════════════════════════════════════
MILITARY PAGE LOADER
═══════════════════════════════════════════════════════════════ -->
<style>
#pg-loader{position:fixed;inset:0;z-index:99999;background:#03050a;display:none;align-items:center;justify-content:center;flex-direction:column;cursor:none;}
#pg-loader .ld-scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(100,200,255,0.5),rgba(100,200,255,0.9),rgba(100,200,255,0.5),transparent);animation:ldScan 2s linear infinite;filter:blur(1px);pointer-events:none}
@keyframes ldScan{0%{top:-2px}100%{top:100%}}
#pg-loader .ld-crt{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,0.25) 3px,rgba(0,0,0,0.25) 4px)}
#pg-loader .lc{position:absolute;width:48px;height:48px;border-color:rgba(100,160,220,0.6);border-style:solid;animation:lcIn .4s ease both}
#pg-loader .lc.tl{top:24px;left:24px;border-width:2px 0 0 2px;animation-delay:.1s}
#pg-loader .lc.tr{top:24px;right:24px;border-width:2px 2px 0 0;animation-delay:.15s}
#pg-loader .lc.bl{bottom:24px;left:24px;border-width:0 0 2px 2px;animation-delay:.2s}
#pg-loader .lc.br{bottom:24px;right:24px;border-width:0 2px 2px 0;animation-delay:.25s}
@keyframes lcIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
#pg-loader .ld-center{display:flex;flex-direction:column;align-items:center;gap:20px;z-index:2;animation:ldRise .5s ease .1s both}
@keyframes ldRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
#pg-loader .ld-logo{display:flex;align-items:center;gap:14px;margin-bottom:6px}
#pg-loader .ld-box{width:48px;height:48px;display:grid;place-items:center;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:26px;background:linear-gradient(135deg,#9aa4c4 0%,#dde3f4 42%,#ffffff 68%,#c4cce8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}
#pg-loader .ld-box::before{content:'';position:absolute;inset:0;border:1px solid rgba(120,160,220,0.5)}
#pg-loader .ld-site{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:26px;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg,#9aa4c4 0%,#dde3f4 42%,#ffffff 68%,#c4cce8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
#pg-loader .ld-sub{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:3px;color:#7a8aaa;text-transform:uppercase;text-align:center}
#pg-loader .ld-div{width:320px;height:1px;background:linear-gradient(90deg,transparent,rgba(200,168,75,0.5),transparent)}
#pg-loader .ld-term{width:320px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.5px;color:#7a8aaa;min-height:90px;display:flex;flex-direction:column;gap:5px}
#pg-loader .ld-term .tl{opacity:0;animation:tlFade .2s ease forwards}
@keyframes tlFade{to{opacity:1}}
#pg-loader .ld-term .tl.ok{color:#4cffaa}
#pg-loader .ld-term .tl.warn{color:#c8a84b}
#pg-loader .ld-term .tl.granted{color:#e8eeff;font-size:12px;letter-spacing:2px;font-weight:600}
#pg-loader .ld-bar-wrap{width:320px;height:2px;background:rgba(100,140,200,0.12);position:relative}
#pg-loader .ld-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,rgba(80,140,255,0.6),rgba(160,200,255,0.9));box-shadow:0 0 12px rgba(100,160,255,0.4);transition:width .3s ease}
#pg-loader .ld-pct{position:absolute;right:0;top:-18px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2px;color:#7a8aaa}
#pg-loader.glitching{animation:glitchOut .4s ease forwards;pointer-events:none}
@keyframes glitchOut{0%{transform:none;opacity:1}15%{transform:translateX(-6px) skewX(-2deg);opacity:.8}30%{transform:translateX(4px) skewX(1deg);opacity:.6}50%{transform:translateX(-3px);opacity:.4}70%{transform:translateX(2px);opacity:.2}100%{transform:none;opacity:0}}
body.loading{overflow:hidden}
</style>
<!-- ██████████████████████████████ PRELOADER ██████████████████████████████ -->
<style>
#pg-loader{position:fixed;inset:0;z-index:99999;background:#03050a;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:none;overflow:hidden}
/* Scan line sweep */
#pg-loader .ld-scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(100,200,255,0.4),rgba(100,200,255,0.85),rgba(100,200,255,0.4),transparent);animation:ldScan 2.2s linear infinite;filter:blur(1px);pointer-events:none;top:-2px}
@keyframes ldScan{0%{top:-2px}100%{top:100%}}
/* CRT scanline overlay */
#pg-loader .ld-crt{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,0.22) 3px,rgba(0,0,0,0.22) 4px)}
/* Grid background */
#pg-loader .ld-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(100,180,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(100,180,255,0.04) 1px,transparent 1px);background-size:48px 48px}
/* Corner brackets */
#pg-loader .lc{position:absolute;width:52px;height:52px;border-color:rgba(100,160,220,0.55);border-style:solid;animation:lcIn .4s ease both}
#pg-loader .lc.tl{top:20px;left:20px;border-width:2px 0 0 2px;animation-delay:.08s}
#pg-loader .lc.tr{top:20px;right:20px;border-width:2px 2px 0 0;animation-delay:.13s}
#pg-loader .lc.bl{bottom:20px;left:20px;border-width:0 0 2px 2px;animation-delay:.18s}
#pg-loader .lc.br{bottom:20px;right:20px;border-width:0 2px 2px 0;animation-delay:.23s}
@keyframes lcIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
/* Side tick marks */
#pg-loader .ld-tick{position:absolute;width:10px;height:1px;background:rgba(100,160,220,0.4)}
#pg-loader .ld-tick.lt{left:20px;top:50%}
#pg-loader .ld-tick.rt{right:20px;top:50%}
/* Classify tag top-center */
#pg-loader .ld-classify{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:3px;color:rgba(200,168,75,0.6);text-transform:uppercase;white-space:nowrap;animation:lcIn .4s ease .1s both}
/* Center content */
#pg-loader .ld-center{display:flex;flex-direction:column;align-items:center;gap:18px;z-index:2;animation:ldRise .5s ease .05s both}
@keyframes ldRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* Logo row */
#pg-loader .ld-logo{display:flex;align-items:center;gap:14px}
#pg-loader .ld-box{width:50px;height:50px;display:grid;place-items:center;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:28px;background:linear-gradient(135deg,#9aa4c4 0%,#dde3f4 42%,#ffffff 68%,#c4cce8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;flex-shrink:0}
#pg-loader .ld-box::before{content:'';position:absolute;inset:0;border:1px solid rgba(120,160,220,0.45)}
#pg-loader .ld-box::after{content:'';position:absolute;inset:-4px;border:1px solid rgba(100,160,220,0.15)}
#pg-loader .ld-site{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:28px;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg,#9aa4c4 0%,#dde3f4 42%,#ffffff 68%,#c4cce8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
#pg-loader .ld-name-sub{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2.5px;color:#7a8aaa;text-transform:uppercase;margin-top:2px}
/* Divider */
#pg-loader .ld-div{width:340px;height:1px;background:linear-gradient(90deg,transparent,rgba(200,168,75,0.45),transparent);margin:2px 0}
/* Terminal output */
#pg-loader .ld-term{width:340px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.2px;color:#7a8aaa;min-height:88px;display:flex;flex-direction:column;gap:4px}
#pg-loader .tl{opacity:0;animation:tlFade .18s ease forwards}
@keyframes tlFade{to{opacity:1}}
#pg-loader .tl.ok{color:#4cffaa}
#pg-loader .tl.warn{color:#c8a84b}
#pg-loader .tl.granted{color:#a0f0c8;font-weight:600}
#pg-loader .tl.err{color:rgba(255,120,100,0.9)}
/* Progress bar */
#pg-loader .ld-bar-wrap{width:340px;display:flex;align-items:center;gap:12px}
#pg-loader .ld-pct{font-family:'JetBrains Mono',monospace;font-size:10px;color:#5a6a8a;letter-spacing:1px;min-width:36px;text-align:right}
#pg-loader .ld-bar-track{flex:1;height:2px;background:rgba(255,255,255,0.06);position:relative;overflow:hidden}
#pg-loader .ld-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,rgba(100,200,255,0.6),rgba(200,168,75,0.8));transition:width .28s ease}
#pg-loader .ld-bar-fill::after{content:'';position:absolute;right:0;top:-3px;bottom:-3px;width:2px;background:rgba(200,220,255,0.9);box-shadow:0 0 8px rgba(180,220,255,0.8)}
/* Dismiss flash on exit */
#pg-loader.exit{animation:ldExit .4s ease forwards}
@keyframes ldExit{0%{opacity:1;transform:none}60%{opacity:1;transform:none}100%{opacity:0;transform:scale(1.015)}}
/* Blinking cursor on last terminal line */
#pg-loader .cursor-blink{display:inline-block;width:7px;height:11px;background:#7a8aaa;vertical-align:middle;animation:blink .8s step-end infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
body.pg-loading{overflow:hidden}
</style>
<div id="pg-loader" role="status" aria-label="Initialising secure session">
<div class="ld-grid"></div>
<div class="ld-scan"></div>
<div class="ld-crt"></div>
<div class="lc tl"></div><div class="lc tr"></div>
<div class="lc bl"></div><div class="lc br"></div>
<div class="ld-tick lt"></div><div class="ld-tick rt"></div>
<div class="ld-classify">■ TOP SECRET // SYAHMIE.COM // CLASSIFIED ■</div>
<div class="ld-center">
<div class="ld-logo">
<div class="ld-box">S</div>
<div>
<div class="ld-site">SYAHMIE.COM</div>
<div class="ld-name-sub">// SECURE ACCESS TERMINAL — CLASSIFIED</div>
</div>
</div>
<div class="ld-div"></div>
<div class="ld-term" id="ldTerm"></div>
<div class="ld-bar-wrap">
<span class="ld-pct" id="ldPct">0%</span>
<div class="ld-bar-track"><div class="ld-bar-fill" id="ldBar"></div></div>
</div>
</div>
</div>
<script>
(function(){
document.body.classList.add('pg-loading');
var term = document.getElementById('ldTerm');
var bar = document.getElementById('ldBar');
var pct = document.getElementById('ldPct');
var loader = document.getElementById('pg-loader');
/* Terminal sequence — can be overridden per-page via PHP $loaderLines */
var seq = [{"t":0,"txt":"> DETECTING SECURE NODE...","cls":"","pct":10},{"t":280,"txt":"> ESTABLISHING ENCRYPTED CHANNEL...","cls":"","pct":28},{"t":540,"txt":"> VERIFYING IDENTITY GATEWAY...","cls":"","pct":46},{"t":800,"txt":"> TLS 1.3 HANDSHAKE COMPLETE.","cls":"ok","pct":62},{"t":1060,"txt":"> LOADING ACCESS TERMINAL...","cls":"","pct":78},{"t":1300,"txt":"> STATUS: AWAITING CREDENTIALS.","cls":"warn","pct":92},{"t":1550,"txt":"> TERMINAL READY \u2014 ENTER CREDENTIALS.","cls":"granted","pct":100}];
function setBar(p){ bar.style.width = p + '%'; pct.textContent = p + '%'; }
seq.forEach(function(s){
setTimeout(function(){
var el = document.createElement('div');
el.className = 'tl' + (s.cls ? ' ' + s.cls : '');
el.textContent = s.txt;
term.appendChild(el);
/* Keep only last 5 lines */
while (term.children.length > 5) term.removeChild(term.firstChild);
setBar(s.pct);
}, s.t);
});
/* Add blinking cursor after last line */
setTimeout(function(){
var cur = document.createElement('span');
cur.className = 'cursor-blink';
if (term.lastChild) term.lastChild.appendChild(cur);
}, seq[seq.length-1].t + 20);
/* Dismiss */
var totalTime = seq[seq.length-1].t + 680;
setTimeout(function(){
loader.classList.add('exit');
setTimeout(function(){
loader.style.display = 'none';
document.body.classList.remove('pg-loading');
}, 420);
}, totalTime);
})();
</script>
<!-- ███████████████████████████ END PRELOADER ████████████████████████████ -->
<!-- Background -->
<div class="bg-layer" aria-hidden="true">
<div class="bg-grid"></div>
<div class="scan-sweep"></div>
<div class="scan-lines"></div>
<div class="corner-tl"></div><div class="corner-tr"></div>
<div class="corner-bl"></div><div class="corner-br"></div>
<div class="glow glow1"></div>
<div class="glow glow2"></div>
</div>
<!-- Main card -->
<div class="card" id="card">
<div class="card-stripe"></div>
<span class="card-corner cc-tl"></span>
<span class="card-corner cc-tr"></span>
<span class="card-corner cc-bl"></span>
<span class="card-corner cc-br"></span>
<div class="card-inner">
<!-- Logo -->
<div class="logo-row">
<div class="logo-box"><span class="logo-char">F</span></div>
<div class="logo-text">
<div class="site-name" data-text="SYAHMIE.COM">SYAHMIE.COM</div>
<div class="site-sub">// PRIVATE PORTFOLIO</div>
</div>
</div>
<!-- Alerts -->
<!-- Form -->
<form method="POST" action="/login.php" id="form" autocomplete="off" novalidate>
<input type="hidden" name="csrf_token" value="137a425c4dac2cec16ab245554d54b3a7ee8ed98d9372def6605103fdc0d8bb7">
<div class="field">
<div class="iw">
<input type="text" id="username" name="username"
placeholder="Username"
value=""
autocomplete="username" spellcheck="false" required>
<span class="uline"></span>
</div>
</div>
<div class="field">
<div class="iw">
<input type="password" id="password" name="password"
placeholder="Password" autocomplete="current-password" required>
<button type="button" class="eye" id="eyeBtn" aria-label="Show password">👁</button>
<span class="uline"></span>
</div>
</div>
<button type="submit" class="btn" id="submitBtn">
<span class="btn-icon">▶</span>AUTHENTICATE
</button>
</form>
<!-- Contact icons -->
<div class="contact-row">
<a href="https://wa.me/60138000178?text=Hai%20Syahmie!%20I%27d%20like%20to%20access%20your%20portfolio." class="c-icon" target="_blank" rel="noopener" title="WhatsApp">
<svg viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg>
</a>
<span class="c-dot"></span>
<a href="mailto:mfsyahmie@gmail.com?subject=Portfolio%20Access%20Request" class="c-icon" title="Email">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m2 7 8.586 6.414a2 2 0 0 0 2.828 0L22 7"/></svg>
</a>
</div>
</div>
</div>
<!-- Geo -->
<div class="geo" id="geoBar">LOCATING <span id="geoText" style="color:rgba(140,180,255,0.5)">...</span></div>
<script>
// Geolocation — show visitor's real coordinates
(function(){
var el=document.getElementById('geoText');
var bar=document.getElementById('geoBar');
if(!el)return;
if(!navigator.geolocation){
bar.textContent='SECURE TERMINAL · CLASSIFIED';
return;
}
// Animate dots while waiting
var dots=0;
var wait=setInterval(function(){dots=(dots+1)%4;el.textContent='.'.repeat(dots)||'..';},400);
navigator.geolocation.getCurrentPosition(
function(pos){
clearInterval(wait);
var lat=pos.coords.latitude;
var lng=pos.coords.longitude;
var latD=lat>=0?'N':'S';
var lngD=lng>=0?'E':'W';
var latS=Math.abs(lat).toFixed(4);
var lngS=Math.abs(lng).toFixed(4);
bar.innerHTML='LAT <span style="color:rgba(160,200,255,0.7)">'+latS+'° '+latD+'</span> · LNG <span style="color:rgba(160,200,255,0.7)">'+lngS+'° '+lngD+'</span>';
},
function(){
clearInterval(wait);
bar.textContent='TERMINAL READY · SECURE';
},
{timeout:6000,maximumAge:0}
);
})();
// Cursor orb — exact 1:1 positioning (no offset math, centering done in CSS)
(function(){
var orb=document.getElementById('cursor-orb');
var trail=document.getElementById('cursor-trail');
if(!orb||!trail)return;
var mx=-500,my=-500,tx=-500,ty=-500;
document.addEventListener('mousemove',function(e){
mx=e.clientX; my=e.clientY;
// CSS has top:-18px; left:-18px so translate(clientX,clientY) = orb centered on cursor
orb.style.transform='translate('+mx+'px,'+my+'px)';
});
(function raf(){
tx+=(mx-tx)*0.14; ty+=(my-ty)*0.14;
// CSS has top:-3px; left:-3px so same logic applies
trail.style.transform='translate('+Math.round(tx)+'px,'+Math.round(ty)+'px)';
requestAnimationFrame(raf);
})();
// Expand orb on interactive elements
document.querySelectorAll('a,button,input,label,.c-icon').forEach(function(el){
el.addEventListener('mouseenter',function(){
orb.style.width='50px';orb.style.height='50px';
orb.style.top='-25px';orb.style.left='-25px';
orb.style.borderColor='rgba(180,210,255,0.95)';
});
el.addEventListener('mouseleave',function(){
orb.style.width='36px';orb.style.height='36px';
orb.style.top='-18px';orb.style.left='-18px';
orb.style.borderColor='rgba(140,180,255,0.7)';
});
});
})();
// Eye toggle
document.getElementById('eyeBtn').addEventListener('click',function(){
var p=document.getElementById('password');
p.type=p.type==='password'?'text':'password';
this.innerHTML=p.type==='password'?'👁':'🔒';
});
// Shake on error
// Submit state
document.getElementById('form').addEventListener('submit',function(){
var b=document.getElementById('submitBtn');
b.innerHTML='<span class="btn-icon">▶</span>AUTHENTICATING...';
b.disabled=true;
});
</script>
</body>
</html>
Harga Emas Dunia
Di bawah pula adalah harga emas mentah dunia dalam tempoh 1 tahun. Harga emas ini berubah setiap saat dan kita dapat lihat pergerakan harga emas secara langsung.