zugzbot 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/agents/sdd-coder.md +5 -4
- package/.opencode/agents/sdd-orchestrator.md +11 -10
- package/.opencode/agents/sdd-spec-writer.md +3 -4
- package/.opencode/commands/loop.md +1 -1
- package/.opencode/plugins/loop-enforcer.ts +0 -1
- package/.opencode/plugins/sdd-bridge.ts +1 -1
- package/.opencode/rules/sdd-global.md +8 -0
- package/.opencode/scripts/lint-charts.js +1 -2
- package/.opencode/skills/sdd-foundation-overview/SKILL.md +3 -4
- package/.opencode/skills/sdd-methodology/SKILL.md +8 -10
- package/.opencode/skills/sdd-quickstart/SKILL.md +5 -9
- package/.opencode/skills/shadcn-templates/SKILL.md +93 -32
- package/.opencode/templates/nextjs-shadcn/components.json +4 -1
- package/.opencode/tools/sdd_bootstrap.ts +21 -0
- package/.opencode/tools/sdd_catalog.ts +1040 -0
- package/.opencode/tools/sdd_core.ts +8 -6
- package/.opencode/tools/sdd_lucide.ts +112 -0
- package/README.md +1 -7
- package/opencode.json +0 -10
- package/package.json +1 -3
- package/.opencode/oh-my-design/design-md/11st/.verification.md +0 -37
- package/.opencode/oh-my-design/design-md/11st/DESIGN.md +0 -400
- package/.opencode/oh-my-design/design-md/17live/DESIGN.md +0 -467
- package/.opencode/oh-my-design/design-md/29cm/DESIGN.md +0 -495
- package/.opencode/oh-my-design/design-md/29cm/_promo.json +0 -23
- package/.opencode/oh-my-design/design-md/29cm/_research.md +0 -103
- package/.opencode/oh-my-design/design-md/3o3/.verification.md +0 -73
- package/.opencode/oh-my-design/design-md/3o3/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/91app/.verification.md +0 -25
- package/.opencode/oh-my-design/design-md/91app/DESIGN.md +0 -182
- package/.opencode/oh-my-design/design-md/abema/.verification.md +0 -64
- package/.opencode/oh-my-design/design-md/abema/DESIGN.md +0 -535
- package/.opencode/oh-my-design/design-md/ably/DESIGN.md +0 -646
- package/.opencode/oh-my-design/design-md/ably/_promo.json +0 -18
- package/.opencode/oh-my-design/design-md/ably/_research.md +0 -120
- package/.opencode/oh-my-design/design-md/accupass/.verification.md +0 -66
- package/.opencode/oh-my-design/design-md/accupass/DESIGN.md +0 -494
- package/.opencode/oh-my-design/design-md/adobe/.verification.md +0 -63
- package/.opencode/oh-my-design/design-md/adobe/DESIGN.md +0 -458
- package/.opencode/oh-my-design/design-md/airbnb/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/airbnb/DESIGN.md +0 -639
- package/.opencode/oh-my-design/design-md/airbnb/README.md +0 -23
- package/.opencode/oh-my-design/design-md/airbnb/preview-dark.html +0 -234
- package/.opencode/oh-my-design/design-md/airbnb/preview.html +0 -233
- package/.opencode/oh-my-design/design-md/airtable/.verification.md +0 -136
- package/.opencode/oh-my-design/design-md/airtable/DESIGN.md +0 -314
- package/.opencode/oh-my-design/design-md/airtable/README.md +0 -23
- package/.opencode/oh-my-design/design-md/airtable/preview-dark.html +0 -165
- package/.opencode/oh-my-design/design-md/airtable/preview.html +0 -164
- package/.opencode/oh-my-design/design-md/alipay/DESIGN.md +0 -506
- package/.opencode/oh-my-design/design-md/amazingtalker/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/amazingtalker/DESIGN.md +0 -434
- package/.opencode/oh-my-design/design-md/appier/DESIGN.md +0 -465
- package/.opencode/oh-my-design/design-md/apple/.verification.md +0 -162
- package/.opencode/oh-my-design/design-md/apple/DESIGN.md +0 -613
- package/.opencode/oh-my-design/design-md/apple/README.md +0 -24
- package/.opencode/oh-my-design/design-md/apple/preview-dark.html +0 -420
- package/.opencode/oh-my-design/design-md/apple/preview.html +0 -414
- package/.opencode/oh-my-design/design-md/baemin/.verification.md +0 -132
- package/.opencode/oh-my-design/design-md/baemin/DESIGN.md +0 -578
- package/.opencode/oh-my-design/design-md/baemin/README.md +0 -19
- package/.opencode/oh-my-design/design-md/baemin/_research.md +0 -84
- package/.opencode/oh-my-design/design-md/banksalad/DESIGN.md +0 -688
- package/.opencode/oh-my-design/design-md/banksalad/_promo.json +0 -29
- package/.opencode/oh-my-design/design-md/banksalad/_research.md +0 -190
- package/.opencode/oh-my-design/design-md/bilibili/DESIGN.md +0 -471
- package/.opencode/oh-my-design/design-md/bithumb/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/bithumb/DESIGN.md +0 -208
- package/.opencode/oh-my-design/design-md/bmw/.verification.md +0 -114
- package/.opencode/oh-my-design/design-md/bmw/DESIGN.md +0 -360
- package/.opencode/oh-my-design/design-md/bmw/README.md +0 -23
- package/.opencode/oh-my-design/design-md/bmw/preview-dark.html +0 -211
- package/.opencode/oh-my-design/design-md/bmw/preview.html +0 -210
- package/.opencode/oh-my-design/design-md/brandi/.verification.md +0 -29
- package/.opencode/oh-my-design/design-md/brandi/DESIGN.md +0 -414
- package/.opencode/oh-my-design/design-md/bunjang/DESIGN.md +0 -374
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/.live-inspect-proof.json +0 -260
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/fonts.json +0 -33
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/logo-icon.svg +0 -10
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/structure.json +0 -131
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/tokens.json +0 -147
- package/.opencode/oh-my-design/design-md/cakeresume/.verification.md +0 -25
- package/.opencode/oh-my-design/design-md/cakeresume/DESIGN.md +0 -191
- package/.opencode/oh-my-design/design-md/cal/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/cal/DESIGN.md +0 -481
- package/.opencode/oh-my-design/design-md/cal/README.md +0 -23
- package/.opencode/oh-my-design/design-md/cal/preview-dark.html +0 -449
- package/.opencode/oh-my-design/design-md/cal/preview.html +0 -575
- package/.opencode/oh-my-design/design-md/catchtable/DESIGN.md +0 -341
- package/.opencode/oh-my-design/design-md/catchtable/_research.md +0 -54
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-proof.json +0 -204
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-raw.json +0 -22
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/fonts.json +0 -21
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/structure.json +0 -42
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/tokens.json +0 -95
- package/.opencode/oh-my-design/design-md/cathay/.verification.md +0 -44
- package/.opencode/oh-my-design/design-md/cathay/DESIGN.md +0 -432
- package/.opencode/oh-my-design/design-md/channeltalk/DESIGN.md +0 -422
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/.live-inspect-proof.json +0 -320
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/fonts.json +0 -53
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/structure.json +0 -47
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/tokens.json +0 -78
- package/.opencode/oh-my-design/design-md/class101/DESIGN.md +0 -484
- package/.opencode/oh-my-design/design-md/classting/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/classting/DESIGN.md +0 -292
- package/.opencode/oh-my-design/design-md/classum/DESIGN.md +0 -279
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/.live-inspect-proof.json +0 -72
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/structure.json +0 -21
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/tokens.json +0 -56
- package/.opencode/oh-my-design/design-md/claude/.verification.md +0 -106
- package/.opencode/oh-my-design/design-md/claude/DESIGN.md +0 -561
- package/.opencode/oh-my-design/design-md/claude/README.md +0 -24
- package/.opencode/oh-my-design/design-md/claude/preview-dark.html +0 -803
- package/.opencode/oh-my-design/design-md/claude/preview.html +0 -826
- package/.opencode/oh-my-design/design-md/clay/.verification.md +0 -129
- package/.opencode/oh-my-design/design-md/clay/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/clay/README.md +0 -23
- package/.opencode/oh-my-design/design-md/clay/preview-dark.html +0 -316
- package/.opencode/oh-my-design/design-md/clay/preview.html +0 -315
- package/.opencode/oh-my-design/design-md/clickhouse/.verification.md +0 -132
- package/.opencode/oh-my-design/design-md/clickhouse/DESIGN.md +0 -424
- package/.opencode/oh-my-design/design-md/clickhouse/README.md +0 -24
- package/.opencode/oh-my-design/design-md/clickhouse/preview-dark.html +0 -834
- package/.opencode/oh-my-design/design-md/clickhouse/preview.html +0 -786
- package/.opencode/oh-my-design/design-md/cloudflare/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/cloudflare/DESIGN.md +0 -637
- package/.opencode/oh-my-design/design-md/cohere/.verification.md +0 -136
- package/.opencode/oh-my-design/design-md/cohere/DESIGN.md +0 -409
- package/.opencode/oh-my-design/design-md/cohere/README.md +0 -24
- package/.opencode/oh-my-design/design-md/cohere/preview-dark.html +0 -803
- package/.opencode/oh-my-design/design-md/cohere/preview.html +0 -807
- package/.opencode/oh-my-design/design-md/coinbase/.verification.md +0 -116
- package/.opencode/oh-my-design/design-md/coinbase/DESIGN.md +0 -353
- package/.opencode/oh-my-design/design-md/coinbase/README.md +0 -23
- package/.opencode/oh-my-design/design-md/coinbase/preview-dark.html +0 -164
- package/.opencode/oh-my-design/design-md/coinbase/preview.html +0 -163
- package/.opencode/oh-my-design/design-md/coinone/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/coinone/DESIGN.md +0 -257
- package/.opencode/oh-my-design/design-md/composio/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/composio/DESIGN.md +0 -441
- package/.opencode/oh-my-design/design-md/composio/README.md +0 -24
- package/.opencode/oh-my-design/design-md/composio/preview-dark.html +0 -958
- package/.opencode/oh-my-design/design-md/composio/preview.html +0 -933
- package/.opencode/oh-my-design/design-md/cookpad/DESIGN.md +0 -394
- package/.opencode/oh-my-design/design-md/coupang/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/coupang/DESIGN.md +0 -557
- package/.opencode/oh-my-design/design-md/cursor/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/cursor/DESIGN.md +0 -460
- package/.opencode/oh-my-design/design-md/cursor/README.md +0 -24
- package/.opencode/oh-my-design/design-md/cursor/preview-dark.html +0 -393
- package/.opencode/oh-my-design/design-md/cursor/preview.html +0 -383
- package/.opencode/oh-my-design/design-md/dabang/DESIGN.md +0 -267
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/.live-inspect-proof.json +0 -145
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/fonts.json +0 -22
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture-map.json +0 -718
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture.json +0 -1125
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/structure.json +0 -53
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/tokens.json +0 -130
- package/.opencode/oh-my-design/design-md/danawa/.verification.md +0 -60
- package/.opencode/oh-my-design/design-md/danawa/DESIGN.md +0 -477
- package/.opencode/oh-my-design/design-md/dcard/.verification.md +0 -118
- package/.opencode/oh-my-design/design-md/dcard/DESIGN.md +0 -633
- package/.opencode/oh-my-design/design-md/dcard/README.md +0 -12
- package/.opencode/oh-my-design/design-md/dcard/_research/forum-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/dcard/_research.md +0 -133
- package/.opencode/oh-my-design/design-md/dell/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/dell/DESIGN.md +0 -636
- package/.opencode/oh-my-design/design-md/devsisters/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/devsisters/DESIGN.md +0 -282
- package/.opencode/oh-my-design/design-md/discord/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/discord/DESIGN.md +0 -604
- package/.opencode/oh-my-design/design-md/dji/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/drnow/.verification.md +0 -41
- package/.opencode/oh-my-design/design-md/drnow/DESIGN.md +0 -383
- package/.opencode/oh-my-design/design-md/dropbox/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/dropbox/DESIGN.md +0 -445
- package/.opencode/oh-my-design/design-md/duolingo/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/duolingo/DESIGN.md +0 -563
- package/.opencode/oh-my-design/design-md/elevenlabs/.verification.md +0 -128
- package/.opencode/oh-my-design/design-md/elevenlabs/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/elevenlabs/README.md +0 -23
- package/.opencode/oh-my-design/design-md/elevenlabs/preview-dark.html +0 -252
- package/.opencode/oh-my-design/design-md/elevenlabs/preview.html +0 -251
- package/.opencode/oh-my-design/design-md/expo/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/expo/DESIGN.md +0 -412
- package/.opencode/oh-my-design/design-md/expo/README.md +0 -24
- package/.opencode/oh-my-design/design-md/expo/preview-dark.html +0 -533
- package/.opencode/oh-my-design/design-md/expo/preview.html +0 -533
- package/.opencode/oh-my-design/design-md/fastcampus/DESIGN.md +0 -529
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/.live-inspect-proof.json +0 -950
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/fonts.json +0 -14
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/structure.json +0 -30
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/tokens.json +0 -109
- package/.opencode/oh-my-design/design-md/ferrari/.verification.md +0 -119
- package/.opencode/oh-my-design/design-md/ferrari/DESIGN.md +0 -447
- package/.opencode/oh-my-design/design-md/ferrari/README.md +0 -23
- package/.opencode/oh-my-design/design-md/ferrari/preview-dark.html +0 -1162
- package/.opencode/oh-my-design/design-md/ferrari/preview.html +0 -1122
- package/.opencode/oh-my-design/design-md/figma/.verification.md +0 -206
- package/.opencode/oh-my-design/design-md/figma/DESIGN.md +0 -534
- package/.opencode/oh-my-design/design-md/figma/README.md +0 -24
- package/.opencode/oh-my-design/design-md/figma/preview-dark.html +0 -822
- package/.opencode/oh-my-design/design-md/figma/preview.html +0 -832
- package/.opencode/oh-my-design/design-md/finda/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/finda/DESIGN.md +0 -413
- package/.opencode/oh-my-design/design-md/firstory/.verification.md +0 -70
- package/.opencode/oh-my-design/design-md/firstory/DESIGN.md +0 -487
- package/.opencode/oh-my-design/design-md/flex/DESIGN.md +0 -356
- package/.opencode/oh-my-design/design-md/flex/_research.md +0 -49
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/.live-inspect-proof.json +0 -192
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/.raw-inspect.json +0 -873
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/fonts.json +0 -17
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/structure.json +0 -58
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/tokens.json +0 -75
- package/.opencode/oh-my-design/design-md/flo/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/flo/DESIGN.md +0 -349
- package/.opencode/oh-my-design/design-md/framer/.verification.md +0 -147
- package/.opencode/oh-my-design/design-md/framer/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/framer/README.md +0 -23
- package/.opencode/oh-my-design/design-md/framer/preview-dark.html +0 -902
- package/.opencode/oh-my-design/design-md/framer/preview.html +0 -883
- package/.opencode/oh-my-design/design-md/freee/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/freee/DESIGN.md +0 -620
- package/.opencode/oh-my-design/design-md/freee/README.md +0 -12
- package/.opencode/oh-my-design/design-md/freee/_research/vibes-storybook-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/freee/_research.md +0 -116
- package/.opencode/oh-my-design/design-md/fugle/.verification.md +0 -40
- package/.opencode/oh-my-design/design-md/fugle/DESIGN.md +0 -290
- package/.opencode/oh-my-design/design-md/funnow/.verification.md +0 -62
- package/.opencode/oh-my-design/design-md/funnow/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/gangnamunni/DESIGN.md +0 -677
- package/.opencode/oh-my-design/design-md/gangnamunni/_promo.json +0 -26
- package/.opencode/oh-my-design/design-md/gangnamunni/_research.md +0 -113
- package/.opencode/oh-my-design/design-md/genie/.verification.md +0 -29
- package/.opencode/oh-my-design/design-md/genie/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/github/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/github/DESIGN.md +0 -727
- package/.opencode/oh-my-design/design-md/gmarket/DESIGN.md +0 -534
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/.live-inspect-proof.json +0 -217
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/fonts.json +0 -41
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-bestsellers.json +0 -1929
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-home.json +0 -3675
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/structure.json +0 -65
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/tokens.json +0 -210
- package/.opencode/oh-my-design/design-md/gogolook/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/gogolook/DESIGN.md +0 -155
- package/.opencode/oh-my-design/design-md/gogoro/DESIGN.md +0 -441
- package/.opencode/oh-my-design/design-md/google/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/google/DESIGN.md +0 -499
- package/.opencode/oh-my-design/design-md/greenvines/.verification.md +0 -72
- package/.opencode/oh-my-design/design-md/greenvines/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/greeting/.verification.md +0 -64
- package/.opencode/oh-my-design/design-md/greeting/DESIGN.md +0 -462
- package/.opencode/oh-my-design/design-md/grip/.verification.md +0 -36
- package/.opencode/oh-my-design/design-md/grip/DESIGN.md +0 -289
- package/.opencode/oh-my-design/design-md/hahow/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/hahow/DESIGN.md +0 -184
- package/.opencode/oh-my-design/design-md/hashicorp/.verification.md +0 -142
- package/.opencode/oh-my-design/design-md/hashicorp/DESIGN.md +0 -411
- package/.opencode/oh-my-design/design-md/hashicorp/README.md +0 -24
- package/.opencode/oh-my-design/design-md/hashicorp/preview-dark.html +0 -1202
- package/.opencode/oh-my-design/design-md/hashicorp/preview.html +0 -1193
- package/.opencode/oh-my-design/design-md/hogangnono/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/hogangnono/DESIGN.md +0 -349
- package/.opencode/oh-my-design/design-md/hp/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/hp/DESIGN.md +0 -563
- package/.opencode/oh-my-design/design-md/hyperconnect/.verification.md +0 -40
- package/.opencode/oh-my-design/design-md/hyperconnect/DESIGN.md +0 -393
- package/.opencode/oh-my-design/design-md/hyundaicard/.verification.md +0 -25
- package/.opencode/oh-my-design/design-md/hyundaicard/DESIGN.md +0 -201
- package/.opencode/oh-my-design/design-md/ibm/.verification.md +0 -102
- package/.opencode/oh-my-design/design-md/ibm/DESIGN.md +0 -464
- package/.opencode/oh-my-design/design-md/ibm/README.md +0 -24
- package/.opencode/oh-my-design/design-md/ibm/preview-dark.html +0 -443
- package/.opencode/oh-my-design/design-md/ibm/preview.html +0 -428
- package/.opencode/oh-my-design/design-md/ichef/DESIGN.md +0 -455
- package/.opencode/oh-my-design/design-md/ikala/.verification.md +0 -35
- package/.opencode/oh-my-design/design-md/ikala/DESIGN.md +0 -400
- package/.opencode/oh-my-design/design-md/imweb/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/imweb/DESIGN.md +0 -460
- package/.opencode/oh-my-design/design-md/inflearn/DESIGN.md +0 -453
- package/.opencode/oh-my-design/design-md/inflearn/_promo.json +0 -29
- package/.opencode/oh-my-design/design-md/inflearn/_research.md +0 -85
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof-courses.json +0 -679
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof.json +0 -448
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/fonts.json +0 -41
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/structure.json +0 -110
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/tokens.json +0 -54
- package/.opencode/oh-my-design/design-md/intercom/.verification.md +0 -144
- package/.opencode/oh-my-design/design-md/intercom/DESIGN.md +0 -271
- package/.opencode/oh-my-design/design-md/intercom/README.md +0 -23
- package/.opencode/oh-my-design/design-md/intercom/preview-dark.html +0 -185
- package/.opencode/oh-my-design/design-md/intercom/preview.html +0 -184
- package/.opencode/oh-my-design/design-md/jandi/.verification.md +0 -26
- package/.opencode/oh-my-design/design-md/jandi/DESIGN.md +0 -382
- package/.opencode/oh-my-design/design-md/jkopay/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/jkopay/DESIGN.md +0 -283
- package/.opencode/oh-my-design/design-md/jobkorea/.verification.md +0 -30
- package/.opencode/oh-my-design/design-md/jobkorea/DESIGN.md +0 -349
- package/.opencode/oh-my-design/design-md/jumpit/DESIGN.md +0 -403
- package/.opencode/oh-my-design/design-md/jumpit/_research.md +0 -119
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/.live-inspect-proof.json +0 -182
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/structure.json +0 -66
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/tokens.json +0 -108
- package/.opencode/oh-my-design/design-md/kakao/.verification.md +0 -137
- package/.opencode/oh-my-design/design-md/kakao/DESIGN.md +0 -568
- package/.opencode/oh-my-design/design-md/kakao/README.md +0 -18
- package/.opencode/oh-my-design/design-md/kakao/_research.md +0 -98
- package/.opencode/oh-my-design/design-md/kakaobank/.verification.md +0 -133
- package/.opencode/oh-my-design/design-md/kakaobank/DESIGN.md +0 -602
- package/.opencode/oh-my-design/design-md/kakaopay/DESIGN.md +0 -603
- package/.opencode/oh-my-design/design-md/kakaopay/_promo.json +0 -22
- package/.opencode/oh-my-design/design-md/kakaopay/_research.md +0 -84
- package/.opencode/oh-my-design/design-md/kakaot/DESIGN.md +0 -507
- package/.opencode/oh-my-design/design-md/karrot/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/karrot/DESIGN.md +0 -494
- package/.opencode/oh-my-design/design-md/karrot/README.md +0 -18
- package/.opencode/oh-my-design/design-md/karrot/_research.md +0 -57
- package/.opencode/oh-my-design/design-md/kbank/DESIGN.md +0 -252
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-proof.json +0 -215
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-raw.json +0 -1
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/structure.json +0 -151
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/tokens.json +0 -101
- package/.opencode/oh-my-design/design-md/kdan/.verification.md +0 -30
- package/.opencode/oh-my-design/design-md/kdan/DESIGN.md +0 -193
- package/.opencode/oh-my-design/design-md/kintone/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/kintone/DESIGN.md +0 -586
- package/.opencode/oh-my-design/design-md/kkbox/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/kkbox/DESIGN.md +0 -136
- package/.opencode/oh-my-design/design-md/kkday/DESIGN.md +0 -470
- package/.opencode/oh-my-design/design-md/kmong/.verification.md +0 -30
- package/.opencode/oh-my-design/design-md/kmong/DESIGN.md +0 -427
- package/.opencode/oh-my-design/design-md/krafton/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/krafton/DESIGN.md +0 -267
- package/.opencode/oh-my-design/design-md/kraken/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/kraken/DESIGN.md +0 -277
- package/.opencode/oh-my-design/design-md/kraken/README.md +0 -23
- package/.opencode/oh-my-design/design-md/kraken/preview-dark.html +0 -169
- package/.opencode/oh-my-design/design-md/kraken/preview.html +0 -168
- package/.opencode/oh-my-design/design-md/krds/.verification.md +0 -373
- package/.opencode/oh-my-design/design-md/krds/DESIGN.md +0 -1060
- package/.opencode/oh-my-design/design-md/kream/DESIGN.md +0 -432
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/.live-inspect-proof.json +0 -289
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/fonts.json +0 -26
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/structure.json +0 -56
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/tokens.json +0 -154
- package/.opencode/oh-my-design/design-md/kurly/.verification.md +0 -126
- package/.opencode/oh-my-design/design-md/kurly/DESIGN.md +0 -620
- package/.opencode/oh-my-design/design-md/laftel/.verification.md +0 -39
- package/.opencode/oh-my-design/design-md/laftel/DESIGN.md +0 -293
- package/.opencode/oh-my-design/design-md/lamborghini/.verification.md +0 -127
- package/.opencode/oh-my-design/design-md/lamborghini/DESIGN.md +0 -430
- package/.opencode/oh-my-design/design-md/lamborghini/README.md +0 -23
- package/.opencode/oh-my-design/design-md/lamborghini/preview-dark.html +0 -303
- package/.opencode/oh-my-design/design-md/lamborghini/preview.html +0 -381
- package/.opencode/oh-my-design/design-md/laundrygo/.verification.md +0 -60
- package/.opencode/oh-my-design/design-md/laundrygo/DESIGN.md +0 -434
- package/.opencode/oh-my-design/design-md/layerx/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/layerx/DESIGN.md +0 -615
- package/.opencode/oh-my-design/design-md/lezhin/.verification.md +0 -47
- package/.opencode/oh-my-design/design-md/lezhin/DESIGN.md +0 -348
- package/.opencode/oh-my-design/design-md/line/.verification.md +0 -137
- package/.opencode/oh-my-design/design-md/line/DESIGN.md +0 -467
- package/.opencode/oh-my-design/design-md/line/README.md +0 -12
- package/.opencode/oh-my-design/design-md/line/_research/home-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/line/_research.md +0 -65
- package/.opencode/oh-my-design/design-md/linear.app/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/linear.app/DESIGN.md +0 -642
- package/.opencode/oh-my-design/design-md/linear.app/README.md +0 -24
- package/.opencode/oh-my-design/design-md/linear.app/preview-dark.html +0 -383
- package/.opencode/oh-my-design/design-md/linear.app/preview.html +0 -373
- package/.opencode/oh-my-design/design-md/loom/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/loom/DESIGN.md +0 -396
- package/.opencode/oh-my-design/design-md/lovable/.verification.md +0 -154
- package/.opencode/oh-my-design/design-md/lovable/DESIGN.md +0 -423
- package/.opencode/oh-my-design/design-md/lovable/README.md +0 -24
- package/.opencode/oh-my-design/design-md/lovable/preview-dark.html +0 -349
- package/.opencode/oh-my-design/design-md/lovable/preview.html +0 -348
- package/.opencode/oh-my-design/design-md/lunit/DESIGN.md +0 -296
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/.live-inspect-proof.json +0 -249
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/fonts.json +0 -24
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/structure.json +0 -162
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/tokens.json +0 -115
- package/.opencode/oh-my-design/design-md/mastercard/.verification.md +0 -19
- package/.opencode/oh-my-design/design-md/mastercard/DESIGN.md +0 -587
- package/.opencode/oh-my-design/design-md/meituan/DESIGN.md +0 -466
- package/.opencode/oh-my-design/design-md/melon/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/melon/DESIGN.md +0 -179
- package/.opencode/oh-my-design/design-md/mercari/.verification.md +0 -155
- package/.opencode/oh-my-design/design-md/mercari/DESIGN.md +0 -514
- package/.opencode/oh-my-design/design-md/mercari/README.md +0 -12
- package/.opencode/oh-my-design/design-md/mercari/_research/home-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/mercari/_research.md +0 -137
- package/.opencode/oh-my-design/design-md/mercury/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/mercury/DESIGN.md +0 -589
- package/.opencode/oh-my-design/design-md/meta/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/meta/DESIGN.md +0 -615
- package/.opencode/oh-my-design/design-md/microsoft/.verification.md +0 -62
- package/.opencode/oh-my-design/design-md/microsoft/DESIGN.md +0 -508
- package/.opencode/oh-my-design/design-md/millie/DESIGN.md +0 -584
- package/.opencode/oh-my-design/design-md/minimax/.verification.md +0 -135
- package/.opencode/oh-my-design/design-md/minimax/DESIGN.md +0 -396
- package/.opencode/oh-my-design/design-md/minimax/README.md +0 -24
- package/.opencode/oh-my-design/design-md/minimax/preview-dark.html +0 -1262
- package/.opencode/oh-my-design/design-md/minimax/preview.html +0 -1248
- package/.opencode/oh-my-design/design-md/mintlify/.verification.md +0 -160
- package/.opencode/oh-my-design/design-md/mintlify/DESIGN.md +0 -472
- package/.opencode/oh-my-design/design-md/mintlify/README.md +0 -24
- package/.opencode/oh-my-design/design-md/mintlify/preview-dark.html +0 -409
- package/.opencode/oh-my-design/design-md/mintlify/preview.html +0 -398
- package/.opencode/oh-my-design/design-md/miricanvas/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/miricanvas/DESIGN.md +0 -464
- package/.opencode/oh-my-design/design-md/miro/.verification.md +0 -138
- package/.opencode/oh-my-design/design-md/miro/DESIGN.md +0 -319
- package/.opencode/oh-my-design/design-md/miro/README.md +0 -23
- package/.opencode/oh-my-design/design-md/miro/preview-dark.html +0 -174
- package/.opencode/oh-my-design/design-md/miro/preview.html +0 -173
- package/.opencode/oh-my-design/design-md/mistral.ai/.verification.md +0 -146
- package/.opencode/oh-my-design/design-md/mistral.ai/DESIGN.md +0 -390
- package/.opencode/oh-my-design/design-md/mistral.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/mistral.ai/preview-dark.html +0 -806
- package/.opencode/oh-my-design/design-md/mistral.ai/preview.html +0 -805
- package/.opencode/oh-my-design/design-md/modusign/.verification.md +0 -58
- package/.opencode/oh-my-design/design-md/modusign/DESIGN.md +0 -524
- package/.opencode/oh-my-design/design-md/momoshop/.verification.md +0 -36
- package/.opencode/oh-my-design/design-md/momoshop/DESIGN.md +0 -322
- package/.opencode/oh-my-design/design-md/money-forward/DESIGN.md +0 -443
- package/.opencode/oh-my-design/design-md/mongodb/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/mongodb/DESIGN.md +0 -401
- package/.opencode/oh-my-design/design-md/mongodb/README.md +0 -23
- package/.opencode/oh-my-design/design-md/mongodb/preview-dark.html +0 -260
- package/.opencode/oh-my-design/design-md/mongodb/preview.html +0 -259
- package/.opencode/oh-my-design/design-md/muji/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/muji/DESIGN.md +0 -605
- package/.opencode/oh-my-design/design-md/musinsa/.verification.md +0 -59
- package/.opencode/oh-my-design/design-md/musinsa/DESIGN.md +0 -593
- package/.opencode/oh-my-design/design-md/mustit/.verification.md +0 -37
- package/.opencode/oh-my-design/design-md/mustit/DESIGN.md +0 -328
- package/.opencode/oh-my-design/design-md/myrealtrip/DESIGN.md +0 -494
- package/.opencode/oh-my-design/design-md/naver/.verification.md +0 -134
- package/.opencode/oh-my-design/design-md/naver/DESIGN.md +0 -582
- package/.opencode/oh-my-design/design-md/naverwebtoon/DESIGN.md +0 -477
- package/.opencode/oh-my-design/design-md/netflix/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/netflix/DESIGN.md +0 -572
- package/.opencode/oh-my-design/design-md/nexon/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/nexon/DESIGN.md +0 -389
- package/.opencode/oh-my-design/design-md/nhncloud/.verification.md +0 -23
- package/.opencode/oh-my-design/design-md/nhncloud/DESIGN.md +0 -207
- package/.opencode/oh-my-design/design-md/nike/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/nike/DESIGN.md +0 -588
- package/.opencode/oh-my-design/design-md/note/DESIGN.md +0 -346
- package/.opencode/oh-my-design/design-md/notion/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/notion/DESIGN.md +0 -557
- package/.opencode/oh-my-design/design-md/notion/README.md +0 -24
- package/.opencode/oh-my-design/design-md/notion/preview-dark.html +0 -372
- package/.opencode/oh-my-design/design-md/notion/preview.html +0 -364
- package/.opencode/oh-my-design/design-md/nvidia/.verification.md +0 -127
- package/.opencode/oh-my-design/design-md/nvidia/DESIGN.md +0 -550
- package/.opencode/oh-my-design/design-md/nvidia/README.md +0 -24
- package/.opencode/oh-my-design/design-md/nvidia/_research.md +0 -68
- package/.opencode/oh-my-design/design-md/nvidia/preview-dark.html +0 -374
- package/.opencode/oh-my-design/design-md/nvidia/preview.html +0 -366
- package/.opencode/oh-my-design/design-md/ohouse/.verification.md +0 -87
- package/.opencode/oh-my-design/design-md/ohouse/DESIGN.md +0 -635
- package/.opencode/oh-my-design/design-md/oliveyoung/DESIGN.md +0 -407
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/.live-inspect-proof.json +0 -158
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_best_capture.json +0 -644
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_detail_capture.json +0 -447
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main.html +0 -419
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main_capture.json +0 -1126
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_search_capture.json +0 -912
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/structure.json +0 -91
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/tokens.json +0 -79
- package/.opencode/oh-my-design/design-md/ollama/.verification.md +0 -138
- package/.opencode/oh-my-design/design-md/ollama/DESIGN.md +0 -393
- package/.opencode/oh-my-design/design-md/ollama/README.md +0 -24
- package/.opencode/oh-my-design/design-md/ollama/preview-dark.html +0 -678
- package/.opencode/oh-my-design/design-md/ollama/preview.html +0 -678
- package/.opencode/oh-my-design/design-md/omnichat/.verification.md +0 -74
- package/.opencode/oh-my-design/design-md/omnichat/DESIGN.md +0 -499
- package/.opencode/oh-my-design/design-md/openai/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/openai/DESIGN.md +0 -641
- package/.opencode/oh-my-design/design-md/opencode.ai/.verification.md +0 -136
- package/.opencode/oh-my-design/design-md/opencode.ai/DESIGN.md +0 -425
- package/.opencode/oh-my-design/design-md/opencode.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/opencode.ai/preview-dark.html +0 -366
- package/.opencode/oh-my-design/design-md/opencode.ai/preview.html +0 -357
- package/.opencode/oh-my-design/design-md/payco/.verification.md +0 -28
- package/.opencode/oh-my-design/design-md/payco/DESIGN.md +0 -267
- package/.opencode/oh-my-design/design-md/paypay/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/paypay/DESIGN.md +0 -656
- package/.opencode/oh-my-design/design-md/pchome/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/pchome/DESIGN.md +0 -439
- package/.opencode/oh-my-design/design-md/perplexity/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/perplexity/DESIGN.md +0 -546
- package/.opencode/oh-my-design/design-md/piccollage/.verification.md +0 -34
- package/.opencode/oh-my-design/design-md/piccollage/DESIGN.md +0 -320
- package/.opencode/oh-my-design/design-md/pinkoi/.verification.md +0 -147
- package/.opencode/oh-my-design/design-md/pinkoi/DESIGN.md +0 -639
- package/.opencode/oh-my-design/design-md/pinkoi/README.md +0 -12
- package/.opencode/oh-my-design/design-md/pinkoi/_research/browse-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/pinkoi/_research.md +0 -167
- package/.opencode/oh-my-design/design-md/pinterest/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/pinterest/DESIGN.md +0 -366
- package/.opencode/oh-my-design/design-md/pinterest/README.md +0 -23
- package/.opencode/oh-my-design/design-md/pinterest/preview-dark.html +0 -233
- package/.opencode/oh-my-design/design-md/pinterest/preview.html +0 -232
- package/.opencode/oh-my-design/design-md/pixiv/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/pixiv/DESIGN.md +0 -613
- package/.opencode/oh-my-design/design-md/pixnet/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/pixnet/DESIGN.md +0 -430
- package/.opencode/oh-my-design/design-md/posthog/.verification.md +0 -159
- package/.opencode/oh-my-design/design-md/posthog/DESIGN.md +0 -480
- package/.opencode/oh-my-design/design-md/posthog/README.md +0 -23
- package/.opencode/oh-my-design/design-md/posthog/preview-dark.html +0 -699
- package/.opencode/oh-my-design/design-md/posthog/preview.html +0 -749
- package/.opencode/oh-my-design/design-md/postype/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/postype/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/publy/DESIGN.md +0 -563
- package/.opencode/oh-my-design/design-md/qanda/.verification.md +0 -121
- package/.opencode/oh-my-design/design-md/qanda/DESIGN.md +0 -516
- package/.opencode/oh-my-design/design-md/ragic/.verification.md +0 -37
- package/.opencode/oh-my-design/design-md/ragic/DESIGN.md +0 -444
- package/.opencode/oh-my-design/design-md/rakuten/.verification.md +0 -60
- package/.opencode/oh-my-design/design-md/rakuten/DESIGN.md +0 -440
- package/.opencode/oh-my-design/design-md/ramp/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/ramp/DESIGN.md +0 -634
- package/.opencode/oh-my-design/design-md/rayark/.verification.md +0 -22
- package/.opencode/oh-my-design/design-md/rayark/DESIGN.md +0 -154
- package/.opencode/oh-my-design/design-md/raycast/.verification.md +0 -138
- package/.opencode/oh-my-design/design-md/raycast/DESIGN.md +0 -467
- package/.opencode/oh-my-design/design-md/raycast/README.md +0 -23
- package/.opencode/oh-my-design/design-md/raycast/preview-dark.html +0 -606
- package/.opencode/oh-my-design/design-md/raycast/preview.html +0 -688
- package/.opencode/oh-my-design/design-md/remember/.verification.md +0 -135
- package/.opencode/oh-my-design/design-md/remember/DESIGN.md +0 -504
- package/.opencode/oh-my-design/design-md/remember/_promo.json +0 -27
- package/.opencode/oh-my-design/design-md/remember/_research.md +0 -90
- package/.opencode/oh-my-design/design-md/renault/.verification.md +0 -139
- package/.opencode/oh-my-design/design-md/renault/DESIGN.md +0 -439
- package/.opencode/oh-my-design/design-md/renault/README.md +0 -23
- package/.opencode/oh-my-design/design-md/renault/preview-dark.html +0 -406
- package/.opencode/oh-my-design/design-md/renault/preview.html +0 -606
- package/.opencode/oh-my-design/design-md/replicate/.verification.md +0 -154
- package/.opencode/oh-my-design/design-md/replicate/DESIGN.md +0 -387
- package/.opencode/oh-my-design/design-md/replicate/README.md +0 -24
- package/.opencode/oh-my-design/design-md/replicate/preview-dark.html +0 -828
- package/.opencode/oh-my-design/design-md/replicate/preview.html +0 -831
- package/.opencode/oh-my-design/design-md/resend/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/resend/DESIGN.md +0 -440
- package/.opencode/oh-my-design/design-md/resend/README.md +0 -23
- package/.opencode/oh-my-design/design-md/resend/preview-dark.html +0 -355
- package/.opencode/oh-my-design/design-md/resend/preview.html +0 -354
- package/.opencode/oh-my-design/design-md/retool/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/retool/DESIGN.md +0 -645
- package/.opencode/oh-my-design/design-md/revolut/.verification.md +0 -140
- package/.opencode/oh-my-design/design-md/revolut/DESIGN.md +0 -319
- package/.opencode/oh-my-design/design-md/revolut/README.md +0 -23
- package/.opencode/oh-my-design/design-md/revolut/preview-dark.html +0 -234
- package/.opencode/oh-my-design/design-md/revolut/preview.html +0 -233
- package/.opencode/oh-my-design/design-md/richart/.verification.md +0 -41
- package/.opencode/oh-my-design/design-md/richart/DESIGN.md +0 -465
- package/.opencode/oh-my-design/design-md/ridi/.verification.md +0 -108
- package/.opencode/oh-my-design/design-md/ridi/DESIGN.md +0 -573
- package/.opencode/oh-my-design/design-md/riiid/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/riiid/DESIGN.md +0 -260
- package/.opencode/oh-my-design/design-md/ringle/.verification.md +0 -53
- package/.opencode/oh-my-design/design-md/ringle/DESIGN.md +0 -444
- package/.opencode/oh-my-design/design-md/robinhood/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/robinhood/DESIGN.md +0 -604
- package/.opencode/oh-my-design/design-md/runwayml/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/runwayml/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/runwayml/README.md +0 -24
- package/.opencode/oh-my-design/design-md/runwayml/preview-dark.html +0 -664
- package/.opencode/oh-my-design/design-md/runwayml/preview.html +0 -665
- package/.opencode/oh-my-design/design-md/salesforce/.verification.md +0 -66
- package/.opencode/oh-my-design/design-md/salesforce/DESIGN.md +0 -473
- package/.opencode/oh-my-design/design-md/sanity/.verification.md +0 -174
- package/.opencode/oh-my-design/design-md/sanity/DESIGN.md +0 -499
- package/.opencode/oh-my-design/design-md/sanity/README.md +0 -24
- package/.opencode/oh-my-design/design-md/sanity/preview-dark.html +0 -990
- package/.opencode/oh-my-design/design-md/sanity/preview.html +0 -1135
- package/.opencode/oh-my-design/design-md/sansan/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/sansan/DESIGN.md +0 -631
- package/.opencode/oh-my-design/design-md/sendbird/.verification.md +0 -67
- package/.opencode/oh-my-design/design-md/sendbird/DESIGN.md +0 -331
- package/.opencode/oh-my-design/design-md/sentry/.verification.md +0 -157
- package/.opencode/oh-my-design/design-md/sentry/DESIGN.md +0 -397
- package/.opencode/oh-my-design/design-md/sentry/README.md +0 -24
- package/.opencode/oh-my-design/design-md/sentry/preview-dark.html +0 -626
- package/.opencode/oh-my-design/design-md/sentry/preview.html +0 -951
- package/.opencode/oh-my-design/design-md/shinhancard/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/shinhancard/DESIGN.md +0 -421
- package/.opencode/oh-my-design/design-md/shopline/.verification.md +0 -34
- package/.opencode/oh-my-design/design-md/shopline/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/slack/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/slack/DESIGN.md +0 -635
- package/.opencode/oh-my-design/design-md/smarthr/DESIGN.md +0 -452
- package/.opencode/oh-my-design/design-md/smartnews/DESIGN.md +0 -360
- package/.opencode/oh-my-design/design-md/socar/DESIGN.md +0 -438
- package/.opencode/oh-my-design/design-md/socar/_promo.json +0 -28
- package/.opencode/oh-my-design/design-md/socar/_research.md +0 -55
- package/.opencode/oh-my-design/design-md/soomgo/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/soomgo/DESIGN.md +0 -326
- package/.opencode/oh-my-design/design-md/spacex/.verification.md +0 -132
- package/.opencode/oh-my-design/design-md/spacex/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/spacex/README.md +0 -23
- package/.opencode/oh-my-design/design-md/spacex/_research.md +0 -69
- package/.opencode/oh-my-design/design-md/spacex/preview-dark.html +0 -221
- package/.opencode/oh-my-design/design-md/spacex/preview.html +0 -220
- package/.opencode/oh-my-design/design-md/spoon/DESIGN.md +0 -492
- package/.opencode/oh-my-design/design-md/spotify/.verification.md +0 -128
- package/.opencode/oh-my-design/design-md/spotify/DESIGN.md +0 -489
- package/.opencode/oh-my-design/design-md/spotify/README.md +0 -23
- package/.opencode/oh-my-design/design-md/spotify/preview-dark.html +0 -231
- package/.opencode/oh-my-design/design-md/spotify/preview.html +0 -230
- package/.opencode/oh-my-design/design-md/starbucks/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/starbucks/DESIGN.md +0 -597
- package/.opencode/oh-my-design/design-md/stores/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/stores/DESIGN.md +0 -447
- package/.opencode/oh-my-design/design-md/stripe/.verification.md +0 -140
- package/.opencode/oh-my-design/design-md/stripe/DESIGN.md +0 -571
- package/.opencode/oh-my-design/design-md/stripe/README.md +0 -24
- package/.opencode/oh-my-design/design-md/stripe/preview-dark.html +0 -428
- package/.opencode/oh-my-design/design-md/stripe/preview.html +0 -419
- package/.opencode/oh-my-design/design-md/studio/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/studio/DESIGN.md +0 -602
- package/.opencode/oh-my-design/design-md/supabase/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/supabase/DESIGN.md +0 -389
- package/.opencode/oh-my-design/design-md/supabase/README.md +0 -24
- package/.opencode/oh-my-design/design-md/supabase/preview-dark.html +0 -977
- package/.opencode/oh-my-design/design-md/supabase/preview.html +0 -955
- package/.opencode/oh-my-design/design-md/superhuman/.verification.md +0 -184
- package/.opencode/oh-my-design/design-md/superhuman/DESIGN.md +0 -453
- package/.opencode/oh-my-design/design-md/superhuman/README.md +0 -23
- package/.opencode/oh-my-design/design-md/superhuman/preview-dark.html +0 -973
- package/.opencode/oh-my-design/design-md/superhuman/preview.html +0 -951
- package/.opencode/oh-my-design/design-md/surveycake/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/surveycake/DESIGN.md +0 -442
- package/.opencode/oh-my-design/design-md/tada/DESIGN.md +0 -579
- package/.opencode/oh-my-design/design-md/teamblind/.verification.md +0 -76
- package/.opencode/oh-my-design/design-md/teamblind/DESIGN.md +0 -497
- package/.opencode/oh-my-design/design-md/tesla/.verification.md +0 -149
- package/.opencode/oh-my-design/design-md/tesla/DESIGN.md +0 -501
- package/.opencode/oh-my-design/design-md/tesla/README.md +0 -23
- package/.opencode/oh-my-design/design-md/tesla/_research.md +0 -70
- package/.opencode/oh-my-design/design-md/tesla/preview-dark.html +0 -947
- package/.opencode/oh-my-design/design-md/tesla/preview.html +0 -925
- package/.opencode/oh-my-design/design-md/theverge/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/theverge/DESIGN.md +0 -500
- package/.opencode/oh-my-design/design-md/timee/.verification.md +0 -67
- package/.opencode/oh-my-design/design-md/timee/DESIGN.md +0 -444
- package/.opencode/oh-my-design/design-md/together.ai/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/together.ai/DESIGN.md +0 -389
- package/.opencode/oh-my-design/design-md/together.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/together.ai/preview-dark.html +0 -892
- package/.opencode/oh-my-design/design-md/together.ai/preview.html +0 -897
- package/.opencode/oh-my-design/design-md/toss/.verification.md +0 -120
- package/.opencode/oh-my-design/design-md/toss/DESIGN.md +0 -698
- package/.opencode/oh-my-design/design-md/toss/README.md +0 -19
- package/.opencode/oh-my-design/design-md/toss-securities/DESIGN.md +0 -247
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-proof.json +0 -126
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-raw.json +0 -619
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-stock.json +0 -525
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/fonts.json +0 -24
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/structure.json +0 -35
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/tokens.json +0 -87
- package/.opencode/oh-my-design/design-md/tossbank/DESIGN.md +0 -576
- package/.opencode/oh-my-design/design-md/trenbe/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/trenbe/DESIGN.md +0 -293
- package/.opencode/oh-my-design/design-md/triple/DESIGN.md +0 -481
- package/.opencode/oh-my-design/design-md/tumblbug/DESIGN.md +0 -578
- package/.opencode/oh-my-design/design-md/tving/DESIGN.md +0 -317
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/.live-inspect-proof.json +0 -131
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/LICENSE-NOTE.md +0 -37
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/attribution.md +0 -52
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/fonts.json +0 -31
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/screenshots/hero-desktop.png +0 -0
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/structure.json +0 -55
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/tokens.json +0 -115
- package/.opencode/oh-my-design/design-md/uber/.verification.md +0 -128
- package/.opencode/oh-my-design/design-md/uber/DESIGN.md +0 -423
- package/.opencode/oh-my-design/design-md/uber/README.md +0 -24
- package/.opencode/oh-my-design/design-md/uber/preview-dark.html +0 -1120
- package/.opencode/oh-my-design/design-md/uber/preview.html +0 -1119
- package/.opencode/oh-my-design/design-md/ubie/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/ubie/DESIGN.md +0 -615
- package/.opencode/oh-my-design/design-md/uniqlo/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/uniqlo/DESIGN.md +0 -575
- package/.opencode/oh-my-design/design-md/upbit/DESIGN.md +0 -337
- package/.opencode/oh-my-design/design-md/upbit/_research.md +0 -83
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/.live-inspect-proof.json +0 -263
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/fonts.json +0 -18
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture-exchange.json +0 -1901
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture.json +0 -1121
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/structure.json +0 -52
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/tokens.json +0 -169
- package/.opencode/oh-my-design/design-md/upstage/DESIGN.md +0 -270
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/.live-inspect-proof.json +0 -157
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_brand-resource-center.json +0 -44
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_curated-samples.json +0 -310
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_raw-capture.json +0 -1560
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_root-vars.json +0 -76
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_structure-raw.json +0 -298
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/fonts.json +0 -35
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/structure.json +0 -72
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/tokens.json +0 -183
- package/.opencode/oh-my-design/design-md/velog/.verification.md +0 -26
- package/.opencode/oh-my-design/design-md/velog/DESIGN.md +0 -196
- package/.opencode/oh-my-design/design-md/vercel/.verification.md +0 -134
- package/.opencode/oh-my-design/design-md/vercel/DESIGN.md +0 -523
- package/.opencode/oh-my-design/design-md/vercel/README.md +0 -24
- package/.opencode/oh-my-design/design-md/vercel/preview-dark.html +0 -368
- package/.opencode/oh-my-design/design-md/vercel/preview.html +0 -367
- package/.opencode/oh-my-design/design-md/voicetube/.verification.md +0 -34
- package/.opencode/oh-my-design/design-md/voicetube/DESIGN.md +0 -266
- package/.opencode/oh-my-design/design-md/voltagent/.verification.md +0 -159
- package/.opencode/oh-my-design/design-md/voltagent/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/voltagent/README.md +0 -24
- package/.opencode/oh-my-design/design-md/voltagent/preview-dark.html +0 -487
- package/.opencode/oh-my-design/design-md/voltagent/preview.html +0 -766
- package/.opencode/oh-my-design/design-md/wadiz/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/.live-inspect-proof.json +0 -137
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/fonts.json +0 -17
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/structure.json +0 -35
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/tokens.json +0 -80
- package/.opencode/oh-my-design/design-md/wanted/DESIGN.md +0 -575
- package/.opencode/oh-my-design/design-md/wanted/_promo.json +0 -31
- package/.opencode/oh-my-design/design-md/wanted/_research.md +0 -119
- package/.opencode/oh-my-design/design-md/wantedly/.verification.md +0 -53
- package/.opencode/oh-my-design/design-md/wantedly/DESIGN.md +0 -437
- package/.opencode/oh-my-design/design-md/warp/.verification.md +0 -156
- package/.opencode/oh-my-design/design-md/warp/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/warp/README.md +0 -23
- package/.opencode/oh-my-design/design-md/warp/preview-dark.html +0 -500
- package/.opencode/oh-my-design/design-md/warp/preview.html +0 -533
- package/.opencode/oh-my-design/design-md/watcha/DESIGN.md +0 -465
- package/.opencode/oh-my-design/design-md/wavve/DESIGN.md +0 -480
- package/.opencode/oh-my-design/design-md/wconcept/DESIGN.md +0 -556
- package/.opencode/oh-my-design/design-md/webflow/.verification.md +0 -151
- package/.opencode/oh-my-design/design-md/webflow/DESIGN.md +0 -330
- package/.opencode/oh-my-design/design-md/webflow/README.md +0 -23
- package/.opencode/oh-my-design/design-md/webflow/preview-dark.html +0 -147
- package/.opencode/oh-my-design/design-md/webflow/preview.html +0 -146
- package/.opencode/oh-my-design/design-md/wired/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/wired/DESIGN.md +0 -572
- package/.opencode/oh-my-design/design-md/wise/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/wise/DESIGN.md +0 -317
- package/.opencode/oh-my-design/design-md/wise/README.md +0 -23
- package/.opencode/oh-my-design/design-md/wise/preview-dark.html +0 -230
- package/.opencode/oh-my-design/design-md/wise/preview.html +0 -229
- package/.opencode/oh-my-design/design-md/x.ai/.verification.md +0 -140
- package/.opencode/oh-my-design/design-md/x.ai/DESIGN.md +0 -397
- package/.opencode/oh-my-design/design-md/x.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/x.ai/preview-dark.html +0 -356
- package/.opencode/oh-my-design/design-md/x.ai/preview.html +0 -407
- package/.opencode/oh-my-design/design-md/xiaohongshu/DESIGN.md +0 -462
- package/.opencode/oh-my-design/design-md/yanolja/.verification.md +0 -83
- package/.opencode/oh-my-design/design-md/yanolja/DESIGN.md +0 -508
- package/.opencode/oh-my-design/design-md/yeogiotte/.verification.md +0 -210
- package/.opencode/oh-my-design/design-md/yeogiotte/DESIGN.md +0 -500
- package/.opencode/oh-my-design/design-md/yogiyo/DESIGN.md +0 -515
- package/.opencode/oh-my-design/design-md/yourator/.verification.md +0 -39
- package/.opencode/oh-my-design/design-md/yourator/DESIGN.md +0 -453
- package/.opencode/oh-my-design/design-md/zapier/.verification.md +0 -156
- package/.opencode/oh-my-design/design-md/zapier/DESIGN.md +0 -474
- package/.opencode/oh-my-design/design-md/zapier/README.md +0 -24
- package/.opencode/oh-my-design/design-md/zapier/preview-dark.html +0 -380
- package/.opencode/oh-my-design/design-md/zapier/preview.html +0 -372
- package/.opencode/oh-my-design/design-md/zigbang/DESIGN.md +0 -500
- package/.opencode/oh-my-design/design-md/zigbang/_promo.json +0 -16
- package/.opencode/oh-my-design/design-md/zigbang/_research.md +0 -101
- package/.opencode/oh-my-design/design-md/zigzag/DESIGN.md +0 -695
- package/.opencode/oh-my-design/design-md/zigzag/_promo.json +0 -23
- package/.opencode/oh-my-design/design-md/zigzag/_research.md +0 -64
- package/.opencode/oh-my-design/design-md/zozotown/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/zozotown/DESIGN.md +0 -578
- package/.opencode/oh-my-design/packages/mcp/dist/index.mjs +0 -21685
- package/.opencode/oh-my-design/packages/mcp/dist/index.mjs.map +0 -1
- package/.opencode/tools/akash_catalog.ts +0 -596
- package/.opencode/tools/extract-design-pattern.py +0 -182
- package/.opencode/tools/sdd_design.ts +0 -303
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# Research Sources for freee
|
|
2
|
-
|
|
3
|
-
추출 일자: 2026-04-17
|
|
4
|
-
스킬: `omd:add-reference` (5-tier methodology)
|
|
5
|
-
입력 URL: `https://vibes.freee.co.jp` + `https://github.com/freee/vibes`
|
|
6
|
-
|
|
7
|
-
## Tier 1 — Official Design System
|
|
8
|
-
|
|
9
|
-
**Status: FULLY FOUND — open-source design system with public source code**
|
|
10
|
-
|
|
11
|
-
freee's design system is named **Vibes** and is fully open source at [github.com/freee/vibes](https://github.com/freee/vibes). All design tokens are committed to the repo as SCSS partials in `stylesheets/lv0/`:
|
|
12
|
-
- `_colors.scss` (2.6KB) — full color palette: 9 hue scales × 5-10 shades + semantic aliases
|
|
13
|
-
- `_size.scss` (4.6KB) — spacing scale, type scale, form-control heights, z-index hierarchy, container widths, line-height, font family
|
|
14
|
-
- `_fonts.scss` (385B) — `freee-logo` font definition (Noto Sans CJK JP Medium)
|
|
15
|
-
- `_focus.scss` (644B) — focus ring styles
|
|
16
|
-
|
|
17
|
-
Plus a public Storybook hosted at [vibes.freee.co.jp](https://vibes.freee.co.jp) showcasing every component with live previews.
|
|
18
|
-
|
|
19
|
-
Distribution: `@freee_jp/vibes` npm package. CSS imported via `@freee_jp/vibes/css` (`vibes_2021.css` or `.min.css`).
|
|
20
|
-
|
|
21
|
-
## Tier 2 — Brand / Press Kit
|
|
22
|
-
|
|
23
|
-
Not investigated — Tier 1 source is comprehensive and authoritative.
|
|
24
|
-
|
|
25
|
-
## Tier 3 — Engineering / Design Blog
|
|
26
|
-
|
|
27
|
-
[freee Developers Hub](https://developers.freee.co.jp) hosts technical articles. Specific design system writeups not deeply mined for this initial extraction.
|
|
28
|
-
|
|
29
|
-
## Tier 4 — Live Site Recon
|
|
30
|
-
|
|
31
|
-
**Method**: Playwright MCP screenshot of [vibes.freee.co.jp](https://vibes.freee.co.jp) Storybook (verifies the docs site is live and accessible).
|
|
32
|
-
|
|
33
|
-
Storybook navigation confirms:
|
|
34
|
-
- DOC section: Readme, Colors, Contribution, Design, Storybook, Stylesheets, TypeScript
|
|
35
|
-
- EXAMPLES: Collection, Forms, ImportWizard, Pages, ResponsiveLayout, ThroughCommonProps
|
|
36
|
-
- LV2 components: accordionPanel, breadcrumbs, bulletedList, buttonGroup, calendar, cardNavigation, combobox, descriptionList, dialogs, dropdown, dropdownButton, emptyStates, fileUploader, filterTag, filterableDropdownButton, ...
|
|
37
|
-
|
|
38
|
-
Screenshot saved: `_research/vibes-storybook-1440px.png`
|
|
39
|
-
|
|
40
|
-
## Extraction details (from raw GitHub source)
|
|
41
|
-
|
|
42
|
-
Raw URLs fetched via curl:
|
|
43
|
-
- https://raw.githubusercontent.com/freee/vibes/master/stylesheets/lv0/_colors.scss
|
|
44
|
-
- https://raw.githubusercontent.com/freee/vibes/master/stylesheets/lv0/_size.scss
|
|
45
|
-
- https://raw.githubusercontent.com/freee/vibes/master/stylesheets/lv0/_fonts.scss
|
|
46
|
-
|
|
47
|
-
All token values quoted in DESIGN.md are direct copies from these source files — zero inference.
|
|
48
|
-
|
|
49
|
-
## Confidence
|
|
50
|
-
|
|
51
|
-
### High Confidence (direct from open-source SCSS source code)
|
|
52
|
-
- Entire 9-hue color palette (Primary, Secondary, Red, Orange, Yellow, Yellow-Green, Green, Blue-Green, Purple, Gray)
|
|
53
|
-
- Semantic color aliases (`$vbPrimaryColor`, `$vbAccentColor`, `$vbAlertColor`, etc.)
|
|
54
|
-
- Type scale (5 sizes: 10/12/14/16/24dp)
|
|
55
|
-
- Spacing scale (4/8/16/24/32/48dp)
|
|
56
|
-
- Form-control heights (24/36/48dp)
|
|
57
|
-
- Three shadow recipes (`$vbCardShadow`, `$vbFloatingShadow`, `$vbPopupShadow`)
|
|
58
|
-
- Z-index hierarchy (10 named layers: overlay 100 → max 2147483647)
|
|
59
|
-
- Font stack (Hiragino-led Japanese system stack)
|
|
60
|
-
- Line height 1.5
|
|
61
|
-
- Container max-width 1120dp, mobile boundary 768dp
|
|
62
|
-
- `freee-logo` brand wordmark uses Noto Sans CJK JP Medium
|
|
63
|
-
|
|
64
|
-
### Medium Confidence (inferred from token usage patterns + general SaaS conventions)
|
|
65
|
-
- Per-component patterns (button padding, table styling) — inferred from spacing scale + semantic colors; specific component code not exhaustively read
|
|
66
|
-
- Default `border-radius: 4px` for buttons/cards — vibes does not tokenize radius; observed in component examples
|
|
67
|
-
|
|
68
|
-
### Inferred (verify before relying on)
|
|
69
|
-
- Brand wordmark explicitly uses `freee-logo` font; everywhere else uses the system stack — confirmed by `_fonts.scss` showing only the wordmark face is loaded
|
|
70
|
-
- Animation timing — not in token files; assumed `0.2-0.3s ease`
|
|
71
|
-
|
|
72
|
-
## Notes
|
|
73
|
-
- freee Vibes is the **most cleanly architected** of the OMD references — three-tier token system (scale → semantic → component) with explicit naming conventions.
|
|
74
|
-
- The 9-hue palette + per-hue 5-10 shade scale gives this system unusual breadth (vs. e.g., Mercari which is more focused on a few brand colors).
|
|
75
|
-
- The brand color pattern (`$vbPrimaryColor === $vbLinkColor === $vbColorsP07`) means buttons and links share the same blue — a deliberate visual coherence choice.
|
|
76
|
-
- Open-source license + active maintenance makes this a particularly durable reference; tokens won't silently drift.
|
|
77
|
-
- Re-running `omd:add-reference` against this reference can pull updates from the GitHub repo's latest commit.
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Philosophy Layer — added 2026-04-20
|
|
82
|
-
|
|
83
|
-
Style reference: `line` (JP peer; best density match per Phase 10-2 auto-pick matrix for 🇯🇵 JP targets).
|
|
84
|
-
|
|
85
|
-
### Sources used (Philosophy augmentation)
|
|
86
|
-
- [corp.freee.co.jp/mission](https://corp.freee.co.jp/mission/) — used for: §10 voice samples ("スモールビジネスを、世界の主役に。"), §11 brand narrative (mission verbatim, SMB-as-catalyst framing).
|
|
87
|
-
- [corp.freee.co.jp/company](https://corp.freee.co.jp/company/) — used for: §11 founder biography (Daisuke Sasaki, ex-Google SMB marketing APAC, 2012 founding).
|
|
88
|
-
- [corp.freee.co.jp/sustainability/social/accessibility](https://corp.freee.co.jp/sustainability/social/accessibility/) — used for: §10 voice sample ("だれでもビジネスの主役になれる"), §11 closing paragraph, §12 Principle 7.
|
|
89
|
-
- [a11y-guidelines.freee.co.jp/intro/intro.html](https://a11y-guidelines.freee.co.jp/intro/intro.html) — used for: §12 Principle 7 (WCAG 2.1 AA, concrete-over-abstract editorial stance).
|
|
90
|
-
- [developers.freee.co.jp/entry/growing-vibes](https://developers.freee.co.jp/entry/growing-vibes) — used for: §12 Principle 7 (accessibility-as-foundation, tiered responsibility model), §11 (Vibes open-source rationale).
|
|
91
|
-
- [brand.freee.co.jp/designphilosophy](https://brand.freee.co.jp/designphilosophy/) — used for: §10 intro (four-adjective register: かろやか / シンプル / あんしん / インテリジェント), §10 forbidden-phrases register, §12 Principles 2–4. *Note: page returned minimal markdown to WebFetch; the four-adjective register is confirmed across search-surface summaries and third-party writeups (Takram rebrand case, note.com, developers.freee.co.jp reading-group post) rather than by a single full-content fetch.*
|
|
92
|
-
- [speakerdeck.com/magi1125/dezainpurinsipurunotukurikata](https://speakerdeck.com/magi1125/dezainpurinsipurunotukurikata) — used for: §12 Principles 1 and 8 (segment-by-workflow, helper-text-only-at-costly-fields framing).
|
|
93
|
-
- [corp.freee.co.jp/news/20231219_design.html](https://corp.freee.co.jp/news/20231219_design.html) — used for: §11 (Vibes open-source announcement framing accessibility as the headline asset).
|
|
94
|
-
|
|
95
|
-
### Gaps / concerns flagged
|
|
96
|
-
- Three of six §10 voice samples are `<!-- illustrative -->` rather than `<!-- verified -->`. freee's customer-facing product UI is behind login, so in-app microcopy could not be scraped. All three illustrative samples are modeled on plain 丁寧語 observed on `corp.freee.co.jp` and `a11y-guidelines.freee.co.jp`. Reviewer with freee product access should cross-check before they are used as microcopy source.
|
|
97
|
-
- §15 motion stance ("no spring, no overshoot") is an editorial derivation from product category + the four-adjective register. freee does not publish a motion spec; a reviewer with Vibes component source can verify or refute.
|
|
98
|
-
- `brand.freee.co.jp/designphilosophy` page is heavily image/JS-driven; WebFetch returned only the page title. Content used was confirmed via search-surface cross-checks but not by a single full-markdown fetch.
|
|
99
|
-
|
|
100
|
-
## Philosophy Layer QA (2026-04-20) — Diagnostic Rubric
|
|
101
|
-
|
|
102
|
-
| # | Dimension | Score | Notes |
|
|
103
|
-
|---|---|---|---|
|
|
104
|
-
| D1 | §10 intro standalone, 3–5 lines, voice qualifiers | 🟢 | Standalone opener (no comparative reference to LINE / Mercari / Apple). 5 lines of prose. Four brand-published voice qualifiers (かろやか / シンプル / あんしん / インテリジェント) plus "plain, reassuring, unobtrusively competent" synthesis adjectives. |
|
|
105
|
-
| D2 | §10 tone table 7–10 rows with brand-surface | 🟢 | 8 rows. Includes CTAs / Errors (2 variants) / Success / Onboarding (mandatory) + brand-specific rows: Help/inline explanation (tax-term gloss) and Accessibility surfaces (screen-reader + visible copy parity). |
|
|
106
|
-
| D3 | §10 forbidden phrases with brand-specific items | 🟢 | Generic bans (革命的 / revolutionary / game-changer) + JP-specific カタカナ jargon bans (イノベーティブ / ディスラプティブ) + category-specific bans (emoji on money-moved, absolutes like 完全自動 / 100% 正確 that a tax authority could contradict). |
|
|
107
|
-
| D4 | §10 voice samples ≥3 with verification tier markers | 🟢 | 6 samples total. 2 verified (mission tagline + accessibility tagline, both with URL + yyyy-mm markers). 1 cited (four-adjective register). 3 illustrative (empty state, validation error, success toast) with explicit illustrative markers. All 6 marked. |
|
|
108
|
-
| D5 | §11 narrative with inline citations + footer manifest | 🟢 | Inline markdown links to corp.freee.co.jp/company, /mission, /sustainability/social/accessibility, a11y-guidelines.freee.co.jp, github.com/freee/vibes. Full source manifest in HTML comment footer with tiering (Direct / Cited / JP-translated / Base-carry / Interpretive). |
|
|
109
|
-
| D6 | §12 principles with explicit UI implication | 🟢 | All 8 principles use explicit `*UI implication:*` label followed by concrete rule and example. |
|
|
110
|
-
| D7 | §12 count 5–10 (target 7–9) | 🟢 | 8 principles. |
|
|
111
|
-
| D8 | §13 personas ≤3 sentences, behavior-first, disclaimer | 🟢 | 4 archetypes, each ≤3 sentences. Disclaimer present. Japanese SMB context respected (ramen shop owner, sole-proprietor illustrator, 税理士, design-studio back-office lead). Behaviors dominate over background. |
|
|
112
|
-
| D9 | §14 states 10–12, core types covered, no UI-pattern pollution | 🟢 | 12 rows. Core types covered: Empty (2), Loading (2), Error (3), Success (2), Skeleton, Disabled. Brand-authentic row: Approval pending (HR/expense workflow) — unique to SMB back-office context. No UI-pattern pollution. |
|
|
113
|
-
| D10 | §15 spring stance explicit + rationale | 🟢 | Explicit: "No spring. No overshoot. No bounce." Rationale: accounting/tax product + four-adjective register; spring tells a user "watch this", which is wrong next to a ledger balance. |
|
|
114
|
-
| D11 | §15 reduce-motion rule present | 🟢 | Present. All `motion-*` tokens collapse to `motion-instant` under `prefers-reduced-motion: reduce`. No exceptions; cross-referenced to Principle 7 (accessibility as product constraint). |
|
|
115
|
-
|
|
116
|
-
**Result**: 11 🟢 / 0 🟡 / 0 🔴. **PASS.**
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Fugle — Verification Notes (2026-06-03)
|
|
2
|
-
|
|
3
|
-
## Proof — Tier 1 live inspect
|
|
4
|
-
**Inspected:** 2026-06-03
|
|
5
|
-
**Method:** raw source-file fetch (homepage HTML + CSS bundles + PWA manifest + developer portal CSS + Apple App Store listing)
|
|
6
|
-
**Sources:**
|
|
7
|
-
- https://www.fugle.tw (full HTML, inline `<style>`, meta tags)
|
|
8
|
-
- https://dk91kmsnfr6kg.cloudfront.net/desktop/assets/fugle-desktop.d5b14f507dc94191ea072af78696b931.css (156,854 bytes)
|
|
9
|
-
- https://dk91kmsnfr6kg.cloudfront.net/desktop/assets/chunk.ac7daef9fdaa5882212c.css (54,782 bytes)
|
|
10
|
-
- https://dk91kmsnfr6kg.cloudfront.net/desktop/assets/chunk.ac7daef9fdaa5882212c.js (1,649,565 bytes)
|
|
11
|
-
- https://www.fugle.tw/manifest.json
|
|
12
|
-
- https://developer.fugle.tw/assets/css/styles.46d8cd92.css (129,961 bytes)
|
|
13
|
-
- https://apps.apple.com/tw/app/fugle/id1542310263
|
|
14
|
-
|
|
15
|
-
### Raw samples
|
|
16
|
-
1. `www.fugle.tw` HTML inline style: `.lds-ellipsis div { background:#f4af1c; animation-timing-function:cubic-bezier(0,1,1,0) }` — primary amber, loading dot easing
|
|
17
|
-
2. `www.fugle.tw` HTML meta: `<meta name="theme-color" content="#f4af1c">` — confirmed brand primary
|
|
18
|
-
3. `www.fugle.tw/manifest.json`: `"theme_color": "#fbcc67"` — PWA manifest uses a lighter amber (conflict noted; CSS canonical value `#f4af1c` used as primary)
|
|
19
|
-
4. `fugle-desktop.css` CSS custom properties: `--color-neutral-00-white:#ffffff; --color-neutral-04:#f5f5f5; --color-neutral-08:#eaeaea; --color-neutral-46:#8b8a8a; --color-neutral-80:#323232; --color-neutral-93:#131313` — full neutral scale
|
|
20
|
-
5. `fugle-desktop.css` component: `.fugle-trade-box { border-radius:4px; box-shadow:0 2px 2px 0 rgba(0,0,0,.08),0 2px 7px 0 rgba(0,0,0,.1) }` — card radius and shadow
|
|
21
|
-
6. `fugle-desktop.css` component: `.watchlist-stock { min-height:55px; border-bottom:1px solid var(--t20) }` — stock row height 55px, border rule
|
|
22
|
-
7. `fugle-desktop.css` component: `input { height:32px; border-radius:4px; background-color:var(--t20); font-size:16px }` — input field tokens
|
|
23
|
-
8. `chunk.ac7daef9fdaa5882212c.js` JS object: `red:"#f3746d",green:"#6c9c46",grey:"#545454"` — light theme trading colors
|
|
24
|
-
9. `chunk.ac7daef9fdaa5882212c.js` JS object: `dark:{red:"#ff3737",green:"#6fda1a"}` — dark theme trading colors
|
|
25
|
-
10. `developer.fugle.tw` CSS custom properties: `--p:#f4af1c; --p20:#fef4cf; --p60:#e49b00; --s:#4c85a0; --s60:#36708c` — full developer palette, confirms primary and secondary hues
|
|
26
|
-
11. `developer.fugle.tw` CSS: `--ifm-color-primary:#f4af1c; --ifm-color-primary-dark:#e49b00` — Docusaurus override confirms brand primary
|
|
27
|
-
12. `developer.fugle.tw` CSS: `font-family:"Noto Sans TC","Microsoft JhengHei"` — Traditional Chinese typeface
|
|
28
|
-
13. `fugle-desktop.css` transition: `transition:all .2s cubic-bezier(.4,.6,.2,1)` — standard easing curve
|
|
29
|
-
14. `apps.apple.com/tw/app/fugle/id1542310263` App Store description (zh-TW): `"認真的投資人值得更好的工具"` — core brand tagline
|
|
30
|
-
|
|
31
|
-
## Tier 2 — cross-check
|
|
32
|
-
- getdesign.md/fugle — **NOT LISTED**: "No designs found for 'fugle'."
|
|
33
|
-
- refero — no TW/Fugle results; not applicable for Taiwan-based fintech.
|
|
34
|
-
|
|
35
|
-
## Country + regional sources
|
|
36
|
-
- Country: TW (Taiwan); parent company Fortuna Intelligence (富果股份有限公司), headquartered in Taipei, Taiwan
|
|
37
|
-
- Brand-owned regional sources (≥2):
|
|
38
|
-
1. https://www.fugle.tw — main product domain, served from Taiwan, language `zh-Hant-TW`
|
|
39
|
-
2. https://developer.fugle.tw — official developer API portal, fugle.tw subdomain, Traditional Chinese product description
|
|
40
|
-
3. https://apps.apple.com/tw/app/fugle/id1542310263 — App Store Taiwan listing under developer "Fortuna Intelligence", app id `tw.fugle.flutter.app`
|
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: fugle
|
|
3
|
-
name: "Fugle"
|
|
4
|
-
country: TW
|
|
5
|
-
category: fintech
|
|
6
|
-
homepage: "https://www.fugle.tw"
|
|
7
|
-
primary_color: "#f4af1c"
|
|
8
|
-
logo:
|
|
9
|
-
type: favicon
|
|
10
|
-
slug: "https://www.fugle.tw/images/favicon.ico"
|
|
11
|
-
verified: "2026-06-03"
|
|
12
|
-
omd: "0.1"
|
|
13
|
-
tokens:
|
|
14
|
-
source: prose-derived
|
|
15
|
-
extracted: "2026-06-09"
|
|
16
|
-
colors:
|
|
17
|
-
primary: "#f4af1c"
|
|
18
|
-
primary-hover: "#e49b00"
|
|
19
|
-
primary-tint: "#fef4cf"
|
|
20
|
-
secondary: "#4c85a0"
|
|
21
|
-
secondary-hover: "#36708c"
|
|
22
|
-
canvas: "#ffffff"
|
|
23
|
-
bg-secondary: "#f5f5f5"
|
|
24
|
-
border: "#eaeaea"
|
|
25
|
-
border-heavy: "#dfdfdf"
|
|
26
|
-
text: "#323232"
|
|
27
|
-
text-muted: "#8b8a8a"
|
|
28
|
-
dark-surface: "#131313"
|
|
29
|
-
rise: "#f3746d"
|
|
30
|
-
fall: "#6c9c46"
|
|
31
|
-
error: "#d12a2a"
|
|
32
|
-
typography:
|
|
33
|
-
family: { sans: "Lato", mono: "Lato" }
|
|
34
|
-
highlight: { size: 24, weight: 700, lineHeight: 1.4, use: "Data highlight values" }
|
|
35
|
-
heading: { size: 20, weight: 700, lineHeight: 1.4, use: "Dialog / section headings" }
|
|
36
|
-
modal: { size: 16, weight: 400, lineHeight: 1.5, use: "Modal body, form inputs" }
|
|
37
|
-
body: { size: 14, weight: 400, lineHeight: 1.4, use: "Dense data rows" }
|
|
38
|
-
label: { size: 12, weight: 400, lineHeight: 1.4, use: "Secondary labels, timestamps" }
|
|
39
|
-
spacing: { xs: 5, sm: 8, base: 16, lg: 20, xl: 32, section: 50 }
|
|
40
|
-
rounded: { sm: 4, md: 4, lg: 8, full: 9999 }
|
|
41
|
-
shadow:
|
|
42
|
-
card: "0 2px 2px 0 rgba(0,0,0,.08), 0 2px 7px 0 rgba(0,0,0,.1)"
|
|
43
|
-
popover: "0 0 24px 0 rgba(0,0,0,.08)"
|
|
44
|
-
modal: "0 0 17px 0 rgba(0,0,0,.14), 0 8px 9px 0 rgba(0,0,0,.12)"
|
|
45
|
-
components:
|
|
46
|
-
button-primary: { type: button, bg: "#f4af1c", fg: "#ffffff", radius: "4px", font: "14px / 700", use: "Amber CTA; hover #e49b00" }
|
|
47
|
-
input-default: { type: input, bg: "#eaeaea", radius: "4px", padding: "0 5px", font: "16px / 400", use: "Search / trade input, 32px height" }
|
|
48
|
-
list-item-stock: { type: listItem, bg: "#ffffff", radius: "0px", font: "14px / 400", use: "Watchlist row, 55px height, 1px #eaeaea border; hover rgba(0,0,0,0.04)" }
|
|
49
|
-
card-trade: { type: card, bg: "#ffffff", radius: "4px", padding: "20px 0", use: "Surface trade box card" }
|
|
50
|
-
card-info: { type: card, bg: "#eaeaea", radius: "8px", use: "Highlighted info box" }
|
|
51
|
-
dialog: { type: dialog, bg: "#ffffff", radius: "4px", padding: "16px", font: "16px / 400", use: "Modal dialog container" }
|
|
52
|
-
components_harvested: true
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
# Fugle
|
|
56
|
-
|
|
57
|
-
Taiwan's visual-first stock research and trading platform, built by investors for serious investors.
|
|
58
|
-
|
|
59
|
-
## 1. Visual Theme & Atmosphere
|
|
60
|
-
|
|
61
|
-
Fugle's interface speaks the language of precision and calm confidence. A predominantly light, near-white canvas — `#f5f5f5` for secondary surfaces, `#ffffff` for foreground containers — keeps the dense data of Taiwan equity markets easy to scan without overwhelming the eye. Against this quiet ground, the brand's signature amber `#f4af1c` appears sparingly but unmistakably: loading indicators, live-chat buttons, version badges, and chart reference lines all carry the same warm gold tone. The dark theme inverts the arrangement, dropping to a near-black `#131313` base with `#323232` surface layers, letting red and green trading signals pop with strong luminance contrast. Two modes share the same structural rhythm — compact rows, 4 px and 8 px radii, tight 12–14 px body type — giving both themes an identical sense of discipline and information density appropriate to active trading.
|
|
62
|
-
|
|
63
|
-
## 2. Color Palette & Roles
|
|
64
|
-
|
|
65
|
-
- **Brand Amber:** `#f4af1c` — primary brand color; loading spinners, live-chat button, version badges, chart line accent, primary CTA background
|
|
66
|
-
- **Amber Dark:** `#e49b00` — hover state for primary buttons (`--p60`), icon fills on emphasis
|
|
67
|
-
- **Amber Tint:** `#fef4cf` — soft background for amber-highlighted content areas (`--p20`)
|
|
68
|
-
- **Secondary Blue:** `#4c85a0` — secondary interactive elements, link text default (`--s`, `--color-neutral-link-50`)
|
|
69
|
-
- **Secondary Blue Dark:** `#36708c` — secondary blue hover (`--s60`)
|
|
70
|
-
- **Surface White:** `#ffffff` — card backgrounds, modal surfaces, `--color-neutral-00-white`
|
|
71
|
-
- **Background Secondary:** `#f5f5f5` — page backgrounds, hover fills (`--color-neutral-04`)
|
|
72
|
-
- **Border Default:** `#eaeaea` — dividers, default strokes (`--color-neutral-08`)
|
|
73
|
-
- **Border Heavy:** `#dfdfdf` — emphasized borders (`--color-neutral-13`)
|
|
74
|
-
- **Secondary Text:** `#8b8a8a` — muted labels, helper text (`--color-neutral-46`)
|
|
75
|
-
- **Body Text:** `#323232` — primary foreground text (`--color-neutral-80`)
|
|
76
|
-
- **Dark Surface:** `#131313` — dark-mode primary background (`--color-neutral-93`)
|
|
77
|
-
- **Rise (Light):** `#f3746d` — stock price rise in light theme (TW convention: red = up)
|
|
78
|
-
- **Fall (Light):** `#6c9c46` — stock price fall in light theme (TW convention: green = down)
|
|
79
|
-
- **Error:** `#d12a2a` — system errors, form validation (`--color-red-600`)
|
|
80
|
-
|
|
81
|
-
## 3. Typography Rules
|
|
82
|
-
|
|
83
|
-
Fugle uses **Lato** (via Google Fonts) as the Latin character family across the main web trading platform, complemented by **Noto Sans TC** and **Microsoft JhengHei** on the developer documentation portal for Traditional Chinese text. The Material Icons font handles iconography throughout.
|
|
84
|
-
|
|
85
|
-
Body text runs at **14 px / normal** weight for dense data rows, **12 px** for secondary labels and timestamps, and **16 px** for modal body copy and form inputs. Section headings use **20 px / 700** in dialogs, and data highlight values reach **18–24 px**. Line heights are kept tight to maximize data density — approximately 1.4–1.5× for multi-line text. Font weight vocabulary: 400 for body, 700 for emphasis and headings. No custom variable fonts detected.
|
|
86
|
-
|
|
87
|
-
## 4. Component Stylings
|
|
88
|
-
|
|
89
|
-
### Primary Button
|
|
90
|
-
|
|
91
|
-
**Amber CTA (e.g. "開始交易")**
|
|
92
|
-
- Background: `#f4af1c`
|
|
93
|
-
- Text: `#ffffff`
|
|
94
|
-
- Border: none
|
|
95
|
-
- Radius: 4px
|
|
96
|
-
- Font: 14px / 700
|
|
97
|
-
|
|
98
|
-
**Amber CTA Hover**
|
|
99
|
-
- Background: `#e49b00`
|
|
100
|
-
- Text: `#ffffff`
|
|
101
|
-
- Radius: 4px
|
|
102
|
-
|
|
103
|
-
### Input Field
|
|
104
|
-
|
|
105
|
-
**Default Search / Trade Input**
|
|
106
|
-
- Background: `#eaeaea`
|
|
107
|
-
- Border: none
|
|
108
|
-
- Radius: 4px
|
|
109
|
-
- Height: 32px
|
|
110
|
-
- Padding: 0 5px 0 5px
|
|
111
|
-
- Font: 16px / 400
|
|
112
|
-
|
|
113
|
-
**Input Group (with label)**
|
|
114
|
-
- Border: 1px solid `#eaeaea`
|
|
115
|
-
- Radius: 4px
|
|
116
|
-
- Height: 32px
|
|
117
|
-
|
|
118
|
-
### Stock Row (Watchlist)
|
|
119
|
-
|
|
120
|
-
**Default Stock List Item**
|
|
121
|
-
- Background: `#ffffff`
|
|
122
|
-
- Border: 1px solid `#eaeaea`
|
|
123
|
-
- Radius: 0px
|
|
124
|
-
- Height: 55px
|
|
125
|
-
- Font: 14px / 400
|
|
126
|
-
|
|
127
|
-
**Hovered Stock Row**
|
|
128
|
-
- Background: `rgba(0,0,0,0.04)`
|
|
129
|
-
|
|
130
|
-
### Card / Trade Box
|
|
131
|
-
|
|
132
|
-
**Surface Card (e.g. fugle-trade-box)**
|
|
133
|
-
- Background: `#ffffff`
|
|
134
|
-
- Border: none
|
|
135
|
-
- Radius: 4px
|
|
136
|
-
- Padding: 20px 0
|
|
137
|
-
|
|
138
|
-
**Info Card (e.g. watchlist-stock__box)**
|
|
139
|
-
- Background: `#eaeaea`
|
|
140
|
-
- Radius: 8px
|
|
141
|
-
|
|
142
|
-
### Modal
|
|
143
|
-
|
|
144
|
-
**Dialog Container**
|
|
145
|
-
- Background: `#ffffff`
|
|
146
|
-
- Radius: 4px
|
|
147
|
-
- Font: 16px / 400
|
|
148
|
-
- Padding: 16px
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
**Verified:** 2026-06-03
|
|
152
|
-
**Tier 1 sources:** https://www.fugle.tw (HTML, inline CSS, manifest.json), https://dk91kmsnfr6kg.cloudfront.net/desktop/assets/fugle-desktop.d5b14f507dc94191ea072af78696b931.css, https://dk91kmsnfr6kg.cloudfront.net/desktop/assets/chunk.ac7daef9fdaa5882212c.css, https://developer.fugle.tw/assets/css/styles.46d8cd92.css, https://apps.apple.com/tw/app/fugle/id1542310263
|
|
153
|
-
**Tier 2 sources:** getdesign.md/fugle — No designs found for "fugle". refero — no TW/Fugle results expected.
|
|
154
|
-
**Conflicts unresolved:** HTML `theme-color` is `#f4af1c`; PWA manifest `theme_color` is `#fbcc67` (a lighter amber). The CSS custom property `--p` and developer portal's `--ifm-color-primary` both canonically define `#f4af1c`; the manifest value is likely a PWA splash-screen approximation. Primary recorded as `#f4af1c`.
|
|
155
|
-
|
|
156
|
-
## 5. Layout Principles
|
|
157
|
-
|
|
158
|
-
Fugle's web trading platform is a dense multi-panel grid. The header is fixed at **50 px** height. A left sidebar watchlist panel (configurable width via `--watchListWidth`) sits beside a scrollable main canvas. The trading panel (`--tradingWidth`) expands from the right edge. The main content container caps at **1508 px** max-width for standard market views, but trading views use `max-width: initial` for full-bleed chart display. Column grids follow Bootstrap-compatible breakpoints: 576 px (sm), 768 px (md), 1280 px (lg), 1440 px / 1680 px (xl variants for watchlist density). Card grids use CSS grid with responsive `repeat(N, 1fr)` columns that scale from 2 up to 5 columns depending on viewport.
|
|
159
|
-
|
|
160
|
-
## 6. Depth & Elevation
|
|
161
|
-
|
|
162
|
-
Fugle uses a layered shadow system that signals interactive hierarchy without dramatic depth:
|
|
163
|
-
|
|
164
|
-
- **Resting card:** `box-shadow: 0 2px 2px 0 rgba(0,0,0,.08), 0 2px 7px 0 rgba(0,0,0,.1)`
|
|
165
|
-
- **Dropdown / popover:** `box-shadow: 0 0 24px 0 rgba(0,0,0,.08)`
|
|
166
|
-
- **Modal / elevated panel:** `box-shadow: 0 0 17px 0 rgba(0,0,0,.14), 0 8px 9px 0 rgba(0,0,0,.12)`
|
|
167
|
-
- **Focus / active ring:** `box-shadow: 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 3px rgba(0,0,0,.12), 0 4px 15px 0 rgba(0,0,0,.2)`
|
|
168
|
-
- **Side panel frame:** `box-shadow: 0 4px 8px -4px var(--color-component-web-frame-shadow-default), 0 8px 16px -4px var(--color-component-web-frame-shadow-default)` — `rgba(0,0,0,0.08)` in light, `rgba(255,255,255,0.08)` in dark
|
|
169
|
-
|
|
170
|
-
Dark mode shadows use white-alpha variants to create the inverse glow effect. No `z-index`-heavy stacking unless modals are active.
|
|
171
|
-
|
|
172
|
-
## 7. Do's and Don'ts
|
|
173
|
-
|
|
174
|
-
### Do
|
|
175
|
-
- Use `#f4af1c` amber as the single primary CTA color across light and dark modes
|
|
176
|
-
- Show red (`#f3746d`) for rising prices and green (`#6c9c46`) for falling prices — follow Taiwan Stock Exchange convention, opposite of Western norms
|
|
177
|
-
- Keep card surfaces white (`#ffffff`) in light mode and dark (`#131313`) in dark mode; always separate with subtle border `#eaeaea` rather than heavy shadows
|
|
178
|
-
- Use Lato for Latin numerals in data-dense contexts; pair with Noto Sans TC for Chinese labels
|
|
179
|
-
- Apply `border-radius: 4px` uniformly to buttons, inputs, and cards; reserve `8px` for highlighted info boxes
|
|
180
|
-
- Limit the primary amber to interactive hotspots — loading states, primary buttons, notification badges — so it retains signal value
|
|
181
|
-
|
|
182
|
-
### Don't
|
|
183
|
-
- Don't use amber as a neutral fill or background wash — it should always signal action or system state
|
|
184
|
-
- Don't swap the red/green convention to Western defaults; Fugle's users rely on red = up, green = down
|
|
185
|
-
- Don't use heavy drop shadows on resting states; the light `rgba(0,0,0,.08)` layered shadow is intentional
|
|
186
|
-
- Don't exceed 16 px body font in data rows — density is a core UX value
|
|
187
|
-
- Don't add decorative illustration or gradient washes to the trading canvas; the chart data is the visual
|
|
188
|
-
- Don't use the dark theme in onboarding or marketing contexts; it's designed for active-trading sessions
|
|
189
|
-
|
|
190
|
-
## 8. Responsive Behavior
|
|
191
|
-
|
|
192
|
-
The platform targets desktop-first (min 1024 px canvas) and degrades gracefully to tablet. Breakpoints mirror Bootstrap: 576 px, 768 px, 1280 px, 1440 px, 1680 px. The watchlist sidebar collapses on narrow viewports. The trading panel (`--tradingWidth`) is hidden by default and slides in over the canvas on demand. Card grids scale: 1 column below 576 px, 2 columns at md, 3–5 at xl depending on feature area. Mobile is covered by the native iOS/Android app (Fugle app id 1542310263), which shares the brand's color and typography tokens but uses a card-based vertical scroll layout optimized for thumb navigation.
|
|
193
|
-
|
|
194
|
-
## 9. Agent Prompt Guide
|
|
195
|
-
|
|
196
|
-
When building Fugle-style interfaces:
|
|
197
|
-
|
|
198
|
-
- Start with a white (`#ffffff`) or light-grey (`#f5f5f5`) canvas, dense 12–14 px body text in Lato, no decorative imagery
|
|
199
|
-
- Primary CTAs: `background #f4af1c`, white text, 4 px radius, no visible border, hover to `#e49b00`
|
|
200
|
-
- Data rows: `min-height 55px`, `border-bottom 1px solid #eaeaea`, hover `rgba(0,0,0,0.04)` background
|
|
201
|
-
- Price changes: **always** red for rise, green for fall (TW convention); use `#f3746d` / `#6c9c46` in light mode
|
|
202
|
-
- Cards: `border-radius 4px`, `box-shadow 0 2px 2px 0 rgba(0,0,0,.08), 0 2px 7px 0 rgba(0,0,0,.1)`, no border
|
|
203
|
-
- Form inputs: `height 32px`, `border-radius 4px`, background `#eaeaea`, `font-size 16px`
|
|
204
|
-
- Transitions: `0.2s cubic-bezier(.4,.6,.2,1)` for most UI state changes
|
|
205
|
-
- Dark mode: swap backgrounds to `#131313` / `#222222` surfaces; keep `#f4af1c` amber unchanged
|
|
206
|
-
|
|
207
|
-
## 10. Voice & Tone
|
|
208
|
-
|
|
209
|
-
Fugle's voice is **precise, empowering, and peer-to-peer** — a fellow investor who happens to have built better tools, speaking directly to another serious investor.
|
|
210
|
-
|
|
211
|
-
| Dimension | Do | Don't |
|
|
212
|
-
|---|---|---|
|
|
213
|
-
| Register | Conversational but expert; uses financial terminology naturally | Dumbed-down language or over-explaining basics |
|
|
214
|
-
| Stance | Equal peer — "we research too" | Corporate authority — "our platform provides" |
|
|
215
|
-
| Framing | Research space, decision clarity, serious purpose | FOMO urgency, get-rich language, hype |
|
|
216
|
-
| Sentence length | Short to medium; punchy declaratives | Long compound clauses |
|
|
217
|
-
|
|
218
|
-
Voice samples (illustrative, modelled on App Store copy tone):
|
|
219
|
-
|
|
220
|
-
- "告別密密麻麻數字的傳統看盤軟體。" — *Illustrative: crisp one-liner that rejects the status quo without drama.*
|
|
221
|
-
- "認真的投資人,值得更好的工具。" — *Illustrative: the core brand promise stated as self-evident truth, not a sales claim.*
|
|
222
|
-
- "把時間花在決策,而非整理資料。" — *Illustrative: frames value through the user's time, not the product's features.*
|
|
223
|
-
|
|
224
|
-
## 11. Brand Narrative
|
|
225
|
-
|
|
226
|
-
Fugle (富果, "rich harvest") was founded in Taiwan by Fortuna Intelligence, a team that describes itself as being simultaneously developers and practicing investors who watch the markets daily. The animating frustration was the poor quality of existing retail trading interfaces — dense, noisy, built around brokerage workflow rather than investor research workflow — and the refusal to accept that as the only option.
|
|
227
|
-
|
|
228
|
-
The platform launched as a web trading app paired with a market data API, positioning itself at the intersection of fintech and developer tooling. The developer portal (developer.fugle.tw) made real-time Taiwan stock data accessible via clean REST and WebSocket APIs, partnering with Fubon, Taishin, and E.Sun securities to offer actual order execution. This dual strategy — beautiful research UI for investors, clean API for developers — reflects a philosophy that serious financial tools should meet users where they are, whether at a trading terminal or a code editor.
|
|
229
|
-
|
|
230
|
-
Today Fugle frames its mission around a simple belief: "認真的投資人值得更好的工具" — serious investors deserve better tools. The product is designed not to compete with professional Bloomberg terminals or to simplify investing into a game, but to occupy a deliberate middle ground: rigorous, visual, and genuinely pleasant to use for hours of research.
|
|
231
|
-
|
|
232
|
-
## 12. Principles
|
|
233
|
-
|
|
234
|
-
1. **Data clarity over data density.** Every number on screen should earn its place. When a display becomes crowded, the answer is smarter information architecture — heatmaps, visual cards — not smaller type. *UI implication:* use whitespace and visual hierarchy in card layouts rather than cramming more data into fewer pixels.
|
|
235
|
-
|
|
236
|
-
2. **Investor perspective, not brokerage perspective.** The interface is organized around how an investor thinks (by thesis, sector, comparison) not how a brokerage processes orders. *UI implication:* watchlists, custom research cards, and side-by-side comparisons are first-class features; order ticket is secondary until the user is ready to transact.
|
|
237
|
-
|
|
238
|
-
3. **Amber signals action.** The brand's single accent color is reserved for interactive moments — loading, primary buttons, live notifications. Overuse dilutes the signal. *UI implication:* no decorative amber, no amber text, no amber borders; only amber fills on actionable elements.
|
|
239
|
-
|
|
240
|
-
4. **Both modes are production-quality.** Light mode for daytime research, dark mode for active trading sessions — neither is an afterthought. *UI implication:* every component must be spec'd for both themes with equal care; dark mode uses near-black surfaces, not grey.
|
|
241
|
-
|
|
242
|
-
5. **Serious tools should still feel fast.** Transitions are tight (0.2 s) and purposeful. Animation is reserved for loading states and layout expansions, not decoration. *UI implication:* use `cubic-bezier(.4,.6,.2,1)` easing on state changes; avoid entrance animations on data rows.
|
|
243
|
-
|
|
244
|
-
## 13. Personas
|
|
245
|
-
|
|
246
|
-
*Illustrative — not based on published Fugle user research.*
|
|
247
|
-
|
|
248
|
-
**Illustrative: The Research-First Investor (個人投資者)**
|
|
249
|
-
Mid-career professional, 35–50, investing personal savings in Taiwan equities. Spends evenings building sector maps and comparing fundamentals across 5–15 stocks. Values clarity and speed; deeply annoyed by noise. Uses Fugle's custom card layout to structure a personal research SOP.
|
|
250
|
-
|
|
251
|
-
**Illustrative: The Developer-Investor (開發者投資人)**
|
|
252
|
-
Software engineer in their late 20s–early 40s who approaches investing algorithmically. Builds personal screeners using Fugle's marketdata API. Values API quality, documentation clarity, and free-tier access for prototyping. Attracted by the developer-friendly portal and Noto Sans TC-styled docs.
|
|
253
|
-
|
|
254
|
-
**Illustrative: The Active Trader (短線交易者)**
|
|
255
|
-
Experienced retail trader who watches intraday tick data and uses the dark theme during market hours. Needs every pixel to serve a function. Relies heavily on the watchlist panel and real-time price update animations. Irritated by anything that obscures the bid/ask spread display.
|
|
256
|
-
|
|
257
|
-
**Illustrative: The Student Investor (學習型投資人)**
|
|
258
|
-
University student or new entrant to Taiwan equity investing, 20–28. Discovered Fugle through a campus or online investing community. Drawn to the clean visual design compared to legacy broker platforms. Starts with the mobile app and explores web tools as confidence grows.
|
|
259
|
-
|
|
260
|
-
## 14. States
|
|
261
|
-
|
|
262
|
-
- **Empty — Watchlist:** Watchlist panel shows a placeholder prompt to add a stock ticker; no skeleton rows; single amber CTA button "新增自選股"
|
|
263
|
-
- **Loading — Data fetch:** Three amber `#f4af1c` bouncing dots (border-radius 50%, 11 px, `lds-ellipsis` animation at 0.6 s cubic-bezier(0,1,1,0)); used both on initial page load and in-panel data refresh
|
|
264
|
-
- **Error — No data / API timeout:** Inline message inside the affected card or panel; muted text `#8b8a8a`; no modal interruption; retry link styled as secondary text link
|
|
265
|
-
- **Error — Form validation:** Input border switches to `#d12a2a` (`--color-red-600`); error message appears below field at 12 px muted red
|
|
266
|
-
- **Success — Order submitted:** In-panel confirmation message with a green `#6c9c46` checkmark icon; auto-dismisses after 3 s without blocking interaction
|
|
267
|
-
- **Skeleton — Chart/card loading:** Placeholder shimmer animation (`placeHolderShimmer` keyframe, 500 ms interval defined in `loadingDelay`); uses `#eaeaea` animated gradient across content areas
|
|
268
|
-
- **Disabled — Button:** `background-color rgba(0,0,0,.12)`, `color rgba(0,0,0,.26)`, `box-shadow none`, `cursor not-allowed`; no amber used on disabled state
|
|
269
|
-
|
|
270
|
-
## 15. Motion & Easing
|
|
271
|
-
|
|
272
|
-
**Duration scale:**
|
|
273
|
-
- Micro (icon state): 0.1 s
|
|
274
|
-
- Fast (hover, focus): 0.2 s
|
|
275
|
-
- Standard (panel expand, input transitions): 0.3 s
|
|
276
|
-
- Moderate (fade, scroll animation): 0.425 s
|
|
277
|
-
- Slow (panel slide, complex layout): 0.6–0.65 s
|
|
278
|
-
- Extra-slow (chart loading dot): 0.6 s loop, 9 s total for secondary spinners
|
|
279
|
-
|
|
280
|
-
**Primary easing:** `cubic-bezier(.4,.6,.2,1)` — Fugle's signature curve, used on layout transitions, header animations, and most interactive state changes. It has a sharp initial acceleration (the `.6` control point) and a gentle deceleration that gives the UI a confident, purposeful feel.
|
|
281
|
-
|
|
282
|
-
**Secondary easing:** `cubic-bezier(0,1,.5,1)` — used for panel reveal/collapse; starts slow and exits fast, creating a "snap open" character.
|
|
283
|
-
|
|
284
|
-
**Loading animation:** `cubic-bezier(0,1,1,0)` — the bouncing dot easing; exaggerated overshoot gives the brand's only playful motion moment.
|
|
285
|
-
|
|
286
|
-
**Rules:**
|
|
287
|
-
- All data-row hover transitions use `0.2s` or less; never animate data values themselves
|
|
288
|
-
- Layout changes (watchlist open/close, trading panel) use the `--layoutDuration` CSS variable with the primary cubic-bezier curve
|
|
289
|
-
- No entrance animations on stock rows or chart data; they appear instantly
|
|
290
|
-
- Opacity fades use 0.425 s for modals and overlays
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# FunNow — Verification Notes (2026-06-10)
|
|
2
|
-
|
|
3
|
-
## Proof — Tier 1 live inspect
|
|
4
|
-
|
|
5
|
-
**Inspected:** 2026-06-10
|
|
6
|
-
**Method:** playwright getComputedStyle (live DOM) — global playwright (chromium, headless), goto domcontentloaded + 3.5–4.5s settle, modal/cookie dismissal pass, then `getComputedStyle` on body, h1/h2/h3, buttons, inputs, tabs, badges/chips, plus full-DOM background/text color frequency scans on three surfaces.
|
|
7
|
-
**Sources:**
|
|
8
|
-
- https://www.myfunnow.com/en (homepage — toolbar, hero, booking bar, product cards, tags)
|
|
9
|
-
- https://www.myfunnow.com/en/regions/1/categories/10265 (Taipei Hot Spring category — page title, filter tabs, listing chrome)
|
|
10
|
-
- https://www.events.myfunnow.com/booking-en (FunNow Booking merchant surface — CTAs, headings)
|
|
11
|
-
|
|
12
|
-
### Raw samples
|
|
13
|
-
- `myfunnow.com/en` · body · `font-family: "Helvetica Neue", Helvetica, Tahoma, Arial, "PingFang TC", "Microsoft JhengHei", ...` · `color: rgb(37, 39, 41)` (#252729) · `font-size: 15px` · `line-height: 22.5px` · `background-color: rgb(244, 244, 245)` (#f4f4f5)
|
|
14
|
-
- `myfunnow.com/en` · hero H1 "Explore & book your fun activities in Ta…" · `font-size: 36px` · `font-weight: 500` · `color: rgba(0, 0, 0, 0.87)` · height 88px (2 lines ≈ 44px lh)
|
|
15
|
-
- `myfunnow.com/en` · hero H2 "Book motel & hotel, massage & spa, resta…" · `font-size: 17px` · `font-weight: 400` · `color: rgb(37, 39, 41)`
|
|
16
|
-
- `myfunnow.com/en` · search submit button · `background-color: rgb(255, 85, 55)` (#ff5537) · `color: rgb(255, 255, 255)` · `border-radius: 4px` · `padding: 0px 16px` · height 40px · `font-size: 14px` · Material elevation shadow `rgba(0, 0, 0, 0.2) 0px 0px 0px 0px, rgba(0, 0, 0, 0.14) 0px …`
|
|
17
|
-
- `myfunnow.com/en` · "Download App" button · `color: rgb(77, 203, 203)` (#4dcbcb) · `border: 1px solid rgb(77, 203, 203)` · `border-radius: 4px` · `padding: 0px 8px` · height 36px · `font-size: 15px`
|
|
18
|
-
- `myfunnow.com/en` · "Login / Sign Up" button · transparent bg · `color: rgb(0, 0, 0)` · `border-radius: 4px` · `padding: 0px 8px` · height 36px · `font-size: 15px`
|
|
19
|
-
- `myfunnow.com/en` · booking bar buttons (Category/Now/Date/Time/Pax) · transparent bg · `color: rgba(0, 0, 0, 0.87)` · `border-radius: 4px` · `padding: 0px 12px` · height 40px · `font-size: 17px`
|
|
20
|
-
- `myfunnow.com/en` · search input · `font-size: 16px` · `padding: 8px 16px` · height 40px · `border-radius: 0px`
|
|
21
|
-
- `myfunnow.com/en` · badge "Available now" · `background-color: rgb(255, 85, 55)` (#ff5537) · `color: rgb(255, 255, 255)` · `border-radius: 4px` · `padding: 2px 8px` · `font-size: 12px` · `font-weight: 500`
|
|
22
|
-
- `myfunnow.com/en` · badge "Flash Sales Now" / "06:00 Flash Sale" · `background-color: rgb(90, 105, 235)` (#5a69eb) · `color: rgb(255, 255, 255)` · `border-radius: 4px` · `padding: 0px 8px` · `font-size: 12px` · `font-weight: 400`
|
|
23
|
-
- `myfunnow.com/en` · product tiles · class `v-card v-card--flat` · `background-color: rgb(255, 255, 255)` · `border-radius: 4px` · `box-shadow: none` · measured 360×135 (list) and 233×146 (carousel)
|
|
24
|
-
- `myfunnow.com/en` · bg frequency scan (top): `rgba(0,0,0,0.87)` ×387, `rgb(255,255,255)` ×175, `rgb(255,85,55)` ×43 (#ff5537), `rgba(0,0,0,0.4)` ×19, `rgb(255,177,7)` ×17 (#ffb107), `rgb(90,105,235)` ×13 (#5a69eb), `rgb(37,39,41)` ×9, `rgb(167,167,169)` ×6 (#a7a7a9), `rgb(77,203,203)` ×1 (#4dcbcb), `rgb(255,216,209)` ×1 (#ffd8d1), `rgb(255,238,235)` ×1 (#ffeeeb)
|
|
25
|
-
- `myfunnow.com/en` · fg frequency scan (top): `rgba(0,0,0,0.87)` ×1770, `rgb(37,39,41)` ×502 (#252729), `rgb(255,255,255)` ×466, `rgb(255,85,55)` ×221 (#ff5537), `rgb(0,0,0)` ×125, `rgb(167,167,169)` ×60 (#a7a7a9), `rgb(77,203,203)` ×18 (#4dcbcb)
|
|
26
|
-
- `regions/1/categories/10265` · page H1 "Taipei|TaoyuanHot Spring" · `font-size: 24px` · `font-weight: 700` · height 36px
|
|
27
|
-
- `regions/1/categories/10265` · page H2 intro · `font-size: 18px` · `font-weight: 400`
|
|
28
|
-
- `regions/1/categories/10265` · filter tab "All" (active) · `color: rgb(255, 85, 55)` (#ff5537) · `font-size: 17px` · `padding: 0px 16px` · height 48px; inactive tabs ("Beitou Hot Spring Hotel" …) `color: rgb(37, 39, 41)` (#252729) · height 48px
|
|
29
|
-
- `events.myfunnow.com/booking-en` · CTA "Reach Out to Us" / "Get Started" / "Grow with Us" · `background-color: rgb(255, 85, 55)` (#ff5537) · `border-radius: 5px` · height 35–40px
|
|
30
|
-
- `events.myfunnow.com/booking-en` · H1 "FunNow Booking — Help you stay on top" · `font-size: 46px` · `color: rgb(37, 39, 41)`; H2 sections `font-size: 34–38px` · `font-weight: 400`
|
|
31
|
-
|
|
32
|
-
## Country sources (TW — brand-owned ≥2 requirement)
|
|
33
|
-
|
|
34
|
-
1. **https://www.myfunnow.com** — FunNow official consumer platform (Tier 1 live-inspected on two surfaces: homepage + category listing).
|
|
35
|
-
2. **https://blog.myfunnow.com** — FunNow official lifestyle blog 「FunNow|生活玩樂誌」 (brand-owned; deal guides and brand voice).
|
|
36
|
-
3. **https://www.events.myfunnow.com/whyfunnow-zh** — official "Why FunNow" brand page (brand-owned; mission, slogans: "Last minute unlimited", "線上一鍵預訂,線下即刻出發!", "尖峰有優惠,離峰更划算!").
|
|
37
|
-
4. **https://www.events.myfunnow.com/booking-en** — FunNow Booking merchant SaaS surface (brand-owned; live-inspected).
|
|
38
|
-
|
|
39
|
-
Note: getdesign.md / styles.refero.design / Google favicon proxy are explicitly NOT counted toward the TW brand-owned requirement.
|
|
40
|
-
|
|
41
|
-
## Tier 2 attempts
|
|
42
|
-
|
|
43
|
-
- **getdesign.md/funnow** — WebFetch 2026-06-10 → 404 / "No designs found for 'funnow'". No brand-name variant exists (myfunnow also implausible; site search itself reported zero results).
|
|
44
|
-
- **styles.refero.design/?q=funnow** — playwright navigate 2026-06-10 → search executed, results returned unrelated brands only (Wizz, Fold, Foodnoms, Fuser, Busuu…). FunNow not listed.
|
|
45
|
-
|
|
46
|
-
→ Tier 2: none available. Tier 1 live inspect carries all token claims (TW policy per `spec/regional-sources.yaml`).
|
|
47
|
-
|
|
48
|
-
## Conflict matrix
|
|
49
|
-
|
|
50
|
-
| Field | Tier 1 (live) | getdesign | refero | Resolution |
|
|
51
|
-
|---|---|---|---|---|
|
|
52
|
-
| Primary color | `#ff5537` (CTA, tags, active tab, favicon SVG fill) | n/a (404) | n/a (not listed) | `#ff5537` — Tier 1 only, cross-confirmed by official favicon SVG `fill="#FF5537"` |
|
|
53
|
-
| Radius | 4px (consumer product), 5px (events/merchant pages) | n/a | n/a | 4px canonical; 5px noted as merchant-surface variant — documented, not a conflict |
|
|
54
|
-
| Heading color | `rgba(0,0,0,0.87)` (homepage H1) vs `rgb(37,39,41)` (events headings, body) | n/a | n/a | Both kept: Material 87%-black default + `#252729` charcoal; documented in §2 |
|
|
55
|
-
|
|
56
|
-
No unresolved conflicts.
|
|
57
|
-
|
|
58
|
-
## Logo decision
|
|
59
|
-
|
|
60
|
-
- Google s2 favicon proxy (`domain=myfunnow.com&sz=128`): 223 B PNG at **32×32** only (Google lacks a 128px render) — but visually verified as the real FunNow "f" mark in brand orange, NOT a generic globe.
|
|
61
|
-
- `cdn.simpleicons.org/funnow` → 404. `github.com/FunNow` org exists but avatar is an auto-generated identicon (not a logo).
|
|
62
|
-
- **Chosen:** `type: favicon, slug: https://cdn.myfunnow.com/web/images/funnow_favicon.svg` — the site's own `<link rel="icon">` asset, 517 B SVG, HTTP 200, vector brand mark with `fill="#FF5537"`. (Precedent: 29cm uses a direct brand-CDN asset URL as favicon slug.)
|