* {
margin: 0;
padding: 0;
box-sizing: border-box;
scroll-behavior: smooth;
font-family: "Poppins", sans-serif;
}

:root {
--particle: rgba(42, 168, 255, 0.9);
--particle-line: 42, 168, 255;
--particle-mouse: rgba(0, 229, 255, 0.4);
--bg: #07111f;
--card: rgba(255, 255, 255, 0.08);
--blue: #2aa8ff;
--cyan: #00e5ff;
--text: #ffffff;
--muted: #b8c7d9;
--border: rgba(255, 255, 255, 0.12);
--profile-photo: url("assets/img/foto-rahman-display.webp");
--profile-photo-position: center top;
--sunset-hero-image: url("assets/Wallpaper/sunset-hero-display.webp");
--egypt-hero-image: url("assets/Wallpaper/egypt-hero-display.webp");
--sakura-wallpaper-image: url("assets/Wallpaper/mount-fuji-display.webp");
}

body {
background: var(--bg);
color: var(--text);
overflow-x: hidden;
}

canvas {
position: fixed;
inset: 0;
z-index: -3;
}

.blob {
position: fixed;
width: 420px;
height: 420px;
border-radius: 50%;
background: radial-gradient(circle, rgba(42,168,255,.45), transparent 65%);
filter: blur(60px);
z-index: -2;
animation: blobMove 9s infinite alternate ease-in-out;
}

.blob.one {
top: -120px;
right: -100px;
}

.blob.two {
bottom: -160px;
left: -100px;
background: radial-gradient(circle, rgba(0,229,255,.32), transparent 65%);
animation-delay: 2s;
}

@keyframes blobMove {
from { transform: translate(0, 0) scale(1); }
to { transform: translate(-60px, 80px) scale(1.2); }
}

header {
position: fixed;
top: 0;
width: 100%;
padding: 22px 8%;
display: flex;
justify-content: space-between;
align-items: center;
z-index: 20;
background: rgba(7, 17, 31, 0.65);
backdrop-filter: blur(16px);
border-bottom: 1px solid var(--border);
}

.logo {
font-size: 22px;
font-weight: 700;
}

.logo span {
color: var(--blue);
}

nav a {
color: var(--muted);
text-decoration: none;
margin-left: 28px;
font-size: 14px;
transition: .3s;
}

nav a:hover {
color: var(--cyan);
}

section {
padding: 100px 8%;
}

.hero {
position: relative;
min-height: 100vh;
display: grid;
grid-template-columns: 1.2fr .8fr;
align-items: center;
gap: 50px;
padding-top: 140px;
overflow: hidden;
}

.hero > * {
position: relative;
z-index: 1;
}

.pencil-diary-props {
display: none;
}

.badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border: 1px solid var(--border);
border-radius: 999px;
background: rgba(255,255,255,.06);
color: var(--cyan);
font-size: 14px;
margin-bottom: 20px;
}

.hero h1 {
font-size: clamp(42px, 6vw, 78px);
line-height: 1.1;
margin-bottom: 12px;
}

.hero h1 span {
background: linear-gradient(90deg, var(--blue), var(--cyan));
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

.hero h2 {
font-size: clamp(24px, 3vw, 42px);
color: var(--muted);
margin-bottom: 20px;
}

.hero p {
max-width: 650px;
color: var(--muted);
line-height: 1.8;
margin-bottom: 32px;
}

.buttons {
display: flex;
gap: 16px;
flex-wrap: wrap;
}

.btn {
padding: 13px 24px;
border-radius: 12px;
border: 1px solid var(--border);
text-decoration: none;
color: white;
transition: .3s;
}

.btn.primary {
background: linear-gradient(135deg, var(--blue), var(--cyan));
color: #03101e;
font-weight: 700;
box-shadow: 0 0 25px rgba(42,168,255,.35);
}

.btn:hover {
transform: translateY(-4px);
box-shadow: 0 0 25px rgba(0,229,255,.25);
}

.hero-card {
position: relative;
min-height: 420px;
border-radius: 34px;
background: rgba(255, 255, 255, 0.025);
border: 1px solid rgba(42, 168, 255, 0.22);
backdrop-filter: blur(3px);
-webkit-backdrop-filter: blur(3px);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
animation: float 4s ease-in-out infinite;
box-shadow:
inset 0 0 35px rgba(255, 255, 255, 0.025),
0 0 35px rgba(42, 168, 255, 0.10);
}

.hero-card::before {
content: "";
position: absolute;
inset: 18px;
border-radius: 28px;
border: 1px solid rgba(0, 229, 255, 0.16);
pointer-events: none;
}

.hero-card::after {
content: "";
position: absolute;
width: 520px;
height: 130px;
background: linear-gradient(
90deg,
transparent,
rgba(0, 229, 255, 0.10),
transparent
);
transform: rotate(-28deg);
animation: premiumScan 6s ease-in-out infinite;
pointer-events: none;
}

.profile-frame {
    position: relative;
    z-index: 3;
    width: 270px;
    height: 270px;
    border-radius: 50%;
    padding: 7px;
    background: linear-gradient(135deg, rgba(42,168,255,.95), rgba(0,229,255,.95));
    box-shadow:
    0 0 18px rgba(0,229,255,.55),
    0 0 45px rgba(42,168,255,.22);
    animation: float 4s ease-in-out infinite;
}

.profile-frame::before {
content: "";
position: absolute;
inset: -18px;
border-radius: 50%;
border: 1px solid rgba(0,229,255,.24);
animation: softPulse 3.5s ease-in-out infinite;
pointer-events: none;
}

.avatar {
width: 100%;
height: 100%;
border-radius: 50%;
perspective: 1000px;
}

.coin-inner {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 50%;
}

.coin-face {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  overflow: hidden;
  background: #07111f;
  transition: opacity .6s ease, transform .6s ease, filter .6s ease;
  z-index: 2;
  will-change: transform, opacity;
}

.coin-front {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 86px;
    color: var(--cyan);
    background: radial-gradient(circle, #12314e, #07111f 72%);
    opacity: 1;
  transform: scale(1);
  animation: roboticFront 8s ease-in-out infinite, digitalFlicker 8s infinite;
}

.coin-back {
    opacity: 0;
    transform: scale(.92);
    animation: roboticBack 8s ease-in-out infinite, digitalFlicker 8s infinite;
    background: var(--profile-photo) var(--profile-photo-position) / cover no-repeat;
}

@keyframes roboticFront {
    0%, 38% {
    opacity: 1;
    transform: scale(1);
    filter: none;
  }
  
  45%, 88% {
      opacity: 0;
      transform: scale(.92);
      filter: blur(4px);
    }
    
    100% {
        opacity: 1;
        transform: scale(1);
        filter: none;
    }
}

@keyframes roboticBack {
    0%, 38% {
        opacity: 0;
        transform: scale(.92);
        filter: blur(4px);
    }
    
    45%, 88% {
        opacity: 1;
        transform: scale(1);
        filter: none;
    }
    
    100% {
        opacity: 0;
        transform: scale(.92);
        filter: blur(4px);
  }
}

@keyframes digitalFlicker {
  0%, 100% { filter: none; }
  50% { filter: brightness(1.05); }
}

.coin-back img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
border-radius: 50%;
display: block;
filter: contrast(1.08) saturate(1.12);
opacity: 0;
}

body.monochrome-mode .coin-front,
body.glass-mode .coin-front,
body.sunset-mode .coin-front,
body.winter-mode .coin-front,
body.sakura-mode .coin-front,
body.egypt-mode .coin-front,
body.cyber-mode .coin-front,
body.charcoal-mode .coin-front,
body.modern-security-mode .coin-front,
body.imlek-mode .coin-front {
opacity: 0;
animation: none;
}

body.monochrome-mode .coin-back,
body.glass-mode .coin-back,
body.sunset-mode .coin-back,
body.winter-mode .coin-back,
body.sakura-mode .coin-back,
body.egypt-mode .coin-back,
body.cyber-mode .coin-back,
body.charcoal-mode .coin-back,
body.modern-security-mode .coin-back,
body.imlek-mode .coin-back {
opacity: 1;
transform: scale(1);
animation: none;
}

.egypt-showcase {
display: none;
}

@keyframes premiumScan {
0%, 100% {
opacity: 0;
left: -70%;
top: 20%;
}

50% {
opacity: 1;
left: 55%;
top: 55%;
}
}

@keyframes softPulse {
0%, 100% {
transform: scale(1);
opacity: .55;
}

50% {
transform: scale(1.08);
opacity: 1;
}
}

@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-18px); }
}

.title {
text-align: center;
margin-bottom: 50px;
}

.title span {
color: var(--cyan);
font-size: 14px;
letter-spacing: 2px;
text-transform: uppercase;
}

.title h2 {
font-size: 38px;
margin-top: 8px;
}

.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.card {
padding: 28px;
border-radius: 24px;
background: var(--card);
border: 1px solid var(--border);
backdrop-filter: blur(16px);
transition: .3s;
}

.card:hover {
transform: translateY(-8px);
border-color: rgba(0,229,255,.55);
box-shadow: 0 0 30px rgba(42,168,255,.15);
}

.card i {
font-size: 34px;
color: var(--cyan);
margin-bottom: 18px;
}

.card h3 {
margin-bottom: 12px;
}

.card p {
color: var(--muted);
line-height: 1.7;
font-size: 14px;
}

.tools-intro {
max-width: 760px;
margin: -22px auto 34px;
color: var(--muted);
line-height: 1.8;
text-align: center;
}

.tools-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 22px;
}

.tool-card {
display: flex;
flex-direction: column;
min-height: 260px;
}

.tool-card > i {
font-size: 30px;
color: var(--cyan);
margin-bottom: 16px;
}

.tool-card h3 {
margin-bottom: 10px;
}

.tool-card p {
margin-bottom: 18px;
}

.tool-tags {
display: flex;
flex-wrap: wrap;
gap: 9px;
margin-top: auto;
}

.tool-tags span {
display: inline-flex;
align-items: center;
min-height: 30px;
padding: 7px 10px;
border-radius: 999px;
border: 1px solid rgba(42,168,255,.24);
background: rgba(42,168,255,.10);
color: var(--text);
font-size: 12px;
font-weight: 600;
line-height: 1;
}

.tools-source {
width: fit-content;
max-width: 100%;
margin: 28px auto 0;
padding: 12px 16px;
border-radius: 999px;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
color: var(--muted);
background: var(--card);
border: 1px solid var(--border);
font-size: 13px;
}

.tools-source i,
.tools-source a {
color: var(--cyan);
}

.tools-source a {
font-weight: 700;
text-decoration: none;
white-space: nowrap;
}

body.light-mode .tool-tags span,
body.glass-mode .tool-tags span,
body.sakura-mode .tool-tags span {
background: rgba(0, 150, 210, 0.08);
border-color: rgba(0, 150, 210, 0.18);
color: #102033;
}

body.sunset-mode .tool-tags span {
background: rgba(255, 221, 184, 0.13);
border-color: rgba(255, 211, 106, 0.24);
color: #fff1dc;
}

body.winter-mode .tool-tags span {
background: rgba(224, 247, 255, 0.10);
border-color: rgba(224, 247, 255, 0.22);
color: #f8fdff;
}

body.egypt-mode .tool-tags span {
background: rgba(214, 162, 58, 0.12);
border-color: rgba(214, 162, 58, 0.28);
color: #ffe6a7;
}

body.cyber-mode .tool-tags span {
background: rgba(0, 255, 160, 0.08);
border-color: rgba(0, 255, 160, 0.24);
color: #b6ffdc;
}

body.charcoal-mode .tool-tags span {
background: rgba(205, 180, 120, 0.11);
border-color: rgba(205, 180, 120, 0.25);
color: #eee5d1;
}

.about-box {
display: grid;
grid-template-columns: .9fr 1.1fr;
gap: 30px;
align-items: center;
}

.about-photo {
height: 360px;
border-radius: 28px;
background: linear-gradient(135deg, rgba(42,168,255,.35), rgba(0,229,255,.08));
border: 1px solid var(--border);
display: flex;
align-items: center;
justify-content: center;
font-size: 90px;
}

.about-text p {
color: var(--muted);
line-height: 1.9;
margin-bottom: 18px;
}

.skills {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 20px;
}

.skill {
padding: 10px 15px;
border-radius: 999px;
background: rgba(42,168,255,.12);
border: 1px solid rgba(42,168,255,.28);
color: #dff5ff;
font-size: 14px;
}

.project-img {
height: 160px;
border-radius: 18px;
background: linear-gradient(135deg, rgba(42,168,255,.7), rgba(0,229,255,.12));
margin-bottom: 18px;
display: flex;
align-items: center;
justify-content: center;
font-size: 42px;
}

.contact-box {
max-width: 760px;
margin: auto;
text-align: center;
padding: 45px;
border-radius: 30px;
background: var(--card);
border: 1px solid var(--border);
}

.contact-box p {
color: var(--muted);
line-height: 1.8;
margin-bottom: 26px;
}

.socials {
display: flex;
justify-content: center;
gap: 14px;
margin-top: 25px;
}

.socials a {
width: 44px;
height: 44px;
border-radius: 50%;
display: grid;
place-items: center;
color: white;
text-decoration: none;
border: 1px solid var(--border);
background: rgba(255,255,255,.06);
transition: .3s;
}

.socials a:hover {
transform: translateY(-4px);
box-shadow: 0 0 20px rgba(0,229,255,.25);
}

footer {
text-align: center;
padding: 28px;
color: var(--muted);
border-top: 1px solid var(--border);
font-size: 14px;
}

.reveal {
opacity: 0;
transform: translateY(35px);
transition: .8s ease;
}

.reveal.active {
opacity: 1;
transform: translateY(0);
}

.theme-toggle {
width: 42px;
height: 42px;
border-radius: 50%;
border: 1px solid var(--border);
background: rgba(255,255,255,.06);
color: var(--cyan);
cursor: pointer;
margin-left: 20px;
transition: .3s;
}

.theme-toggle:hover {
transform: translateY(-3px);
box-shadow: 0 0 20px rgba(0,229,255,.25);
}

body.light-mode {
--bg: #eef7ff;
--card: rgba(255, 255, 255, 0.68);
--text: #07111f;
--muted: #4c5f73;
--border: rgba(7, 17, 31, 0.12);
--particle: rgba(0, 105, 180, 0.85);
--particle-line: 0, 105, 180;
--particle-mouse: rgba(0, 150, 210, 0.35);
--profile-photo: url("assets/img/foto-rahman-light-display.webp");
}

body.light-mode header {
background: rgba(238, 247, 255, 0.72);
}

body.light-mode .hero-card,
body.light-mode .contact-box {
background: rgba(255, 255, 255, 0.42);
border-color: rgba(42,168,255,.22);
}

body.light-mode .card {
background: rgba(255, 255, 255, 0.85);
border: 1px solid rgba(0, 120, 180, 0.15);

box-shadow:
0 10px 30px rgba(0, 80, 120, 0.08),
0 2px 8px rgba(0, 80, 120, 0.05);

backdrop-filter: blur(6px);
}

body.light-mode .card h3 {
color: #07111f;
}

body.light-mode .card p {
color: #4c5f73;
}

body.light-mode .card:hover {
transform: translateY(-8px);
border-color: rgba(0,150,210,.35);

box-shadow:
0 15px 40px rgba(0, 120, 180, 0.15),
0 5px 15px rgba(0, 120, 180, 0.08);
}

body.light-mode .project-img {
background: linear-gradient(
135deg,
rgba(0, 150, 210, 0.25),
rgba(0, 150, 210, 0.08)
);

border: 1px solid rgba(0, 150, 210, 0.2);
}

body.light-mode .project-img i {
color: #007bbf;
}

body.light-mode .coin-face {
background: #eef7ff;
}

