@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;800&display=swap');

* {
    box-sizing: border-box;
    font-family: "Baloo 2", Arial, Helvetica, sans-serif;
}

body {
    margin: 0;
    background: #04050a;
    color: white;
    overflow: hidden;
}

/* =========================
   TOP BAR
========================= */
.topbar {
    height: 70px;
    background: linear-gradient(90deg, rgba(10, 12, 22, 0.9), rgba(20, 10, 35, 0.9));
    border-bottom: 1px solid rgba(0, 234, 255, 0.25);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 25px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.logo {
    font-size: 28px;
    font-weight: 800;
    background: linear-gradient(90deg, #00eaff, #7f5bff, #ff5bd8);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 14px rgba(0, 234, 255, 0.5));
}

.top-buttons {
    display: flex;
    gap: 10px;
}

.top-buttons button {
    width: auto;
    min-width: 90px;
    padding: 10px 18px;
    font-size: 15px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    box-shadow: none;
}

.top-buttons button:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 18px rgba(0, 234, 255, 0.4);
}

/* =========================
   MAIN LAYOUT
========================= */
.main {
    display: flex;
    height: calc(100vh - 110px);
}

/* =========================
   SIDE MENUS
========================= */
.toolbar,
.properties {
    width: 185px;
    background: rgba(12, 14, 24, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 15px;
    overflow-y: auto;
}

.toolbar {
    border-right: 1px solid rgba(0, 234, 255, 0.2);
}

.properties {
    border-left: 1px solid rgba(0, 234, 255, 0.2);
}

/* =========================
   HEADINGS
========================= */
h2 {
    color: #00eaff;
    font-size: 16px;
    margin-top: 6px;
    letter-spacing: 1px;
    text-shadow: 0 0 12px rgba(0, 234, 255, 0.5);
}

.toolbar hr,
.properties hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 234, 255, 0.4), transparent);
    margin: 12px 0;
}

/* =========================
   BUTTONS
========================= */
button {
    width: 100%;
    background: rgba(255, 255, 255, 0.05);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.14);
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    letter-spacing: .3px;
    transition: all .2s cubic-bezier(.22, 1, .36, 1);
}

button:hover {
    background: rgba(0, 170, 255, 0.18);
    border-color: #00eaff;
    box-shadow: 0 0 14px rgba(0, 234, 255, 0.35);
    transform: translateY(-2px);
}

button:active {
    transform: scale(0.95);
}

/* =========================
   SLIDER
========================= */
input[type="range"] {
    width: 100%;
    accent-color: #00eaff;
}

label {
    display: block;
    font-size: 14px;
    color: #bfe9ff;
    margin-bottom: 4px;
}

/* =========================
   CANVAS AREA
========================= */
.canvasContainer {
    flex: 1;
    position: relative;
    background:
        radial-gradient(circle at 20% 30%, rgba(0, 120, 200, 0.12), transparent 45%),
        radial-gradient(circle at 80% 70%, rgba(200, 60, 255, 0.12), transparent 45%),
        #05060c;
}

#world {
    width: 100%;
    height: 100%;
    display: block;
}

/* =========================
   INFO PANEL
========================= */
.info {
    background: rgba(255, 255, 255, 0.05);
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(0, 234, 255, 0.18);
    backdrop-filter: blur(8px);
}

.info p {
    margin: 4px 0;
    color: #ccd;
}

.info span {
    color: #00eaff;
    font-weight: 800;
    text-shadow: 0 0 10px rgba(0, 234, 255, 0.6);
}

#selectionPanel {
    background: rgba(255, 255, 255, 0.05);
    min-height: 100px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(0, 234, 255, 0.15);
    color: #bcd;
}

/* =========================
   HINT
========================= */
.hint {
    position: absolute;
    bottom: 14px;
    right: -175px;
    background: rgba(8, 10, 18, 0.8);
    padding: 15px;
    border-radius: 14px;
    border: 1px solid rgba(0, 234, 255, 0.2);
    color: #bcd;
    backdrop-filter: blur(10px);
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 0 20px rgba(0, 234, 255, 0.08);
}

