body {
    font-family: 'Inter', 'Noto Sans TC', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #FAF6F0; /* 暖色米白背景，呼應原住民族大地色系 */
    -webkit-tap-highlight-color: transparent;
}

/* 原住民族織紋幾何圖樣，作為邊框與視覺重點 */
.tribal-pattern-bar {
    background-color: #D9531E; /* 主色：暖橘紅 */
    background-image: repeating-linear-gradient(45deg,
        transparent, transparent 10px,
        #C2410C 10px, #C2410C 20px,
        transparent 20px, transparent 30px,
        #E27D52 30px, #E27D52 40px
    );
    height: 8px;
    width: 100%;
}

.tribal-pattern-bar--thin {
    height: 4px;
}

/* 菱形圖樣背景，用於頁面主區塊裝飾 */
.tribal-bg-accent {
    background-image: radial-gradient(#d9531e0f 20%, transparent 20%),
                      radial-gradient(#1e5e4e0f 20%, transparent 20%);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
}

.login-header-pattern {
    background-image: radial-gradient(circle at 1px 1px, #177c78 1px, transparent 0);
    background-size: 18px 18px;
}

/* GPS 狀態指示的脈動動畫 */
@keyframes pulse-ring {
    0% { transform: scale(0.33); opacity: 1; }
    80%, 100% { transform: scale(1.2); opacity: 0; }
}

.gps-pulse::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 2px solid #1E5E4E; /* 深青綠色 */
    border-radius: 50%;
    animation: pulse-ring 1.5s cubic-bezier(0.215, 0.610, 0.355, 1) infinite;
}
