/* 學習之星全站樣式（由模板抽出） */

    /* Apple Pay / Google Pay 原生錢包按鈕（與 PayPal 主按鈕同高 45px 膠囊形） */
    apple-pay-button {
      --apple-pay-button-width: 100%;
      --apple-pay-button-height: 45px;
      --apple-pay-button-border-radius: 9999px;
      display: block;
      cursor: pointer;
    }
    #paypal-btn-googlepay button {
      width: 100% !important;
      height: 45px !important;
      border-radius: 9999px !important;
    }
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');
    body { font-family: 'Noto Sans TC', sans-serif; font-size: 15px; font-weight: 500; }
    /* 全站文字放大，提升可讀性 */
    html body .text-xs { font-size: 13px !important; }
    html body .text-sm { font-size: 15px !important; }
    html body .text-\[11px\] { font-size: 12px !important; }
    html body .text-\[10px\] { font-size: 11px !important; }
    /* 全站字重提升一級，文字更清晰有力 */
    html body .font-normal { font-weight: 500 !important; }
    html body .font-medium { font-weight: 600 !important; }
    html body .font-semibold { font-weight: 700 !important; }
    html body .font-bold { font-weight: 800 !important; }
    html body .font-extrabold { font-weight: 800 !important; }
    .ql-container { font-size: 14px; }
    .ql-editor { min-height: 140px; }
    .ql-toolbar.ql-snow { border-radius: 0.75rem 0.75rem 0 0; border-color: #cbd5e1; }
    .ql-container.ql-snow { border-radius: 0 0 0.75rem 0.75rem; border-color: #cbd5e1; }
    .resource-description ul, .resource-description ol { padding-left: 1.5rem; margin: 0.5rem 0; }
    .resource-description ul { list-style: disc; }
    .resource-description ol { list-style: decimal; }
    .resource-description p { margin: 0.4rem 0; }
    .resource-description h1, .resource-description h2, .resource-description h3 { font-weight: 700; margin: 0.6rem 0; }
    .resource-description h1 { font-size: 1.5rem; }
    .resource-description h2 { font-size: 1.25rem; }
    .resource-description h3 { font-size: 1.1rem; }
    .resource-description a { color: #4f46e5; text-decoration: underline; }
    .resource-description blockquote { border-left: 4px solid #cbd5e1; padding-left: 1rem; color: #64748b; margin: 0.5rem 0; }
    .admin-nav-item { color: #475569; }
    .admin-nav-item:hover { background: #f1f5f9; }
    .admin-nav-item.active { background: #eef2ff; color: #4338ca; font-weight: 600; }
    /* 虛擬店鋪每日筆數：加寬並隱藏數字微調按鈕，避免數字被遮住 */
    .vp-num { width: 5.5rem; min-width: 5.5rem; text-align: center; padding-left: .35rem; padding-right: .35rem; -moz-appearance: textfield; appearance: textfield; }
    .vp-num::-webkit-outer-spin-button, .vp-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    .settings-nav-item { display: flex; align-items: center; gap: .5rem; padding: .55rem .8rem; border-radius: .75rem; font-size: .8rem; font-weight: 500; color: #475569; white-space: nowrap; transition: .2s; text-align: left; }
    .settings-nav-item:hover { background: #f1f5f9; }
    .settings-nav-item.active { background: #eef2ff; color: #4338ca; font-weight: 700; }
    .profile-nav-item { color: #475569; }
    .profile-nav-item:hover { background: #f1f5f9; }
    .profile-nav-item.active { background: #eef2ff; color: #4338ca; font-weight: 600; }
    /* 資源發布／編輯頁：放大整體文字，提升可讀性 */
    #view-publish { font-size: 15px; }
    #view-publish label { font-size: 14px; }
    #view-publish input:not([type="file"]):not([type="hidden"]),
    #view-publish select,
    #view-publish textarea { font-size: 15px; }
    #view-publish .text-xs { font-size: 13px; }
    #view-publish .text-\[11px\] { font-size: 12px; }
    #view-publish .text-\[10px\] { font-size: 11px; }
    #view-publish .file\:text-xs::file-selector-button { font-size: 13px; }
    #view-publish .ql-editor { font-size: 15px; }
    #view-publish .ql-toolbar { font-size: 14px; }
    /* 資源來源選項卡 */
    .source-tab { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border-radius: .7rem; font-size: 14px; font-weight: 600; color: #475569; transition: .2s; }
    .source-tab:hover { background: #eef2ff; color: #4338ca; }
    .source-tab.active { background: #fff; color: #4338ca; box-shadow: 0 1px 3px rgba(15, 23, 42, .08); }
    /* 導覽列分類下拉 */
    .nav-dropdown summary::-webkit-details-marker { display: none; }
    .nav-dropdown summary { list-style: none; }
    .nav-dropdown[open] > summary { background: #eef2ff; color: #4338ca; }
    /* 行動端橫向滑動列 */
    .mobile-cat-scroll { -ms-overflow-style: none; scrollbar-width: none; }
    .mobile-cat-scroll::-webkit-scrollbar { display: none; }
    html { scroll-behavior: smooth; }
    @keyframes cartFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
    .cart-fade { animation: cartFade .2s ease; }
    /* 資源頁購買動態：垂直逐條滾動 */
    .buy-ticker-list { transition: transform .45s ease; will-change: transform; }

      html { scroll-behavior: smooth; }
      .no-scrollbar::-webkit-scrollbar { display: none; }
      .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

      #page-editor { min-height: 360px; background: #fff; border-radius: 0 0 .75rem .75rem; }
      #page-editor .ql-editor { min-height: 360px; font-size: 15px; line-height: 1.8; }
      .ql-toolbar.ql-snow { border-color: #cbd5e1; border-radius: .75rem .75rem 0 0; }
      .ql-container.ql-snow { border-color: #cbd5e1; }

      .article-body { line-height: 1.9; color: #334155; font-size: 15px; word-break: break-word; }
      .article-body h1, .article-body h2, .article-body h3 { font-weight: 800; color: #0f172a; margin: 1.2em 0 .5em; }
      .article-body h1 { font-size: 1.6rem; }
      .article-body h2 { font-size: 1.35rem; }
      .article-body h3 { font-size: 1.15rem; }
      .article-body p { margin: .75em 0; }
      .article-body ul { list-style: disc; padding-left: 1.5em; margin: .75em 0; }
      .article-body ol { list-style: decimal; padding-left: 1.5em; margin: .75em 0; }
      .article-body blockquote { border-left: 3px solid #c7d2fe; background: #eef2ff; padding: .6em 1em; margin: 1em 0; color: #475569; }
      .article-body pre { background: #0f172a; color: #e2e8f0; padding: 1em; border-radius: .75rem; overflow-x: auto; }
      .article-body img { max-width: 100%; height: auto; border-radius: .75rem; margin: 1em 0; }
      .article-body a { color: #4f46e5; text-decoration: underline; }

          #article-editor { min-height: 320px; background: #fff; border-radius: 0 0 .75rem .75rem; }
          #article-editor .ql-editor { min-height: 320px; font-size: 15px; line-height: 1.8; }
          .ql-toolbar.ql-snow { border-color: #cbd5e1; border-radius: .75rem .75rem 0 0; }
          .ql-container.ql-snow { border-color: #cbd5e1; }