body.light-mode .coin-front {
background: radial-gradient(circle, #d9f2ff, #eef7ff 72%);
}

body.light-mode footer {
background: rgba(255,255,255,.35);
}    

body.light-mode .logo {
color: #07111f;
}

body.light-mode nav a {
color: #4c5f73;
}

body.light-mode nav a:hover {
color: var(--blue);
}

body.light-mode .btn {
color: #07111f;
background: rgba(255,255,255,.45);
border-color: rgba(7,17,31,.14);
}

body.light-mode .btn.primary {
color: #03101e;
background: linear-gradient(135deg, var(--blue), var(--cyan));
}

body.light-mode .badge {
background: rgba(255,255,255,.55);
color: #007bbf;
border-color: rgba(42,168,255,.25);
}

body.light-mode .socials a {
color: #07111f;
background: rgba(255,255,255,.55);
}

body.light-mode .theme-toggle {
color: #07111f;
background: rgba(255,255,255,.65);
}

body.light-mode .coin-front {
color: var(--blue);
}    

body.light-mode .skill {
background: rgba(0, 150, 210, 0.08);
border: 1px solid rgba(0, 150, 210, 0.25);
color: #08324a;
}

body.monochrome-mode {
--bg: #f8efd9;
--card: rgba(255, 250, 236, 0.78);
--blue: #16815c;
--cyan: #e0444f;
--text: #272723;
--muted: #6b6252;
--border: rgba(42, 77, 59, 0.20);
--particle: rgba(28, 129, 92, 0.18);
--particle-line: 199, 63, 74;
--particle-mouse: rgba(229, 160, 43, 0.16);
--pencil-green: #16815c;
--pencil-red: #e0444f;
--pencil-yellow: #f1b82d;
--pencil-blue: #2876bd;
--pencil-wood: #d7a562;
--pencil-paper: #fff5d8;
--profile-photo: url("assets/img/foto-rahman-pencil-display.webp");
background:
linear-gradient(90deg, transparent 0 72px, rgba(224, 68, 79, 0.24) 72px 74px, transparent 75px),
radial-gradient(circle at 13% 18%, rgba(22, 129, 92, 0.16), transparent 24%),
radial-gradient(circle at 90% 13%, rgba(241, 184, 45, 0.18), transparent 25%),
radial-gradient(circle at 76% 86%, rgba(40, 118, 189, 0.14), transparent 28%),
radial-gradient(circle at 34% 72%, rgba(224, 68, 79, 0.10), transparent 25%),
repeating-linear-gradient(0deg, transparent 0 30px, rgba(40, 118, 189, 0.10) 31px 32px),
repeating-linear-gradient(116deg, rgba(22, 129, 92, 0.035) 0 2px, transparent 2px 12px),
linear-gradient(135deg, #fff7df, #f1dfb8 52%, #fbefd2);
background-attachment: fixed;
}

body.monochrome-mode::before {
content: "";
position: fixed;
inset: 0;
z-index: 0;
pointer-events: none;
background:
radial-gradient(circle at 20% 30%, rgba(224, 68, 79, 0.050), transparent 12%),
radial-gradient(circle at 70% 64%, rgba(22, 129, 92, 0.052), transparent 16%),
radial-gradient(circle at 54% 18%, rgba(241, 184, 45, 0.075), transparent 13%),
repeating-linear-gradient(115deg, transparent 0 9px, rgba(40, 118, 189, 0.030) 10px 11px),
repeating-linear-gradient(68deg, transparent 0 17px, rgba(224, 68, 79, 0.022) 18px 20px);
mix-blend-mode: multiply;
opacity: 0.76;
}

body.monochrome-mode section,
body.monochrome-mode footer {
position: relative;
z-index: 1;
}

body.monochrome-mode canvas {
opacity: 0.46;
mix-blend-mode: multiply;
}

body.monochrome-mode header {
background: rgba(255, 247, 225, 0.86);
border-bottom-color: rgba(22, 129, 92, 0.20);
box-shadow: 0 12px 28px rgba(90, 64, 30, 0.08);
}

body.monochrome-mode,
body.monochrome-mode a,
body.monochrome-mode p,
body.monochrome-mode span,
body.monochrome-mode strong,
body.monochrome-mode small,
body.monochrome-mode button,
body.monochrome-mode h1,
body.monochrome-mode h2,
body.monochrome-mode h3,
body.monochrome-mode h4,
body.monochrome-mode li,
body.monochrome-mode label,
body.monochrome-mode input,
body.monochrome-mode textarea {
font-family: "Patrick Hand", "Segoe Print", "Bradley Hand ITC", cursive;
letter-spacing: 0;
}

body.monochrome-mode i,
body.monochrome-mode .fa,
body.monochrome-mode .fa-solid,
body.monochrome-mode .fa-regular,
body.monochrome-mode .fa-brands {
font-family: "Font Awesome 6 Free" !important;
}

body.monochrome-mode .fa-brands {
font-family: "Font Awesome 6 Brands" !important;
}

body.monochrome-mode .logo,
body.monochrome-mode .title span,
body.monochrome-mode .title h2 {
font-family: "Patrick Hand", "Segoe Print", "Bradley Hand ITC", cursive;
letter-spacing: 0;
}

body.monochrome-mode .logo,
body.monochrome-mode .hero h1,
body.monochrome-mode .title h2,
body.monochrome-mode .card h3 {
color: #28271f;
text-shadow: 0.7px 0.8px 0 rgba(128, 80, 28, 0.10);
}

body.monochrome-mode .hero h1,
body.monochrome-mode .hero h2 {
font-family: "Patrick Hand", "Segoe Print", "Bradley Hand ITC", cursive;
letter-spacing: 0;
}

body.monochrome-mode .hero h1 {
font-size: clamp(48px, 6.2vw, 84px);
line-height: 1.02;
}

body.monochrome-mode .hero h2 {
color: #28715a;
font-size: clamp(28px, 3.2vw, 46px);
}

body.monochrome-mode .hero-text {
padding: 28px 28px 30px;
border-radius: 18px;
background:
linear-gradient(135deg, rgba(255, 250, 236, 0.72), rgba(250, 236, 200, 0.52)),
repeating-linear-gradient(0deg, transparent 0 30px, rgba(40, 118, 189, 0.095) 31px 32px),
repeating-linear-gradient(112deg, transparent 0 14px, rgba(224, 68, 79, 0.030) 15px 17px);
border: 1px solid rgba(22, 129, 92, 0.15);
box-shadow:
inset 0 0 0 1px rgba(255, 255, 255, 0.52),
0 22px 48px rgba(90, 64, 30, 0.10);
}

body.monochrome-mode .hero-text::before {
content: "";
position: absolute;
top: -13px;
left: 34px;
width: 118px;
height: 24px;
border-radius: 7px;
background:
linear-gradient(90deg, rgba(241, 184, 45, 0.36), rgba(22, 129, 92, 0.22), rgba(224, 68, 79, 0.20)),
repeating-linear-gradient(105deg, rgba(255,255,255,0.18) 0 4px, transparent 4px 10px);
transform: rotate(-1.4deg);
box-shadow: 0 8px 18px rgba(90, 64, 30, 0.07);
}

body.monochrome-mode .logo {
font-size: 24px;
}

body.monochrome-mode .logo span,
body.monochrome-mode nav a:hover,
body.monochrome-mode .title span,
body.monochrome-mode .card i,
body.monochrome-mode .project-img i {
color: var(--pencil-green);
}

body.monochrome-mode nav a,
body.monochrome-mode .hero p,
body.monochrome-mode .card p,
body.monochrome-mode .about-text p,
body.monochrome-mode .contact-box p {
color: #655e4f;
}

body.monochrome-mode .hero h1 span {
background:
linear-gradient(90deg, var(--pencil-green), var(--pencil-blue) 48%, var(--pencil-red)),
linear-gradient(transparent 62%, rgba(241, 184, 45, 0.42) 62% 88%, transparent 88%);
background-clip: text, border-box;
-webkit-background-clip: text, border-box;
color: transparent;
-webkit-text-fill-color: currentColor;
border-radius: 5px;
padding: 0 5px 2px;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
}

body.monochrome-mode .badge {
background:
linear-gradient(transparent 50%, rgba(241, 184, 45, 0.32) 50% 86%, transparent 86%),
rgba(255, 250, 236, 0.72);
color: #1c684d;
border-color: rgba(22, 129, 92, 0.24);
box-shadow: 0 10px 24px rgba(90, 64, 30, 0.08);
transform: rotate(-0.25deg);
}

body.monochrome-mode .btn {
color: #24513f;
background: rgba(255, 250, 236, 0.70);
border: 1px solid rgba(22, 129, 92, 0.24);
box-shadow: 0 12px 28px rgba(90, 64, 30, 0.09);
}

body.monochrome-mode .btn.primary {
color: #fff8e8;
background:
linear-gradient(135deg, rgba(22, 129, 92, 0.96), rgba(40, 118, 189, 0.92), rgba(224, 68, 79, 0.88)),
repeating-linear-gradient(115deg, rgba(255,255,255,0.08) 0 2px, transparent 2px 8px);
box-shadow: 0 14px 30px rgba(90, 64, 30, 0.16);
}

body.monochrome-mode .btn:hover {
transform: translateY(-3px);
box-shadow: 0 16px 34px rgba(90, 64, 30, 0.14);
}

body.monochrome-mode .hero-card,
body.monochrome-mode .card,
body.monochrome-mode .contact-box {
background:
linear-gradient(135deg, rgba(255, 250, 236, 0.90), rgba(246, 228, 188, 0.72)),
repeating-linear-gradient(115deg, transparent 0 9px, rgba(22, 129, 92, 0.026) 10px 11px),
repeating-linear-gradient(68deg, transparent 0 18px, rgba(224, 68, 79, 0.022) 19px 21px);
border: 1px solid rgba(22, 129, 92, 0.20);
box-shadow:
inset 0 0 0 1px rgba(255, 255, 255, 0.55),
0 18px 38px rgba(90, 64, 30, 0.10);
backdrop-filter: blur(3px);
}

body.monochrome-mode .card {
border-radius: 18px;
position: relative;
overflow: hidden;
}

body.monochrome-mode .card::before {
content: "";
position: absolute;
top: 16px;
right: 18px;
width: 58px;
height: 10px;
border-radius: 999px;
background: rgba(241, 184, 45, 0.36);
mix-blend-mode: multiply;
transform: rotate(-1.4deg);
}

body.monochrome-mode .grid .card:nth-child(2n) i {
color: var(--pencil-blue);
}

body.monochrome-mode .grid .card:nth-child(3n) i {
color: var(--pencil-red);
}

body.monochrome-mode .grid .card:nth-child(2n)::before {
background: rgba(22, 129, 92, 0.28);
transform: rotate(1.6deg);
}

body.monochrome-mode .grid .card:nth-child(3n)::before {
background: rgba(224, 68, 79, 0.22);
transform: rotate(-1deg);
}

body.monochrome-mode .grid .card:nth-child(odd) {
transform: none;
}

body.monochrome-mode .grid .card:nth-child(even) {
transform: none;
}

body.monochrome-mode .card:hover {
border-color: rgba(22, 129, 92, 0.34);
box-shadow:
inset 0 0 0 1px rgba(255, 255, 255, 0.55),
0 24px 44px rgba(90, 64, 30, 0.14);
}

body.monochrome-mode .grid .card:hover {
transform: translateY(-6px) rotate(0deg);
}

body.monochrome-mode .tools-intro,
body.monochrome-mode .tools-source,
body.monochrome-mode .tool-tags span {
font-family: "Patrick Hand", "Segoe Print", "Bradley Hand ITC", cursive;
letter-spacing: 0;
}

body.monochrome-mode .tools-intro {
font-size: 19px;
color: #655e4f;
}

body.monochrome-mode .tool-card > * {
position: relative;
z-index: 1;
}

body.monochrome-mode .tool-tags span {
font-size: 13px;
background:
linear-gradient(transparent 44%, rgba(241, 184, 45, 0.28) 44% 84%, transparent 84%),
rgba(255, 250, 236, 0.76);
border-color: rgba(22, 129, 92, 0.20);
color: #24513f;
box-shadow: none;
}

body.monochrome-mode .tool-tags span:nth-child(2n) {
background:
linear-gradient(transparent 44%, rgba(22, 129, 92, 0.22) 44% 84%, transparent 84%),
rgba(255, 250, 236, 0.76);
}

body.monochrome-mode .tool-tags span:nth-child(3n) {
background:
linear-gradient(transparent 44%, rgba(224, 68, 79, 0.20) 44% 84%, transparent 84%),
rgba(255, 250, 236, 0.76);
}

body.monochrome-mode .tools-source {
background: rgba(255, 250, 236, 0.76);
border: 1px solid rgba(22, 129, 92, 0.20);
box-shadow: 0 12px 28px rgba(90, 64, 30, 0.09);
color: #655e4f;
font-size: 15px;
}

body.monochrome-mode .hero-card {
border-radius: 24px;
animation: float 5s ease-in-out infinite;
}

body.monochrome-mode .hero-card::before {
inset: 16px;
border: 1px dashed rgba(22, 129, 92, 0.26);
border-radius: 20px;
}

body.monochrome-mode .hero-card::after {
background: repeating-linear-gradient(
105deg,
transparent 0 14px,
rgba(224, 68, 79, 0.08) 15px 17px,
transparent 18px 28px
);
animation: none;
transform: rotate(-5deg);
opacity: 0.58;
}

body.monochrome-mode .pencil-diary-props {
display: block;
position: absolute;
top: 96px;
right: 7.5%;
width: min(360px, 34vw);
height: 168px;
z-index: 3;
pointer-events: none;
opacity: 0.90;
filter: drop-shadow(0 14px 18px rgba(90, 64, 30, 0.12));
}

body.monochrome-mode .pencil-diary-props::before {
content: "";
position: absolute;
top: -4px;
right: 14px;
width: 132px;
height: 58px;
border-radius: 10px;
background:
linear-gradient(135deg, rgba(22, 129, 92, 0.20), rgba(241, 184, 45, 0.18), rgba(224, 68, 79, 0.13)),
repeating-linear-gradient(0deg, transparent 0 13px, rgba(40, 118, 189, 0.10) 14px 15px);
border: 1px solid rgba(22, 129, 92, 0.18);
transform: rotate(2.2deg);
box-shadow: 0 10px 18px rgba(90, 64, 30, 0.08);
}

body.monochrome-mode .pencil-diary-props::after {
content: "";
position: absolute;
top: -16px;
right: 188px;
width: 68px;
height: 22px;
border-radius: 5px 8px 6px 7px;
background:
linear-gradient(90deg, rgba(241, 184, 45, 0.32), rgba(22, 129, 92, 0.22), rgba(40, 118, 189, 0.18)),
repeating-linear-gradient(105deg, rgba(255,255,255,0.28) 0 4px, transparent 4px 9px);
transform: rotate(-3deg);
box-shadow: 0 8px 14px rgba(90, 64, 30, 0.07);
}

body.monochrome-mode .diary-highlighter {
position: absolute;
height: 18px;
border-radius: 999px 12px 999px 14px;
opacity: 0.66;
mix-blend-mode: multiply;
}

body.monochrome-mode .highlighter-yellow {
top: 20px;
right: 68px;
width: 178px;
background: rgba(241, 184, 45, 0.46);
transform: rotate(-2deg);
}

body.monochrome-mode .highlighter-pink {
top: 48px;
right: 22px;
width: 142px;
background: rgba(224, 68, 79, 0.30);
transform: rotate(1.4deg);
}

body.monochrome-mode .colored-pencil {
position: absolute;
right: 40px;
width: 176px;
height: 16px;
border-radius: 999px 10px 10px 999px;
background:
linear-gradient(90deg, #f3d5a0 0 12px, #3a2a1c 12px 16px, var(--pencil-color) 16px 72%, rgba(255,255,255,0.32) 72% 76%, var(--pencil-color) 76% 100%);
border: 1px solid rgba(57, 42, 26, 0.20);
box-shadow:
inset 0 2px 0 rgba(255, 255, 255, 0.26),
0 8px 14px rgba(90, 64, 30, 0.10);
transform-origin: right center;
}

body.monochrome-mode .colored-pencil::before {
content: "";
position: absolute;
left: -18px;
top: -1px;
width: 20px;
height: 18px;
background:
linear-gradient(90deg, transparent 0 42%, var(--pencil-color) 43% 100%),
linear-gradient(135deg, #e7c38b 0 50%, #be8951 51% 100%);
clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

body.monochrome-mode .colored-pencil::after {
content: "";
position: absolute;
right: 11px;
top: 3px;
width: 50px;
height: 2px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.28);
box-shadow: 0 6px 0 rgba(0, 0, 0, 0.08);
}

body.monochrome-mode .pencil-green {
--pencil-color: var(--pencil-green);
top: 88px;
transform: rotate(-12deg);
}

body.monochrome-mode .pencil-red {
--pencil-color: var(--pencil-red);
top: 110px;
right: 30px;
transform: rotate(7deg);
}

body.monochrome-mode .pencil-blue {
--pencil-color: var(--pencil-blue);
top: 132px;
right: 52px;
transform: rotate(-3deg);
}

body.monochrome-mode .diary-eraser {
position: absolute;
top: 72px;
right: 190px;
width: 92px;
height: 42px;
border-radius: 9px;
background:
linear-gradient(90deg, #e86a78 0 45%, #fff1dc 45% 100%);
border: 1px solid rgba(89, 63, 32, 0.24);
transform: rotate(-5deg);
box-shadow:
inset 0 2px 0 rgba(255, 255, 255, 0.32),
0 10px 18px rgba(90, 64, 30, 0.11);
}

body.monochrome-mode .diary-eraser::before {
content: "";
position: absolute;
top: 5px;
bottom: 5px;
left: 42px;
width: 1.5px;
background: rgba(98, 61, 35, 0.24);
}

body.monochrome-mode .diary-eraser span {
position: absolute;
right: 10px;
top: 11px;
width: 26px;
height: 4px;
border-radius: 999px;
background: rgba(22, 129, 92, 0.22);
box-shadow: 0 9px 0 rgba(40, 118, 189, 0.15);
}

body.monochrome-mode .diary-sharpener {
position: absolute;
top: 72px;
right: 72px;
width: 76px;
height: 52px;
border-radius: 13px;
background:
linear-gradient(135deg, #39a873, #16815c 62%, #0f5f45),
repeating-linear-gradient(45deg, rgba(255,255,255,0.16) 0 3px, transparent 3px 8px);
border: 1px solid rgba(16, 80, 57, 0.30);
transform: rotate(4deg);
box-shadow:
inset 0 2px 0 rgba(255, 255, 255, 0.22),
0 10px 18px rgba(90, 64, 30, 0.11);
}

body.monochrome-mode .diary-sharpener::before {
content: "";
position: absolute;
left: 21px;
top: 14px;
width: 28px;
height: 22px;
border-radius: 50%;
background:
radial-gradient(circle at 50% 50%, rgba(44, 29, 20, 0.74) 0 4px, transparent 4px),
radial-gradient(circle, #fff0c6 0 11px, #2f795b 12px 13px, transparent 14px);
}

body.monochrome-mode .diary-sharpener::after {
content: "";
position: absolute;
right: 9px;
top: 12px;
width: 5px;
height: 27px;
border-radius: 999px;
background: rgba(255, 252, 242, 0.42);
transform: rotate(15deg);
}

body.monochrome-mode .diary-sharpener span {
position: absolute;
left: 10px;
bottom: 8px;
width: 50px;
height: 2px;
background: rgba(255, 248, 218, 0.38);
transform: rotate(-5deg);
}

body.monochrome-mode .pencil-shaving {
position: absolute;
width: 31px;
height: 16px;
border-radius: 60% 38% 64% 36%;
background:
radial-gradient(ellipse at 72% 42%, rgba(224, 68, 79, 0.38) 0 16%, transparent 17%),
linear-gradient(135deg, #c6945d, #ead0a4 58%, #9c7043);
border: 1px solid rgba(91, 56, 32, 0.18);
clip-path: polygon(0 45%, 20% 6%, 72% 0, 100% 36%, 78% 100%, 25% 86%);
opacity: 0.70;
}

body.monochrome-mode .shaving-two {
background:
radial-gradient(ellipse at 72% 42%, rgba(22, 129, 92, 0.38) 0 16%, transparent 17%),
linear-gradient(135deg, #c6945d, #ead0a4 58%, #9c7043);
}

body.monochrome-mode .shaving-three {
background:
radial-gradient(ellipse at 72% 42%, rgba(40, 118, 189, 0.38) 0 16%, transparent 17%),
linear-gradient(135deg, #c6945d, #ead0a4 58%, #9c7043);
}

body.monochrome-mode .shaving-one {
right: 120px;
top: 127px;
transform: rotate(-28deg);
}

body.monochrome-mode .shaving-two {
right: 94px;
top: 136px;
transform: rotate(21deg) scale(0.78);
}

body.monochrome-mode .shaving-three {
right: 154px;
top: 132px;
transform: rotate(52deg) scale(0.64);
}

body.monochrome-mode .shaving-four {
right: 66px;
top: 128px;
transform: rotate(-10deg) scale(0.56);
}

body.monochrome-mode .profile-frame {
background:
repeating-linear-gradient(125deg, #16815c 0 2px, #f1b82d 3px 5px, #e0444f 6px 8px, #2876bd 9px 11px, #fff2d0 12px 15px);
box-shadow:
0 18px 38px rgba(90, 64, 30, 0.14);
}

body.monochrome-mode .profile-frame::before {
border-color: rgba(22, 129, 92, 0.30);
border-style: dashed;
}

body.monochrome-mode .coin-face {
background: #fff5d8;
}

body.monochrome-mode .coin-front {
color: var(--pencil-green);
background:
radial-gradient(circle, rgba(255,255,255,0.76), rgba(242, 222, 181, 0.88) 72%),
repeating-linear-gradient(120deg, rgba(224, 68, 79, 0.10) 0 1px, transparent 1px 7px),
repeating-linear-gradient(62deg, transparent 0 10px, rgba(22, 129, 92, 0.07) 11px 12px);
}

body.monochrome-mode .coin-back {
filter: saturate(1.12) contrast(1.04) brightness(1.02);
}

body.monochrome-mode .project-img,
body.monochrome-mode .about-photo {
background:
linear-gradient(135deg, rgba(255, 250, 236, 0.82), rgba(239, 218, 177, 0.62)),
repeating-linear-gradient(125deg, rgba(22, 129, 92, 0.05) 0 1px, transparent 1px 9px),
repeating-linear-gradient(58deg, transparent 0 13px, rgba(224, 68, 79, 0.04) 14px 15px);
border: 1px solid rgba(22, 129, 92, 0.20);
box-shadow: inset 0 0 18px rgba(90, 64, 30, 0.06);
}

body.monochrome-mode .about-photo i {
color: var(--pencil-blue);
filter: drop-shadow(2px 2px 0 rgba(90, 64, 30, 0.10));
}

body.monochrome-mode .skill {
background:
linear-gradient(transparent 42%, rgba(40, 118, 189, 0.18) 42% 82%, transparent 82%),
rgba(255, 250, 236, 0.74);
border: 1px solid rgba(22, 129, 92, 0.20);
color: #24513f;
box-shadow: none;
transform: none;
}

body.monochrome-mode .skills .skill:nth-child(2n) {
background:
linear-gradient(transparent 42%, rgba(241, 184, 45, 0.24) 42% 82%, transparent 82%),
rgba(255, 250, 236, 0.74);
transform: none;
}

body.monochrome-mode .skills .skill:nth-child(3n) {
background:
linear-gradient(transparent 42%, rgba(224, 68, 79, 0.19) 42% 82%, transparent 82%),
rgba(255, 250, 236, 0.74);
}

body.monochrome-mode .title span {
display: inline-block;
padding: 0 10px;
border-radius: 7px 9px 6px 8px;
background:
linear-gradient(transparent 48%, rgba(241, 184, 45, 0.32) 48% 86%, transparent 86%);
transform: none;
}

body.monochrome-mode .socials a,
body.monochrome-mode .theme-toggle {
color: #24513f;
background: rgba(255, 250, 236, 0.78);
border-color: rgba(22, 129, 92, 0.22);
box-shadow: 0 12px 28px rgba(90, 64, 30, 0.09);
}

body.monochrome-mode footer {
background: rgba(255, 250, 236, 0.68);
border-top-color: rgba(22, 129, 92, 0.18);
color: #655e4f;
font-size: 17px;
}

body.monochrome-mode .blob {
background: radial-gradient(circle, rgba(224, 68, 79, 0.16), rgba(22, 129, 92, 0.10) 46%, transparent 68%);
filter: blur(72px);
}

body.glass-mode {
--bg: #edf5ff;
--card: rgba(255, 255, 255, 0.28);
--blue: #6fa0ff;
--cyan: #5ee8d2;
--text: #0e1e30;
--muted: #4a6275;
--border: rgba(120, 160, 210, 0.28);
--particle: rgba(121, 169, 255, 0.72);
--particle-line: 121, 169, 255;
--particle-mouse: rgba(200, 140, 255, 0.34);
--profile-photo: url("assets/img/foto-rahman-glass.png");
background:
radial-gradient(ellipse at 15% 15%, rgba(120, 239, 217, 0.52) 0%, transparent 38%),
radial-gradient(ellipse at 85% 8%,  rgba(200, 140, 255, 0.42) 0%, transparent 38%),
radial-gradient(ellipse at 78% 86%, rgba(121, 169, 255, 0.42) 0%, transparent 36%),
radial-gradient(ellipse at 38% 58%, rgba(240, 165, 214, 0.30) 0%, transparent 38%),
linear-gradient(150deg, #e8f5ff 0%, #ede8ff 42%, #fbeeff 72%, #f5fff8 100%);
}

body.glass-mode header {
background: rgba(255, 255, 255, 0.48);
border-bottom-color: rgba(106, 134, 167, 0.18);
box-shadow: 0 14px 36px rgba(63, 93, 125, 0.08);
backdrop-filter: blur(22px) saturate(1.25);
-webkit-backdrop-filter: blur(22px) saturate(1.25);
}

body.glass-mode .logo,
body.glass-mode .hero h1,
body.glass-mode .title h2,
body.glass-mode .card h3 {
color: #102033;
}

body.glass-mode .logo span,
body.glass-mode nav a:hover,
body.glass-mode .title span,
body.glass-mode .card i,
body.glass-mode .project-img i,
body.glass-mode .about-photo i {
color: #4e88ff;
}

body.glass-mode nav a,
body.glass-mode .hero h2,
body.glass-mode .hero p,
body.glass-mode .card p,
body.glass-mode .about-text p,
body.glass-mode .contact-box p {
color: #52677c;
}

body.glass-mode .hero h1 span {
background: linear-gradient(90deg, #4e88ff, #63dfd0, #f0a5d6);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.glass-mode .badge {
background: rgba(255, 255, 255, 0.36);
color: #2560d8;
border-color: rgba(120, 169, 255, 0.36);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.88),
0 4px 16px rgba(121, 169, 255, 0.18),
0 0 12px rgba(200, 140, 255, 0.12);
backdrop-filter: blur(20px) saturate(1.5);
-webkit-backdrop-filter: blur(20px) saturate(1.5);
}

body.glass-mode .btn {
color: #102033;
background: rgba(255, 255, 255, 0.34);
border-color: rgba(106, 134, 167, 0.24);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56);
backdrop-filter: blur(14px) saturate(1.18);
-webkit-backdrop-filter: blur(14px) saturate(1.18);
}

body.glass-mode .btn.primary {
color: #061525;
background: linear-gradient(135deg,
rgba(121, 169, 255, 0.96) 0%,
rgba(120, 239, 217, 0.92) 50%,
rgba(200, 180, 255, 0.78) 100%);
border-color: rgba(255, 255, 255, 0.60);
box-shadow:
0 16px 44px rgba(79, 133, 214, 0.32),
0 0 24px rgba(120, 239, 217, 0.28),
inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.glass-mode .btn:hover,
body.glass-mode .card:hover,
body.glass-mode .socials a:hover,
body.glass-mode .theme-toggle:hover {
box-shadow:
inset 0 1.5px 0 rgba(255, 255, 255, 0.96),
0 18px 52px rgba(90, 130, 200, 0.22),
0 0 36px rgba(120, 239, 217, 0.36),
0 0 20px rgba(200, 140, 255, 0.20);
}

body.glass-mode .hero-card,
body.glass-mode .card,
body.glass-mode .contact-box {
background: rgba(255, 255, 255, 0.22);
border-color: rgba(255, 255, 255, 0.76);
box-shadow:
inset 0 1.5px 0 rgba(255, 255, 255, 0.96),
inset 0 -1px 0 rgba(160, 200, 255, 0.18),
inset 1px 0 0 rgba(255, 255, 255, 0.40),
0 8px 32px rgba(80, 110, 170, 0.14),
0 28px 80px rgba(60, 80, 140, 0.12);
backdrop-filter: blur(34px) saturate(1.9) brightness(1.04);
-webkit-backdrop-filter: blur(34px) saturate(1.9) brightness(1.04);
}

body.glass-mode .hero-card::before {
border-color: rgba(255, 255, 255, 0.56);
box-shadow: inset 0 0 60px rgba(255, 255, 255, 0.28);
}

body.glass-mode .hero-card::after {
background: linear-gradient(
90deg,
transparent,
rgba(121, 169, 255, 0.32),
rgba(120, 239, 217, 0.42),
rgba(255, 255, 255, 0.62),
rgba(240, 165, 214, 0.32),
rgba(200, 180, 255, 0.28),
transparent
);
}

body.glass-mode .profile-frame {
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.94) 0%,
rgba(120, 239, 217, 0.76) 35%,
rgba(200, 140, 255, 0.62) 65%,
rgba(240, 165, 214, 0.70) 100%);
box-shadow:
0 16px 52px rgba(79, 133, 214, 0.30),
0 0 70px rgba(120, 239, 217, 0.30),
0 0 100px rgba(200, 140, 255, 0.18);
}

body.glass-mode .profile-frame::before {
border-color: rgba(255, 255, 255, 0.58);
box-shadow: 0 0 48px rgba(121, 169, 255, 0.26);
}

body.glass-mode .coin-face {
background: rgba(255, 255, 255, 0.42);
}

body.glass-mode .coin-front {
color: #4e88ff;
background: radial-gradient(circle, rgba(255, 255, 255, 0.82), rgba(121, 169, 255, 0.18) 72%);
}

body.glass-mode .coin-back {
filter: saturate(0.9) brightness(1.08) contrast(0.96);
}

body.glass-mode .project-img,
body.glass-mode .about-photo,
body.glass-mode .skill {
background: rgba(255, 255, 255, 0.24);
border-color: rgba(255, 255, 255, 0.68);
box-shadow:
inset 0 1.5px 0 rgba(255, 255, 255, 0.90),
0 4px 18px rgba(80, 120, 190, 0.12);
backdrop-filter: blur(24px) saturate(1.6);
-webkit-backdrop-filter: blur(24px) saturate(1.6);
}

body.glass-mode .project-img {
background:
linear-gradient(135deg, rgba(121, 169, 255, 0.22), rgba(240, 165, 214, 0.18)),
rgba(255, 255, 255, 0.30);
}

body.glass-mode .about-photo {
background:
linear-gradient(135deg, rgba(120, 239, 217, 0.22), rgba(121, 169, 255, 0.18)),
rgba(255, 255, 255, 0.30);
}

body.glass-mode .skill {
color: #1f4f90;
}

body.glass-mode .socials a,
body.glass-mode .theme-toggle {
color: #2560d8;
background: rgba(255, 255, 255, 0.32);
border-color: rgba(255, 255, 255, 0.72);
box-shadow:
inset 0 1.5px 0 rgba(255, 255, 255, 0.92),
0 4px 16px rgba(100, 140, 220, 0.16);
backdrop-filter: blur(20px) saturate(1.5);
-webkit-backdrop-filter: blur(20px) saturate(1.5);
}

body.glass-mode footer {
background: rgba(255, 255, 255, 0.26);
border-top-color: rgba(140, 180, 230, 0.28);
backdrop-filter: blur(24px) saturate(1.5);
-webkit-backdrop-filter: blur(24px) saturate(1.5);
}

body.glass-mode .blob {
background: radial-gradient(circle, rgba(100, 210, 255, 0.64) 0%, rgba(120, 239, 217, 0.34) 50%, transparent 72%);
filter: blur(56px);
}

body.glass-mode .blob.two {
background: radial-gradient(circle, rgba(200, 130, 255, 0.56) 0%, rgba(240, 165, 214, 0.32) 50%, transparent 72%);
}

/* =========================
   GLASS AURORA MODE
========================= */

body.glass-mode {
--bg: #eef8ff;
--card: rgba(255, 255, 255, 0.34);
--blue: #3478ff;
--cyan: #19c9d2;
--text: #07182b;
--muted: #455f76;
--border: rgba(255, 255, 255, 0.62);
--particle: rgba(44, 128, 255, 0.68);
--particle-line: 44, 128, 255;
--particle-mouse: rgba(23, 201, 210, 0.28);
--profile-photo: url("assets/img/rahman-abu2-bg-glasses.png");
--profile-photo-position: center top;
background:
linear-gradient(120deg, rgba(255, 255, 255, 0.96) 0%, rgba(221, 244, 255, 0.86) 26%, rgba(245, 239, 255, 0.88) 54%, rgba(231, 255, 249, 0.90) 100%),
linear-gradient(155deg, #eaf7ff 0%, #eff2ff 48%, #f7fbff 100%);
}

body.glass-mode::before {
content: "";
position: fixed;
inset: 0;
z-index: -2;
pointer-events: none;
background:
linear-gradient(115deg, transparent 0 16%, rgba(255, 255, 255, 0.36) 16% 16.8%, transparent 17% 34%, rgba(52, 120, 255, 0.11) 34% 34.8%, transparent 35%),
linear-gradient(90deg, rgba(255, 255, 255, 0.18) 1px, transparent 1px),
linear-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1px);
background-size: 100% 100%, 58px 58px, 58px 58px;
mask-image: linear-gradient(to bottom, black 0%, black 72%, transparent 100%);
}

body.glass-mode::after {
content: "";
position: fixed;
inset: 0;
z-index: -1;
pointer-events: none;
background:
linear-gradient(128deg, transparent 5%, rgba(52, 120, 255, 0.16) 18%, rgba(255, 255, 255, 0.30) 21%, transparent 34%),
linear-gradient(52deg, transparent 48%, rgba(25, 201, 210, 0.16) 57%, rgba(255, 255, 255, 0.26) 60%, transparent 72%),
linear-gradient(168deg, transparent 24%, rgba(208, 132, 255, 0.12) 42%, transparent 58%);
opacity: .95;
}

body.glass-mode header {
padding-top: 18px;
padding-bottom: 18px;
background: rgba(255, 255, 255, 0.58);
border-bottom-color: rgba(255, 255, 255, 0.78);
box-shadow:
0 22px 70px rgba(73, 100, 135, 0.12),
inset 0 -1px 0 rgba(120, 181, 255, 0.15);
backdrop-filter: blur(30px) saturate(1.65);
-webkit-backdrop-filter: blur(30px) saturate(1.65);
}

body.glass-mode .logo {
letter-spacing: .2px;
}

body.glass-mode nav a {
position: relative;
font-weight: 600;
color: #405a70;
}

body.glass-mode nav a::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: -8px;
height: 2px;
border-radius: 999px;
background: linear-gradient(90deg, #3478ff, #19c9d2);
opacity: 0;
transform: scaleX(.55);
transition: .25s ease;
}

body.glass-mode nav a:hover::after {
opacity: 1;
transform: scaleX(1);
}

body.glass-mode .hero {
min-height: 100vh;
grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
gap: 64px;
padding-top: 132px;
}

body.glass-mode .hero::before {
content: "";
position: absolute;
inset: 98px 5% 28px;
z-index: 0;
border-radius: 36px;
border: 1px solid rgba(255, 255, 255, 0.52);
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0.12)),
linear-gradient(120deg, rgba(52, 120, 255, 0.10), transparent 46%, rgba(25, 201, 210, 0.12));
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.86),
0 34px 110px rgba(67, 95, 128, 0.16);
backdrop-filter: blur(18px) saturate(1.35);
-webkit-backdrop-filter: blur(18px) saturate(1.35);
}

body.glass-mode .hero-text {
padding: 18px 0 18px 6px;
}

body.glass-mode .badge {
font-weight: 700;
letter-spacing: .5px;
color: #075f9d;
background: rgba(255, 255, 255, 0.54);
border-color: rgba(255, 255, 255, 0.82);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.95),
0 12px 34px rgba(51, 127, 210, 0.14);
}

body.glass-mode .badge i {
color: #19a9b5;
filter: drop-shadow(0 5px 12px rgba(25, 201, 210, 0.32));
}

body.glass-mode .hero h1 {
max-width: 760px;
font-size: clamp(44px, 5.8vw, 78px);
line-height: 1.04;
letter-spacing: 0;
}

body.glass-mode .hero h1 span {
background: linear-gradient(92deg, #0d2a4a 0%, #3478ff 44%, #19c9d2 72%, #9b66f5 100%);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.glass-mode .hero h2 {
display: inline-flex;
width: fit-content;
padding: 7px 14px;
border-radius: 999px;
color: #16456c;
background: rgba(255, 255, 255, 0.44);
border: 1px solid rgba(255, 255, 255, 0.72);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.glass-mode .hero p {
font-size: 16px;
color: #3f5b73;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.52);
}

body.glass-mode .terminal {
max-width: 560px;
border-radius: 18px;
color: #0f5c95;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.28)),
rgba(255, 255, 255, 0.34);
border: 1px solid rgba(255, 255, 255, 0.72);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.94),
0 16px 44px rgba(61, 104, 160, 0.12);
backdrop-filter: blur(24px) saturate(1.55);
-webkit-backdrop-filter: blur(24px) saturate(1.55);
}

body.glass-mode .btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 48px;
font-weight: 700;
color: #0b243c;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.34));
border-color: rgba(255, 255, 255, 0.78);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.96),
0 13px 36px rgba(70, 105, 150, 0.14);
}

body.glass-mode .btn.primary {
color: #ffffff;
background: linear-gradient(135deg, #1f6dff 0%, #19c9d2 58%, #8d6cf8 100%);
border-color: rgba(255, 255, 255, 0.72);
box-shadow:
0 20px 52px rgba(31, 109, 255, 0.27),
0 10px 30px rgba(25, 201, 210, 0.22),
inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

body.glass-mode .btn:hover,
body.glass-mode .card:hover,
body.glass-mode .socials a:hover,
body.glass-mode .theme-toggle:hover {
transform: translateY(-5px);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.98),
0 22px 62px rgba(47, 101, 170, 0.20),
0 0 34px rgba(25, 201, 210, 0.22);
}

body.glass-mode .hero-card {
min-height: 520px;
border-radius: 38px;
overflow: visible;
background:
linear-gradient(145deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0.16)),
rgba(255, 255, 255, 0.24);
border-color: rgba(255, 255, 255, 0.76);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.94),
inset 0 -1px 0 rgba(101, 157, 227, 0.12),
0 28px 90px rgba(47, 87, 128, 0.18);
backdrop-filter: blur(32px) saturate(1.65);
-webkit-backdrop-filter: blur(32px) saturate(1.65);
}

body.glass-mode .hero-card::before {
inset: -1px;
border-radius: inherit;
border-color: rgba(255, 255, 255, 0.78);
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.78), transparent 28%, rgba(25, 201, 210, 0.24) 58%, rgba(151, 104, 246, 0.22));
mask-image: linear-gradient(#000 0 0);
box-shadow:
inset 0 0 76px rgba(255, 255, 255, 0.24),
0 0 0 1px rgba(255, 255, 255, 0.20);
}

body.glass-mode .hero-card::after {
width: 70%;
height: 140%;
left: 7%;
top: -26%;
border-radius: 999px;
background: linear-gradient(92deg, transparent, rgba(255, 255, 255, 0.54), rgba(25, 201, 210, 0.18), transparent);
filter: blur(4px);
transform: rotate(22deg);
animation: glassPanelSweep 7s ease-in-out infinite;
}

body.glass-mode .profile-frame {
width: 318px;
height: 318px;
padding: 9px;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(25, 201, 210, 0.66) 38%, rgba(52, 120, 255, 0.70) 70%, rgba(154, 102, 245, 0.62));
box-shadow:
0 24px 76px rgba(31, 109, 255, 0.23),
0 0 64px rgba(25, 201, 210, 0.22),
inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

body.glass-mode .profile-frame::before {
inset: -28px;
border-width: 1px;
border-style: solid;
border-color: rgba(255, 255, 255, 0.70);
box-shadow:
0 0 52px rgba(52, 120, 255, 0.15),
inset 0 0 44px rgba(255, 255, 255, 0.20);
}

body.glass-mode .profile-frame::after {
content: "Glass Ops";
position: absolute;
right: -92px;
bottom: 32px;
z-index: 4;
padding: 12px 16px;
border-radius: 999px;
font-size: 12px;
font-weight: 800;
letter-spacing: .9px;
text-transform: uppercase;
color: #095179;
background: rgba(255, 255, 255, 0.58);
border: 1px solid rgba(255, 255, 255, 0.82);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.95),
0 18px 42px rgba(56, 104, 158, 0.16);
backdrop-filter: blur(18px) saturate(1.45);
-webkit-backdrop-filter: blur(18px) saturate(1.45);
}

body.glass-mode .coin-face {
background: rgba(255, 255, 255, 0.46);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.70);
}

body.glass-mode .coin-back {
filter: saturate(1.04) brightness(1.05) contrast(1.02);
}

body.glass-mode .card,
body.glass-mode .contact-box,
body.glass-mode .tools-source {
position: relative;
overflow: hidden;
border-radius: 26px;
background:
linear-gradient(145deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.28)),
rgba(255, 255, 255, 0.30);
border-color: rgba(255, 255, 255, 0.76);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.94),
0 18px 54px rgba(57, 92, 132, 0.13);
backdrop-filter: blur(26px) saturate(1.55);
-webkit-backdrop-filter: blur(26px) saturate(1.55);
}

