body {
    background-color: #1a1a1a;
    color: #e5e5e5;
}

.grid-stack-item-content {
    background-color: #262626 !important;
    border: 1px solid #404040;
    border-radius: 8px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
    transition: border-color 0.2s;
    position: absolute !important;
    top: 10px !important;
    bottom: 10px !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    height: auto !important;
}

.grid-stack-item-content:hover {
    border-color: #525252;
}

.grid-stack-item-content:hover .remove-btn {
    opacity: 1;
}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1a1a1a; }
::-webkit-scrollbar-thumb { background: #444; border-radius: 4px; }

.widget-container {
    container-type: size;
    height: 100%;
    width: 100%;
}

.responsive-symbol {
    font-size: clamp(14px, 15cqmin, 100px);
    line-height: 1.2;
}

.responsive-price {
    font-size: clamp(24px, 30cqmin, 200px);
    line-height: 1;
    padding: 0 4px;
    border-radius: 4px;
}

.responsive-detail {
    font-size: clamp(10px, 10cqmin, 60px);
    line-height: 1.2;
}

/* --- FLASH ANIMATIONS --- */
@keyframes flashGreen {
    0% { background-color: rgba(74, 222, 128, 0.5); color: white; }
    100% { background-color: transparent; }
}
@keyframes flashRed {
    0% { background-color: rgba(248, 113, 113, 0.5); color: white; }
    100% { background-color: transparent; }
}

.flash-up {
    animation: flashGreen 0.7s ease-out;
}
.flash-down {
    animation: flashRed 0.7s ease-out;
}