/* ==========================================================
   CRABSEM
   STYLE.CSS
========================================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;

background:#0d0717;

color:#ffffff;

overflow-x:hidden;

line-height:1.6;

}

/* ==========================================================
BACKGROUND
========================================================== */

body::before{

content:"";

position:fixed;

inset:0;

background:

radial-gradient(circle at top,#7b3fff55 0%,transparent 35%),

radial-gradient(circle at bottom,#24103c 0%,transparent 45%),

#0d0717;

z-index:-3;

}

.stars{

position:fixed;

inset:0;

background-image:

radial-gradient(#ffffff55 1px,transparent 1px);

background-size:120px 120px;

opacity:.35;

animation:starsMove 90s linear infinite;

z-index:-2;

}

@keyframes starsMove{

from{

transform:translateY(0);

}

to{

transform:translateY(-120px);

}

}

/* ==========================================================
CONTAINER
========================================================== */

.container{

width:min(1180px,92%);

margin:auto;

}

/* ==========================================================
NAVBAR
========================================================== */

header{

position:sticky;

top:0;

z-index:1000;

background:rgba(15,10,25,.72);

backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.06);

}

.nav{

height:82px;

display:flex;

justify-content:space-between;

align-items:center;

gap:30px;

}

.logo{

display:flex;

align-items:center;

gap:15px;

text-decoration:none;

color:white;

font-family:'Anton',sans-serif;

font-size:28px;

letter-spacing:2px;

}

.logo-img{

width:58px;

height:58px;

object-fit:contain;

filter:

drop-shadow(0 0 20px #7b3fff);

}

nav{

display:flex;

gap:28px;

}

nav a{

text-decoration:none;

color:#d8d8d8;

font-weight:600;

transition:.25s;

}

nav a:hover{

color:#a870ff;

}

.nav-right{

display:flex;

align-items:center;

gap:15px;

}

/* ==========================================================
BUTTON
========================================================== */

.primary-btn{

display:inline-flex;

justify-content:center;

align-items:center;

padding:15px 30px;

background:#8b4dff;

border-radius:999px;

color:white;

text-decoration:none;

font-weight:700;

transition:.3s;

box-shadow:

0 0 30px rgba(139,77,255,.35);

border:none;

cursor:pointer;

}

.primary-btn:hover{

background:#9b68ff;

transform:translateY(-3px);

}

.secondary-btn{

display:inline-flex;

justify-content:center;

align-items:center;

padding:15px 30px;

border-radius:999px;

border:2px solid #8b4dff;

text-decoration:none;

color:white;

font-weight:700;

transition:.3s;

}

.secondary-btn:hover{

background:#8b4dff;

}

.circle-btn{

width:48px;

height:48px;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

border:2px solid #8b4dff;

text-decoration:none;

font-weight:700;

color:white;

transition:.25s;

}

.circle-btn:hover{

background:#8b4dff;

}

/* ==========================================================
HERO
========================================================== */

.hero{

min-height:100vh;

display:flex;

align-items:center;

padding:60px 0;

}

.hero-grid{

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

gap:80px;

}

.mini{

font-size:15px;

letter-spacing:4px;

font-weight:700;

color:#b87dff;

margin-bottom:20px;

}

.hero h1{

font-family:'Anton',sans-serif;

font-size:120px;

line-height:.95;

margin-bottom:20px;

}

.hero p{

font-size:24px;

color:#d7d7d7;

max-width:520px;

margin-bottom:35px;

}

.hero-buttons{

display:flex;

gap:18px;

margin-bottom:35px;

flex-wrap:wrap;

}

.hero-tags{

display:flex;

gap:12px;

flex-wrap:wrap;

}

.hero-tags span{

padding:10px 18px;

border-radius:999px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

font-size:14px;

}

.hero-right{

display:flex;

justify-content:center;

position:relative;

}

.hero-glow{

position:absolute;

width:430px;

height:430px;

border-radius:50%;

background:#7b3fff;

filter:blur(130px);

opacity:.28;

}

.hero-crab{

position:relative;

width:100%;

max-width:460px;

z-index:2;

filter:

drop-shadow(0 0 35px rgba(139,77,255,.65));

animation:float 4s ease-in-out infinite;

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0);

}

}

/* ==========================================================
END PART 1
========================================================== */
/* ==========================================================
SECTION
========================================================== */

.section{

padding:110px 0;

}

.section h2{

font-family:'Anton',sans-serif;

font-size:60px;

text-align:center;

letter-spacing:2px;

margin-bottom:18px;

}

.section-sub{

text-align:center;

color:#bdbdbd;

font-size:18px;

margin-bottom:55px;

}

/* ==========================================================
STORY
========================================================== */

.story-box{

max-width:900px;

margin:auto;

padding:55px;

border-radius:28px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(18px);

box-shadow:

0 15px 50px rgba(0,0,0,.25);

}

.story-box p{

font-size:22px;

color:#dddddd;

margin-bottom:22px;

}

.story-box h3{

font-family:'Anton',sans-serif;

font-size:42px;

letter-spacing:2px;

color:#9d6cff;

text-align:center;

margin-top:20px;

}

/* ==========================================================
TODAY THOUGHT
========================================================== */

.thought-box{

max-width:820px;

margin:auto;

padding:55px;

border-radius:28px;

background:

linear-gradient(

135deg,

rgba(139,77,255,.18),

rgba(255,255,255,.05)

);

border:1px solid rgba(255,255,255,.08);

text-align:center;

box-shadow:

0 15px 40px rgba(0,0,0,.25);

}

.thought{

font-size:36px;

font-weight:700;

margin-bottom:35px;

line-height:1.4;

color:white;

}

/* ==========================================================
MEME WALL
========================================================== */

.gallery{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:28px;

max-width:1100px;

margin:auto;

}

.meme-card{

overflow:hidden;

border-radius:24px;

background:#1b1229;

border:1px solid rgba(255,255,255,.08);

transition:.35s;

cursor:pointer;

box-shadow:

0 10px 25px rgba(0,0,0,.25);

}

.meme-card:hover{

transform:

translateY(-10px)

scale(1.02);

border-color:#9d6cff;

box-shadow:

0 20px 50px rgba(139,77,255,.30);

}

.meme-card img{

display:block;

width:100%;

height:100%;

object-fit:cover;

transition:.35s;

}

.meme-card:hover img{

transform:scale(1.04);

}

/* ==========================================================
GAME
========================================================== */

.game-wrapper{

max-width:900px;

margin:auto;

padding:35px;

border-radius:28px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(18px);

box-shadow:

0 15px 45px rgba(0,0,0,.25);

}

.game-score{

display:flex;

justify-content:center;

gap:90px;

margin-bottom:30px;

}

.game-score div{

text-align:center;

}

.game-score p{

font-size:15px;

color:#bbbbbb;

margin-bottom:6px;

}

.game-score h3{

font-size:46px;

font-weight:800;

}

.game-button{

display:flex;

justify-content:center;

margin-bottom:25px;

}

#gameArea{

position:relative;

width:100%;

height:430px;

overflow:hidden;

border-radius:24px;

background:

linear-gradient(

180deg,

#23123b,

#12091d

);

border:2px solid rgba(255,255,255,.08);

}