/* =========================
   FOOTER
========================= */
footer {
    height: 40px;
    background: linear-gradient(90deg, rgba(10, 12, 22, 0.9), rgba(20, 10, 35, 0.9));
    border-top: 1px solid rgba(0, 234, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7fddef;
    font-size: 14px;
    letter-spacing: 1px;
}

/* =========================
   SCROLLBAR
========================= */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #090b14;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(#00eaff, #6a4bff);
    border-radius: 10px;
}

/* ===========================
   SPECIAL OBJECT BUTTONS
=========================== */

/* Water button */
#waterBtn {
    background: linear-gradient(45deg, #0066ff, #00ccff);
    color: white;
    border: 2px solid #66eaff;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 0 12px #0099ff, 0 0 22px #00ccff;
}
#waterBtn:hover {
    transform: scale(1.06);
    box-shadow: 0 0 22px #00ccff, 0 0 42px #0066ff;
}

/* Fire button */
#fireBtn {
    background: linear-gradient(45deg, #ff4500, #ff9900);
    color: white;
    border: 2px solid #ffcc00;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 0 12px #ff6600, 0 0 22px #ff3300;
}
#fireBtn:hover {
    transform: scale(1.06);
    box-shadow: 0 0 22px #ff9900, 0 0 42px #ff3300;
}

/* INSANE button */
#insaneBtn {
    background: linear-gradient(45deg, #ff0000, #ff00ff, #6600ff);
    color: white;
    border: 2px solid #ff66ff;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 0 12px #ff0000, 0 0 22px #ff00ff, 0 0 32px #6600ff;
    animation: insanePulse 1s infinite;
}
#insaneBtn:hover {
    transform: scale(1.08) rotate(2deg);
    box-shadow: 0 0 22px #ff0000, 0 0 42px #ff00ff, 0 0 62px #6600ff;
}

@keyframes insanePulse {
    0%   { box-shadow: 0 0 10px #ff0000, 0 0 20px #ff00ff; }
    50%  { box-shadow: 0 0 30px #ff0000, 0 0 60px #ff00ff; }
    100% { box-shadow: 0 0 10px #ff0000, 0 0 20px #ff00ff; }
}

/* Tornado button */
#tornadoBtn {
    background: linear-gradient(45deg, #5f6d7a, #8b99a8, #d6dde5);
    color: white;
    border: 2px solid #d8e6f2;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 0 10px #9db7d3, 0 0 20px #7f9dbd, 0 0 30px #d6dde5;
    animation: tornadoPulse 2s infinite;
}
#tornadoBtn:hover {
    transform: scale(1.08) rotate(-3deg);
    box-shadow: 0 0 20px #d6dde5, 0 0 40px #9db7d3, 0 0 60px #ffffff;
}

@keyframes tornadoPulse {
    0%   { box-shadow: 0 0 10px #9db7d3, 0 0 20px #7f9dbd; }
    50%  { box-shadow: 0 0 25px #d6dde5, 0 0 45px #9db7d3, 0 0 70px #ffffff; }
    100% { box-shadow: 0 0 10px #9db7d3, 0 0 20px #7f9dbd; }
}

/* CHAOS button */
#chaosBtn {
    background: linear-gradient(45deg, #00ff00, #b6ff00);
    color: #111;
    border: 2px solid #ccff00;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 0 15px #7fff00;
}
#chaosBtn:hover {
    transform: scale(1.08);
    box-shadow: 0 0 25px #7fff00;
}
#chaosBtn:active {
    transform: scale(0.96);
}

/* Bomb button */
#bombBtn {
    background: linear-gradient(45deg, #222, #555);
    color: white;
    border: 2px solid #ff4444;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 0 15px #ff4444;
}
#bombBtn:hover {
    transform: scale(1.08);
    box-shadow: 0 0 25px #ff0000;
}

/* Lightning button */
#lightningBtn {
    background: linear-gradient(45deg, #111, #444);
    color: #ffe600;
    border: 2px solid #ffe600;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 0 15px #ffe600;
}
#lightningBtn:hover {
    transform: scale(1.08);
    box-shadow: 0 0 25px #ffff66;
}
