一键导入
mic-ui-style
MIC 網站的完整視覺風格參照手冊。涵蓋設計令牌(Design Tokens)、色彩系統、字體排版、間距尺度、陰影層級、動畫系統、元件樣式模板、響應式斷點規則。建立新頁面、新元件或修改 UI 時必須參照此 Skill,確保視覺一致性。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
MIC 網站的完整視覺風格參照手冊。涵蓋設計令牌(Design Tokens)、色彩系統、字體排版、間距尺度、陰影層級、動畫系統、元件樣式模板、響應式斷點規則。建立新頁面、新元件或修改 UI 時必須參照此 Skill,確保視覺一致性。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when building any new page or feature in the MIC (lego) project that includes interactive UI patterns — expand/collapse, download, save/favorite, copy link, filter, search, tabs, modals, loading states, or empty states. Ensures every page uses the same icons, interaction logic, and UX conventions across the entire site.
Use when building features, fixing bugs, adding pages, or modifying UI in the MIC (lego) project. Covers component structure, CSS conventions, data layer patterns, i18n, routing, and responsive design for this Next.js static-export financial dashboard.
Use when building features, fixing bugs, adding pages, or modifying UI in the MIC (lego) project. Covers component structure, CSS conventions, design tokens, data layer patterns, i18n, routing, state management, and responsive design for this Next.js static-export financial dashboard.
| name | mic-ui-style |
| description | MIC 網站的完整視覺風格參照手冊。涵蓋設計令牌(Design Tokens)、色彩系統、字體排版、間距尺度、陰影層級、動畫系統、元件樣式模板、響應式斷點規則。建立新頁面、新元件或修改 UI 時必須參照此 Skill,確保視覺一致性。 |
MIC 金融資訊儀表板的完整視覺風格體系——從 app/globals.css(17,000+ 行)中提煉而成的可反覆參照規範。
Flat · Professional · Data-Dense
| 項目 | 值 |
|---|---|
| 框架 | Next.js 14 (Static Export) |
| CSS 策略 | 單一 app/globals.css,vanilla CSS |
| CSS 變數 | :root 中定義 15+ 設計令牌 |
| 元件命名 | Feature-prefixed kebab-case(如 .cp-card、.pr-timeline) |
| 響應式 | Desktop-first,主斷點 768px / 480px |
| 字型 | System font stack + Noto Sans TC |
:root {
/* 底色 */
--c-dark: #1a2332; /* Sidebar 深色背景 */
--c-dark-2: #111827; /* 更深底色 */
--c-white: #ffffff; /* Card、主背景 */
--c-bg: #f3f4f6; /* 淺灰背景(交替行、input 背景) */
/* 文字層級(由深到淺) */
--c-text: #111827; /* 主文字 */
--c-text-2: #374151; /* 次要文字 */
--c-text-3: #6b7280; /* 第三層文字(灰色) */
--c-text-4: #9ca3af; /* 最淡文字(placeholder、disabled) */
/* 邊框 */
--c-border: #e5e7eb; /* 標準邊框 */
--c-border-2: #d1d5db; /* 較深邊框(focus、hover) */
/* 語意色彩 */
--c-accent: #4fc3f7; /* 主強調色(cyan blue) */
--c-orange: #ea580c; /* 警告 / 次要動作 */
--c-pos: #16a34a; /* 正向(漲、增、綠) */
--c-neg: #dc2626; /* 負向(跌、減、紅) */
--c-btn-active: #374151; /* 按鈕 active 態 */
}
| 色碼 | 用途 |
|---|---|
#1e66f5 | Coming Soon 徽章 |
#bf3030 / rgb(191,48,48) | NEW 徽章、Banner 警告底色 |
#f59e0b | 星號(收藏、已加入) |
rgba(79,195,247,0.17) → rgba(79,195,247,0.04) | Sidebar active 漸層 |
rgba(0,0,0,0.45) | Mobile overlay 遮罩 |
rgba(255,255,255,0.08) ~ 0.62 | Sidebar 內白色文字 / icon 透明度 |
--radius-sm: 4px; /* 小元素:input、小按鈕、badge */
--radius: 8px; /* 標準元件:card、dropdown、modal */
--radius-lg: 10px; /* 大卡片、日曆格 */
特殊圓角:18px(pill input)、20px(pill button)、50%(圓形頭像)、4px 16px 16px 16px(聊天氣泡)
--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", sans-serif;
| 尺寸 | 用途 | 字重 |
|---|---|---|
| 9–9.5px | 眉標(eyebrow)、section label | 700–800 + letter-spacing: 0.08–0.14em + text-transform: uppercase |
| 10–10.5px | Badge、腳註、dropdown 分類 | 600–800 |
| 11–11.5px | 次要文字、表格欄位、sidebar 連結 | 400–500 |
| 12–12.5px | 表格資料、按鈕文字 | 400–500 |
| 13–13.5px | 主體文字、搜尋輸入框 | 400 |
| 15px | 區塊標題 | 600–700 |
| 21px | Logo | 700 + letter-spacing: -0.5px |
| 22–48px | 頁面大標題(特殊頁面) | 700–800 |
行高:1(緊湊 badge)、1.1(標題)、1.5(內文預設)、1.6(多行標籤)
elevation-0: 無陰影
elevation-1: 0 1px 4px rgba(0,0,0,0.05) — 微浮(靜態)
elevation-2: 0 1px 6px rgba(0,0,0,0.07) — Input、小 dropdown
elevation-3: 0 2px 8px rgba(0,0,0,0.06) — Card hover
elevation-4: 0 4px 12px rgba(0,0,0,0.10) — 標準 Card
elevation-5: 0 4px 16px rgba(0,0,0,0.10) — Dropdown、popover
elevation-6: 0 8px 24px rgba(0,0,0,0.10) — Modal
elevation-7: 0 12px 48px rgba(0,0,0,0.22) — 浮動面板
elevation-8: 0 20px 60px rgba(0,0,0,0.35) — 全屏 modal
Focus ring:0 0 0 2px rgba(79,195,247,0.18)(accent 色 ring)
Glow(語意):0 0 10px rgba(22,163,74,0.55)(綠)/ rgba(220,38,38,0.55)(紅)/ rgba(202,138,4,0.55)(黃)
| 層級 | 元件 |
|---|---|
| 0–2 | 堆疊卡片、表單元素 |
| 10–50 | 日曆 / 表格內部 |
| 100 | Sidebar overlay |
| 200 | TopNav、Dropdown |
| 300 | 子選單 |
| 400–500 | Modal、搜尋面板 |
| 600 | 通知面板 |
| 800 | Mobile sidebar |
| 900–1000 | Watchlist modal、AI Chatbot |
| 1200 | Chatbot(最高常規層) |
| 時長 | 用途 | 備註 |
|---|---|---|
0.12s | 快速反饋(hover 色變) | ease |
0.15s | 標準過渡(最常用) | background, color, border-color |
0.18s | Modal 進場 | ease |
0.22s | Sidebar 收合 / Panel 滑入 | ease |
0.28s | Mobile drawer 滑入 | cubic-bezier(0.4, 0, 0.2, 1) |
| 名稱 | 效果 | 時長 |
|---|---|---|
chatbot-slide-in | 右側滑入 + 淡入 | 0.22s ease |
chatbot-dot-bounce | 三點載入動畫 | 1.2s infinite(stagger 0.2s) |
wl-modal-in | 縮放 + 上移淡入 | 0.18s ease |
rmapPanelIn | 左側滑入 | 0.18s ease |
de-panel-slide-in | 右側滑入 | 0.22s ease |
pr-stack-expand-in | 縮放 + 位移展開 | 0.15s ease-out |
is-cursor-blink | 游標閃爍 | 1.1s step-end infinite |
@media (max-width: 1600px) { /* 大螢幕微調 */ }
@media (max-width: 1400px) { /* 網格降為 2 欄 */ }
@media (max-width: 1100px) { /* 單欄佈局 */ }
@media (max-width: 900px) { /* 平板模式 */ }
@media (max-width: 768px) { /* ★ 主要斷點:sidebar 變 drawer */ }
@media (max-width: 480px) { /* ★ 手機:緊湊間距 */ }
position: fixed; left: -260px,.mobile-open 滑入.sidebar-overlay → rgba(0,0,0,0.45)left 0.28s cubic-bezier(0.4, 0, 0.2, 1)詳見 references 子文件:
| 主題 | 檔案 |
|---|---|
| 設計令牌完整規格 | references/design-tokens.md |
| 可複製的元件樣式模板 | references/component-patterns.md |
| 動畫與過渡完整規格 | references/animation-system.md |
| 響應式規則與斷點行為 | references/responsive-system.md |
1. :root 設計令牌
2. 全域 Reset & 基礎排版
3. TopNav(~58px)
4. Search Dropdown
5. Banner Carousel
6. App Body & Sidebar
7. Main Content
8. ——— 各功能區塊(按新增順序排列)———
9. Calendar → Week/Month Grid → Detail
10. AI Chatbot
11. Watchlist → Company Profile → Supply Chain
12. Financial → Press Release → Collaboration
13. Data Explore → User Manual → Intelligence Search
14. Knowledge Graph
15. ——— 響應式區塊(最末端)———
16. @media (max-width: 768px) { ... }
17. @media (max-width: 480px) { ... }
/* ===== FEATURE NAME ===== */ 開頭.fn-card、.fn-grid)@media 區塊內.{prefix}-{component} → .cp-card, .de-panel
.{prefix}-{component}-{element} → .cp-card-title, .de-panel-header
.{prefix}-{component}--{mod} → .pr-card--compact
.{component}.{state} → .toggle-btn.active, .week-cell.selected
| 功能 | Prefix |
|---|---|
| TopNav | topnav- |
| Sidebar | sidebar- |
| Calendar | cal- / week- / month- |
| Company Profile | cp- |
| Press Release | pr- |
| Collaboration | pg- |
| Data Explore | de- |
| Financial Statement | fin-stmt- |
| Supply Chain | rmap- |
| M&A | aapl-ma- |
| Watchlist | cwl- / wl- |
| Chatbot | chatbot- |
| Knowledge Graph | kg- |
| Intelligence Search | is- |
viewBox="0 0 14 14"stroke="currentColor",strokeWidth="1.3",無 fillapp/data/navigation.ts 中以 SVG path string 儲存dangerouslySetInnerHTML={{ __html: iconPath }}.ni(nav icon),預設 opacity: 0.6<body> /* flex column, height: 100vh */
<TopNav/> /* 58px fixed */
<Banner/> /* 40px(可選) */
<div class="app-body"> /* flex row, flex: 1 */
<Sidebar/> /* 236px / 52px collapsed */
<main class="main-content"> /* flex: 1, overflow-y: auto */
<div class="page-pad"> /* padding: 24px 28px 40px */
{children}
</div>
</main>
</div>
</body>
新增 UI 元件前,確認以下項目:
--c-*)?避免寫死色碼--radius-sm / --radius / --radius-lg?0.15s 標準時長?background + border-color 變化?@media 區塊內?