/**
 * iHorse.app Combined CSS
 * 合併自: unified-theme.css, new-theme.min.css, watermark.css, mobile-nav.css, mobile-optimizations.css, install-prompt.css
 * 生成時間: 2024-12-27
 * 減少 HTTP 請求數量，提升頁面載入速度
 */

/* ==================== 1. unified-theme.css - 設計系統變數 ==================== */
:root{--brand-primary:#003366;--brand-primary-light:#005B9A;--brand-secondary:#1a5f2a;--brand-secondary-light:#28a745;--color-success:#28a745;--color-warning:#ffc107;--color-danger:#dc3545;--color-info:#17a2b8;--color-white:#ffffff;--color-gray-50:#f8f9fa;--color-gray-100:#f1f3f4;--color-gray-200:#e9ecef;--color-gray-300:#dee2e6;--color-gray-400:#ced4da;--color-gray-500:#adb5bd;--color-gray-600:#6c757d;--color-gray-700:#495057;--color-gray-800:#343a40;--color-gray-900:#212529;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:50px;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 2px 4px rgba(0,0,0,0.06);--shadow-md:0 2px 8px rgba(0,0,0,0.08);--shadow-lg:0 4px 15px rgba(0,0,0,0.12);--shadow-xl:0 8px 25px rgba(0,0,0,0.15);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--font-xs:0.7rem;--font-sm:0.8rem;--font-base:0.85rem;--font-md:0.9rem;--font-lg:1rem;--font-xl:1.15rem;--font-2xl:1.35rem;--font-3xl:1.6rem;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--card-radius:var(--radius-lg);--card-shadow:var(--shadow-md);--card-shadow-hover:var(--shadow-lg);--card-padding:var(--spacing-lg);--card-header-padding:var(--spacing-md) var(--spacing-lg);--btn-radius:var(--radius-md);--btn-radius-pill:var(--radius-pill);--btn-padding:0.6rem 1.2rem;--btn-padding-sm:0.4rem 0.8rem;--btn-padding-lg:0.8rem 1.5rem;--input-radius:var(--radius-md);--input-padding:0.6rem 0.8rem;--input-border:1px solid var(--color-gray-400);--input-focus-shadow:0 0 0 3px rgba(0,91,154,0.15);--table-header-bg:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-light) 100%);--table-row-hover:var(--color-gray-50);--table-border:var(--color-gray-200)}
.u-card{background:var(--color-white);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border:none;overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.u-card:hover{box-shadow:var(--card-shadow-hover)}.u-card-clickable:hover{transform:translateY(-3px);cursor:pointer}.u-card-header{padding:var(--card-header-padding);background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);font-weight:600;font-size:var(--font-base);color:var(--color-gray-800)}.u-card-header-primary{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-light) 100%);color:var(--color-white);border-bottom:none}.u-card-header-secondary{background:linear-gradient(135deg,var(--brand-secondary) 0%,var(--brand-secondary-light) 100%);color:var(--color-white);border-bottom:none}.u-card-header-success{background:var(--color-success);color:var(--color-white);border-bottom:none}.u-card-header-warning{background:var(--color-warning);color:var(--color-gray-900);border-bottom:none}.u-card-header-info{background:var(--color-info);color:var(--color-white);border-bottom:none}.u-card-body{padding:var(--card-padding)}.u-card-body-compact{padding:var(--spacing-md)}.u-card-footer{padding:var(--card-header-padding);background:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.u-card-bordered-left{border-left:4px solid var(--brand-primary)}.u-card-bordered-left-success{border-left:4px solid var(--color-success)}.u-card-bordered-left-warning{border-left:4px solid var(--color-warning)}.u-card-highlight{background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%)}.u-stat-card{background:var(--color-white);border-radius:var(--card-radius);padding:var(--spacing-lg);text-align:center;box-shadow:var(--card-shadow);border:1px solid var(--color-gray-200);transition:transform var(--transition-base),box-shadow var(--transition-base)}.u-stat-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}.u-stat-value{font-size:var(--font-xl);font-weight:700;color:var(--brand-secondary);margin-bottom:var(--spacing-xs);line-height:1.2}.u-stat-label{font-size:var(--font-xs);color:var(--color-gray-600);font-weight:500}.u-stat-hint{font-size:0.65rem;color:var(--color-gray-500);margin-top:var(--spacing-xs)}
.u-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--btn-padding);border-radius:var(--btn-radius);font-weight:600;font-size:var(--font-base);text-decoration:none;border:none;cursor:pointer;transition:all var(--transition-base)}.u-btn:hover{transform:translateY(-2px)}.u-btn:active{transform:translateY(0)}.u-btn-primary{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-light) 100%);color:var(--color-white)}.u-btn-primary:hover{box-shadow:0 4px 12px rgba(0,51,102,0.3);color:var(--color-white)}.u-btn-secondary{background:linear-gradient(135deg,var(--brand-secondary) 0%,var(--brand-secondary-light) 100%);color:var(--color-white)}.u-btn-secondary:hover{box-shadow:0 4px 12px rgba(40,167,69,0.3);color:var(--color-white)}.u-btn-outline{background:transparent;border:2px solid var(--brand-primary);color:var(--brand-primary)}.u-btn-outline:hover{background:var(--brand-primary);color:var(--color-white)}.u-btn-pill{border-radius:var(--btn-radius-pill);padding:0.8rem 2rem}.u-btn-sm{padding:var(--btn-padding-sm);font-size:var(--font-sm)}.u-btn-lg{padding:var(--btn-padding-lg);font-size:var(--font-lg)}
.u-input,.u-select{width:100%;padding:var(--input-padding);border:var(--input-border);border-radius:var(--input-radius);font-size:var(--font-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--color-white)}.u-input:focus,.u-select:focus{outline:none;border-color:var(--brand-primary-light);box-shadow:var(--input-focus-shadow)}.u-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23495057' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.u-table{width:100%;border-collapse:collapse;font-size:var(--font-base)}.u-table th{background:var(--table-header-bg);color:var(--color-white);padding:var(--spacing-md);text-align:left;font-weight:600;white-space:nowrap}.u-table td{padding:var(--spacing-md);border-bottom:1px solid var(--table-border);vertical-align:middle}.u-table tbody tr{transition:background-color var(--transition-fast)}.u-table tbody tr:hover{background:var(--table-row-hover)}.u-table-clickable tbody tr{cursor:pointer}.u-table-clickable tbody tr:hover{background:rgba(0,91,154,0.08)}.u-table-clickable tbody tr:active{background:rgba(0,91,154,0.15)}.u-table-compact th,.u-table-compact td{padding:var(--spacing-sm) var(--spacing-md)}
.u-badge{display:inline-block;padding:0.25rem 0.5rem;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:600;line-height:1}.u-badge-primary{background:var(--brand-primary);color:var(--color-white)}.u-badge-success{background:var(--color-success);color:var(--color-white)}.u-badge-warning{background:var(--color-warning);color:var(--color-gray-900)}.u-badge-danger{background:var(--color-danger);color:var(--color-white)}.u-badge-info{background:var(--color-info);color:var(--color-white)}.u-badge-light{background:var(--color-gray-200);color:var(--color-gray-700)}
.u-section{background:var(--color-white);border-radius:var(--card-radius);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--card-shadow)}.u-section-title{font-size:var(--font-lg);font-weight:600;color:var(--brand-secondary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-gray-200)}
.u-empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-gray-600)}.u-empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-lg);opacity:0.5}.u-empty-state-title{font-size:var(--font-xl);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--spacing-sm)}.u-empty-state-desc{font-size:var(--font-base);max-width:400px;margin:0 auto var(--spacing-lg)}
@media(max-width:767.98px){:root{--card-padding:var(--spacing-md);--card-header-padding:var(--spacing-sm) var(--spacing-md);--font-2xl:1.35rem;--font-3xl:1.5rem}.u-stat-value{font-size:var(--font-xl)}.u-section{padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.u-table th,.u-table td{padding:var(--spacing-sm)}}

/* ==================== 2. new-theme.min.css - 主題樣式 ==================== */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background-color:var(--color-gray-50);color:var(--color-gray-700);line-height:1.6}.navbar{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-light) 100%)!important;box-shadow:var(--shadow-md);padding:1rem 0}.navbar-brand{font-weight:700;font-size:1.3rem;color:var(--color-white)!important;transition:var(--transition-slow)}.navbar-brand:hover{color:var(--color-gray-50)!important;transform:translateY(-2px)}.navbar .nav-link{color:rgba(255,255,255,0.9)!important;font-weight:500;transition:var(--transition-slow);padding:0.5rem 1rem!important}.navbar .nav-link:hover{color:var(--color-white)!important;background-color:rgba(255,255,255,0.1);border-radius:var(--radius-sm)}.navbar .nav-link.active{color:var(--color-white)!important;background-color:rgba(255,255,255,0.15);border-radius:var(--radius-sm)}.nav-tabs .nav-link{color:var(--brand-primary)!important;background-color:transparent}.nav-tabs .nav-link:hover{color:var(--brand-primary-light)!important;background-color:var(--color-gray-50)}.nav-tabs .nav-link.active{color:var(--brand-primary)!important;background-color:var(--color-white);border-color:#dee2e6 #dee2e6 var(--color-white)}.dropdown-menu{border:none;box-shadow:var(--shadow-lg);border-radius:var(--radius-md);padding:0.5rem 0}.dropdown-item{padding:0.6rem 1.5rem;transition:var(--transition-slow)}.dropdown-item:hover{background-color:var(--brand-primary-light);color:var(--color-white)}
.hero-gradient{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-light) 100%);color:var(--color-white);padding:80px 0;text-align:center;position:relative;overflow:hidden}.hero-gradient::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="rgba(255,255,255,0.05)" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,138.7C960,139,1056,117,1152,101.3C1248,85,1344,75,1392,69.3L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>')no-repeat bottom;background-size:cover;opacity:0.3}.hero-gradient h1{font-size:3rem;font-weight:700;margin-bottom:1.5rem;text-shadow:2px 2px 4px rgba(0,0,0,0.2);position:relative;z-index:1}.hero-gradient p{font-size:1.3rem;margin-bottom:2rem;opacity:0.95;position:relative;z-index:1}.hero-cta{display:inline-block;padding:15px 40px;background:var(--color-white);color:var(--brand-primary);border-radius:50px;text-decoration:none;font-weight:600;transition:var(--transition-slow);box-shadow:var(--shadow-md);position:relative;z-index:1}.hero-cta:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--brand-primary);background:var(--color-gray-50)}.hero-cta-secondary{display:inline-block;padding:15px 40px;background:transparent;color:var(--color-white);border:2px solid var(--color-white);border-radius:50px;text-decoration:none;font-weight:600;transition:var(--transition-slow);position:relative;z-index:1;margin-left:1rem}.hero-cta-secondary:hover{background:var(--color-white);color:var(--brand-primary);transform:translateY(-3px)}
.card-hover{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-slow);height:100%;display:flex;flex-direction:column}.card-hover:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-hover img{width:100%;height:220px;object-fit:cover;transition:var(--transition-slow)}.card-hover:hover img{transform:scale(1.05)}.card-hover .card-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.card-hover h3{font-size:1.3rem;font-weight:600;color:var(--brand-primary);margin-bottom:1rem}.card-hover p{color:var(--color-gray-700);line-height:1.6;margin-bottom:1rem;flex-grow:1}.card-hover .card-link{color:var(--brand-primary-light);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:0.5rem;transition:var(--transition-slow)}.card-hover .card-link:hover{color:#007BFF;gap:0.8rem}
.cta-button{display:inline-block;padding:12px 30px;background:var(--brand-primary);color:var(--color-white);border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:var(--transition-slow);box-shadow:var(--shadow-sm);border:none;cursor:pointer}.cta-button:hover{background:var(--brand-primary-light);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.cta-button-outline{background:transparent;border:2px solid var(--brand-primary);color:var(--brand-primary)}.cta-button-outline:hover{background:var(--brand-primary);color:var(--color-white)}.cta-button-large{padding:15px 40px;font-size:1.1rem}.cta-section{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-light) 100%);color:var(--color-white);padding:60px 0;text-align:center;margin:60px 0;border-radius:var(--radius-lg)}.cta-section h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-section p{font-size:1.2rem;margin-bottom:2rem;opacity:0.95}
.feature-box{background:var(--color-white);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;transition:var(--transition-slow);height:100%}.feature-box:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.feature-icon{font-size:3rem;color:var(--brand-primary-light);margin-bottom:1rem}.feature-box h3{font-size:1.3rem;font-weight:600;color:var(--brand-primary);margin-bottom:1rem}.feature-box p{color:var(--color-gray-700);line-height:1.6}
.footer{background:var(--brand-primary);color:var(--color-white);padding:3rem 0 1rem}.footer h5,.footer h6{color:var(--color-white);font-weight:600;margin-bottom:1rem}.footer a{color:rgba(255,255,255,0.7);text-decoration:none;transition:var(--transition-slow)}.footer a:hover{color:var(--color-white)}.footer .list-unstyled li{margin-bottom:0.5rem}
.announcement-ticker{background:linear-gradient(90deg,#ffc107,#ff9800);color:#1a1a1a;overflow:hidden;width:100%;height:36px;display:flex;align-items:center;box-shadow:0 2px 5px rgba(0,0,0,0.1);position:relative;z-index:998}.ticker-content{display:flex;white-space:nowrap;align-items:center;animation:scroll-left 30s linear infinite;will-change:transform}.ticker-text{display:inline-block;padding:0 3rem;font-weight:500;font-size:0.9rem;white-space:nowrap;line-height:36px}@keyframes scroll-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}.announcement-ticker:hover .ticker-content{animation-play-state:paused;cursor:pointer}@media(max-width:768px){.announcement-ticker{height:32px}.ticker-text{padding:0 2rem;font-size:0.85rem;line-height:32px}}@media(max-width:480px){.announcement-ticker{height:28px}.ticker-text{padding:0 1.5rem;font-size:0.8rem;line-height:28px}}
.breadcrumb{background:transparent;padding:0.75rem 0}.breadcrumb-item a{color:var(--brand-primary-light);text-decoration:none;transition:var(--transition-slow)}.breadcrumb-item a:hover{color:var(--brand-primary)}.breadcrumb-item.active{color:var(--color-gray-700)}@media(max-width:768px){.hero-gradient h1{font-size:2rem}.hero-gradient p{font-size:1.1rem}.hero-cta-secondary{margin-left:0;margin-top:1rem;display:block}.cta-section h2{font-size:1.8rem}.cta-section p{font-size:1rem}}img{max-width:100%;height:auto}.img-fluid{border-radius:var(--radius-md)}.lazy-load{opacity:0;transition:opacity 0.3s ease-in}.lazy-loaded{opacity:1}.badge{padding:0.35em 0.65em;font-weight:600;border-radius:var(--radius-sm)}.badge.bg-danger{background-color:var(--color-danger)!important}.btn-group-cta{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin:2rem 0}@media(max-width:576px){.btn-group-cta{flex-direction:column}.btn-group-cta .cta-button{width:100%}}

/* ==================== 3. watermark.css - 水印樣式 ==================== */
.site-watermark{display:flex;position:fixed;top:50%;left:12px;transform:translateY(-50%);background:rgba(255,255,255,0.9);padding:6px 10px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.12);font-weight:600;color:#2c3e50;font-size:10px;align-items:center;gap:4px;z-index:9999;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity 0.3s ease;pointer-events:none;user-select:none}.site-watermark::before{content:"🐎";font-size:12px}@media(max-width:768px){.site-watermark{padding:5px 8px;font-size:8px;border-radius:10px}.site-watermark::before{font-size:10px}}@media(max-width:375px){.site-watermark{left:10px;padding:4px 7px;font-size:7px}.site-watermark::before{font-size:9px}}@media(max-width:320px){.site-watermark{left:8px;padding:4px 6px;font-size:6.5px}.site-watermark::before{font-size:8px}}@media(max-width:768px) and (orientation:landscape){.site-watermark{left:8px;padding:4px 6px;font-size:7px}.site-watermark::before{font-size:8px}}@supports(padding-left:env(safe-area-inset-left)){.site-watermark{left:calc(12px + env(safe-area-inset-left))}@media(max-width:768px){.site-watermark{left:calc(10px + env(safe-area-inset-left))}}}

/* ==================== 4. mobile-nav.css - 手機導航 ==================== */
@media(max-width:991.98px){.navbar-collapse{max-height:calc(100vh - 60px);overflow-y:auto;padding-bottom:20px}.navbar-nav .nav-item{border-bottom:1px solid rgba(255,255,255,0.1)}.navbar-nav .nav-link{padding:12px 15px;font-size:1rem}.navbar-nav .dropdown-menu{background:rgba(0,0,0,0.1);border:none;border-radius:0;padding:0;margin:0}.navbar-nav .dropdown-item{color:rgba(255,255,255,0.9);padding:10px 25px;font-size:0.95rem}.navbar-nav .dropdown-item:hover,.navbar-nav .dropdown-item:focus{background:rgba(255,255,255,0.1);color:white}.navbar-nav .dropdown-divider{border-color:rgba(255,255,255,0.1);margin:5px 15px}.mobile-nav-category{display:block;padding:8px 15px;font-size:0.75rem;font-weight:600;text-transform:uppercase;color:rgba(255,255,255,0.5);letter-spacing:0.5px;background:rgba(0,0,0,0.2)}.mobile-quick-links{display:flex;flex-wrap:wrap;gap:8px;padding:15px;background:rgba(0,0,0,0.15);border-radius:8px;margin:10px 15px}.mobile-quick-links a{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;background:rgba(255,255,255,0.15);color:white;border-radius:20px;font-size:0.85rem;text-decoration:none;transition:background 0.2s}.mobile-quick-links a:hover{background:rgba(255,255,255,0.25)}.mobile-search-box{padding:10px 15px;background:rgba(0,0,0,0.1)}.mobile-search-box .form-control{background:rgba(255,255,255,0.9);border:none;border-radius:20px;padding:10px 15px}.mobile-search-box .btn{border-radius:20px;padding:10px 20px}.navbar-nav .badge{font-size:0.65rem;padding:3px 6px;vertical-align:middle}.mobile-admin-section{margin-top:10px;padding-top:10px;border-top:2px solid rgba(255,255,255,0.2)}.mobile-admin-section .nav-link{color:rgba(255,200,100,0.9)}}@media(min-width:992px){.mobile-only{display:none!important}}@media(max-width:991.98px){.desktop-only{display:none!important}}
.mobile-bottom-nav{display:none}@media(max-width:767.98px){.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:linear-gradient(180deg,#ffffff 0%,#f8f9fa 100%);box-shadow:0 -4px 20px rgba(0,0,0,0.12);z-index:1030;padding:6px 4px;padding-bottom:calc(6px + env(safe-area-inset-bottom));border-top:1px solid rgba(0,0,0,0.05)}.mobile-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;color:#6c757d;text-decoration:none;font-size:0.65rem;font-weight:500;transition:all 0.2s ease;border-radius:10px;margin:0 2px;min-height:52px;position:relative}.mobile-bottom-nav a i{font-size:1.35rem;transition:transform 0.2s ease}.mobile-bottom-nav a span{line-height:1;white-space:nowrap}.mobile-bottom-nav a:hover{color:#003366;background:rgba(0,51,102,0.06)}.mobile-bottom-nav a:hover i{transform:translateY(-2px)}.mobile-bottom-nav a.active{color:#003366;background:linear-gradient(135deg,rgba(0,91,154,0.12) 0%,rgba(0,51,102,0.08) 100%)}.mobile-bottom-nav a.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:3px;background:linear-gradient(90deg,#003366,#005B9A);border-radius:0 0 3px 3px}.mobile-bottom-nav a.active i{transform:scale(1.1)}.mobile-bottom-nav a:active{transform:scale(0.95);background:rgba(0,51,102,0.1)}.mobile-bottom-nav .mobile-nav-logo{justify-content:center}.mobile-bottom-nav .nav-logo-img{width:26px;height:26px;object-fit:contain;transition:transform 0.2s ease}.mobile-bottom-nav .mobile-nav-logo:hover .nav-logo-img{transform:scale(1.1)}.mobile-bottom-nav .mobile-nav-logo.active .nav-logo-img{transform:scale(1.15);filter:drop-shadow(0 2px 4px rgba(0,51,102,0.3))}}@media(max-width:767.98px) and (orientation:landscape){.mobile-bottom-nav{padding:4px 8px}.mobile-bottom-nav a{min-height:44px;padding:4px}.mobile-bottom-nav a i{font-size:1.2rem}.mobile-bottom-nav a span{font-size:0.6rem}}@media(min-width:414px) and (max-width:767.98px){.mobile-bottom-nav a{font-size:0.7rem}.mobile-bottom-nav a i{font-size:1.4rem}}

/* ==================== 5. mobile-optimizations.css - 移動端優化 ==================== */
:root{--mobile-touch-target:28px;--mobile-spacing-xs:var(--spacing-sm,8px);--mobile-spacing-sm:var(--spacing-md,12px);--mobile-spacing-md:var(--spacing-lg,16px);--mobile-spacing-lg:var(--spacing-xl,24px);--mobile-font-base:14px;--mobile-font-sm:13px;--mobile-font-lg:16px;--mobile-font-xs:12px;--mobile-radius:var(--card-radius,12px);--mobile-nav-height:64px;--safe-area-bottom:env(safe-area-inset-bottom,0px)}
@media(max-width:767.98px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-size:var(--mobile-font-base);-webkit-tap-highlight-color:transparent;padding-bottom:calc(var(--mobile-nav-height) + var(--safe-area-bottom) + 10px)}.container,.container-fluid{padding-left:var(--mobile-spacing-md);padding-right:var(--mobile-spacing-md)}a,button,.btn,[role="button"],input[type="submit"],input[type="button"]{min-height:var(--mobile-touch-target);min-width:var(--mobile-touch-target)}.btn{padding:12px 20px;font-size:var(--mobile-font-base);border-radius:var(--mobile-radius)}.btn-sm{padding:10px 16px;font-size:var(--mobile-font-sm);min-height:40px}.btn-lg{padding:14px 24px;font-size:var(--mobile-font-lg)}input,select,textarea{font-size:var(--mobile-font-base)!important;padding:12px 14px;border-radius:var(--mobile-radius);min-height:var(--mobile-touch-target)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23495057' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.card{border-radius:var(--mobile-radius);margin-bottom:var(--mobile-spacing-md);box-shadow:var(--card-shadow,0 2px 8px rgba(0,0,0,0.08))}.card-header{padding:var(--mobile-spacing-md)}.card-body{padding:var(--mobile-spacing-md)}.card-hover{border-radius:var(--mobile-radius)}.card-hover img{height:180px}.u-card{border-radius:var(--mobile-radius);margin-bottom:var(--mobile-spacing-md)}.u-card-body{padding:var(--mobile-spacing-md)}.u-stat-card{padding:var(--mobile-spacing-md)}.u-section{padding:var(--mobile-spacing-md);margin-bottom:var(--mobile-spacing-md)}h1,.h1{font-size:1.5rem}h2,.h2{font-size:1.25rem}h3,.h3{font-size:1.1rem}h4,.h4{font-size:1rem}h5,.h5{font-size:0.9rem}h6,.h6{font-size:0.85rem}.navbar{padding:10px 0}.navbar-brand{font-size:1.1rem;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-toggler{padding:8px 12px;border-radius:8px}.dropdown-item{padding:12px 20px;font-size:var(--mobile-font-base)}.hero-gradient{padding:12px 0 20px!important}.hero-gradient h1{font-size:1.2rem!important;line-height:1.3;margin-bottom:0.5rem!important}.hero-gradient p,.hero-gradient .lead{font-size:0.8rem!important;margin-bottom:0.6rem!important}.btn-group-cta{gap:8px}.btn-group-cta .hero-cta,.btn-group-cta .cta-button{padding:10px 16px;font-size:0.8rem;width:100%;text-align:center}.table-responsive{margin:0 calc(-1 * var(--mobile-spacing-md));padding:0 var(--mobile-spacing-md);-webkit-overflow-scrolling:touch}.table{font-size:var(--mobile-font-xs)}.table th,.table td{padding:8px 6px;white-space:nowrap}.table th{font-size:11px}.clickable-row{cursor:pointer;transition:background-color 0.2s}.clickable-row:active{background-color:rgba(0,123,255,0.15)!important}.list-group-item{padding:14px var(--mobile-spacing-md);font-size:var(--mobile-font-base)}.my-5{margin-top:2rem!important;margin-bottom:2rem!important}.py-5{padding-top:2rem!important;padding-bottom:2rem!important}.mb-5{margin-bottom:2rem!important}.mt-5{margin-top:2rem!important}.footer{padding:1.5rem 0 1rem;margin-bottom:calc(var(--mobile-nav-height) + var(--safe-area-bottom))}.footer .row{gap:1rem}.footer h6{font-size:0.85rem;margin-bottom:0.5rem}.footer .small{font-size:0.75rem}.footer p{font-size:0.75rem}.footer a{font-size:0.75rem}.alert{padding:var(--mobile-spacing-sm);border-radius:var(--mobile-radius);font-size:var(--mobile-font-xs)}.badge{padding:4px 6px;font-size:0.65rem}p,li,span,div{font-size:var(--mobile-font-sm)}.small,small{font-size:var(--mobile-font-xs)!important}.text-muted{font-size:var(--mobile-font-xs)}.input-group{flex-wrap:nowrap}.input-group .form-control{min-height:var(--mobile-touch-target)}.input-group .btn{white-space:nowrap}}
@media(max-width:375px){:root{--mobile-font-base:13px;--mobile-font-sm:12px;--mobile-font-xs:11px;--mobile-spacing-md:10px}.hero-gradient h1{font-size:1.1rem!important}.navbar-brand{font-size:0.95rem;max-width:150px}.btn-group-cta .hero-cta{padding:8px 14px;font-size:0.75rem}.table{font-size:11px}.table th{font-size:10px}}
@media(max-width:767.98px) and (orientation:landscape){.hero-gradient{padding:15px 0 20px}.hero-gradient h1{font-size:1.3rem}.mobile-bottom-nav{padding:6px 0}body{padding-bottom:56px}}
@media(max-width:767.98px){.btn,.card-hover,.list-group-item,.nav-link,.dropdown-item{transition:transform 0.1s ease,background-color 0.15s ease}.btn:active,.card-hover:active{transform:scale(0.98)}.list-group-item:active,.dropdown-item:active{background-color:rgba(0,123,255,0.1)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}
.dashboard-stats-bar{padding:0.5rem 1rem}.dashboard-stats-group{gap:1.5rem}.dashboard-stat-item{gap:0.5rem}.dashboard-stat-item i{font-size:1.2rem}.dashboard-stat-item .stat-value{font-weight:700;font-size:1rem;line-height:1.2}.dashboard-stat-item .stat-label{font-size:0.75rem;color:#6c757d}
@media(max-width:767.98px){.dashboard-stats-bar{padding:0.4rem 0.6rem!important}.dashboard-stats-group{gap:0.6rem!important;flex-wrap:wrap;width:100%;justify-content:space-between}.dashboard-stat-item{gap:0.25rem!important}.dashboard-stat-item i{font-size:0.85rem!important}.dashboard-stat-item .stat-value{font-size:0.8rem!important;font-weight:600}.dashboard-stat-item .stat-label{font-size:0.65rem!important}.dashboard-stats-bar .btn-sm{padding:0.25rem 0.5rem!important;font-size:0.75rem!important;min-height:auto!important;min-width:auto!important}}
@media(max-width:767.98px){body{font-size:14px;line-height:1.5}.card-body{font-size:13px}.card-header{font-size:14px}.card-title{font-size:15px}.form-label{font-size:12px}.form-control,.form-select{font-size:14px!important;padding:8px 10px}.stat-value{font-size:1.1rem!important}.stat-label{font-size:0.7rem!important}.ih-analytics{font-size:13px}.ih-analytics .card h2{font-size:0.95rem}.ih-analytics .stat-value{font-size:1.2rem}.ih-analytics .stat-label{font-size:0.65rem}.ih-analytics .data-table{font-size:11px}.ih-analytics .data-table th{font-size:10px;padding:6px 4px}.ih-analytics .data-table td{padding:5px 4px}.big-bet-analysis{font-size:13px}.big-bet-analysis .card h2{font-size:0.95rem}.race-card-title{font-size:0.9rem!important}.pool-indicator{font-size:0.6rem!important;padding:2px 4px!important}.lead{font-size:0.9rem!important}.text-muted{font-size:12px}.btn{font-size:13px}.btn-sm{font-size:12px;padding:6px 10px}.dropdown-item{font-size:13px;padding:10px 16px}.list-group-item{font-size:13px}.alert{font-size:12px}.alert-heading{font-size:14px}}
@media(max-width:360px){body{font-size:13px}.card-body{font-size:12px;padding:10px}.table{font-size:10px}.table th{font-size:9px;padding:4px 3px}.table td{padding:4px 3px}.btn{font-size:12px;padding:8px 12px}.btn-sm{font-size:11px;padding:5px 8px}h1,.h1{font-size:1.3rem!important}h2,.h2{font-size:1.15rem!important}h3,.h3{font-size:1rem!important}h4,.h4{font-size:0.9rem!important}h5,.h5{font-size:0.85rem!important}h6,.h6{font-size:0.8rem!important}}
.race-nav-container{margin-bottom:0.4rem}.race-nav{display:flex;align-items:center;gap:0.4rem;padding:0.3rem 0.5rem;background:#f8f9fa;border-radius:8px}.race-nav-label{font-weight:600;color:#495057;font-size:0.8rem;white-space:nowrap;flex-shrink:0}.race-nav-buttons{display:flex;gap:0.2rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.race-nav-buttons::-webkit-scrollbar{display:none}.race-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;background:white;color:#495057;text-decoration:none;font-weight:600;font-size:0.9rem;border:1px solid #dee2e6;transition:all 0.15s;flex-shrink:0}.race-nav-btn:hover{background:#e9ecef;color:#1a5f2a;text-decoration:none}.race-nav-btn.active{background:linear-gradient(135deg,#1a5f2a 0%,#28a745 100%);color:white;border-color:transparent}@media(max-width:767px){.race-nav-container{margin-bottom:0.3rem}.race-nav{padding:0.25rem 0.4rem;gap:0.3rem;border-radius:6px}.race-nav-label{font-size:0.8rem}.race-nav-buttons{gap:0.2rem}.race-nav-btn{width:28px;height:28px;padding:0;font-size:0.85rem;border-radius:50%}}@media(max-width:480px){.race-nav{gap:0.15rem;padding:0.15rem 0.25rem}.race-nav-label{font-size:0.7rem}.race-nav-buttons{gap:0.1rem}.race-nav-btn{width:26px;height:26px;padding:0;font-size:0.8rem;border-radius:50%}}
@media(max-width:767.98px){.ih-detail-card{margin:0 -8px;border-radius:8px}.ih-detail-card .card-body{padding:8px!important}.ih-detail-card .card-title{font-size:0.85rem!important;margin-bottom:8px!important}.ih-score-item{padding:8px!important}.ih-score-label{font-size:0.75rem!important}.ih-score-item .badge{font-size:0.7rem!important;padding:3px 6px!important}.ih-score-item .progress{height:5px!important}.ih-score-desc{font-size:0.65rem!important;line-height:1.3;display:block}.ih-summary{padding:8px!important;font-size:0.8rem}.ih-summary strong{font-size:0.75rem}.ih-summary .badge{font-size:0.75rem!important}.ih-detail-card .row.g-2{--bs-gutter-x:0.4rem;--bs-gutter-y:0.4rem}}@media(max-width:375px){.ih-detail-card .card-title{font-size:0.8rem!important}.ih-score-label{font-size:0.7rem!important}.ih-score-item .badge{font-size:0.65rem!important;padding:2px 5px!important}.ih-score-desc{font-size:0.6rem!important}.ih-summary{font-size:0.75rem}.ih-summary strong{font-size:0.7rem}}

/* ==================== 6. install-prompt.css - 安裝提示 ==================== */
.install-prompt{position:fixed;bottom:70px;left:10px;right:10px;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:white;padding:12px 16px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.25);z-index:1050;display:none;animation:slideUp 0.3s ease-out}.install-prompt.show{display:flex;align-items:center;gap:12px}@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt-icon{width:48px;height:48px;border-radius:10px;background:white;display:flex;align-items:center;justify-content:center;flex-shrink:0}.install-prompt-icon img{width:36px;height:36px}.install-prompt-content{flex:1;min-width:0}.install-prompt-title{font-weight:600;font-size:14px;margin-bottom:2px}.install-prompt-text{font-size:12px;opacity:0.9;line-height:1.3}.install-prompt-actions{display:flex;gap:8px;flex-shrink:0}.install-prompt-btn{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all 0.2s}.install-prompt-btn-primary{background:white;color:#007bff}.install-prompt-btn-primary:hover{background:#f0f0f0}.install-prompt-close{background:transparent;color:white;opacity:0.8;padding:8px}.install-prompt-close:hover{opacity:1}.ios-install-guide{position:fixed;bottom:0;left:0;right:0;background:white;padding:20px;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,0.15);z-index:1060;display:none}.ios-install-guide.show{display:block;animation:slideUp 0.3s ease-out}.ios-install-guide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ios-install-guide-title{font-weight:600;font-size:16px;color:#333}.ios-install-guide-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer}.ios-install-steps{display:flex;flex-direction:column;gap:12px}.ios-install-step{display:flex;align-items:center;gap:12px;padding:10px;background:#f8f9fa;border-radius:8px}.ios-install-step-number{width:24px;height:24px;background:#007bff;color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.ios-install-step-text{font-size:14px;color:#333}.ios-install-step-icon{font-size:18px;color:#007bff}.install-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:1055;display:none}.install-overlay.show{display:block}@media(min-width:992px){.install-prompt,.ios-install-guide{display:none!important}}