.game-note{

margin-top:20px;

text-align:center;

font-size:16px;

color:#cfcfcf;

}

/* ==========================================================
CANDLE
========================================================== */

.candle{

position:absolute;

width:18px;

height:46px;

cursor:pointer;

}

.candle::before{

content:"";

position:absolute;

left:50%;

top:-10px;

width:2px;

height:66px;

transform:translateX(-50%);

background:#ffffff;

opacity:.7;

}

.candle.green{

background:#00d26a;

border-radius:3px;

box-shadow:

0 0 14px rgba(0,210,106,.45);

}

.candle.red{

background:#ff4d6d;

border-radius:3px;

box-shadow:

0 0 14px rgba(255,77,109,.45);

}

/* ==========================================================
END PART 2
========================================================== */
/* ==========================================================
ROADMAP
========================================================== */

.roadmap{

max-width:900px;

margin:auto;

display:grid;

gap:22px;

}

.road{

display:flex;

gap:22px;

align-items:flex-start;

padding:28px;

border-radius:24px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

transition:.3s;

}

.road:hover{

transform:translateY(-5px);

border-color:#9d6cff;

box-shadow:

0 15px 35px rgba(139,77,255,.25);

}

.road.active{

border-color:#9d6cff;

}

.road-icon{

font-size:34px;

line-height:1;

}