body.glass-mode .card::before,
body.glass-mode .contact-box::before,
body.glass-mode .tools-source::before {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.64), transparent 34%, rgba(25, 201, 210, 0.13) 74%, transparent);
pointer-events: none;
}

body.glass-mode .card > *,
body.glass-mode .contact-box > *,
body.glass-mode .tools-source > * {
position: relative;
z-index: 1;
}

body.glass-mode .card:hover {
border-color: rgba(52, 120, 255, 0.36);
}

body.glass-mode .card i,
body.glass-mode .project-img i,
body.glass-mode .about-photo i,
body.glass-mode .tools-source i,
body.glass-mode .tools-source a {
color: #1f6dff;
}

body.glass-mode .card h3,
body.glass-mode .title h2 {
color: #0b243c;
}

body.glass-mode .card p,
body.glass-mode .about-text p,
body.glass-mode .contact-box p,
body.glass-mode .tools-intro,
body.glass-mode .tools-source {
color: #456078;
}

body.glass-mode .title span {
display: inline-flex;
padding: 7px 13px;
border-radius: 999px;
letter-spacing: 1.5px;
color: #0b6b9b;
background: rgba(255, 255, 255, 0.48);
border: 1px solid rgba(255, 255, 255, 0.72);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.glass-mode .about-photo,
body.glass-mode .project-img,
body.glass-mode .skill,
body.glass-mode .tool-tags span {
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.22)),
linear-gradient(135deg, rgba(52, 120, 255, 0.13), rgba(25, 201, 210, 0.13));
border-color: rgba(255, 255, 255, 0.78);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.90),
0 12px 32px rgba(57, 102, 154, 0.11);
backdrop-filter: blur(22px) saturate(1.45);
-webkit-backdrop-filter: blur(22px) saturate(1.45);
}

body.glass-mode .about-photo {
font-size: 96px;
}

body.glass-mode .skill,
body.glass-mode .tool-tags span {
color: #103b62;
font-weight: 700;
}

body.glass-mode .socials a,
body.glass-mode .theme-toggle {
color: #1f6dff;
background: rgba(255, 255, 255, 0.50);
border-color: rgba(255, 255, 255, 0.80);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.94),
0 12px 30px rgba(58, 103, 161, 0.12);
backdrop-filter: blur(20px) saturate(1.4);
-webkit-backdrop-filter: blur(20px) saturate(1.4);
}

body.glass-mode footer {
background: rgba(255, 255, 255, 0.44);
border-top-color: rgba(255, 255, 255, 0.72);
color: #536a80;
backdrop-filter: blur(24px) saturate(1.45);
-webkit-backdrop-filter: blur(24px) saturate(1.45);
}

body.glass-mode .blob {
opacity: .62;
filter: blur(78px);
}

@keyframes glassPanelSweep {
0%, 100% {
opacity: .15;
transform: translateX(-22%) rotate(22deg);
}
48%, 58% {
opacity: .9;
transform: translateX(70%) rotate(22deg);
}
}

@media (max-width: 900px) {
body.glass-mode .hero {
grid-template-columns: 1fr;
gap: 34px;
padding-top: 116px;
}

body.glass-mode .hero::before {
inset: 92px 4% 20px;
border-radius: 30px;
}

body.glass-mode .hero-card {
min-height: 390px;
}

body.glass-mode .profile-frame {
width: 250px;
height: 250px;
}

body.glass-mode .profile-frame::after {
right: 50%;
bottom: -42px;
transform: translateX(50%);
}
}

