        /* === GitHub Primer design tokens === */
        :root {
            --gh-canvas: #ffffff;
            --gh-canvas-subtle: #f6f8fa;
            --gh-border-default: #d0d7de;
            --gh-border-muted: #d8dee4;
            --gh-border-subtle: rgba(31, 35, 40, 0.15);
            --gh-fg-default: #1f2328;
            --gh-fg-muted: #59636e;
            --gh-fg-subtle: #6e7781;
            --gh-fg-on-emphasis: #ffffff;
            --gh-accent-fg: #0969da;
            --gh-accent-emphasis: #0969da;
            --gh-accent-muted: rgba(9, 105, 218, 0.3);
            --gh-accent-subtle: #ddf4ff;
            --gh-success-emphasis: #1f883d;
            --gh-success-fg: #1a7f37;
            --gh-success-subtle: #dafbe1;
            --gh-danger-emphasis: #cf222e;
            --gh-shadow-sm: 0 1px 0 rgba(31, 35, 40, 0.04);
            --gh-shadow-md: 0 16px 32px rgba(31, 35, 40, 0.18);
        }

        /* === Body: system font + canvas-subtle bg === */
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" !important;
            background-color: var(--gh-canvas-subtle) !important;
            color: var(--gh-fg-default) !important;
            font-size: 14px;
            line-height: 1.5;
        }

        /* === Cards: white panels, sharp border, no shadow === */
        .bg-white.p-6.rounded-2xl,
        .bg-white.p-8.rounded-2xl {
            background: var(--gh-canvas) !important;
            border: 1px solid var(--gh-border-default) !important;
            border-radius: 6px !important;
            box-shadow: var(--gh-shadow-sm) !important;
            padding: 16px !important;
        }

        /* === Card hover: subtle accent border + focus ring (no translate, no shadow grow) === */
        a.bg-white.p-6.rounded-2xl:hover,
        a.bg-white.p-6.rounded-2xl:focus-visible {
            border-color: var(--gh-accent-fg) !important;
            box-shadow: 0 0 0 3px var(--gh-accent-muted) !important;
            transform: none !important;
        }

        /* === Hide AI-slop floating decoration circle in cards === */
        .absolute.top-0.right-0.-mt-4.-mr-4.w-24.h-24.bg-blue-50.rounded-full {
            display: none !important;
        }

        /* === Kanban drag styles === */
        .kanban-drop-zone.drag-over {
            background: rgba(9, 105, 218, 0.08) !important;
            border-radius: 8px;
            min-height: 60px;
        }
        .kanban-column {
            min-height: 80px;
        }

        /* === Icon box: accent-subtle bg + 6px radius (no rounded-xl) === */
        .w-12.h-12.bg-blue-50.rounded-xl {
            background: var(--gh-accent-subtle) !important;
            border-radius: 6px !important;
        }

        /* === Form controls: GitHub Primer input style === */
        input[type="text"], input[type="number"], input[type="email"],
        input[type="password"], input[type="search"], input[type="tel"],
        select, textarea {
            background: var(--gh-canvas) !important;
            border: 1px solid var(--gh-border-default) !important;
            border-radius: 6px !important;
            box-shadow: var(--gh-shadow-sm) !important;
            padding: 5px 12px !important;
            font-size: 14px !important;
            line-height: 20px !important;
            color: var(--gh-fg-default) !important;
            transition: border-color 0.12s ease-in-out, box-shadow 0.12s ease-in-out !important;
        }
        input:focus, select:focus, textarea:focus {
            border-color: var(--gh-accent-fg) !important;
            box-shadow: 0 0 0 3px var(--gh-accent-muted) !important;
            outline: none !important;
        }
        input::placeholder, textarea::placeholder { color: var(--gh-fg-subtle) !important; }

        /* === Buttons === */
        .gh-btn {
            font-family: inherit;
            font-weight: 500;
            border-radius: 6px;
            padding: 5px 16px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: background 0.12s ease-in-out, border-color 0.12s ease-in-out;
            border: 1px solid var(--gh-border-subtle);
            box-shadow: var(--gh-shadow-sm);
            font-size: 14px;
            line-height: 20px;
        }
        .gh-btn:disabled { cursor: not-allowed; opacity: 0.55; }
        .gh-btn-primary { background: var(--gh-success-emphasis); color: var(--gh-fg-on-emphasis); }
        .gh-btn-primary:hover { background: var(--gh-success-fg); }
        .gh-btn-secondary { background: var(--gh-canvas); color: var(--gh-fg-default); }
        .gh-btn-secondary:hover { background: var(--gh-canvas-subtle); }
        .gh-btn-large { padding: 7px 16px; font-weight: 600; }

        /* === gh-btn 變體回填（PS2-2026-067-T05，由 kanboard_preview 驗收版回填） === */
        .gh-btn-accent { background: var(--gh-accent-emphasis, #0969da); color: var(--gh-fg-on-emphasis, #fff); }
        .gh-btn-accent:hover { background: #0860c4; }
        .gh-btn-danger { background: var(--gh-danger-emphasis, #cf222e); color: var(--gh-fg-on-emphasis, #fff); }
        .gh-btn-danger:hover { background: #a40e26; }
        .gh-btn-icon { width: 32px; height: 32px; padding: 0; background: var(--gh-canvas, #fff); color: var(--gh-fg-muted, #59636e); border: 1px solid var(--gh-border-default, #d0d7de); border-radius: 6px; }
        .gh-btn-icon:hover { background: var(--gh-canvas-subtle, #f6f8fa); color: var(--gh-fg-default, #1f2328); }
        /* 下拉選單項目：以 gh-btn 為底但移除外框/陰影（視覺為選單列） */
        .gh-dropdown-item { border-color: transparent !important; box-shadow: none !important; justify-content: flex-start !important; }
        .gh-dropdown-item:hover { background: var(--gh-canvas-subtle, #f6f8fa) !important; }
        /* 頁籤按鈕 */
        .gh-tab-btn { border-color: transparent !important; box-shadow: none !important; }

        /* === Text colors: GitHub fg scale === */
        .text-gray-800 { color: var(--gh-fg-default) !important; }
        .text-gray-700 { color: var(--gh-fg-default) !important; }
        .text-gray-600 { color: var(--gh-fg-muted) !important; }
        .text-gray-500 { color: var(--gh-fg-muted) !important; }
        .text-gray-400 { color: var(--gh-fg-subtle) !important; }
        .text-blue-700 { color: var(--gh-accent-fg) !important; }
        .text-blue-100, .text-blue-200, .text-blue-600 { color: var(--gh-accent-fg) !important; }
        .text-green-600 { color: var(--gh-success-emphasis) !important; }
        .text-red-500, .text-red-600, .text-red-700 { color: var(--gh-danger-emphasis) !important; }
        .border-gray-100, .border-gray-200, .border-gray-300 { border-color: var(--gh-border-default) !important; }
        .bg-blue-50 { background: var(--gh-accent-subtle) !important; }

        /* === Modal: GitHub dialog style (flat panel with strong shadow) === */
        .bg-white.rounded-2xl.shadow-2xl {
            background: var(--gh-canvas) !important;
            border: 1px solid var(--gh-border-default) !important;
            border-radius: 6px !important;
            box-shadow: var(--gh-shadow-md) !important;
        }

        /* === member kanban list-view table (表頭凍結 sticky thead) === */
        #member-kanban-list-view table {
            border-collapse: separate !important;
            border-spacing: 0 !important;
        }
        #member-kanban-list-view thead th {
            position: -webkit-sticky !important;
            position: sticky !important;
            top: 0 !important;
            z-index: 5 !important;
            background-color: var(--gh-canvas-subtle, #f6f8fa) !important;
            box-shadow: inset 0 -1px 0 var(--gh-border-default, #d0d7de) !important;
            white-space: nowrap !important;
        }
        #member-kanban-list-view tbody td {
            white-space: nowrap;
            border-bottom: 1px solid var(--gh-border-subtle, #eaeef2);
        }
        #member-kanban-list-view th.sortable-kb { cursor: pointer; user-select: none; }
        #member-kanban-list-view th.sortable-kb:hover { color: var(--gh-accent-fg) !important; }
        #member-kanban-list-view th.sortable-kb .sort-ind { display: inline-block; margin-left: 4px; font-size: 10px; }

        /* === 手機版列表視圖頂部安全間距（防 sticky toolbar 折行遮擋） === */
        #member-kanban-list-view {
            padding-top: 8px;
        }
        @media (max-width: 639px) {
            #member-kanban-list-view {
                padding-top: 12px;
                scroll-margin-top: 160px; /* 若錨點滾動防止被 toolbar 蓋住 */
            }
        }

        /* === member kanban sticky toolbar === */
        #member-kanban-toolbar {
            background: var(--gh-canvas-subtle, #f6f8fa);
            box-shadow: 0 1px 3px rgba(0,0,0,0.05);
        }

        /* === 舊瀏覽器 sticky 與頂部偏移 fallback 兜底樣式 === */
        #member-kanban-toolbar,
        .sticky-toolbar,
        header.sticky,
        [class*="top-[49px]"] {
            position: -webkit-sticky !important;
            position: sticky !important;
            top: 48px !important; /* 舊瀏覽器相容 fallback */
            top: 49px !important;
            box-sizing: border-box !important;
        }

        /* === 內容容器防外邊距塌陷（Margin Collapse）=== */
        #member-kanban-view,
        #member-kanban-board-view,
        #member-kanban-list-view {
            overflow: visible;
        }

        /* === PS2-2026-067: DESIGN.md 語意色變數補充 === */
        :root {
            --gh-danger-subtle: #ffebe9;
            --gh-attention-fg: #9a6700;
            --gh-attention-subtle: #fff8c5;
            --gh-neutral-subtle: #eaeef2;
        }

        /* === gh-badge 徽章家族（膠囊形 rounded-full） === */
        .gh-badge {
            display: inline-flex;
            align-items: center;
            font-size: 12px;
            font-weight: 600;
            line-height: 1.5;
            border-radius: 9999px;
            padding: 2px 10px;
        }
        .gh-badge-success  { background: var(--gh-success-subtle, #dafbe1);  color: var(--gh-success-fg, #1a7f37); }
        .gh-badge-danger   { background: var(--gh-danger-subtle, #ffebe9);   color: var(--gh-danger-emphasis, #cf222e); }
        .gh-badge-attention{ background: var(--gh-attention-subtle, #fff8c5); color: var(--gh-attention-fg, #9a6700); }
        .gh-badge-accent   { background: var(--gh-accent-subtle, #ddf4ff);   color: var(--gh-accent-fg, #0969da); }
        .gh-badge-neutral  { background: var(--gh-neutral-subtle, #eaeef2);  color: var(--gh-fg-muted, #59636e); }