.road h3{

font-size:26px;

margin-bottom:8px;

}

.road p{

color:#cfcfcf;

font-size:16px;

}

/* ==========================================================
FOOTER
========================================================== */

footer{

margin-top:120px;

padding:80px 0;

border-top:1px solid rgba(255,255,255,.08);

text-align:center;

background:

linear-gradient(

180deg,

transparent,

rgba(255,255,255,.03)

);

}

.footer{

display:flex;

flex-direction:column;

align-items:center;

}

.footer-logo{

width:90px;

margin-bottom:18px;

filter:

drop-shadow(0 0 20px rgba(139,77,255,.6));

}

.footer h2{

font-family:'Anton',sans-serif;

font-size:56px;

letter-spacing:2px;

margin-bottom:15px;

}

.footer p{

color:#cfcfcf;

margin-bottom:25px;

line-height:1.7;

}

.footer-links{

display:flex;

gap:25px;

flex-wrap:wrap;

justify-content:center;

margin-bottom:30px;

}

.footer-links a{

text-decoration:none;

color:white;

font-weight:700;

transition:.3s;

}

.footer-links a:hover{

color:#9d6cff;

}

.copyright{

font-size:14px;

opacity:.6;

}

/* ==========================================================
SCROLLBAR
========================================================== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#140d22;

}

::-webkit-scrollbar-thumb{

background:#8b4dff;

border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

background:#a870ff;

}

/* ==========================================================
RESPONSIVE
========================================================== */

@media(max-width:1000px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

gap:60px;

}

.hero-right{

order:-1;

}

.hero p{

margin:auto auto 35px;

}

.hero-buttons{

justify-content:center;

}

.hero-tags{

justify-content:center;

}

nav{

display:none;

}

.gallery{

grid-template-columns:1fr;

}

.game-score{

gap:40px;

}

.section h2{

font-size:46px;

}

.hero h1{

font-size:82px;

}

.story-box{

padding:35px;

}

.story-box p{

font-size:18px;

}

.story-box h3{

font-size:34px;

}

}

@media(max-width:600px){

.hero{

padding:60px 0;

}

.hero h1{

font-size:62px;

}

.hero p{

font-size:18px;

}

.hero-buttons{

flex-direction:column;

}

.primary-btn,

.secondary-btn{

width:100%;

}

.hero-tags{

justify-content:center;

}

.hero-tags span{

width:100%;

text-align:center;

}

.section{

padding:80px 0;

}

.section h2{

font-size:38px;

}

.thought{

font-size:26px;

}

.game-score{

flex-direction:column;

gap:20px;

}

#gameArea{

height:320px;

}

.road{

padding:20px;

gap:15px;

}

.road h3{

font-size:22px;

}

.footer h2{

font-size:42px;

}

.footer-logo{

width:70px;

}

}
.game-sub{

text-align:center;

font-size:22px;

font-weight:500;

color:#d5d5d5;

margin-bottom:30px;

}

/* ==========================================================
END OF FILE
========================================================== */