@media (max-width: 768px) {
body.glass-mode header {
padding: 14px 5%;
}

body.glass-mode .logo {
max-width: calc(100vw - 188px);
font-size: 16px;
}

body.glass-mode .hero {
padding-top: 104px;
}

body.glass-mode .hero-text {
padding: 0;
}

body.glass-mode .hero h1 {
font-size: clamp(34px, 10vw, 48px);
}

body.glass-mode .hero h2 {
font-size: 19px;
}

body.glass-mode .buttons {
gap: 10px;
}

body.glass-mode .btn {
width: 100%;
padding: 12px 16px;
}

body.glass-mode .card,
body.glass-mode .contact-box {
padding: 22px;
}

body.glass-mode .about-photo {
height: 250px;
font-size: 72px;
}
}

@media (max-width: 420px) {
body.glass-mode .logo {
max-width: calc(100vw - 132px);
font-size: 14px;
}

body.glass-mode .hero-card {
min-height: 330px;
}

body.glass-mode .profile-frame {
width: 210px;
height: 210px;
}
}

body.sunset-mode {
--bg: #26113d;
--card: rgba(255, 221, 184, 0.12);
--blue: #ff7a45;
--cyan: #ffd36a;
--text: #fff8ef;
--muted: #f4d2bd;
--border: rgba(255, 211, 106, 0.24);
--particle: rgba(255, 214, 135, 0.86);
--particle-line: 255, 177, 109;
--particle-mouse: rgba(255, 229, 171, 0.36);
--profile-photo: url("assets/img/foto-rahman-sunset-display.webp");
--profile-photo-position: center center;
}

body.sunset-mode {
background:
radial-gradient(circle at 90% 8%, rgba(255, 211, 106, 0.14), transparent 28%),
radial-gradient(circle at 12% 76%, rgba(255, 122, 69, 0.12), transparent 30%),
linear-gradient(
180deg,
#1c1232 0%,
#28163c 42%,
#351a38 100%
);
}

body.sunset-mode .hero::before {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(90deg, rgba(28, 18, 50, 0.88), rgba(28, 18, 50, 0.58) 36%, rgba(28, 18, 50, 0.16) 68%),
linear-gradient(180deg, rgba(28, 18, 50, 0.18), rgba(28, 18, 50, 0.84)),
var(--sunset-hero-image);
background-size: cover;
background-position: center right;
z-index: 0;
}

body.sunset-mode header {
background: rgba(38, 17, 61, 0.68);
border-bottom-color: rgba(255, 211, 106, 0.22);
}

body.sunset-mode .logo {
color: #fff7ed;
}

body.sunset-mode nav a {
color: #f4d2bd;
}

body.sunset-mode nav a:hover {
color: #ffe5ab;
}

body.sunset-mode .hero h1 span {
background: linear-gradient(90deg, #ff7a45, #ffd36a, #ffe5ab);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.sunset-mode .badge {
background: rgba(255, 229, 171, 0.12);
color: #ffe5ab;
border-color: rgba(255, 211, 106, 0.28);
}

body.sunset-mode .btn {
color: #fff7ed;
background: rgba(255, 221, 184, 0.10);
border-color: rgba(255, 211, 106, 0.24);
}

body.sunset-mode .btn.primary {
color: #301409;
background: linear-gradient(135deg, #ff7a45, #ffd36a);
box-shadow: 0 0 28px rgba(255, 142, 88, 0.34);
}

body.sunset-mode .hero-card,
body.sunset-mode .contact-box {
background: rgba(48, 24, 56, 0.28);
border-color: rgba(255, 211, 106, 0.28);
box-shadow:
inset 0 0 35px rgba(255, 229, 171, 0.055),
0 18px 45px rgba(54, 20, 49, 0.20);
}

body.sunset-mode .hero-card::before {
border-color: rgba(255, 211, 106, 0.20);
}

body.sunset-mode .hero-card::after {
background: linear-gradient(
90deg,
transparent,
rgba(255, 229, 171, 0.18),
transparent
);
}

body.sunset-mode .profile-frame {
background: linear-gradient(135deg, #ff7a45, #ffd36a, #ffb8a0);
box-shadow:
0 0 20px rgba(255, 211, 106, 0.50),
0 0 52px rgba(255, 122, 69, 0.24);
}

body.sunset-mode .profile-frame::before {
border-color: rgba(255, 229, 171, 0.30);
}

body.sunset-mode .profile-frame::after {
border-color: rgba(255, 122, 69, 0.18);
}

body.sunset-mode .coin-face {
background: #26113d;
}

body.sunset-mode .coin-front {
color: #ffd36a;
background: radial-gradient(circle, #6f2f4e, #26113d 72%);
}

body.sunset-mode .card {
background: rgba(48, 24, 56, 0.30);
border-color: rgba(255, 211, 106, 0.22);
}

body.sunset-mode .card:hover {
border-color: rgba(255, 229, 171, 0.46);
box-shadow: 0 0 32px rgba(255, 122, 69, 0.18);
}

body.sunset-mode .card i,
body.sunset-mode .title span,
body.sunset-mode .project-img i {
color: #ffd36a;
}

body.sunset-mode .project-img {
background: linear-gradient(135deg, rgba(255, 122, 69, 0.36), rgba(255, 211, 106, 0.18), rgba(91, 45, 114, 0.20));
border: 1px solid rgba(255, 211, 106, 0.22);
}

body.sunset-mode .about-photo {
background: linear-gradient(
135deg,
rgba(255, 122, 69, 0.56),
rgba(255, 211, 106, 0.46),
rgba(213, 95, 114, 0.36)
);
border: 1px solid rgba(255, 211, 106, 0.26);
box-shadow:
0 14px 35px rgba(213, 95, 114, 0.18),
inset 0 0 40px rgba(255, 229, 171, 0.22);
}

body.sunset-mode .about-photo i {
color: #ffe5ab;
}

body.sunset-mode .about-photo:hover {
border-color: rgba(255, 229, 171, 0.46);
box-shadow:
0 18px 45px rgba(255, 122, 69, 0.24),
inset 0 0 45px rgba(255, 229, 171, 0.30);
}

body.sunset-mode .skill {
background: rgba(255, 221, 184, 0.14);
border: 1px solid rgba(255, 211, 106, 0.26);
color: #fff1dc;
}

body.sunset-mode .socials a,
body.sunset-mode .theme-toggle {
color: #ffe5ab;
background: rgba(255, 221, 184, 0.10);
border-color: rgba(255, 211, 106, 0.24);
}

body.sunset-mode footer {
background: rgba(38, 17, 61, 0.42);
}    

body.sunset-mode .blob.one {
background: radial-gradient(
circle,
rgba(255, 211, 106, 0.42),
rgba(255, 122, 69, 0.24),
transparent 70%
);
filter: blur(82px);
}

body.sunset-mode .blob.two {
background: radial-gradient(
circle,
rgba(213, 95, 114, 0.30),
rgba(91, 45, 114, 0.18),
transparent 70%
);
filter: blur(88px);
}

body.sunset-mode .blob.three {
top: -150px;
left: 20%;
width: 500px;
height: 500px;

background: radial-gradient(
circle,
rgba(91, 45, 114, 0.30),
rgba(255, 184, 160, 0.16),
transparent 70%
);

filter: blur(90px);
animation: blobMove 14s infinite alternate ease-in-out;
}    

body.winter-mode {
--bg: #071827;
--card: rgba(220, 245, 255, 0.09);
--blue: #7dd3fc;
--cyan: #e0f7ff;
--text: #f8fdff;
--muted: #bfd7e8;
--border: rgba(224, 247, 255, 0.18);

/* --particle: rgba(180, 235, 255, 0.95);
--particle-line: 180, 235, 255;
--particle-mouse: rgba(224, 247, 255, 0.42); */
--particle: rgba(245, 253, 255, 0.95); /* salju putih */
--particle-line: 245, 253, 255;
--particle-mouse: rgba(224, 247, 255, 0.42);
--profile-photo: url("assets/img/foto-rahman-winter-display.webp");
--profile-photo-position: center center;
}

body.winter-mode {
background:
radial-gradient(circle at top right, rgba(125, 211, 252, 0.22), transparent 34%),
radial-gradient(circle at bottom left, rgba(224, 247, 255, 0.13), transparent 32%),
linear-gradient(135deg, #06111f, #0d2538 55%, #102f45);
}

body.winter-mode header {
background: rgba(7, 24, 39, 0.72);
border-bottom-color: rgba(224, 247, 255, 0.16);
}

body.winter-mode .logo {
color: #f8fdff;
}

body.winter-mode nav a {
color: #bfd7e8;
}

body.winter-mode nav a:hover {
color: #e0f7ff;
}

body.winter-mode .hero h1 span {
background: linear-gradient(90deg, #7dd3fc, #e0f7ff);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.winter-mode .badge {
background: rgba(224, 247, 255, 0.08);
color: #e0f7ff;
border-color: rgba(224, 247, 255, 0.22);
}

body.winter-mode .btn {
color: #f8fdff;
background: rgba(224, 247, 255, 0.06);
border-color: rgba(224, 247, 255, 0.18);
}

body.winter-mode .btn.primary {
color: #06111f;
background: linear-gradient(135deg, #7dd3fc, #e0f7ff);
box-shadow: 0 0 25px rgba(125, 211, 252, 0.35);
}

body.winter-mode .hero-card,
body.winter-mode .contact-box {
background: rgba(224, 247, 255, 0.045);
border-color: rgba(224, 247, 255, 0.20);
box-shadow:
inset 0 0 35px rgba(224, 247, 255, 0.035),
0 0 35px rgba(125, 211, 252, 0.14);
}

body.winter-mode .hero-card::before {
border-color: rgba(224, 247, 255, 0.16);
}

body.winter-mode .hero-card::after {
background: linear-gradient(
90deg,
transparent,
rgba(224, 247, 255, 0.13),
transparent
);
}

body.winter-mode .profile-frame {
background: linear-gradient(135deg, #7dd3fc, #e0f7ff);
box-shadow:
0 0 18px rgba(224, 247, 255, 0.5),
0 0 45px rgba(125, 211, 252, 0.28);
}

body.winter-mode .profile-frame::before {
border-color: rgba(224, 247, 255, 0.26);
}

body.winter-mode .profile-frame::after {
border-color: rgba(125, 211, 252, 0.18);
}

body.winter-mode .coin-face {
background: #071827;
}

body.winter-mode .coin-front {
color: #e0f7ff;
background: radial-gradient(circle, #16364d, #071827 72%);
}

body.winter-mode .card {
background: rgba(224, 247, 255, 0.075);
border-color: rgba(224, 247, 255, 0.16);
}

body.winter-mode .card:hover {
border-color: rgba(224, 247, 255, 0.42);
box-shadow: 0 0 30px rgba(125, 211, 252, 0.16);
}

body.winter-mode .card i,
body.winter-mode .title span,
body.winter-mode .project-img i {
color: #e0f7ff;
}

body.winter-mode .project-img {
background: linear-gradient(135deg, rgba(125, 211, 252, 0.38), rgba(224, 247, 255, 0.10));
border: 1px solid rgba(224, 247, 255, 0.18);
}

body.winter-mode .skill {
background: rgba(224, 247, 255, 0.10);
border: 1px solid rgba(224, 247, 255, 0.22);
color: #f8fdff;
}

body.winter-mode .socials a,
body.winter-mode .theme-toggle {
color: #e0f7ff;
background: rgba(224, 247, 255, 0.08);
border-color: rgba(224, 247, 255, 0.18);
}

body.winter-mode footer {
background: rgba(7, 24, 39, 0.45);
}    

/* =========================
   WINTER FROST EFFECTS
========================= */

body.winter-mode header {
box-shadow:
0 18px 52px rgba(0, 0, 0, 0.22),
inset 0 -1px 0 rgba(224, 247, 255, 0.12);
backdrop-filter: blur(18px) saturate(1.15);
-webkit-backdrop-filter: blur(18px) saturate(1.15);
}

body.winter-mode .hero h1,
body.winter-mode .title h2,
body.winter-mode .card h3 {
text-shadow:
0 1px 0 rgba(255, 255, 255, 0.32),
0 0 18px rgba(125, 211, 252, 0.22),
0 0 38px rgba(224, 247, 255, 0.10);
}

body.winter-mode .hero h1 span,
body.winter-mode .title h2 {
background: linear-gradient(180deg, #ffffff 0%, #dff8ff 28%, #7dd3fc 68%, #e8fbff 100%);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
filter: drop-shadow(0 0 14px rgba(125, 211, 252, 0.22));
}

body.winter-mode .title span,
body.winter-mode .badge {
position: relative;
overflow: hidden;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.22),
0 0 22px rgba(125, 211, 252, 0.10);
}

body.winter-mode .title span::after,
body.winter-mode .badge::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(105deg, transparent 0 34%, rgba(255, 255, 255, 0.28) 45%, transparent 56% 100%);
transform: translateX(-120%);
animation: winterIceGlint 4.8s ease-in-out infinite;
pointer-events: none;
}

body.winter-mode .hero-card,
body.winter-mode .card,
body.winter-mode .contact-box,
body.winter-mode .tools-source {
position: relative;
overflow: hidden;
background:
linear-gradient(145deg, rgba(224, 247, 255, 0.12), rgba(125, 211, 252, 0.045)),
rgba(7, 24, 39, 0.38);
border-color: rgba(224, 247, 255, 0.24);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.18),
inset 0 -24px 48px rgba(125, 211, 252, 0.035),
0 22px 70px rgba(0, 0, 0, 0.18),
0 0 34px rgba(125, 211, 252, 0.10);
backdrop-filter: blur(18px) saturate(1.18);
-webkit-backdrop-filter: blur(18px) saturate(1.18);
}

body.winter-mode .hero-card::before,
body.winter-mode .card::before,
body.winter-mode .contact-box::before,
body.winter-mode .tools-source::before {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
background:
radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.32), transparent 18%),
linear-gradient(130deg, rgba(255, 255, 255, 0.20), transparent 22% 56%, rgba(125, 211, 252, 0.12)),
repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.075) 0 1px, transparent 1px 18px),
repeating-linear-gradient(25deg, rgba(224, 247, 255, 0.055) 0 1px, transparent 1px 24px);
opacity: .72;
pointer-events: none;
}

body.winter-mode .card::after,
body.winter-mode .contact-box::after {
content: "";
position: absolute;
left: -4px;
right: -4px;
top: -17px;
height: 82px;
z-index: 2;
border: 0;
border-radius: 26px 26px 0 0;
background-image: var(--winter-snow-cap, url("assets/img/winter/snow-cap-soft.svg"));
background-repeat: no-repeat;
background-position: top center;
background-size: 100% 100%;
filter:
drop-shadow(0 12px 12px rgba(2, 10, 18, 0.14))
drop-shadow(0 0 12px rgba(224, 247, 255, 0.18));
opacity: .98;
pointer-events: none;
}

body.winter-mode .card > *,
body.winter-mode .contact-box > *,
body.winter-mode .tools-source > * {
position: relative;
z-index: 3;
}

body.winter-mode .card,
body.winter-mode .contact-box {
padding-top: 58px;
}

body.winter-mode .tool-card {
padding-top: 62px;
}

body.winter-mode .card:nth-child(2n),
body.winter-mode .tool-card:nth-child(2n) {
--winter-snow-cap: url("assets/img/winter/snow-cap-ridge.svg");
}

body.winter-mode .card:nth-child(3n),
body.winter-mode .tool-card:nth-child(3n) {
--winter-snow-cap: url("assets/img/winter/snow-cap-soft.svg");
}

body.winter-mode .card:hover,
body.winter-mode .contact-box:hover,
body.winter-mode .tools-source:hover {
border-color: rgba(224, 247, 255, 0.52);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.28),
inset 0 -28px 56px rgba(125, 211, 252, 0.055),
0 26px 78px rgba(0, 0, 0, 0.20),
0 0 46px rgba(125, 211, 252, 0.20);
}

body.winter-mode .project-img,
body.winter-mode .about-photo,
body.winter-mode .skill,
body.winter-mode .tool-tags span {
position: relative;
overflow: hidden;
background:
linear-gradient(145deg, rgba(224, 247, 255, 0.16), rgba(125, 211, 252, 0.07)),
rgba(7, 24, 39, 0.30);
border-color: rgba(224, 247, 255, 0.28);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.18),
0 12px 30px rgba(0, 0, 0, 0.12);
}

body.winter-mode .project-img::after,
body.winter-mode .about-photo::after,
body.winter-mode .skill::after,
body.winter-mode .tool-tags span::after {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 34%),
repeating-linear-gradient(100deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 14px);
opacity: .56;
pointer-events: none;
}

body.winter-mode .btn {
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.16),
0 12px 28px rgba(0, 0, 0, 0.12);
}

body.winter-mode .btn:hover,
body.winter-mode .socials a:hover,
body.winter-mode .theme-toggle:hover {
border-color: rgba(224, 247, 255, 0.46);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.24),
0 0 30px rgba(125, 211, 252, 0.22);
}

@keyframes winterIceGlint {
0%, 72%, 100% {
transform: translateX(-120%);
opacity: 0;
}
82% {
opacity: 1;
}
96% {
transform: translateX(120%);
opacity: 0;
}
}

body.sakura-mode {
--bg: #fff7fb;
--card: rgba(255, 255, 255, 0.82);
--blue: #ff4fa3;
--cyan: #ff9fc8;
--text: #172033;
--muted: #5f6f85;
--border: rgba(255, 105, 180, 0.20);

--particle: rgba(255, 120, 170, 0.95);
--particle-line: 255, 120, 170;
--particle-mouse: rgba(255, 120, 170, 0.35);
--profile-photo: url("assets/img/foto-rahman-sakura-display.webp");
}

/* body.sakura-mode {
background:
radial-gradient(circle at top left, rgba(255, 210, 230, 0.75), transparent 24%),
radial-gradient(circle at top right, rgba(255, 232, 242, 0.9), transparent 28%),
radial-gradient(circle at bottom left, rgba(255, 192, 215, 0.55), transparent 26%),
linear-gradient(135deg, #fff9fc, #fff2f8 55%, #ffe8f1);
} */

body.sakura-mode {
  background: var(--sakura-wallpaper-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: relative;
}

/* overlay lembut biar text kebaca */
body.sakura-mode::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(255, 247, 251, 0.45); /* adjust di sini */
  z-index: -1;
}

body.sakura-mode header {
background: rgba(255, 250, 253, 0.78);
border-bottom: 1px solid rgba(255, 105, 180, 0.25);
}

body.sakura-mode .logo {
color: #172033;
}

body.sakura-mode .logo::before {
content: "\1F338\00a0";
}

body.sakura-mode nav a {
color: #526277;
}

body.sakura-mode nav a:hover {
color: #ff4fa3;
}

body.sakura-mode .hero h1,
body.sakura-mode .title h2,
body.sakura-mode .card h3 {
color: #172033;
}

