﻿.dot-spinner {
    display: flex;
    gap: 10px;
}

.dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    animation: dot-bounce 0.5s infinite alternate;
}

    .dot:nth-child(2) {
        animation-delay: 0.2s;
    }

    .dot:nth-child(3) {
        animation-delay: 0.4s;
    }


@keyframes dot-bounce {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-10px);
    }
}

.circle-spinner {
    width: 30px;
    height: 30px;
    border: 4px solid #ddd; /* 外框色 */
    border-top-color: #3498db; /* 上半部顏色 */
    border-radius: 50%;
    animation: circle-spin 1s linear infinite;
    margin: auto; /* 置中用 */
}

@keyframes circle-spin {
    to {
        transform: rotate(360deg);
    }
}

@media print {
    .noprint {
        display: none !important;
    }
}

@media print {
    @page {
        size: A4 portrait; /* 可使用: A4, A3, Letter, Legal */
        margin: 10mm; /* 邊界間距 */
    }
}

.text-purple {
    color: #6f42c1 !important; /* Bootstrap 5 的紫色變數值 */
}

.text-orage {
    color: #ff8800 !important;
}

.hover-box {
    cursor: pointer;
}

    .hover-box:hover {
        background: linear-gradient(180deg, #f7f7f7, #fefefe);
        border-radius: 4px;
        transform: translateY(-1px);
        box-shadow: 0 6px 18px rgba(0,0,0,0.04);
    }


.hidden {
    position: absolute !important;
    width: 0px;
    height: 0px;
    margin: 0px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
    display: none !important;
}

.header-height {
    height: 38px;
    display: inline-flex;
    align-items: center;
}