body.sakura-mode .hero h1 span {
background: linear-gradient(90deg, #ff4fa3, #ff8ec3);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.sakura-mode .hero h2,
body.sakura-mode .hero p,
body.sakura-mode .card p,
body.sakura-mode .about-text p,
body.sakura-mode .contact-box p {
color: #5f6f85;
}

body.sakura-mode .badge {
background: rgba(255, 105, 180, 0.10);
color: #ff4fa3;
border-color: rgba(255, 105, 180, 0.25);
}

body.sakura-mode .badge::before {
content: "\1F338";
}

body.sakura-mode .btn {
color: #ff4fa3;
background: rgba(255, 255, 255, 0.75);
border-color: rgba(255, 105, 180, 0.25);
}

body.sakura-mode .btn.primary {
color: #ffffff;
background: linear-gradient(135deg, #ff4fa3, #ff8ec3);
box-shadow: 0 12px 30px rgba(255, 79, 163, 0.25);
}

body.sakura-mode .card,
body.sakura-mode .contact-box {
background: rgba(255, 255, 255, 0.78);
border-color: rgba(255, 105, 180, 0.18);
box-shadow:
0 14px 35px rgba(255, 105, 180, 0.10),
0 4px 12px rgba(255, 105, 180, 0.06);
}

body.sakura-mode .hero-card {
  box-shadow:
    0 14px 35px rgba(255, 105, 180, 0.10),
    0 4px 12px rgba(255, 105, 180, 0.06);
}

body.sakura-mode .hero-card::before {
border-color: rgba(255, 105, 180, 0.16);
}

body.sakura-mode .hero-card::after {
background: linear-gradient(
90deg,
transparent,
rgba(255, 105, 180, 0.12),
transparent
);
}

body.sakura-mode .profile-frame {
  background: linear-gradient(135deg, #ff4fa3, #ffd1dc);
  box-shadow:
    0 0 20px rgba(255, 120, 180, 0.35),
    0 0 55px rgba(255, 105, 180, 0.22);
  animation: float 4s ease-in-out infinite;
}

body.sakura-mode .profile-frame::before {
  border-color: rgba(255, 120, 180, 0.35);
  box-shadow: 0 0 35px rgba(255, 120, 180, 0.22);
}

body.sakura-mode .profile-frame::after {
  display: none;
}

body.sakura-mode .profile-frame .outer-ring {
  border: 1px solid rgba(255, 180, 210, 0.25);
}

body.sakura-mode .coin-face {
background: #fff7fb;
}

body.sakura-mode .coin-front {
color: #ff4fa3;
background: radial-gradient(circle, #ffe1ec, #fff7fb 72%);
}

body.sakura-mode .title span,
body.sakura-mode .card i,
body.sakura-mode .project-img i {
color: #ff4fa3;
}

body.sakura-mode .project-img {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.22), rgba(255, 255, 255, 0.72));
border: 1px solid rgba(255, 105, 180, 0.18);
}

body.sakura-mode .about-photo {
background: linear-gradient(
135deg,
rgba(255, 210, 230, 0.55),
rgba(255, 255, 255, 0.78)
);
border: 1px solid rgba(255, 105, 180, 0.20);
box-shadow:
0 14px 35px rgba(255, 105, 180, 0.10),
inset 0 0 40px rgba(255, 255, 255, 0.35);
}

body.sakura-mode .about-photo i {
color: #ff4fa3;
}

body.sakura-mode .about-photo:hover {
border-color: rgba(255, 105, 180, 0.35);
box-shadow:
0 18px 45px rgba(255, 105, 180, 0.16),
inset 0 0 45px rgba(255, 255, 255, 0.45);
}    

body.sakura-mode .skill {
background: rgba(255, 105, 180, 0.10);
border: 1px solid rgba(255, 105, 180, 0.22);
color: #8a2558;
}

body.sakura-mode .socials a,
body.sakura-mode .theme-toggle {
color: #ff4fa3;
background: rgba(255, 255, 255, 0.75);
border-color: rgba(255, 105, 180, 0.25);
}

body.sakura-mode footer {
background: rgba(255, 255, 255, 0.55);
color: #5f6f85;
}

body.sakura-mode .blob {
background: radial-gradient(
circle,
rgba(255, 120, 170, 0.28),
transparent 70%
);
filter: blur(80px);
}

body.sakura-mode .blob.two {
background: radial-gradient(
circle,
rgba(255, 190, 210, 0.22),
transparent 70%
);
}

/* =========================
   EGYPT MODE
========================= */

body.egypt-mode {
--bg: #140f0a;
--card: rgba(92, 58, 24, 0.28);
--blue: #d6a23a;
--cyan: #1fc7b6;
--text: #fff5dc;
--muted: #d6c19a;
--border: rgba(214, 162, 58, 0.28);
--particle: rgba(214, 162, 58, 0.9);
--particle-line: 214, 162, 58;
--particle-mouse: rgba(31, 199, 182, 0.32);
--profile-photo: url("assets/img/foto-rahman-egypt-display.webp");
background:
radial-gradient(circle at top right, rgba(214, 162, 58, 0.20), transparent 34%),
radial-gradient(circle at bottom left, rgba(31, 199, 182, 0.10), transparent 30%),
linear-gradient(135deg, #120b07, #2a190a 55%, #513111);
}

body.egypt-mode header {
background: rgba(20, 15, 10, 0.72);
border-bottom-color: rgba(214, 162, 58, 0.22);
}

body.egypt-mode .logo {
color: #fff5dc;
}

body.egypt-mode .logo::before {
content: "\13080\00a0";
color: #d6a23a;
}

body.egypt-mode nav a {
color: #d6c19a;
}

body.egypt-mode nav a:hover,
body.egypt-mode .title span,
body.egypt-mode .card i,
body.egypt-mode .project-img i {
color: #f0bd4f;
}

body.egypt-mode .hero::before {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(90deg, rgba(20, 15, 10, 0.92), rgba(20, 15, 10, 0.55) 42%, rgba(20, 15, 10, 0.18)),
linear-gradient(180deg, rgba(20, 15, 10, 0.18), rgba(20, 15, 10, 0.90)),
var(--egypt-hero-image);
background-size: cover;
background-position: center;
z-index: 0;
}

body.egypt-mode .hero {
direction: ltr;
}

body.egypt-mode .hero-text,
body.egypt-mode .egypt-panel,
body.egypt-mode .about-text,
body.egypt-mode .card,
body.egypt-mode .contact-box {
direction: rtl;
text-align: right;
}

body.egypt-mode .buttons,
body.egypt-mode .egypt-symbols {
justify-content: flex-start;
}

body.egypt-mode .hero h1,
body.egypt-mode .title h2,
body.egypt-mode .card h3 {
color: #fff5dc;
}

body.egypt-mode .hero h1 span {
background: linear-gradient(90deg, #f0bd4f, #1fc7b6);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.egypt-mode .hero h2,
body.egypt-mode .hero p,
body.egypt-mode .card p,
body.egypt-mode .about-text p,
body.egypt-mode .contact-box p {
color: #d6c19a;
}

body.egypt-mode .badge {
background: rgba(214, 162, 58, 0.12);
color: #f0bd4f;
border-color: rgba(214, 162, 58, 0.32);
}

body.egypt-mode .badge i {
color: #1fc7b6;
}

body.egypt-mode .btn {
color: #fff5dc;
background: rgba(214, 162, 58, 0.08);
border-color: rgba(214, 162, 58, 0.28);
}

body.egypt-mode .btn.primary {
color: #1b1006;
background: linear-gradient(135deg, #f0bd4f, #1fc7b6);
box-shadow: 0 0 26px rgba(214, 162, 58, 0.28);
}

body.egypt-mode .hero-card,
body.egypt-mode .card,
body.egypt-mode .contact-box {
background: linear-gradient(145deg, rgba(82, 49, 17, 0.58), rgba(28, 18, 10, 0.64));
border-color: rgba(214, 162, 58, 0.28);
box-shadow:
inset 0 0 30px rgba(240, 189, 79, 0.05),
0 18px 42px rgba(0, 0, 0, 0.20);
}

body.egypt-mode .hero-card::before {
border-color: rgba(214, 162, 58, 0.20);
}

body.egypt-mode .hero-card::after {
background: linear-gradient(
90deg,
transparent,
rgba(240, 189, 79, 0.14),
transparent
);
}

body.egypt-mode .profile-frame {
background: linear-gradient(135deg, #f0bd4f, #1fc7b6);
box-shadow:
0 0 22px rgba(240, 189, 79, 0.48),
0 0 56px rgba(31, 199, 182, 0.18);
}

body.egypt-mode .profile-frame::before {
border-color: rgba(240, 189, 79, 0.34);
box-shadow: 0 0 34px rgba(240, 189, 79, 0.18);
}

body.egypt-mode .coin-front {
color: #f0bd4f;
background: radial-gradient(circle, #4b2d10, #140f0a 72%);
}

body.egypt-mode .project-img,
body.egypt-mode .about-photo {
background:
linear-gradient(135deg, rgba(240, 189, 79, 0.26), rgba(31, 199, 182, 0.09)),
linear-gradient(45deg, rgba(255,255,255,0.04) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.04) 50%, rgba(255,255,255,0.04) 75%, transparent 75%);
background-size: auto, 24px 24px;
border-color: rgba(214, 162, 58, 0.24);
}

body.egypt-mode .blob.one {
background: radial-gradient(circle, rgba(240, 189, 79, 0.32), rgba(214, 162, 58, 0.16), transparent 70%);
filter: blur(78px);
}

body.egypt-mode .blob.two {
background: radial-gradient(circle, rgba(31, 199, 182, 0.18), rgba(214, 162, 58, 0.12), transparent 70%);
filter: blur(86px);
}

body.egypt-mode .skill {
background: rgba(214, 162, 58, 0.12);
border-color: rgba(214, 162, 58, 0.28);
color: #ffe6a7;
}

body.egypt-mode .socials a,
body.egypt-mode .theme-toggle {
color: #f0bd4f;
background: rgba(214, 162, 58, 0.08);
border-color: rgba(214, 162, 58, 0.26);
}

body.egypt-mode .egypt-showcase {
display: block;
padding-top: 80px;
padding-bottom: 80px;
background:
linear-gradient(180deg, rgba(20, 15, 10, 0.95), rgba(49, 29, 10, 0.92)),
repeating-linear-gradient(90deg, rgba(240, 189, 79, 0.09) 0 1px, transparent 1px 28px);
}

.egypt-panel {
max-width: 960px;
margin: 0 auto;
padding: 36px;
border: 1px solid rgba(214, 162, 58, 0.28);
border-radius: 24px;
background: rgba(20, 15, 10, 0.52);
box-shadow: 0 22px 48px rgba(0, 0, 0, 0.22);
}

.egypt-kicker {
display: inline-block;
margin-bottom: 12px;
color: #1fc7b6;
font-size: 13px;
font-weight: 800;
letter-spacing: 2px;
text-transform: uppercase;
}

.egypt-panel h2 {
font-size: clamp(30px, 4vw, 48px);
line-height: 1.1;
margin-bottom: 14px;
color: #fff5dc;
}

.egypt-panel p {
max-width: 700px;
color: #d6c19a;
line-height: 1.8;
}

.egypt-symbols {
display: flex;
gap: 14px;
margin-top: 24px;
}

.egypt-symbols span {
width: 46px;
height: 46px;
display: grid;
place-items: center;
border-radius: 50%;
color: #1fc7b6;
background: rgba(240, 189, 79, 0.10);
border: 1px solid rgba(214, 162, 58, 0.26);
}

body.egypt-mode footer {
background: rgba(20, 15, 10, 0.58);
border-top-color: rgba(214, 162, 58, 0.22);
}

@media (max-width: 900px) {
header {
padding: 18px 5%;
}

body.egypt-mode .hero::before {
background:
linear-gradient(180deg, rgba(20, 15, 10, 0.78), rgba(20, 15, 10, 0.88)),
var(--egypt-hero-image);
background-size: cover;
background-position: 62% center;
}

body.sunset-mode .hero::before {
background:
linear-gradient(180deg, rgba(28, 18, 50, 0.76), rgba(28, 18, 50, 0.48) 42%, rgba(28, 18, 50, 0.92)),
var(--sunset-hero-image);
background-size: cover;
background-position: 72% center;
}

body.egypt-mode .egypt-showcase {
padding-top: 56px;
padding-bottom: 56px;
}

.egypt-panel {
padding: 26px 22px;
}

nav {
display: none;
}

section {
padding: 80px 5%;
}

.hero,
.about-box {
grid-template-columns: 1fr;
text-align: center;
}

.buttons {
justify-content: center;
}

body.egypt-mode .buttons,
body.egypt-mode .egypt-symbols {
justify-content: flex-start;
}

.grid,
.tools-grid {
grid-template-columns: 1fr;
}

.hero-card {
min-height: 340px;
}

body.sunset-mode .hero-text {
padding: 24px 20px;
border-radius: 26px;
background: rgba(33, 18, 48, 0.40);
border: 1px solid rgba(255, 211, 106, 0.18);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}

.profile-frame {
width: 220px;
height: 220px;
}

.coin-front {
font-size: 72px;
}
}

/* =========================
   CYBER MODE
========================= */

body.cyber-mode {
  --bg: #020a07;
  --card: rgba(0, 255, 160, 0.06);
  --blue: #00ff9f;
  --cyan: #00ffc3;
  --text: #b6ffdc;
  --muted: #6fb89c;
  --border: rgba(0, 255, 160, 0.22);

  --particle: rgba(0, 255, 160, 0.95);
  --particle-line: 0, 255, 160;
  --particle-mouse: rgba(0, 255, 160, 0.45);
  --profile-photo: url("assets/img/foto-rahman-cyber-display.webp");

  background:
    radial-gradient(circle at top right, rgba(0,255,160,0.16), transparent 32%),
    radial-gradient(circle at bottom left, rgba(0,255,160,0.08), transparent 30%),
    #020a07;
  cursor: crosshair;
}

/* font cyber, jangan kena icon */
body.cyber-mode h1,
body.cyber-mode h2,
body.cyber-mode h3,
body.cyber-mode .logo,
body.cyber-mode nav a,
body.cyber-mode .badge,
body.cyber-mode .btn,
body.cyber-mode .terminal {
  font-family: "Courier New", monospace;
}

/* balikin font awesome */
body.cyber-mode i {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900;
}

body.cyber-mode .fa-brands {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400;
}

/* header */
body.cyber-mode header {
  background: rgba(2, 10, 7, 0.78);
  border-bottom-color: rgba(0, 255, 160, 0.22);
}

/* logo & nav */
body.cyber-mode .logo {
  color: #b6ffdc;
}

body.cyber-mode .logo span,
body.cyber-mode nav a:hover {
  color: #00ff9f;
}

/* hero text */
body.cyber-mode .hero h1,
body.cyber-mode .title h2,
body.cyber-mode .card h3 {
  color: #b6ffdc;
  text-shadow: 0 0 10px rgba(0,255,160,0.35);
}

body.cyber-mode .hero h1 span {
  background: linear-gradient(90deg, #00ff9f, #00ffc3);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

body.cyber-mode .hero h2,
body.cyber-mode .hero p,
body.cyber-mode .card p,
body.cyber-mode .about-text p,
body.cyber-mode .contact-box p {
  color: #6fb89c;
}

/* badge */
body.cyber-mode .badge {
  background: rgba(0, 255, 160, 0.08);
  border-color: rgba(0, 255, 160, 0.28);
  color: #00ff9f;
}

/* buttons */
body.cyber-mode .btn {
  color: #00ff9f;
  background: rgba(0, 255, 160, 0.04);
  border-color: rgba(0, 255, 160, 0.24);
}

body.cyber-mode .btn.primary {
  background: linear-gradient(135deg, #00ff9f, #00ffc3);
  color: #001a12;
  box-shadow: 0 0 25px rgba(0,255,160,.35);
}

body.cyber-mode .btn:hover,
body.cyber-mode .btn.primary:hover {
  box-shadow:
    0 0 15px rgba(0,255,160,.45),
    0 0 35px rgba(0,255,160,.22);
}

/* hero card */
body.cyber-mode .hero-card {
  background: rgba(0, 20, 12, 0.38);
  border-color: rgba(0, 255, 160, 0.28);
  box-shadow:
    inset 0 0 35px rgba(0, 255, 160, 0.04),
    0 0 35px rgba(0, 255, 160, 0.12);
}

body.cyber-mode .hero-card::before {
  border-color: rgba(0, 255, 160, 0.22);
}

body.cyber-mode .hero-card::after {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 255, 160, 0.14),
    transparent
  );
}

/* lingkaran foto */
body.cyber-mode .profile-frame {
  background: linear-gradient(135deg, #00ff9f, #00ffc3);
  box-shadow:
    0 0 22px rgba(0,255,160,.55),
    0 0 58px rgba(0,255,160,.22);
}

body.cyber-mode .profile-frame::before {
  border-color: rgba(0,255,160,.35);
  box-shadow: 0 0 35px rgba(0,255,160,.18);
}

/* coin */
body.cyber-mode .coin-face {
  background: #020a07;
}

body.cyber-mode .coin-front {
  color: #00ff9f;
  background: radial-gradient(circle, #062d1f, #020a07 72%);
}

/* cards */
body.cyber-mode .card,
body.cyber-mode .contact-box {
  background: rgba(0, 20, 12, 0.42);
  border-color: rgba(0, 255, 160, 0.22);
  box-shadow: 0 0 20px rgba(0,255,160,0.06);
}

body.cyber-mode .card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(0,255,160,.45);
  box-shadow:
    0 0 20px rgba(0,255,160,.18),
    0 0 40px rgba(0,255,160,.09);
}

body.cyber-mode .card i,
body.cyber-mode .title span,
body.cyber-mode .project-img i {
  color: #00ff9f;
}

/* kotak about me kiri */
body.cyber-mode .about-photo {
  background: linear-gradient(
    135deg,
    rgba(0, 255, 160, 0.22),
    rgba(0, 40, 25, 0.45)
  );
  border-color: rgba(0,255,160,.28);
  box-shadow:
    0 0 28px rgba(0,255,160,.10),
    inset 0 0 38px rgba(0,255,160,.06);
}

body.cyber-mode .about-photo i {
  color: #00ff9f;
}

/* kotak portfolio image */
body.cyber-mode .project-img {
  background: linear-gradient(
    135deg,
    rgba(0, 255, 160, 0.26),
    rgba(0, 40, 25, 0.45)
  );
  border: 1px solid rgba(0,255,160,.26);
}

/* skill chips */
body.cyber-mode .skill {
  background: rgba(0,255,160,0.08);
  border-color: rgba(0,255,160,0.26);
  color: #b6ffdc;
}

/* socials */
body.cyber-mode .socials a,
body.cyber-mode .theme-toggle {
  color: #00ff9f;
  background: rgba(0,255,160,0.06);
  border-color: rgba(0,255,160,0.22);
}

body.cyber-mode .socials a:hover,
body.cyber-mode .theme-toggle:hover {
  box-shadow: 0 0 20px rgba(0,255,160,.25);
}

/* blob */
body.cyber-mode .blob {
  background: radial-gradient(circle, rgba(0,255,160,.24), transparent 70%);
  filter: blur(80px);
}

/* footer */
body.cyber-mode footer {
  background: rgba(2, 10, 7, 0.55);
  color: #6fb89c;
  border-top-color: rgba(0,255,160,.18);
}

/* terminal */
.terminal {
  display: none;
  margin: 0 0 28px 0;
  max-width: 620px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid rgba(0, 255, 160, 0.22);
  background: rgba(0, 20, 12, 0.45);
  color: #00ff9f;
  font-family: "Courier New", monospace;
  font-size: 14px;
  line-height: 1.7;
  box-shadow: 0 0 22px rgba(0, 255, 160, 0.08);
}

body.cyber-mode .terminal {
  display: block;
}

body.cyber-mode .terminal::after {
  content: "_";
  animation: blink 1s infinite;
}

/* scanline */
body.cyber-mode::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    to bottom,
    rgba(0,255,160,0.025),
    rgba(0,255,160,0.025) 1px,
    transparent 1px,
    transparent 3px
  );
  z-index: 1;
}

@keyframes blink {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0; }
}

/* =========================
   SAKURA TEXT (NO BACKGROUND AREA)
========================= */

body.sakura-mode .hero p,
body.sakura-mode .about-text p {
  color: #111827 !important; /* hitam pekat */
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(255,255,255,0.6); /* bantu kontras di wallpaper */
}
/* =========================
   THEME DROPDOWN
========================= */
:root {
  --theme-menu-bg: rgba(7, 17, 31, 0.92);
  --theme-menu-hover: rgba(255, 255, 255, 0.08);
  --theme-menu-active: rgba(0, 229, 255, 0.12);
}

body.light-mode,
body.glass-mode,
body.sakura-mode {
  --theme-menu-bg: rgba(255, 255, 255, 0.92);
  --theme-menu-hover: rgba(0, 120, 180, 0.08);
  --theme-menu-active: rgba(0, 150, 210, 0.13);
}

body.monochrome-mode {
  --theme-menu-bg: rgba(255, 247, 225, 0.95);
  --theme-menu-hover: rgba(22, 129, 92, 0.08);
  --theme-menu-active: rgba(224, 68, 79, 0.13);
}

body.sunset-mode {
  --theme-menu-bg: rgba(38, 17, 61, 0.92);
  --theme-menu-hover: rgba(255, 229, 171, 0.10);
  --theme-menu-active: rgba(255, 177, 109, 0.16);
}

body.winter-mode {
  --theme-menu-bg: rgba(7, 24, 39, 0.92);
  --theme-menu-hover: rgba(224, 247, 255, 0.10);
  --theme-menu-active: rgba(125, 211, 252, 0.15);
}

body.egypt-mode {
  --theme-menu-bg: rgba(20, 15, 10, 0.94);
  --theme-menu-hover: rgba(240, 189, 79, 0.10);
  --theme-menu-active: rgba(240, 189, 79, 0.16);
}

body.cyber-mode {
  --theme-menu-bg: rgba(2, 10, 7, 0.94);
  --theme-menu-hover: rgba(0, 255, 160, 0.08);
  --theme-menu-active: rgba(0, 255, 160, 0.14);
}

body.charcoal-mode {
  --theme-menu-bg: rgba(17, 17, 15, 0.94);
  --theme-menu-hover: rgba(205, 180, 120, 0.10);
  --theme-menu-active: rgba(205, 180, 120, 0.16);
}

.theme-picker {
  position: relative;
  z-index: 35;
  margin-left: 20px;
}

.theme-toggle {
  position: relative;
  width: auto;
  min-width: 156px;
  height: 44px;
  margin-left: 0;
  padding: 0 12px 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow: hidden;
  isolation: isolate;
}

.theme-toggle > * {
  position: relative;
  z-index: 2;
}

.theme-toggle-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, var(--theme-swatch-a, var(--blue)), var(--theme-swatch-b, var(--cyan)));
  box-shadow:
  inset 0 1px 0 rgba(255, 255, 255, 0.32),
  0 0 18px rgba(0, 229, 255, 0.18);
}

body.light-mode .theme-toggle-icon,
body.glass-mode .theme-toggle-icon,
body.sakura-mode .theme-toggle-icon {
  color: #07111f;
}

.theme-toggle-text {
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  color: currentColor;
}

.theme-toggle-chevron {
  flex: 0 0 auto;
  font-size: 11px;
  opacity: 0.78;
  transition: transform .25s ease;
}

.theme-picker.is-open .theme-toggle-chevron {
  transform: rotate(180deg);
}

.theme-toggle-glow {
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--theme-swatch-a, var(--blue)), var(--theme-swatch-b, var(--cyan)));
  opacity: .16;
  z-index: 0;
  animation: themePulse 2.4s ease-in-out infinite;
}

.theme-toggle:hover {
  transform: translateY(-3px) scale(1.02);
}

.theme-menu {
  position: absolute;
  top: calc(100% + 12px);
  inset-inline-end: 0;
  width: min(356px, calc(100vw - 32px));
  max-height: min(520px, calc(100vh - 116px));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--theme-menu-bg);
  color: var(--text);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px) saturate(1.16);
  -webkit-backdrop-filter: blur(18px) saturate(1.16);
  opacity: 0;
  transform: translateY(-8px) scale(0.97);
  transform-origin: top right;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

html[dir="rtl"] .theme-menu {
  transform-origin: top left;
}

.theme-picker.is-open .theme-menu {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.theme-menu[hidden] {
  display: none;
}

.theme-option {
  width: 100%;
  min-height: 74px;
  padding: 10px 9px 9px;
  border: 1px solid transparent;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--text);
  background: transparent;
  cursor: pointer;
  text-align: center;
  position: relative;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.theme-option:hover,
.theme-option:focus-visible {
  background: var(--theme-menu-hover);
  border-color: var(--border);
  outline: none;
  transform: translateY(-1px);
}

.theme-option:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.14);
}

.theme-option.is-active {
  background: var(--theme-menu-active);
  border-color: var(--border);
}

.theme-option-swatch {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, var(--theme-swatch-a, var(--blue)), var(--theme-swatch-b, var(--cyan)));
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.theme-option-label {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.15;
}

.theme-option-check {
  position: absolute;
  top: 7px;
  inset-inline-end: 7px;
  color: var(--cyan);
  font-size: 11px;
  opacity: 0;
  transition: opacity .2s ease;
}

.theme-option.is-active .theme-option-check {
  opacity: 1;
}

[data-theme-option="imlek"] {
  background: rgba(204, 0, 0, 0.08);
  border-color: rgba(204, 0, 0, 0.2);
  color: #ff5252;
}

[data-theme-option="imlek"]:hover,
[data-theme-option="imlek"]:focus-visible {
  background: rgba(204, 0, 0, 0.18);
  border-color: rgba(204, 0, 0, 0.4);
}

[data-theme-option="imlek"].is-active {
  background: rgba(204, 0, 0, 0.22);
  border-color: rgba(204, 0, 0, 0.5);
}

@keyframes themePulse {
  0%, 100% { opacity: .12; transform: scale(1); }
  50% { opacity: .30; transform: scale(1.08); }
}

@media (max-width: 1100px) {
  header {
    padding: 20px 5%;
  }

  nav a {
    margin-left: 18px;
    font-size: 13px;
  }

  .theme-toggle {
    min-width: 142px;
  }

  .theme-toggle-text {
    max-width: 76px;
  }
}

@media (max-width: 980px) {
  nav {
    display: none;
  }
}

/* =========================
   RESPONSIVE THEME POLISH
========================= */
@media (max-width: 768px) {
  .theme-picker {
    margin-left: 12px;
  }

  .theme-toggle {
    min-width: 132px;
    height: 42px;
    padding: 0 10px 0 8px;
    gap: 8px;
  }

  .theme-toggle-text {
    max-width: 66px;
  }

  .theme-menu {
    top: calc(100% + 10px);
    width: min(236px, calc(100vw - 24px));
  }

  .tools-source {
    width: 100%;
    border-radius: 18px;
    flex-wrap: wrap;
    text-align: center;
  }

  .logo {
    max-width: calc(100vw - 190px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 18px;
  }

  body.monochrome-mode .logo {
    max-width: calc(100vw - 202px);
    font-size: 19px;
  }

  body.monochrome-mode .hero h1 {
    font-size: clamp(36px, 11vw, 54px);
    line-height: 1.05;
  }

  body.monochrome-mode .hero h2 {
    font-size: 26px;
  }

  body.monochrome-mode .hero-text {
    padding: 24px 20px;
  }

  body.monochrome-mode .pencil-diary-props {
    top: 82px;
    right: 4%;
    width: 230px;
    height: 106px;
    transform: scale(0.72);
    transform-origin: top right;
    opacity: 0.82;
  }

  body.sunset-mode .hero,
  body.sakura-mode .hero {
    min-height: auto;
    padding-top: 112px;
    gap: 28px;
  }

  body.sunset-mode .badge,
  body.sakura-mode .badge {
    font-size: 12px;
    padding: 7px 12px;
    margin-bottom: 16px;
  }

  body.sunset-mode .hero h1,
  body.sakura-mode .hero h1 {
    font-size: clamp(32px, 10vw, 42px);
    line-height: 1.16;
  }

  body.sunset-mode .hero h2,
  body.sakura-mode .hero h2 {
    font-size: 21px;
    margin-bottom: 14px;
  }

  body.sunset-mode .hero p,
  body.sakura-mode .hero p,
  body.sakura-mode .about-text p {
    font-size: 14px;
    line-height: 1.75;
  }

  body.sunset-mode .buttons,
  body.sakura-mode .buttons {
    gap: 10px;
  }

  body.sunset-mode .btn,
  body.sakura-mode .btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
  }

  body.sunset-mode .hero-card,
  body.sakura-mode .hero-card {
    min-height: 285px;
    border-radius: 28px;
  }

  body.sunset-mode .profile-frame,
  body.sakura-mode .profile-frame {
    width: 190px;
    height: 190px;
  }

  body.sunset-mode .hero::before {
    background-position: 76% center;
  }

  body.sunset-mode .hero-card {
    background: rgba(48, 24, 56, 0.34);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  body.sakura-mode {
    background-size: auto 100vh;
    background-position: center top;
    background-attachment: scroll;
  }

  body.sakura-mode::before {
    background: linear-gradient(
      to bottom,
      rgba(255, 247, 251, 0.72),
      rgba(255, 247, 251, 0.58) 42%,
      rgba(255, 247, 251, 0.78)
    );
  }

  body.sakura-mode header {
    padding: 12px 5%;
    background: rgba(255, 250, 253, 0.88);
  }

  body.sakura-mode .logo {
    font-size: 15px;
    max-width: calc(100vw - 208px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.sakura-mode .theme-toggle {
    width: auto;
    min-width: 128px;
    height: 40px;
    padding: 0 10px 0 8px;
  }

  body.sakura-mode .theme-toggle-text {
    font-size: 12px;
    max-width: 62px;
  }

  body.sakura-mode .hero-text {
    padding: 22px 18px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(255, 105, 180, 0.16);
    box-shadow: 0 14px 38px rgba(255, 105, 180, 0.10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  body.sakura-mode .hero p,
  body.sakura-mode .about-text p {
    text-shadow: none;
  }

  body.sakura-mode .hero-card {
    background: rgba(255, 255, 255, 0.44);
    border-color: rgba(255, 105, 180, 0.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  body.sakura-mode .grid,
  body.sakura-mode .about-box {
    gap: 18px;
  }

  body.sakura-mode .card,
  body.sakura-mode .contact-box {
    padding: 22px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
  }

  body.sakura-mode .title {
    margin-bottom: 30px;
  }

  body.sakura-mode .title h2 {
    font-size: 30px;
  }

  body.sakura-mode .about-photo {
    height: 250px;
    font-size: 72px;
  }

  body.sakura-mode .contact-box {
    padding: 28px 20px;
  }
}

@media (max-width: 420px) {
  .theme-toggle {
    width: 44px;
    min-width: 44px;
    height: 40px;
    padding: 0;
    gap: 0;
  }

  .theme-toggle-text,
  .theme-toggle-chevron {
    display: none;
  }

  body.sunset-mode .logo,
  body.sakura-mode .logo {
    max-width: calc(100vw - 132px);
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.monochrome-mode .logo {
    max-width: calc(100vw - 132px);
    font-size: 17px;
  }

  body.monochrome-mode .hero h1 {
    font-size: 34px;
  }

  body.monochrome-mode .pencil-diary-props {
    top: 76px;
    right: 0;
    transform: scale(0.56);
    opacity: 0.62;
  }

  body.sunset-mode .theme-toggle,
  body.sakura-mode .theme-toggle {
    width: 44px;
    min-width: 44px;
    height: 40px;
    padding: 0;
  }

  body.sunset-mode .hero h1,
  body.sakura-mode .hero h1 {
    font-size: 30px;
  }
}

body.light-mode .coin-back,
body.monochrome-mode .coin-back,
body.glass-mode .coin-back,
body.sunset-mode .coin-back,
body.winter-mode .coin-back,
body.sakura-mode .coin-back,
body.egypt-mode .coin-back,
body.cyber-mode .coin-back,
body.charcoal-mode .coin-back,
body.modern-security-mode .coin-back,
body.imlek-mode .coin-back {
background: var(--profile-photo) var(--profile-photo-position) / cover no-repeat;
}

/* =========================
   CHARCOAL STUDIO MODE
========================= */

body.charcoal-mode {
--bg: #11110f;
--card: rgba(31, 31, 28, 0.76);
--blue: #cdb478;
--cyan: #eee5d1;
--text: #f7f2e8;
--muted: #b9b2a4;
--border: rgba(238, 229, 209, 0.16);
--particle: rgba(238, 229, 209, 0.54);
--particle-line: 205, 180, 120;
--particle-mouse: rgba(205, 180, 120, 0.28);
--profile-photo: url("assets/img/foto-for-charcoal-studio.jpeg");
--profile-photo-position: center center;
}

body.charcoal-mode {
background:
radial-gradient(circle at 15% 12%, rgba(205, 180, 120, 0.10), transparent 28%),
linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px),
linear-gradient(180deg, #171714 0%, #0d0d0c 100%);
background-size: auto, 34px 100%, auto;
}

body.charcoal-mode::before {
content: "";
position: fixed;
inset: 0;
z-index: -4;
pointer-events: none;
background:
linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
radial-gradient(circle at 70% 25%, rgba(238, 229, 209, 0.08), transparent 30%),
radial-gradient(circle at 20% 90%, rgba(30, 48, 43, 0.42), transparent 34%);
background-size: 18px 100%, auto, auto;
opacity: 0.72;
}

body.charcoal-mode header {
background: rgba(17, 17, 15, 0.78);
border-bottom-color: rgba(238, 229, 209, 0.14);
box-shadow: 0 18px 60px rgba(0, 0, 0, 0.26);
}

body.charcoal-mode .logo,
body.charcoal-mode .hero h1,
body.charcoal-mode .title h2,
body.charcoal-mode .card h3 {
color: #f8f2e7;
}

body.charcoal-mode .logo span,
body.charcoal-mode nav a:hover,
body.charcoal-mode .title span,
body.charcoal-mode .card i,
body.charcoal-mode .project-img i,
body.charcoal-mode .tools-source i,
body.charcoal-mode .tools-source a {
color: #cdb478;
}

body.charcoal-mode nav a,
body.charcoal-mode .hero h2,
body.charcoal-mode .hero p,
body.charcoal-mode .card p,
body.charcoal-mode .about-text p,
body.charcoal-mode .contact-box p,
body.charcoal-mode .tools-intro,
body.charcoal-mode .tools-source {
color: #b9b2a4;
}

body.charcoal-mode .hero {
isolation: isolate;
}

body.charcoal-mode .hero::before {
content: "";
position: absolute;
inset: 102px 5% 42px;
z-index: -1;
border: 1px solid rgba(238, 229, 209, 0.08);
background:
linear-gradient(90deg, transparent 0 49%, rgba(238, 229, 209, 0.06) 50%, transparent 51%),
linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0));
pointer-events: none;
}

body.charcoal-mode .hero h1 span {
background: linear-gradient(90deg, #f8f2e7, #cdb478 54%, #92a090);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.charcoal-mode .badge {
background: rgba(238, 229, 209, 0.07);
border-color: rgba(205, 180, 120, 0.25);
color: #d7c99e;
}

body.charcoal-mode .btn {
border-radius: 10px;
color: #f8f2e7;
background: rgba(238, 229, 209, 0.055);
border-color: rgba(238, 229, 209, 0.17);
box-shadow: none;
}

body.charcoal-mode .btn.primary {
color: #15130e;
background: linear-gradient(135deg, #eee5d1, #cdb478);
box-shadow: 0 16px 42px rgba(205, 180, 120, 0.18);
}

body.charcoal-mode .btn:hover {
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
border-color: rgba(205, 180, 120, 0.35);
}

body.charcoal-mode .hero-card,
body.charcoal-mode .card,
body.charcoal-mode .contact-box,
body.charcoal-mode .tools-source {
background: rgba(31, 31, 28, 0.74);
border-color: rgba(238, 229, 209, 0.14);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.045),
0 24px 70px rgba(0, 0, 0, 0.26);
backdrop-filter: blur(12px);
}

body.charcoal-mode .hero-card {
border-radius: 20px;
background:
linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px),
linear-gradient(145deg, rgba(42, 42, 38, 0.86), rgba(15, 15, 14, 0.72));
background-size: 18px 100%, auto;
animation: none;
}

body.charcoal-mode .hero-card::before {
inset: 16px;
border-radius: 14px;
border-color: rgba(205, 180, 120, 0.18);
}

body.charcoal-mode .hero-card::after {
width: 160px;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(238, 229, 209, 0.06), transparent);
transform: rotate(0deg);
animation: premiumScan 7s ease-in-out infinite;
}

body.charcoal-mode .profile-frame {
width: 286px;
height: 286px;
border-radius: 18px;
padding: 6px;
background: linear-gradient(135deg, #eee5d1, #7d765f 52%, #1e2f2b);
box-shadow:
0 18px 55px rgba(0, 0, 0, 0.34),
0 0 0 1px rgba(238, 229, 209, 0.10);
animation: none;
}

body.charcoal-mode .profile-frame::before {
inset: -13px;
border-radius: 24px;
border-color: rgba(205, 180, 120, 0.18);
animation: softPulse 4.5s ease-in-out infinite;
}

body.charcoal-mode .avatar,
body.charcoal-mode .coin-face {
border-radius: 14px;
}

body.charcoal-mode .coin-back {
filter: saturate(0.82) contrast(1.08) brightness(0.90);
}

body.charcoal-mode .card {
border-radius: 16px;
}

body.charcoal-mode .card:hover {
border-color: rgba(205, 180, 120, 0.35);
box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
}

body.charcoal-mode .project-img,
body.charcoal-mode .about-photo {
background:
linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
linear-gradient(135deg, rgba(205, 180, 120, 0.18), rgba(30, 48, 43, 0.24));
background-size: 16px 100%, auto;
border-color: rgba(238, 229, 209, 0.14);
}

body.charcoal-mode .skill {
background: rgba(238, 229, 209, 0.065);
border-color: rgba(238, 229, 209, 0.14);
color: #eee5d1;
}

body.charcoal-mode .socials a,
body.charcoal-mode .theme-toggle {
color: #eee5d1;
background: rgba(238, 229, 209, 0.07);
border-color: rgba(238, 229, 209, 0.16);
}

body.charcoal-mode .socials a:hover,
body.charcoal-mode .theme-toggle:hover {
box-shadow: 0 16px 34px rgba(205, 180, 120, 0.16);
border-color: rgba(205, 180, 120, 0.32);
}

body.charcoal-mode .blob.one {
background: radial-gradient(circle, rgba(205, 180, 120, 0.18), transparent 66%);
}

body.charcoal-mode .blob.two {
background: radial-gradient(circle, rgba(30, 48, 43, 0.34), transparent 66%);
}

body.charcoal-mode footer {
background: rgba(17, 17, 15, 0.58);
border-top-color: rgba(238, 229, 209, 0.14);
}

/* =========================
   MODERN SECURITY MODE
========================= */

body.modern-security-mode {
--bg: #060816;
--card: rgba(13, 16, 32, 0.72);
--blue: #4f46e5;
--cyan: #8b5cf6;
--text: #ffffff;
--muted: #a6adbd;
--border: rgba(255, 255, 255, 0.08);
--particle: rgba(139, 92, 246, 0.82);
--particle-line: 139, 92, 246;
--particle-mouse: rgba(0, 255, 136, 0.34);
--profile-photo: url("assets/img/rahman-Cinematic_portrait_with_dramatic_lighting.png");
--profile-photo-position: center top;
background:
radial-gradient(ellipse at 78% 14%, rgba(139, 92, 246, 0.32), transparent 38%),
radial-gradient(ellipse at 18% 60%, rgba(79, 70, 229, 0.22), transparent 36%),
linear-gradient(145deg, #060816 0%, #090b1d 48%, #050711 100%);
}

body.modern-security-mode::before {
content: "";
position: fixed;
inset: 0;
z-index: -2;
pointer-events: none;
background-image:
linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px);
background-size: 60px 60px;
mask-image: radial-gradient(ellipse at center, black 35%, transparent 80%);
}

body.modern-security-mode header {
background: rgba(6, 8, 22, 0.72);
border-bottom-color: rgba(139, 92, 246, 0.20);
box-shadow: 0 18px 60px rgba(0, 0, 0, 0.20);
}

body.modern-security-mode .logo {
color: #ffffff;
}

body.modern-security-mode .logo span,
body.modern-security-mode nav a:hover,
body.modern-security-mode .title span,
body.modern-security-mode .card i,
body.modern-security-mode .project-img i,
body.modern-security-mode .tools-source i,
body.modern-security-mode .tools-source a {
color: #8b5cf6;
}

body.modern-security-mode nav a {
color: #d1d5db;
}

body.modern-security-mode .hero {
gap: 42px;
}

body.modern-security-mode .hero h1,
body.modern-security-mode .title h2,
body.modern-security-mode .card h3 {
color: #ffffff;
}

body.modern-security-mode .hero h1 span {
background: linear-gradient(90deg, #ffffff 0%, #bfa7ff 48%, #7d94ff 100%);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.modern-security-mode .hero h2 {
background: linear-gradient(90deg, #a78bfa, #6d7dff);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.modern-security-mode .hero p,
body.modern-security-mode .card p,
body.modern-security-mode .about-text p,
body.modern-security-mode .contact-box p,
body.modern-security-mode .tools-intro,
body.modern-security-mode .tools-source {
color: #a6adbd;
}

body.modern-security-mode .badge {
background: rgba(0, 255, 136, 0.045);
border-color: rgba(0, 255, 136, 0.28);
color: #00ff88;
box-shadow: 0 0 28px rgba(0, 255, 136, 0.06);
}

body.modern-security-mode .badge i {
color: #00ff88;
filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.45));
}

body.modern-security-mode .btn {
color: #dfe4ee;
background: rgba(255, 255, 255, 0.035);
border-color: rgba(255, 255, 255, 0.08);
backdrop-filter: blur(12px);
}

body.modern-security-mode .btn.primary {
position: relative;
overflow: hidden;
color: #ffffff;
background: linear-gradient(135deg, #8b5cf6, #4f46e5);
box-shadow: 0 14px 42px rgba(79, 70, 229, 0.38);
}

body.modern-security-mode .btn.primary::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
transition: left .7s ease;
}

body.modern-security-mode .btn.primary:hover::before {
left: 100%;
}

body.modern-security-mode .btn:hover {
box-shadow: 0 18px 42px rgba(79, 70, 229, 0.24);
border-color: rgba(139, 92, 246, 0.42);
}

body.modern-security-mode .hero-card,
body.modern-security-mode .card,
body.modern-security-mode .contact-box,
body.modern-security-mode .tools-source {
background: rgba(13, 16, 32, 0.72);
border-color: rgba(255, 255, 255, 0.075);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.035),
0 24px 70px rgba(0, 0, 0, 0.28);
}

body.modern-security-mode .hero-card {
min-height: 500px;
border-radius: 32px;
overflow: visible;
backdrop-filter: blur(18px);
}

body.modern-security-mode .hero-card::before {
inset: -1px;
border: 1px solid transparent;
border-radius: inherit;
background:
linear-gradient(rgba(13, 16, 32, 0.70), rgba(13, 16, 32, 0.70)) padding-box,
linear-gradient(135deg, rgba(139, 92, 246, 0.58), transparent 45%, rgba(79, 70, 229, 0.48)) border-box;
}

body.modern-security-mode .hero-card::after {
width: 620px;
height: 620px;
left: 50%;
top: 50%;
border-radius: 50%;
background: radial-gradient(circle, rgba(139, 92, 246, 0.28), transparent 68%);
filter: blur(42px);
transform: translate(-50%, -50%);
animation: modernSecurityGlow 5.5s ease-in-out infinite;
}

body.modern-security-mode .profile-frame {
width: 312px;
height: 312px;
padding: 8px;
background: linear-gradient(135deg, #8b5cf6, #4f46e5);
box-shadow:
0 0 34px rgba(139, 92, 246, 0.42),
0 28px 90px rgba(0, 0, 0, 0.34);
}

body.modern-security-mode .profile-frame::before {
inset: -24px;
border-color: rgba(139, 92, 246, 0.28);
box-shadow: 0 0 60px rgba(139, 92, 246, 0.18);
}

body.modern-security-mode .profile-frame::after {
content: ">_  Automate  Secure  Deploy";
position: absolute;
left: -108px;
top: 38px;
z-index: 4;
width: 162px;
padding: 16px 18px;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(13, 16, 32, 0.78);
color: #ffffff;
font-size: 13px;
font-weight: 700;
line-height: 1.6;
box-shadow: 0 24px 54px rgba(0, 0, 0, 0.32);
backdrop-filter: blur(18px);
}

body.modern-security-mode .coin-face {
background: #0d1020;
}

body.modern-security-mode .coin-back {
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

body.modern-security-mode .coin-back img {
filter: contrast(1.08) saturate(1.08);
}

body.modern-security-mode .card {
position: relative;
overflow: hidden;
border-radius: 28px;
}

body.modern-security-mode .card::before {
content: "";
position: absolute;
inset: 0;
padding: 1px;
border-radius: inherit;
background: linear-gradient(135deg, rgba(139, 92, 246, 0.46), transparent 45%, rgba(79, 70, 229, 0.38));
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}

body.modern-security-mode .card:hover {
transform: translateY(-8px);
border-color: rgba(139, 92, 246, 0.42);
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
}

body.modern-security-mode .about-photo,
body.modern-security-mode .project-img {
background:
radial-gradient(circle at top right, rgba(139, 92, 246, 0.34), transparent 45%),
linear-gradient(135deg, rgba(79, 70, 229, 0.20), rgba(13, 16, 32, 0.78));
border-color: rgba(139, 92, 246, 0.26);
box-shadow: inset 0 0 48px rgba(139, 92, 246, 0.06);
}

body.modern-security-mode .skill,
body.modern-security-mode .tool-tags span {
background: rgba(255, 255, 255, 0.045);
border-color: rgba(255, 255, 255, 0.08);
color: #dfe4ee;
}

body.modern-security-mode .socials a,
body.modern-security-mode .theme-toggle {
color: #dfe4ee;
background: rgba(255, 255, 255, 0.04);
border-color: rgba(255, 255, 255, 0.08);
}

body.modern-security-mode .socials a:hover,
body.modern-security-mode .theme-toggle:hover {
color: #ffffff;
background: rgba(139, 92, 246, 0.20);
box-shadow: 0 18px 44px rgba(139, 92, 246, 0.20);
}

body.modern-security-mode .blob.one {
background: radial-gradient(circle, rgba(139, 92, 246, 0.48), transparent 65%);
filter: blur(60px);
}

body.modern-security-mode .blob.two {
background: radial-gradient(circle, rgba(79, 70, 229, 0.36), transparent 65%);
filter: blur(72px);
}

body.modern-security-mode footer {
background: rgba(6, 8, 22, 0.62);
border-top-color: rgba(255, 255, 255, 0.06);
color: #7f8798;
}

body.modern-security-mode {
--theme-menu-bg: rgba(6, 8, 22, 0.94);
--theme-menu-hover: rgba(139, 92, 246, 0.10);
--theme-menu-active: rgba(139, 92, 246, 0.16);
}

@keyframes modernSecurityGlow {
0%, 100% {
opacity: .72;
transform: translate(-50%, -50%) scale(.96);
}
50% {
opacity: 1;
transform: translate(-50%, -50%) scale(1.08);
}
}

@media (max-width: 768px) {
body.modern-security-mode .hero-card {
min-height: 390px;
}

body.modern-security-mode .profile-frame {
width: 250px;
height: 250px;
}

body.modern-security-mode .profile-frame::after {
display: none;
}
}

/* Modern Security dedicated sample layout */
.modern-security-page {
display: none;
}

body.modern-security-mode {
font-family: "Inter", "Poppins", sans-serif;
background:
radial-gradient(circle at 62% 24%, rgba(92, 39, 230, .24), transparent 32%),
radial-gradient(circle at 86% 27%, rgba(21, 78, 180, .18), transparent 28%),
linear-gradient(180deg, #02050c 0%, #050914 48%, #03060d 100%);
color: #ffffff;
}

body.modern-security-mode > canvas,
body.modern-security-mode > header,
body.modern-security-mode > section,
body.modern-security-mode > footer {
display: none;
}

body.modern-security-mode .ms-header-right .theme-picker {
position: relative;
margin-left: 0;
}

body.modern-security-mode .modern-security-page {
display: block;
position: relative;
z-index: 2;
width: min(1168px, calc(100% - 88px));
margin: 0 auto;
padding: 28px 0 24px;
color: #ffffff;
}

body.modern-security-mode .modern-security-page * {
box-sizing: border-box;
}

.ms-header {
position: sticky;
top: 18px;
width: 100%;
padding: 10px 12px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
z-index: 50;
background: rgba(3, 7, 16, 0.58);
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 18px;
box-shadow: 0 18px 54px rgba(0, 0, 0, 0.22);
backdrop-filter: blur(18px) saturate(1.15);
-webkit-backdrop-filter: blur(18px) saturate(1.15);
}

.ms-brand,
.ms-footer-brand {
display: inline-flex;
align-items: center;
gap: 10px;
color: #ffffff;
text-decoration: none;
font-size: 28px;
font-weight: 800;
letter-spacing: 0;
}

.ms-logo-mark {
position: relative;
width: 46px;
height: 46px;
display: grid;
place-items: center;
border-radius: 0;
background: transparent;
border: 0;
box-shadow: none;
overflow: visible;
isolation: isolate;
}

.ms-logo-mark::before {
content: "";
position: absolute;
inset: -14px;
border-radius: 50%;
background:
radial-gradient(circle at 54% 48%, rgba(168, 85, 247, .28), transparent 48%),
radial-gradient(circle at 35% 52%, rgba(255, 255, 255, .08), transparent 36%);
filter: blur(10px);
opacity: .76;
z-index: -1;
pointer-events: none;
}

.ms-logo-mark img {
width: 48px;
height: 48px;
object-fit: contain;
display: block;
filter:
brightness(1.10)
saturate(1.08)
drop-shadow(0 0 12px rgba(168, 85, 247, .34))
drop-shadow(0 0 2px rgba(255, 255, 255, .20));
opacity: .98;
}

.ms-nav {
display: flex;
align-items: center;
gap: 38px;
}

.ms-nav a,
.ms-footer nav a {
position: relative;
margin: 0;
color: #ffffff;
font-size: 15px;
font-weight: 700;
text-decoration: none;
}

.ms-nav a.active,
.ms-nav a:hover {
color: #a855f7;
}

.ms-nav a.active::after {
content: "";
position: absolute;
left: 50%;
bottom: -18px;
width: 16px;
height: 2px;
border-radius: 999px;
background: #a855f7;
transform: translateX(-50%);
}

.ms-talk,
.ms-view-all {
height: 48px;
padding: 0 18px;
border: 1px solid rgba(139, 92, 246, 0.46);
border-radius: 10px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 14px;
color: #ffffff;
background: rgba(4, 7, 18, 0.38);
text-decoration: none;
font-size: 14px;
font-weight: 800;
box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ms-main {
position: relative;
display: flex;
flex-direction: column;
gap: 28px;
}

.ms-anchor {
display: block;
position: relative;
top: -90px;
visibility: hidden;
}

.ms-hero {
position: relative;
min-height: 628px;
padding: 78px 4px 0;
display: grid;
grid-template-columns: 390px 1fr;
gap: 28px;
align-items: center;
overflow: visible;
}

.ms-hero::before {
content: "";
position: absolute;
right: 82px;
top: 34px;
width: 560px;
height: 590px;
border-radius: 50%;
background:
radial-gradient(circle at 40% 42%, rgba(119, 55, 230, .92), transparent 39%),
radial-gradient(circle at 68% 50%, rgba(29, 78, 216, .78), transparent 47%);
filter: blur(54px);
opacity: .92;
z-index: 0;
}

.ms-hero-copy,
.ms-hero-visual {
position: relative;
z-index: 1;
}

.ms-badge {
width: fit-content;
height: 40px;
padding: 0 17px;
border-radius: 12px;
border: 1px solid rgba(0, 255, 136, 0.18);
display: inline-flex;
align-items: center;
gap: 12px;
color: #00ff5a;
background: rgba(0, 255, 136, 0.025);
font-size: 12px;
font-weight: 800;
margin-bottom: 48px;
}

.ms-badge span {
width: 7px;
height: 7px;
border-radius: 50%;
background: #00ff5a;
box-shadow: 0 0 15px rgba(0, 255, 90, .9);
}

.ms-kicker {
margin: 0 0 8px;
font-size: 27px;
line-height: 1;
font-weight: 800;
color: #ffffff;
}

.ms-hero h1 {
margin: 0 0 6px;
font-size: clamp(68px, 7.15vw, 92px);
line-height: .96;
font-weight: 900;
letter-spacing: 0;
color: #ffffff;
text-shadow: 0 8px 30px rgba(0,0,0,.35);
}

.ms-hero h2 {
margin: 0 0 26px;
font-size: clamp(39px, 4.25vw, 50px);
line-height: 1;
font-weight: 900;
letter-spacing: 0;
background: linear-gradient(90deg, #a855f7 0%, #3b82f6 100%);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

.ms-intro {
max-width: 390px;
margin: 0 0 36px;
color: #aeb6c4;
font-size: 17px;
line-height: 1.72;
}

.ms-buttons {
display: flex;
gap: 28px;
align-items: center;
margin-bottom: 34px;
}

.ms-btn {
height: 58px;
padding: 0 28px;
border-radius: 10px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 18px;
text-decoration: none;
font-size: 15px;
font-weight: 800;
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ms-btn-primary {
min-width: 204px;
color: #ffffff;
background: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);
box-shadow: 0 18px 42px rgba(79, 70, 229, 0.34);
}

.ms-btn-secondary {
min-width: 198px;
color: #ffffff;
background: rgba(4, 7, 18, 0.44);
border: 1px solid rgba(255, 255, 255, 0.12);
}

.ms-btn:hover,
.ms-talk:hover,
.ms-view-all:hover {
transform: translateY(-3px);
box-shadow: 0 18px 42px rgba(79, 70, 229, 0.26);
}

.ms-social-wrap p {
margin: 0 0 14px;
color: #737988;
font-size: 13px;
font-weight: 700;
}

.ms-socials {
display: flex;
gap: 20px;
}

.ms-socials a {
width: 44px;
height: 44px;
border-radius: 50%;
display: grid;
place-items: center;
color: #ffffff;
background: rgba(255,255,255,.06);
text-decoration: none;
font-size: 18px;
box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.ms-hero-visual {
min-height: 600px;
isolation: isolate;
}

.ms-hero-visual::before {
content: "";
position: absolute;
left: 18%;
right: -10%;
top: 4%;
bottom: 7%;
z-index: 0;
pointer-events: none;
background:
radial-gradient(circle at 54% 34%, rgba(147, 83, 255, .42), transparent 28%),
radial-gradient(circle at 70% 48%, rgba(43, 108, 255, .30), transparent 34%),
radial-gradient(ellipse at 56% 78%, rgba(0, 0, 0, .58), transparent 42%);
filter: blur(24px);
opacity: .92;
}

.ms-hero-visual::after {
content: "";
position: absolute;
bottom: 0;
left: -42px;
right: -42px;
height: 230px;
background:
linear-gradient(to top, rgba(4, 7, 18, .99) 0%, rgba(4, 7, 18, .78) 38%, rgba(4, 7, 18, .18) 72%, transparent 100%),
radial-gradient(ellipse at 68% 68%, rgba(0, 0, 0, .50), transparent 46%);
z-index: 2;
pointer-events: none;
}

.ms-hero-visual > img {
position: absolute;
right: -34px;
bottom: -22px;
width: min(650px, 61vw);
max-width: none;
height: auto;
display: block;
object-fit: contain;
filter:
saturate(1.08)
contrast(1.06)
brightness(.98)
drop-shadow(0 34px 58px rgba(0,0,0,.58))
drop-shadow(0 0 52px rgba(79, 70, 229, .16));
z-index: 1;
-webkit-mask-image:
radial-gradient(ellipse 76% 90% at 58% 50%, #000 48%, rgba(0,0,0,.88) 66%, rgba(0,0,0,.36) 84%, transparent 100%),
linear-gradient(to bottom, #000 0 73%, rgba(0,0,0,.86) 82%, transparent 100%);
mask-image:
radial-gradient(ellipse 76% 90% at 58% 50%, #000 48%, rgba(0,0,0,.88) 66%, rgba(0,0,0,.36) 84%, transparent 100%),
linear-gradient(to bottom, #000 0 73%, rgba(0,0,0,.86) 82%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
}

.ms-automation-card,
.ms-security-card {
position: absolute;
z-index: 4;
border: 1px solid rgba(255,255,255,.105);
border-radius: 18px;
background:
linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,0) 34%),
rgba(10, 14, 30, 0.58);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.07),
0 24px 60px rgba(0,0,0,.30);
backdrop-filter: blur(18px);
user-select: none;
}

.ms-automation-card {
left: 178px;
top: 116px;
width: 126px;
padding: 20px 22px;
}

.ms-automation-card span {
display: block;
margin-bottom: 12px;
font-family: "Consolas", "Courier New", monospace;
font-size: 20px;
font-weight: 700;
letter-spacing: 0;
color: #f4efff;
text-shadow: 0 0 12px rgba(196, 181, 253, .28);
}

.ms-automation-card p,
.ms-security-card p {
margin: 0;
color: #ffffff;
font-size: 15px;
font-weight: 650;
line-height: 1.45;
}

.ms-security-card {
right: 0;
bottom: 58px;
width: 218px;
padding: 19px 22px 21px;
border-radius: 16px;
}

.ms-security-card span {
width: 38px;
height: 38px;
margin-bottom: 15px;
border-radius: 11px;
display: grid;
place-items: center;
color: #b388ff;
background: rgba(139, 92, 246, .25);
font-size: 18px;
}

.ms-dots {
position: absolute;
right: -6px;
top: 46px;
width: 96px;
height: 96px;
background-image: radial-gradient(circle, rgba(255,255,255,.62) 2px, transparent 2.7px);
background-size: 22px 22px;
opacity: .58;
z-index: 2;
filter: drop-shadow(0 0 8px rgba(196, 181, 253, .18));
}

.ms-blue-orb {
position: absolute;
right: 16px;
top: 206px;
width: 38px;
height: 38px;
border-radius: 50%;
background: radial-gradient(circle at 35% 35%, #8fa0ff, #5143ff 58%, #111833);
box-shadow: 0 0 40px rgba(79, 70, 229, .90);
z-index: 3;
animation: msBlueOrbFloat 5.8s ease-in-out infinite;
will-change: transform, box-shadow;
}

@keyframes msBlueOrbFloat {
0%, 100% {
transform: translate3d(0, 0, 0) scale(1);
box-shadow: 0 0 34px rgba(79, 70, 229, .78);
}
50% {
transform: translate3d(-10px, 12px, 0) scale(1.06);
box-shadow: 0 0 54px rgba(113, 96, 255, .96);
}
}

.ms-arrow-doodle {
position: absolute;
left: 116px;
top: 246px;
width: 210px;
height: 140px;
transform: rotate(-3deg);
opacity: .95;
z-index: 5;
filter: drop-shadow(0 0 16px rgba(196, 181, 253, .30));
pointer-events: none;
animation: msNeonArrowFloat 4.8s ease-in-out infinite;
}

.ms-arrow-doodle img {
width: 100%;
height: 100%;
display: block;
object-fit: contain;
filter: contrast(1.04) brightness(1.02) saturate(1.05);
}

@keyframes msNeonArrowFloat {
0%, 100% {
transform: translateY(0) rotate(-2deg);
filter: drop-shadow(0 0 12px rgba(168, 85, 247, .28));
}
50% {
transform: translateY(6px) rotate(-1deg);
filter: drop-shadow(0 0 22px rgba(196, 181, 253, .42));
}
}

.ms-stats,
.ms-project-section,
.ms-cta {
border: 1px solid rgba(255,255,255,.085);
border-radius: 18px;
background: rgba(5, 10, 23, .76);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.055),
0 28px 72px rgba(0,0,0,.36);
backdrop-filter: blur(20px);
}

.ms-stats {
min-height: 136px;
padding: 28px 30px;
display: grid;
grid-template-columns: repeat(4, 1fr);
align-items: center;
gap: 0;
}

.ms-stat {
position: relative;
display: grid;
grid-template-columns: 64px 1fr;
grid-template-rows: auto auto;
align-items: center;
column-gap: 16px;
padding: 0 30px;
}

.ms-stat:not(:last-child)::after {
content: "";
position: absolute;
right: 0;
top: 12px;
width: 1px;
height: 58px;
background: rgba(255,255,255,.09);
}

.ms-stat > span {
grid-row: 1 / 3;
width: 52px;
height: 52px;
border-radius: 50%;
display: grid;
place-items: center;
font-size: 23px;
}

.ms-stat .purple { color: #9b5cff; background: rgba(139,92,246,.16); }
.ms-stat .blue { color: #4f7bff; background: rgba(79,123,255,.14); }
.ms-stat .green { color: #00ff88; background: rgba(0,255,136,.14); }
.ms-stat .orange { color: #ff9c3d; background: rgba(255,156,61,.13); }

.ms-stat strong {
font-size: 37px;
line-height: 1;
font-weight: 900;
letter-spacing: 0;
color: #6d7dff;
}

.ms-stat:last-child strong {
color: #ff9c3d;
}

.ms-stat p {
margin: 8px 0 0;
color: #b4bbc9;
font-size: 14px;
}

.ms-project-section {
margin-top: 0;
padding: 34px 32px 26px;
}

.ms-section-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
margin-bottom: 28px;
}

.ms-section-head p {
margin: 0 0 10px;
color: #8c7dff;
font-size: 14px;
font-weight: 900;
letter-spacing: .04em;
}

.ms-section-head h2 {
margin: 0;
font-size: 32px;
line-height: 1.1;
letter-spacing: 0;
}

.ms-project-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.ms-project-card {
position: relative;
overflow: hidden;
border: 1px solid rgba(255,255,255,.075);
border-radius: 16px;
background:
linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 32%),
rgba(8, 13, 26, .82);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.045),
0 20px 42px rgba(0,0,0,.22);
transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.ms-project-card::before {
content: "";
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
background:
radial-gradient(circle at 24% 8%, rgba(139, 92, 246, .18), transparent 30%),
linear-gradient(180deg, transparent 36%, rgba(4, 7, 18, .34) 70%, rgba(4, 7, 18, .62) 100%);
opacity: .82;
}

.ms-project-card::after {
content: "";
position: absolute;
left: 16px;
right: 16px;
top: 184px;
height: 1px;
z-index: 2;
background: linear-gradient(90deg, transparent, rgba(168, 85, 247, .40), transparent);
opacity: .72;
}

.ms-project-card > img {
position: relative;
z-index: 0;
width: calc(100% - 24px);
height: 186px;
margin: 12px 12px 0;
border-radius: 12px;
object-fit: cover;
display: block;
background: rgba(255,255,255,.04);
box-shadow:
0 18px 42px rgba(0, 0, 0, .34),
0 0 0 1px rgba(255, 255, 255, .08);
filter: saturate(1.08) contrast(1.06) brightness(.96);
transition: transform .42s ease, filter .42s ease;
}

.ms-project-card:hover {
transform: translateY(-6px);
border-color: rgba(139, 92, 246, .34);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.06),
0 28px 62px rgba(0,0,0,.34),
0 0 44px rgba(79, 70, 229, .11);
}

.ms-project-card:hover > img {
transform: scale(1.035);
filter: saturate(1.16) contrast(1.08) brightness(1.02);
}

.ms-project-body {
position: relative;
z-index: 2;
padding: 18px 16px 16px;
}

.ms-project-body h3 {
margin: 0 0 12px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
color: #ffffff;
font-size: 17px;
line-height: 1.2;
}

.ms-project-body h3 i {
width: 30px;
height: 30px;
border-radius: 8px;
display: grid;
place-items: center;
flex: 0 0 auto;
background: rgba(255,255,255,.08);
font-size: 14px;
}

.ms-project-body p {
min-height: 48px;
margin: 0 0 18px;
color: #b4bbc9;
font-size: 14px;
line-height: 1.55;
}

.ms-tags {
display: flex;
flex-wrap: wrap;
gap: 10px;
}

.ms-tags span {
height: 28px;
padding: 0 13px;
border-radius: 999px;
display: inline-flex;
align-items: center;
color: #dce3ef;
background: rgba(255,255,255,.07);
font-size: 12px;
font-weight: 700;
}

.ms-cta {
position: relative;
min-height: 224px;
margin-top: 0;
padding: 32px 36px;
display: flex;
align-items: center;
justify-content: space-between;
overflow: hidden;
}

.ms-cta h2 {
margin: 0 0 14px;
font-size: 31px;
letter-spacing: 0;
}

.ms-cta p {
max-width: 610px;
margin: 0 0 24px;
color: #b4bbc9;
font-size: 15px;
line-height: 1.55;
}

.ms-plane {
position: relative;
width: 360px;
height: 170px;
color: #6f3cff;
transform: rotate(-10deg);
filter: drop-shadow(0 22px 32px rgba(79, 70, 229, .34));
}

.ms-plane::before {
content: "";
position: absolute;
left: -72px;
top: 86px;
width: 235px;
height: 72px;
border-bottom: 2px dashed rgba(204, 178, 255, .72);
border-left: 2px dashed rgba(204, 178, 255, .38);
border-radius: 0 0 0 110px;
transform: rotate(13deg);
}

.ms-plane::after {
content: "✦  ✦  ✦";
position: absolute;
inset: 0;
color: rgba(139,92,246,.52);
font-size: 20px;
letter-spacing: 70px;
transform: rotate(12deg);
}

.ms-plane::after {
content: "*  *  *";
right: 6px;
top: 18px;
inset: auto;
letter-spacing: 58px;
transform: rotate(13deg);
}

.ms-plane-body,
.ms-plane-wing {
position: absolute;
display: block;
right: 28px;
top: 18px;
width: 146px;
height: 104px;
background: linear-gradient(135deg, #8b5cf6 0%, #5b21e7 45%, #3120a7 100%);
clip-path: polygon(0 38%, 100% 0, 58% 96%, 43% 56%);
box-shadow: inset -12px -16px 24px rgba(20, 10, 84, .38);
}

.ms-plane-wing {
right: 63px;
top: 71px;
width: 102px;
height: 52px;
background: linear-gradient(135deg, #6d28d9 0%, #3b1aa8 100%);
clip-path: polygon(0 0, 100% 0, 18% 100%);
opacity: .9;
}

.ms-plane {
width: 380px;
height: 174px;
transform: none;
filter: drop-shadow(0 24px 34px rgba(79, 70, 229, .32));
}

.ms-plane::before {
left: -82px;
top: 88px;
width: 248px;
height: 70px;
border-bottom: 2px dashed rgba(204, 178, 255, .66);
border-left: 2px dashed rgba(204, 178, 255, .36);
border-radius: 0 0 0 126px;
transform: rotate(5deg);
}

.ms-plane::after {
content: "";
right: 36px;
top: 28px;
width: 8px;
height: 8px;
background: rgba(139, 92, 246, .58);
clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
box-shadow:
-92px 18px 0 rgba(139, 92, 246, .38),
-228px 34px 0 rgba(139, 92, 246, .34);
letter-spacing: 0;
transform: none;
}

.ms-plane-body {
right: 24px;
top: 14px;
width: 152px;
height: 106px;
background: linear-gradient(137deg, #8b5cf6 0%, #6236f0 44%, #30118f 100%);
clip-path: polygon(0 50%, 100% 0, 68% 100%, 51% 58%);
box-shadow:
inset -18px -18px 28px rgba(24, 12, 92, .42),
inset 18px 8px 22px rgba(186, 151, 255, .14);
transform: rotate(-13deg);
transform-origin: 52% 55%;
}

.ms-plane-body::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(185, 139, 255, .52), rgba(76, 29, 149, .05) 58%);
clip-path: polygon(0 50%, 100% 0, 51% 58%);
}

.ms-plane-body::after {
content: "";
position: absolute;
right: 41px;
top: 47px;
width: 76px;
height: 28px;
background: linear-gradient(135deg, rgba(43, 16, 129, .68), rgba(116, 60, 238, .14));
clip-path: polygon(0 0, 100% 0, 38% 100%);
}

.ms-plane-wing {
right: 80px;
top: 83px;
width: 94px;
height: 52px;
background: linear-gradient(135deg, #4f21cc 0%, #28106f 100%);
clip-path: polygon(0 0, 100% 0, 24% 100%);
opacity: .94;
transform: rotate(-13deg);
transform-origin: top right;
}

.ms-plane {
position: relative;
width: min(410px, 40%);
height: auto;
aspect-ratio: 3 / 2;
flex: 0 0 min(410px, 40%);
transform: none;
filter: drop-shadow(0 24px 36px rgba(79, 70, 229, .34));
opacity: .98;
animation: msPlaneFloat 5.2s ease-in-out infinite;
}

.ms-plane::before,
.ms-plane::after {
display: none;
}

.ms-plane img {
width: 100%;
height: 100%;
display: block;
object-fit: contain;
filter: contrast(1.04) brightness(1.04) saturate(1.08);
}

@keyframes msPlaneFloat {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-7px);
}
}

.ms-footer {
margin-top: 28px;
padding: 10px 0 0;
border: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 28px;
color: #8a919f;
background: transparent;
}

.ms-footer-brand {
gap: 20px;
font-size: 16px;
font-weight: 500;
}

.ms-footer-brand .ms-logo-mark {
width: 40px;
height: 40px;
opacity: .9;
}

.ms-footer-brand .ms-logo-mark img {
width: 44px;
height: 44px;
}

.ms-footer-brand p {
margin: 0;
color: #8a919f;
font-size: 14px;
}

.ms-footer nav {
display: flex;
gap: 44px;
}

.ms-footer nav a {
color: #8a919f;
font-weight: 500;
}

.ms-back-top {
width: 48px;
height: 48px;
border-radius: 50%;
display: grid;
place-items: center;
color: #ffffff;
background: rgba(255,255,255,.07);
text-decoration: none;
}

.ms-header-right {
display: flex;
align-items: center;
gap: 12px;
}

.ms-hamburger {
display: none;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 5px;
width: 44px;
height: 44px;
border: 1px solid rgba(255,255,255,.12);
border-radius: 10px;
background: rgba(255,255,255,.04);
cursor: pointer;
transition: background .2s, border-color .2s;
}

.ms-hamburger:hover {
background: rgba(139,92,246,.15);
border-color: rgba(139,92,246,.4);
}

.ms-hamburger span {
display: block;
width: 20px;
height: 2px;
border-radius: 2px;
background: #ffffff;
transition: transform .25s ease, opacity .2s ease;
}

.ms-hamburger[aria-expanded="true"] span:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}

.ms-hamburger[aria-expanded="true"] span:nth-child(2) {
opacity: 0;
transform: scaleX(0);
}

.ms-hamburger[aria-expanded="true"] span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
}

.ms-mobile-nav {
display: none;
}

@media (max-width: 1100px) {
body.modern-security-mode .modern-security-page {
width: min(100% - 32px, 1060px);
}

.ms-nav {
gap: 24px;
}

.ms-hero {
grid-template-columns: 1fr;
min-height: auto;
padding-top: 70px;
}

.ms-hero-copy {
max-width: 560px;
}

.ms-hero-visual {
min-height: 620px;
}

.ms-hero-visual > img {
right: 50%;
bottom: -26px;
transform: translateX(50%);
width: min(690px, 100%);
}

.ms-automation-card {
left: 12%;
}

.ms-arrow-doodle {
left: calc(12% - 4px);
top: 276px;
width: 190px;
height: 126px;
}

.ms-stats,
.ms-project-grid {
grid-template-columns: repeat(2, 1fr);
}

.ms-stat:nth-child(2)::after {
display: none;
}

.ms-stat {
padding: 18px 22px;
}
}

@media (max-width: 820px) {
.ms-header {
gap: 16px;
}

.ms-nav {
display: none;
}

.ms-hamburger {
display: flex;
}

.ms-mobile-nav {
display: flex;
flex-direction: column;
max-height: 0;
overflow: hidden;
background: rgba(6, 8, 22, 0.96);
border-radius: 12px;
backdrop-filter: blur(16px);
transition: max-height .35s cubic-bezier(.4,0,.2,1), margin-bottom .35s ease;
margin-bottom: 0;
}

.ms-mobile-nav.is-open {
max-height: 380px;
margin-bottom: 16px;
border: 1px solid rgba(255,255,255,.08);
}

.ms-mobile-nav a {
padding: 14px 20px;
color: #dfe4ee;
text-decoration: none;
font-size: 16px;
font-weight: 600;
border-bottom: 1px solid rgba(255,255,255,.05);
transition: color .2s, background .2s, padding-left .2s;
}

.ms-mobile-nav a:last-child {
border-bottom: 0;
}

.ms-mobile-nav a:hover,
.ms-mobile-nav a.active {
color: #a855f7;
background: rgba(139,92,246,.08);
padding-left: 28px;
}

.ms-brand {
font-size: 22px;
gap: 12px;
}

.ms-talk {
height: 42px;
padding: 0 14px;
}

.ms-hero {
padding-top: 54px;
}

.ms-buttons,
.ms-section-head,
.ms-cta,
.ms-footer {
align-items: flex-start;
flex-direction: column;
}

.ms-buttons {
gap: 14px;
}

.ms-btn,
.ms-btn-primary,
.ms-btn-secondary {
width: 100%;
min-width: 0;
}

.ms-hero-visual {
min-height: 480px;
}

.ms-hero-visual::before {
left: 8%;
right: 8%;
top: 4%;
bottom: 8%;
}

.ms-hero-visual::after {
left: -18px;
right: -18px;
height: 190px;
}

.ms-hero-visual > img {
bottom: -18px;
width: min(560px, 108%);
}

.ms-automation-card,
.ms-security-card,
.ms-dots,
.ms-blue-orb,
.ms-arrow-doodle {
display: none;
}

.ms-stats,
.ms-project-grid {
grid-template-columns: 1fr;
}

.ms-stat::after {
display: none;
}

.ms-project-card > img {
height: auto;
aspect-ratio: 16 / 10;
}

.ms-plane {
width: 100%;
height: 120px;
font-size: 76px;
}

.ms-footer nav {
flex-wrap: wrap;
gap: 16px 28px;
}
}

@media (max-width: 520px) {
body.modern-security-mode .modern-security-page {
width: calc(100% - 24px);
padding-top: 18px;
}

.ms-logo-mark {
width: 38px;
height: 38px;
}

.ms-logo-mark img {
width: 42px;
height: 42px;
}

.ms-talk span {
display: none;
}

.ms-talk {
width: 38px;
height: 38px;
padding: 0;
border-radius: 50%;
}

.ms-hamburger {
width: 38px;
height: 38px;
}

.ms-badge {
font-size: 11px;
}

.ms-hero h1 {
font-size: 58px;
}

.ms-hero h2 {
font-size: 38px;
}

.ms-intro {
font-size: 15px;
}

.ms-hero-visual {
min-height: 380px;
}

.ms-stats,
.ms-project-section,
.ms-cta {
border-radius: 16px;
padding-left: 18px;
padding-right: 18px;
}
}

/* =========================
   IMLEK MODE
========================= */

body.imlek-mode {
--bg: #0d0002;
--card: rgba(160, 20, 20, 0.18);
--blue: #ffc53d;
--cyan: #ff6060;
--text: #fff8e7;
--muted: #f5c8a0;
--border: rgba(200, 100, 0, 0.28);
--particle: rgba(255, 190, 0, 0.85);
--particle-line: 255, 180, 0;
--particle-mouse: rgba(255, 80, 80, 0.32);
--profile-photo: url("assets/img/foto-rahman-imlek.png");
background:
radial-gradient(circle at top right, rgba(200, 30, 30, 0.28), transparent 36%),
radial-gradient(circle at bottom left, rgba(255, 160, 0, 0.14), transparent 32%),
linear-gradient(135deg, #0d0002, #1e0408 50%, #2a0808);
}

body.imlek-mode header {
background: rgba(13, 0, 2, 0.74);
border-bottom-color: rgba(200, 80, 0, 0.24);
}

body.imlek-mode .logo {
color: #fff8e7;
}

body.imlek-mode .logo::before {
content: "\1F409\00a0";
color: #ffc53d;
}

body.imlek-mode nav a {
color: #f5c8a0;
}

body.imlek-mode nav a:hover,
body.imlek-mode .title span,
body.imlek-mode .card i,
body.imlek-mode .project-img i {
color: #ffc53d;
}

body.imlek-mode .hero h1,
body.imlek-mode .title h2,
body.imlek-mode .card h3 {
color: #fff8e7;
}

body.imlek-mode .hero h1 span {
background: linear-gradient(90deg, #ffc53d, #ff6060);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}

body.imlek-mode .hero h2,
body.imlek-mode .hero p,
body.imlek-mode .card p,
body.imlek-mode .about-text p,
body.imlek-mode .contact-box p {
color: #f5c8a0;
}

body.imlek-mode .badge {
background: rgba(200, 60, 0, 0.16);
color: #ffc53d;
border-color: rgba(200, 100, 0, 0.34);
}

body.imlek-mode .badge i {
color: #ff6060;
}

body.imlek-mode .btn {
color: #fff8e7;
background: rgba(200, 60, 0, 0.10);
border-color: rgba(200, 100, 0, 0.30);
}

body.imlek-mode .btn.primary {
color: #1a0000;
background: linear-gradient(135deg, #ffc53d, #ff6060);
box-shadow: 0 0 28px rgba(255, 100, 0, 0.30);
}

body.imlek-mode .hero-card,
body.imlek-mode .card,
body.imlek-mode .contact-box {
background: linear-gradient(145deg, rgba(120, 30, 20, 0.42), rgba(20, 5, 5, 0.58));
border-color: rgba(200, 80, 0, 0.26);
box-shadow:
inset 0 0 28px rgba(255, 150, 0, 0.05),
0 18px 44px rgba(0, 0, 0, 0.22);
}

body.imlek-mode .hero-card::before {
border-color: rgba(200, 80, 0, 0.22);
}

body.imlek-mode .hero-card::after {
background: linear-gradient(
90deg,
transparent,
rgba(255, 180, 0, 0.14),
transparent
);
}

body.imlek-mode .profile-frame {
background: linear-gradient(135deg, #ffc53d, #ff4040);
box-shadow:
0 0 24px rgba(255, 160, 0, 0.52),
0 0 58px rgba(200, 30, 30, 0.22);
}

body.imlek-mode .profile-frame::before {
border-color: rgba(255, 160, 0, 0.36);
box-shadow: 0 0 36px rgba(255, 140, 0, 0.20);
}

body.imlek-mode .coin-front {
color: #ffc53d;
background: radial-gradient(circle, #3a0808, #0d0002 72%);
}

body.imlek-mode .project-img,
body.imlek-mode .about-photo {
background:
linear-gradient(135deg, rgba(255, 160, 0, 0.22), rgba(200, 30, 30, 0.10)),
linear-gradient(45deg, rgba(255,255,255,0.04) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.04) 50%, rgba(255,255,255,0.04) 75%, transparent 75%);
background-size: auto, 24px 24px;
border-color: rgba(200, 80, 0, 0.24);
}

body.imlek-mode .blob.one {
background: radial-gradient(circle, rgba(255, 160, 0, 0.30), rgba(200, 60, 0, 0.14), transparent 70%);
filter: blur(78px);
}

body.imlek-mode .blob.two {
background: radial-gradient(circle, rgba(200, 30, 30, 0.22), rgba(255, 130, 0, 0.12), transparent 70%);
filter: blur(88px);
}

body.imlek-mode .skill {
background: rgba(200, 80, 0, 0.14);
border-color: rgba(200, 100, 0, 0.28);
color: #ffe4a0;
}

body.imlek-mode .socials a,
body.imlek-mode .theme-toggle {
color: #ffc53d;
background: rgba(200, 80, 0, 0.10);
border-color: rgba(200, 100, 0, 0.26);
}

body.imlek-mode footer {
background: rgba(13, 0, 2, 0.60);
border-top-color: rgba(200, 80, 0, 0.22);
}

body.imlek-mode .tool-tags span {
background: rgba(200, 60, 0, 0.14);
border-color: rgba(200, 100, 0, 0.26);
color: #ffe0a0;
}

body.imlek-mode .coin-front {
font-size: 48px;
}

/* Imlek showcase section */

body.imlek-mode .imlek-showcase {
display: block;
padding-top: 80px;
padding-bottom: 80px;
background:
linear-gradient(180deg, rgba(13, 0, 2, 0.96), rgba(50, 10, 5, 0.92)),
repeating-linear-gradient(90deg, rgba(255, 160, 0, 0.08) 0 1px, transparent 1px 28px);
}

.imlek-showcase {
display: none;
}

.imlek-panel {
max-width: 960px;
margin: 0 auto;
padding: 36px;
border: 1px solid rgba(200, 80, 0, 0.28);
border-radius: 24px;
background: rgba(13, 0, 2, 0.52);
box-shadow: 0 22px 48px rgba(0, 0, 0, 0.24);
}

.imlek-kicker {
display: inline-block;
margin-bottom: 12px;
color: #ff6060;
font-size: 13px;
font-weight: 800;
letter-spacing: 2px;
text-transform: uppercase;
}

.imlek-panel h2 {
font-size: clamp(30px, 4vw, 48px);
line-height: 1.1;
margin-bottom: 14px;
color: #fff8e7;
}

.imlek-panel p {
max-width: 700px;
color: #f5c8a0;
line-height: 1.8;
}

.imlek-symbols {
display: flex;
gap: 14px;
margin-top: 24px;
}

.imlek-symbols span {
width: 46px;
height: 46px;
display: grid;
place-items: center;
border-radius: 50%;
color: #ff6060;
background: rgba(255, 140, 0, 0.10);
border: 1px solid rgba(200, 80, 0, 0.26);
font-size: 22px;
}

@media (max-width: 900px) {
body.imlek-mode .imlek-showcase {
padding-top: 56px;
padding-bottom: 56px;
}

.imlek-panel {
padding: 26px 22px;
}
}
