Files
meta-plugin/.codex/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc

242 lines
62 KiB
Plaintext
Raw Normal View History

2026-03-27 10:02:59 +08:00
+
<00><ri^<5E><00> <00>@<00>Rt^RIt^RIt^RIt^RIHt^RIHt^RIHtH t Rt
RR^/RR^/R R^/R
R^/R R^//t !R R 4t ^Zt RRltRRltR.RRlltR/RRlltRRltR0RRlltRRltRRlt]R8Xd<>^RIt]P0!R R!7t]P5R"R#R$7]P5R%R&]RR'R(7]P5R)R*RR+.RR,R-7]P94t]!]P<]P>]P@4t!]"!]!4R#R#)1a<31>
Design System Generator - Aggregates search results and applies reasoning
to generate comprehensive design system recommendations.
Usage:
from design_system import generate_design_system
result = generate_design_system("SaaS dashboard", "My Project")
# With persistence (Master + Overrides pattern)
result = generate_design_system("SaaS dashboard", "My Project", persist=True)
result = generate_design_system("SaaS dashboard", "My Project", persist=True, page="dashboard")
N)<01>datetime)<01>Path)<02>search<63>DATA_DIRzui-reasoning.csv<73>product<63> max_results<74>style<6C>color<6F>landing<6E>
typographyc<00><>a<00>]tRt^%toRtRtV3RlRltRV3RlRlltV3RlR ltV3R
lR lt V3R lR lt
V3RlRlt RV3RlRllt Rt VtR#)<14>DesignSystemGeneratorzAGenerates design system recommendations from aggregated searches.c<08>0<00>VP4VnR#<00>N)<02>_load_reasoning<6E>reasoning_data)<01>selfs&<26>s/Users/viettranx/Documents/coding/next-level-builder/ui-ux-pro-max-skill/src/ui-ux-pro-max/scripts/design_system.py<70>__init__<5F>DesignSystemGenerator.__init__(s<00><00>"<22>2<>2<>4<><04><1B>c<00> <<01>V^8<>dQhRS[/#)<02><00>return)<01>list)<02>format<61> __classdict__s"<22>r<00> __annotate__<5F>"DesignSystemGenerator.__annotate__+s<00><><00>+<2B>+<2B><14>+rc <0C><><00>\\, pVP4'g.#\VRRR7;_uu_4p\ \
P !V44uuRRR4# +'giR#;i)zLoad reasoning rules from CSV.<2E>r<>utf-8<><01>encodingN)r<00>REASONING_FILE<4C>exists<74>openr<00>csv<73>
DictReader)r<00>filepath<74>fs& rr<00>%DesignSystemGenerator._load_reasoning+sO<00><00><1B>n<EFBFBD>,<2C><08><17><EFBFBD><EFBFBD> <20> <20><15>I<EFBFBD> <11>(<28>C<EFBFBD>'<27> 2<> 2<>a<EFBFBD><17><03><0E><0E>q<EFBFBD>)<29>*<2A>3<> 2<> 2<> 2<>s <00>A*<05>* A; Nc<00>,<<01>V^8<>dQhRS[RS[RS[/#)r<00>query<72>style_priorityr)<03>strr<00>dict)rrs"<22>rrr3s"<00><><00> <17> <17>#<23> <17>t<EFBFBD> <17>t<EFBFBD> rc <0C> <00>/p\P4FiwrEVR8XdIV'dAV'dRPVR,4MTpV RV 2p\WtVR,4W4&KT\WVR,4W4&Kk V#)z)Execute searches across multiple domains.r<00> :NrNr)<04> SEARCH_CONFIG<49>items<6D>joinr)rr-r.<00>results<74>domain<69>config<69>priority_query<72>combined_querys&&& r<00>_multi_domain_search<63>*DesignSystemGenerator._multi_domain_search3s|<00><00><14><07>+<2B>1<>1<>3<>N<EFBFBD>F<EFBFBD><15><17> <20>^<5E>AO<41><13><18><18>.<2E><12>*<<3C>!=<3D>UZ<55><0E>$)<29>7<EFBFBD>!<21>N<EFBFBD>+;<3B>!<<3C><0E>"(<28><1E><16> <0A>AV<41>"W<><07><0F>"(<28><15><06>}<7D>8M<38>"N<><07><0F>4<><17>rc<00>&<<01>V^8<>dQhRS[RS[/#)r<00>categoryr<00>r/r0)rrs"<22>rrr@s<00><><00><12><12>S<EFBFBD><12>T<EFBFBD>rc <0C>xa<05>VP4oVPF,pVPRR4P4S8XgK*Vu# VPF5pVPRR4P4pVS9g
SV9gK3Vu# VPF<>pVPRR4P4pVPRR4PRR4P 4p\
;QJdV3RlV4F 'gK RM RM!V3RlV44'gK<>Vu# /#) z,Find matching reasoning rule for a category.<2E> UI_Category<72><00>/r2<00>-c3<00>,<"<00>TF qS9x<00>K R#5ir<00>)<03>.0<EFBFBD>kw<6B>category_lowers& <20>r<00> <genexpr><3E>=DesignSystemGenerator._find_reasoning_rule.<locals>.<genexpr>Ss<00><><00><00>;<3B>(<28>B<EFBFBD><1E>'<27>(<28><><00>TF)<06>lowerr<00>get<65>replace<63>split<69>any)rr><00>rule<6C>ui_cat<61>keywordsrIs&& @r<00>_find_reasoning_rule<6C>*DesignSystemGenerator._find_reasoning_rule@s<><00><><00>!<21><1E><1E>)<29><0E><19>'<27>'<27>D<EFBFBD><13>x<EFBFBD>x<EFBFBD> <0A>r<EFBFBD>*<2A>0<>0<>2<>n<EFBFBD>D<><1B> <0B>(<28>
<19>'<27>'<27>D<EFBFBD><19>X<EFBFBD>X<EFBFBD>m<EFBFBD>R<EFBFBD>0<>6<>6<>8<>F<EFBFBD><15><1E>'<27>><3E>V<EFBFBD>+C<><1B> <0B>(<28> <19>'<27>'<27>D<EFBFBD><19>X<EFBFBD>X<EFBFBD>m<EFBFBD>R<EFBFBD>0<>6<>6<>8<>F<EFBFBD><1D>~<7E>~<7E>c<EFBFBD>3<EFBFBD>/<2F>7<>7<><03>S<EFBFBD>A<>G<>G<>I<>H<EFBFBD><12>s<EFBFBD>;<3B>(<28>;<3B>s<EFBFBD>s<EFBFBD>s<EFBFBD>;<3B>(<28>;<3B>;<3B>;<3B><1B> <0B> (<28> <12> rc<00>,<<01>V^8<>dQhRS[RS[RS[/#)rr><00>search_resultsrr?)rrs"<22>rrrXs"<00><><00> 
<EFBFBD> 
<EFBFBD><13> 
<EFBFBD>d<EFBFBD> 
<EFBFBD>t<EFBFBD> 
rc <0C>J<00>VPV4pV'gRRRRR.RRRR R
R R R R/RR/#/p\P!VPRR44pRVPRR 4RVPRR 4P R4Uu.uFqUP 4NK upRVPRR 4RVPRR 4R
VPRR 4R VPRR 4RVRVPRR4/# \PdL<>i;iuupi)z(Apply reasoning rules to search results.<2E>pattern<72>Hero + Features + CTAr.<00>
Minimalismz Flat Design<67>
color_mood<EFBFBD> Professional<61>typography_mood<6F>Clean<61> key_effectszSubtle hover transitions<6E> anti_patternsrB<00>decision_rules<65>severity<74>MEDIUM<55>Decision_Rulesz{}<7D>Recommended_Pattern<72>Style_Priority<74>+<2B>
Color_Mood<EFBFBD>Typography_Mood<6F> Key_Effects<74> Anti_Patterns<6E>Severity)rU<00>json<6F>loadsrN<00>JSONDecodeErrorrP<00>strip)rr>rXrRrc<00>ss&&& r<00>_apply_reasoning<6E>&DesignSystemGenerator._apply_reasoningXs8<00><00><13>(<28>(<28><18>2<><04><13><19>2<> <20><<3C><1D>"?<3F><1C>n<EFBFBD>!<21>7<EFBFBD><1D>9<><1F><12> <20>"<22><1A>H<EFBFBD> <0E> <0E><1C><0E> <11>!<21>Z<EFBFBD>Z<EFBFBD><04><08><08>1A<31>4<EFBFBD>(H<>I<>N<EFBFBD>
<16>t<EFBFBD>x<EFBFBD>x<EFBFBD> 5<>r<EFBFBD>:<3A> <1C>$<24>(<28>(<28>;K<>R<EFBFBD>2P<32>2V<32>2V<32>WZ<57>2[<5B>\<5C>2[<5B>Q<EFBFBD>w<EFBFBD>w<EFBFBD>y<EFBFBD>2[<5B>\<5C> <18>$<24>(<28>(<28><<3C><12>4<> <1D>t<EFBFBD>x<EFBFBD>x<EFBFBD>(9<>2<EFBFBD>><3E> <19>4<EFBFBD>8<EFBFBD>8<EFBFBD>M<EFBFBD>2<EFBFBD>6<> <1B>T<EFBFBD>X<EFBFBD>X<EFBFBD>o<EFBFBD>r<EFBFBD>:<3A> <1C>n<EFBFBD> <16><04><08><08><1A>X<EFBFBD>6<> 
<EFBFBD>
<EFBFBD><EFBFBD><14>#<23>#<23> <11> <10> <11><>
]s<00>&D<00> D
<EFBFBD>D<03>Dc<00>,<<01>V^8<>dQhRS[RS[RS[/#)rr6<00>priority_keywordsr)rr0)rrs"<22>rrrzs'<00><><00>#K<01>#K<01>$<24>#K<01>4<EFBFBD>#K<01>D<EFBFBD>#Krc <0C>,<00>V'g/#V'g
V^,#VF\pVP4P4pVF5pVPRR4P4pWF9g Wd9gK1Vuu# K^ .pVF<>p\V4P4p^p VF<>p
V
P4P4p W<>PRR4P49d V ^
, p KPW<>PRR4P49d V ^, p KW<>9gK<>V ^, p K<> VP W<>34K<> VP RRR7V'd&V^,^,^8<>dV^,^,#V^,#)z7Select best matching result based on priority keywords.<2E>Style CategoryrB<00>Keywordsc<00><00>V^,#)<01>rF)<01>xs&r<00><lambda><3E>:DesignSystemGenerator._select_best_match.<locals>.<lambda><3E>s<00><00>!<21>A<EFBFBD>$rT)<02>key<65>reverse)rMrrrNr/<00>append<6E>sort) rr6rw<00>priority<74>priority_lower<65>result<6C>
style_name<EFBFBD>scored<65>
result_str<EFBFBD>scorerH<00>kw_lowers &&& r<00>_select_best_match<63>(DesignSystemGenerator._select_best_matchzsR<00><00><16><15>I<EFBFBD> <20><1A>1<EFBFBD>:<3A> <1D>*<2A>H<EFBFBD>%<25>^<5E>^<5E>-<2D>3<>3<>5<>N<EFBFBD>!<21><06>#<23>Z<EFBFBD>Z<EFBFBD>(8<>"<22>=<3D>C<>C<>E<>
<EFBFBD>!<21>/<2F>:<3A>3O<33>!<21>M<EFBFBD>"<22>*<2A><14><06><1D>F<EFBFBD><1C>V<EFBFBD><1B>*<2A>*<2A>,<2C>J<EFBFBD><15>E<EFBFBD>'<27><02><1D>8<EFBFBD>8<EFBFBD>:<3A>+<2B>+<2B>-<2D><08><1B>z<EFBFBD>z<EFBFBD>*:<3A>B<EFBFBD>?<3F>E<>E<>G<>G<><19>R<EFBFBD>K<EFBFBD>E<EFBFBD><1D><1A><1A>J<EFBFBD><02>!;<3B>!A<>!A<>!C<>C<><19>Q<EFBFBD>J<EFBFBD>E<EFBFBD><1D>+<2B><19>Q<EFBFBD>J<EFBFBD>E<EFBFBD>(<28> <13>M<EFBFBD>M<EFBFBD>5<EFBFBD>/<2F> *<2A><1E> <0F> <0B> <0B><0E><04> <0B>5<>%<25>&<26><11>)<29>A<EFBFBD>,<2C><11>*:<3A>v<EFBFBD>a<EFBFBD>y<EFBFBD><11>|<7C>J<><07><01>
<EFBFBD>Jrc<00>&<<01>V^8<>dQhRS[RS[/#)r<00> search_resultr)r0r)rrs"<22>rrr<00>s<00><><00>0<>0<>d<EFBFBD>0<>t<EFBFBD>0rc <0C>&<00>VPR.4#)z-Extract results list from search result dict.r6)rN)rr<>s&&r<00>_extract_results<74>&DesignSystemGenerator._extract_results<74>s<00><00><1C> <20> <20><19>B<EFBFBD>/<2F>/rc<00>,<<01>V^8<>dQhRS[RS[RS[/#)rr-<00> project_namerr?)rrs"<22>rrr<00>s'<00><><00>I
<EFBFBD>I
<EFBFBD>c<EFBFBD>I
<EFBFBD><13>I
<EFBFBD><04>I
rc <0C>P<00>\VR^4pVPR.4pRpV'dV^,PRR4pVPV/4pVPR.4pVPW4pW8R&VP VPR/44p VP VPR/44p
VP VPR/44p VP VPR /44p VP W<>PR.44p V
'd
V
^,M/pV 'd
V ^,M/pV 'd
V ^,M/pV PR
R 4pVPR R 4pV'dTMTpR T;'gVP 4RVRRVPRVPRR44RVPRR4RVPRR4RVPRR 4RVPRR 4/RRV PRR4RV PR R4R!VR"V PR#R 4R$V PR%R 4R&V PR'R 4R(V PR)R 4/R*R+VPR,R-4R.VPR/R04R1VPR2R34R4VPR5R64R7VPR8R94R:VPR;R 4/RR<VPR=R>4R?VPR@R>4RAVPRBVPRCR 44R$VPR%R 4RDVPRER 4RFVPRGR 4/R VRHVPRHR 4RIVPRI/4RJVPRJRK4/
#)Lz/Generate complete design system recommendation.rr6<00>Generalz Product Typer.rr r r
<00>Effects & AnimationrBrar<>r>rZ<00>namez Pattern Namer[<00>sections<6E> Section OrderzHero > Features > CTA<54> cta_placement<6E>Primary CTA Placementz
Above fold<6C>color_strategy<67>Color Strategy<67>
conversionzConversion Optimizationryr\<00>type<70>Type<70>effectsrTrz<00>best_for<6F>Best For<6F> performance<63> Performance<63> accessibility<74> Accessibility<74>colors<72>primaryz Primary (Hex)<29>#2563EB<45> secondaryzSecondary (Hex)<29>#3B82F6<46>ctaz CTA (Hex)<29>#F97316<31>
backgroundzBackground (Hex)<29>#F8FAFC<46>textz
Text (Hex)<29>#1E293B<33>notes<65>Notes<65>headingz Heading Font<6E>Inter<65>bodyz Body Font<6E>moodzMood/Style Keywordsr_<00>google_fonts_urlzGoogle Fonts URL<52>
css_importz
CSS Importrbrcrdre)rrNrtr;r<>r<><00>upper)rr-r<><00>product_result<6C>product_resultsr><00> reasoningr.rX<00> style_results<74> color_results<74>typography_results<74>landing_results<74>
best_style<EFBFBD>
best_color<EFBFBD>best_typography<68> best_landing<6E> style_effects<74>reasoning_effects<74>combined_effectss&&& r<00>generate<74>DesignSystemGenerator.generate<74>s<><00><00> <20><05>y<EFBFBD>!<21>4<><0E>(<28>,<2C>,<2C>Y<EFBFBD><02>;<3B><0F><1C><08> <1A>&<26>q<EFBFBD>)<29>-<2D>-<2D>n<EFBFBD>i<EFBFBD>H<>H<EFBFBD><19>)<29>)<29>(<28>B<EFBFBD>7<> <09>"<22><1D><1D>'7<><12><<3C><0E><1E>2<>2<>5<EFBFBD>I<><0E>$2<>y<EFBFBD>!<21><1D>-<2D>-<2D>n<EFBFBD>.@<40>.@<40><17>"<22>.M<>N<> <0A><1C>-<2D>-<2D>n<EFBFBD>.@<40>.@<40><17>"<22>.M<>N<> <0A>!<21>2<>2<>><3E>3E<33>3E<33>l<EFBFBD>TV<54>3W<33>X<><1A><1E>/<2F>/<2F><0E>0B<30>0B<30>9<EFBFBD>b<EFBFBD>0Q<30>R<><0F><19>,<2C>,<2C>]<5D>M<EFBFBD>M<EFBFBD>JZ<4A>\^<5E><_<>`<60>
<EFBFBD>)6<>]<5D>1<EFBFBD>%<25>B<EFBFBD>
<EFBFBD>3E<EFBFBD>,<2C>Q<EFBFBD>/<2F>2<EFBFBD><0F>-<<3C><EFBFBD>q<EFBFBD>)<29>"<22> <0C>#<23><0E><0E>'<<3C>b<EFBFBD>A<> <0A>%<25>M<EFBFBD>M<EFBFBD>-<2D><12><<3C><19>,9<>=<3D>?P<><18> <1B>L<EFBFBD>9<>9<>E<EFBFBD>K<EFBFBD>K<EFBFBD>M<EFBFBD> <16><08> <15><16> <0C>(<28>(<28><1E><19><1D><1D>y<EFBFBD>Ri<52>9j<39>k<><1A>L<EFBFBD>,<2C>,<2C>_<EFBFBD>>U<>V<><1F><1C>!1<>!1<>2I<32><<3C>!X<> <20>,<2C>"2<>"2<>3C<33>R<EFBFBD>"H<><1C>l<EFBFBD>.<2E>.<2E>/H<>"<22>M<> <0E> <14><16>
<EFBFBD><0E><0E>'7<><1C>F<><16>
<EFBFBD><0E><0E>v<EFBFBD>y<EFBFBD>9<><19>=<3D><1A>J<EFBFBD>N<EFBFBD>N<EFBFBD>:<3A>r<EFBFBD>:<3A><1A>J<EFBFBD>N<EFBFBD>N<EFBFBD>:<3A>r<EFBFBD>:<3A><1D>z<EFBFBD>~<7E>~<7E>m<EFBFBD>R<EFBFBD>@<40><1F><1A><1E><1E><0F><12>!D<><0E> <15><19>:<3A>><3E>><3E>/<2F>9<EFBFBD>E<><1B>Z<EFBFBD>^<5E>^<5E>,=<3D>y<EFBFBD>I<><15>z<EFBFBD>~<7E>~<7E>k<EFBFBD>9<EFBFBD>=<3D><1C>j<EFBFBD>n<EFBFBD>n<EFBFBD>-?<3F><19>K<><16>
<EFBFBD><0E><0E>|<7C>Y<EFBFBD>?<3F><17><1A><1E><1E><07><12>4<> <0E> <19><19>?<3F>.<2E>.<2E>~<7E>w<EFBFBD>G<><16><0F>+<2B>+<2B>K<EFBFBD><17>A<><16><0F>+<2B>+<2B>,A<>9<EFBFBD>=<3D>=<3D>Qb<51>df<64>Cg<43>h<><1A>O<EFBFBD>/<2F>/<2F>
<EFBFBD>B<EFBFBD>?<3F>"<22>O<EFBFBD>$7<>$7<>8J<38>B<EFBFBD>$O<><1C>o<EFBFBD>1<>1<>,<2C><02>C<> <0E> <1A>+<2B> <1B>Y<EFBFBD>]<5D>]<5D>?<3F>B<EFBFBD>?<3F> <1C>i<EFBFBD>m<EFBFBD>m<EFBFBD>,<<3C>b<EFBFBD>A<> <16> <09> <0A> <0A>j<EFBFBD>(<28>;<3B>M'
<EFBFBD>'
r)rr)<0F>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__rrr;rUrtr<>r<>r<><00>__static_attributes__<5F>__classdictcell__)rs@rr r %s_<00><><00><00>K<>5<>+<2B>+<2B> <17> <17><12><12>0 
<EFBFBD> 
<EFBFBD>D#K<01>#K<01>J0<>0<>I
<EFBFBD>I
<EFBFBD>I
rr c<00>0<00>V^8<>dQhR\R\/#<00>r<00> design_systemr<00>r0r/)rs"rrr<00>s<00><00>z<1C>z<1C>D<EFBFBD>z<1C>S<EFBFBD>zrc <04><><00>VPRR4pVPR/4pVPR/4pVPR/4pVPR/4pVPRR4pVPR R4pR
R lpVPR R4PR 4p V U
u.uF*q<>P4'gKV
P4NK, p p
.p \^,
p V P RRV ,,R,4V P RV R2P \4R,4V P RRV ,,R,4V P RR\,,R,4V P RVPRR4 2P \4R,4VPR4'd?V P RVPRR4 2P \4R,4VPR4'd?V P RVPRR4 2P \4R,4V P RP \4R,4\ V ^4F6wr<>V P RV RV 2P \4R,4K8 V P RR\,,R,4V P RVPRR4 2P \4R,4VPR4'dTV!RVPRR4 2R \4F.pV P VP \4R,4K0 VPR!4'dTV!R"VPR!R4 2R \4F.pV P VP \4R,4K0 VPR#4'gVPR$4'dWR%VPR#R4 R&VPR$R4 2pV P R V 2P \4R,4V P RR\,,R,4V P R'P \4R,4V P R(VPR)R4 2P \4R,4V P R*VPR+R4 2P \4R,4V P R,VPR-R4 2P \4R,4V P R.VPR/R4 2P \4R,4V P R0VPR1R4 2P \4R,4VPR24'dTV!R3VPR2R4 2R \4F.pV P VP \4R,4K0 V P RR\,,R,4V P R4VPR5R4 R6VPR7R4 2P \4R,4VPR84'dTV!R9VPR8R4 2R \4F.pV P VP \4R,4K0 VPR!4'dTV!R"VPR!R4 2R \4F.pV P VP \4R,4K0 VPR:4'd?V P R;VPR:R4 2P \4R,4VPR<4'dGV P R=VPR<R4R>, R?2P \4R,4V P RR\,,R,4V'd<>V P R@P
i)Ez:Format design system as ASCII box with emojis (MCP-style).r<><00>PROJECTrZrr<>r rarBrbc<00>H<00>V^8<>dQhR\R\R\R\/#)rr<><00>prefix<69>widthr)r/<00>intr)rs"rr<00>&format_ascii_box.<locals>.__annotate__<5F>s(<00><00><15><15><03><15>S<EFBFBD><15><13><15><14>rc<04>P<00>V'g.#VP4p.pTpVFjp\V4\V4,^,V^,
8:dYUV8wdRMRV,, pKKWQ8wdVPV4W,pKl WQ8wdVPV4V#)z#Wrap long text into multiple lines.r2rB)rP<00>lenr<6E>)r<>r<>r<><00>words<64>lines<65> current_line<6E>words&&& r<00> wrap_text<78>#format_ascii_box.<locals>.wrap_text<78>s<><00><00><13><15>I<EFBFBD><14>
<EFBFBD>
<EFBFBD> <0C><05><12><05><1D> <0C><19>D<EFBFBD><12><<3C> <20>3<EFBFBD>t<EFBFBD>9<EFBFBD>,<2C>q<EFBFBD>0<>E<EFBFBD>A<EFBFBD>I<EFBFBD>=<3D><1C><06>(><3E><13>B<EFBFBD>$<24> N<>N<> <0C><1F>)<29><19>L<EFBFBD>L<EFBFBD><1C>.<2E>%<25>}<7D> <0C> <1A> <18> !<21> <11>L<EFBFBD>L<EFBFBD><1C> &<26><14> rr<><00>>rirDz | TARGET: z - RECOMMENDED DESIGN SYSTEM<45>|r2z | PATTERN: r<>r<>z| Conversion: r<>z | CTA: z| Sections:z| z. z
| STYLE: rTz
Keywords: z| r<>z
Best For: r<>r<>z Performance: z | Accessibility: z
| COLORS:z| Primary: r<>z| Secondary: r<>z| CTA: r<>z| Background: r<>z| Text: r<>r<>zNotes: z| TYPOGRAPHY: r<>z / r<>r<>zMood: r<>z| Google Fonts: r<>z| CSS Import: :N<>FNz...z| KEY EFFECTS:z| AVOID (Anti-patterns):z| PRE-DELIVERY CHECKLIST:<3A>
)z2[ ] No emojis as icons (use SVG: Heroicons/Lucide)z,[ ] cursor-pointer on all clickable elementsz4[ ] Hover states with smooth transitions (150-300ms)z+[ ] Light mode: text contrast 4.5:1 minimumz)[ ] Focus states visible for keyboard navz$[ ] prefers-reduced-motion respectedz,[ ] Responsive: 375px, 768px, 1024px, 1440px)rNrPrr<00> BOX_WIDTHr<48><00>ljust<73> enumerater5)r<><00>projectrZrr<>r r<>rbr<>r<>rsr<><00>w<>i<>section<6F>line<6E> perf_a11y<31>checklist_items<6D>items& r<00>format_ascii_boxr<78><00>sB<00><00><1B><1F><1F><0E> <09>:<3A>G<EFBFBD><1B><1F><1F> <09>2<EFBFBD>.<2E>G<EFBFBD> <19> <1D> <1D>g<EFBFBD>r<EFBFBD> *<2A>E<EFBFBD> <1A> <1E> <1E>x<EFBFBD><12> ,<2C>F<EFBFBD><1E>"<22>"<22><<3C><12>4<>J<EFBFBD><1B><1F><1F> <0A>r<EFBFBD>2<>G<EFBFBD>!<21>%<25>%<25>o<EFBFBD>r<EFBFBD>:<3A>M<EFBFBD><15>&<17>{<7B>{<7B>:<3A>r<EFBFBD>*<2A>0<>0<><13>5<>H<EFBFBD>#+<2B>9<>8<EFBFBD>a<EFBFBD>w<EFBFBD>w<EFBFBD>y<EFBFBD> <09><01><07><07> <09>8<EFBFBD>H<EFBFBD>9<> <0F>E<EFBFBD><11>A<EFBFBD> <0A>A<EFBFBD> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Q<EFBFBD>w<EFBFBD><1D><13>$<24>%<25> <09>L<EFBFBD>L<EFBFBD>;<3B>w<EFBFBD>i<EFBFBD>'C<>D<>J<>J<>9<EFBFBD>U<>X[<5B>[<5B>\<5C> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Q<EFBFBD>w<EFBFBD><1D><13>$<24>%<25> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Y<EFBFBD><EFBFBD>&<26><13>,<2C>-<2D>
<EFBFBD>L<EFBFBD>L<EFBFBD><<3C><07> <0B> <0B>F<EFBFBD>B<EFBFBD> 7<>8<>9<>?<3F>?<3F> <09>J<>S<EFBFBD>P<>Q<><0E>{<7B>{<7B><<3C> <20> <20> <0A> <0C> <0C>)<29>'<27>+<2B>+<2B>l<EFBFBD>B<EFBFBD>*G<>)H<>I<>O<>O<>PY<50>Z<>]`<60>`<60>a<><0E>{<7B>{<7B>?<3F>#<23>#<23> <0A> <0C> <0C>{<7B>7<EFBFBD>;<3B>;<3B><EFBFBD><02>#C<>"D<>E<>K<>K<>I<EFBFBD>V<>Y\<5C>\<5C>]<5D> <09>L<EFBFBD>L<EFBFBD>"<22>(<28>(<28><19>3<>c<EFBFBD>9<>:<3A><1F><08>!<21>,<2C>
<EFBFBD><01> <0A> <0C> <0C>x<EFBFBD><01>s<EFBFBD>"<22>W<EFBFBD>I<EFBFBD>.<2E>4<>4<>Y<EFBFBD>?<3F>#<23>E<>F<>-<2D> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Y<EFBFBD><EFBFBD>&<26><13>,<2C>-<2D>
<EFBFBD>L<EFBFBD>L<EFBFBD>:<3A>e<EFBFBD>i<EFBFBD>i<EFBFBD><06><02>3<>4<>5<>;<3B>;<3B>I<EFBFBD>F<><13>L<>M<> <0C>y<EFBFBD>y<EFBFBD><1A><1C><1C><1D>
<EFBFBD>5<EFBFBD>9<EFBFBD>9<EFBFBD>Z<EFBFBD><12>+D<>*E<>F<><08>R[<5B>\<5C>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD><14><1A><1A>I<EFBFBD>.<2E><13>4<> 5<>]<01> <0C>y<EFBFBD>y<EFBFBD><1A><1C><1C><1D>
<EFBFBD>5<EFBFBD>9<EFBFBD>9<EFBFBD>Z<EFBFBD><12>+D<>*E<>F<><08>R[<5B>\<5C>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD><14><1A><1A>I<EFBFBD>.<2E><13>4<> 5<>]<01> <0C>y<EFBFBD>y<EFBFBD><1D><1F><1F>5<EFBFBD>9<EFBFBD>9<EFBFBD>_<EFBFBD>#=<3D>#=<3D>#<23>E<EFBFBD>I<EFBFBD>I<EFBFBD>m<EFBFBD>R<EFBFBD>$@<40>#A<>AS<41>TY<54>T]<5D>T]<5D>^m<>oq<6F>Tr<54>Ss<53>t<> <09> <0A> <0C> <0C>v<EFBFBD>i<EFBFBD>[<5B>)<29>/<2F>/<2F> <09>:<3A>S<EFBFBD>@<40>A<> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Y<EFBFBD><EFBFBD>&<26><13>,<2C>-<2D>
<EFBFBD>L<EFBFBD>L<EFBFBD><1C>#<23>#<23>I<EFBFBD>.<2E><13>4<>5<> <09>L<EFBFBD>L<EFBFBD>%<25>f<EFBFBD>j<EFBFBD>j<EFBFBD><19>B<EFBFBD>&?<3F>%@<40>A<>G<>G<> <09>R<>UX<55>X<>Y<> <09>L<EFBFBD>L<EFBFBD>%<25>f<EFBFBD>j<EFBFBD>j<EFBFBD><1B>b<EFBFBD>&A<>%B<>C<>I<>I<>)<29>T<>WZ<57>Z<>[<5B> <09>L<EFBFBD>L<EFBFBD>%<25>f<EFBFBD>j<EFBFBD>j<EFBFBD><15><02>&;<3B>%<<3C>=<3D>C<>C<>I<EFBFBD>N<>QT<51>T<>U<> <09>L<EFBFBD>L<EFBFBD>%<25>f<EFBFBD>j<EFBFBD>j<EFBFBD><1C>r<EFBFBD>&B<>%C<>D<>J<>J<>9<EFBFBD>U<>X[<5B>[<5B>\<5C> <09>L<EFBFBD>L<EFBFBD>%<25>f<EFBFBD>j<EFBFBD>j<EFBFBD><16><12>&<<3C>%=<3D>><3E>D<>D<>Y<EFBFBD>O<>RU<52>U<>V<> <0A>z<EFBFBD>z<EFBFBD>'<27><1A><1A><1D><07><06>
<EFBFBD>
<EFBFBD>7<EFBFBD>B<EFBFBD>(?<3F>'@<40>A<>8<EFBFBD>Y<EFBFBD>W<>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD><14><1A><1A>I<EFBFBD>.<2E><13>4<> 5<>X<01> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Y<EFBFBD><EFBFBD>&<26><13>,<2C>-<2D>
<EFBFBD>L<EFBFBD>L<EFBFBD>?<3F>:<3A>><3E>><3E>)<29>R<EFBFBD>#@<40>"A<><13>Z<EFBFBD>^<5E>^<5E>TZ<54>\^<5E>E_<45>D`<60>a<>g<>g<>hq<68>r<>ux<75>x<>y<><11>~<7E>~<7E>f<EFBFBD><1D><1D><1D><06>z<EFBFBD>~<7E>~<7E>f<EFBFBD>b<EFBFBD>'A<>&B<>C<>X<EFBFBD>y<EFBFBD>Y<>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD><14><1A><1A>I<EFBFBD>.<2E><13>4<> 5<>Z<01><11>~<7E>~<7E>j<EFBFBD>!<21>!<21><1D>
<EFBFBD>:<3A>><3E>><3E>*<2A>b<EFBFBD>+I<>*J<>K<>X<EFBFBD>W`<60>a<>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD><14><1A><1A>I<EFBFBD>.<2E><13>4<> 5<>b<01><11>~<7E>~<7E>(<28>)<29>)<29> <0A> <0C> <0C>+<2B>J<EFBFBD>N<EFBFBD>N<EFBFBD>;M<>r<EFBFBD>,R<>+S<>T<>Z<>Z<>[d<>e<>hk<68>k<>l<><11>~<7E>~<7E>l<EFBFBD>#<23>#<23> <0A> <0C> <0C>)<29>*<2A>.<2E>.<2E><1C>r<EFBFBD>*J<>3<EFBFBD>*O<>)P<>PS<50>T<>Z<>Z<>[d<>e<>hk<68>k<>l<> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Y<EFBFBD><EFBFBD>&<26><13>,<2C>-<2D><0F> <0A> <0C> <0C>&<26>,<2C>,<2C>Y<EFBFBD>7<>#<23>=<3D>><3E><1D>g<EFBFBD>x<EFBFBD><19>;<3B>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD><14><1A><1A>I<EFBFBD>.<2E><13>4<> 5<><<3C> <0A> <0C> <0C>S<EFBFBD>3<EFBFBD><19>?<3F>*<2A>S<EFBFBD>0<>1<><15> <0A> <0C> <0C>0<>6<>6<>y<EFBFBD>A<>C<EFBFBD>G<>H<><1D>m<EFBFBD>X<EFBFBD>y<EFBFBD>A<>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD><14><1A><1A>I<EFBFBD>.<2E><13>4<> 5<>B<01> <0A> <0C> <0C>S<EFBFBD>3<EFBFBD><19>?<3F>*<2A>S<EFBFBD>0<>1<>
<EFBFBD>L<EFBFBD>L<EFBFBD>-<2D>3<>3<>I<EFBFBD>><3E><13>D<>E<><06>O<EFBFBD> <20><04> <0A> <0C> <0C>v<EFBFBD>d<EFBFBD>V<EFBFBD>_<EFBFBD>*<2A>*<2A>9<EFBFBD>5<><03>;<3B><<3C> <20> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Y<EFBFBD><EFBFBD>&<26><13>,<2C>-<2D> <09>L<EFBFBD>L<EFBFBD><13>s<EFBFBD>Q<EFBFBD>w<EFBFBD><1D><13>$<24>%<25> <0F>9<EFBFBD>9<EFBFBD>U<EFBFBD> <1B><1B><>y:s <00>*k
<04>k
c<00>0<00>V^8<>dQhR\R\/#r<>r<>)rs"rrros<00><00>[<1C>[<1C>4<EFBFBD>[<1C>C<EFBFBD>[rc <04><> <00>VPRR4pVPR/4pVPR/4pVPR/4pVPR/4pVPRR4pVPR R4p.pVPR
V 24VPR4VPR 4VPR VPR R4 24VPR4'd%VPRVPRR4 24VPR4'd%VPRVPRR4 24VPR4'd%VPRVPRR4 24VPRVPRR4 24VPR4VPR4VPR VPR R4 24VPR4'd%VPRVPRR4 24VPR4'd%VPRVPRR4 24VPR4'gVPR4'd8VPRVPRR4 RVPRR4 24VPR4VPR4VPR 4VPR!4VPR"VPR#R4 R$24VPR%VPR&R4 R$24VPR'VPR(R4 R$24VPR)VPR*R4 R$24VPR+VPR,R4 R$24VPR-4'd&VPR.VPR-R4 R/24VPR4VPR04VPR1VPR2R4 24VPR3VPR4R4 24VPR54'd%VPR6VPR5R4 24VPR4'd%VPRVPRR4 24VPR74'd%VPR8VPR7R4 24VPR94'dVVPR:4VPR;4VPVPR9R4 4VPR<4VPR4V'd5VPR=4VPV 4VPR4V'dIVPR>4R?p VPR@VPRAV 4 24VPR4VPRB4VPRC4VPRD4VPRE4VPRF4VPRG4VPRH4VPRI4VPR4RJPV4#)Kz!Format design system as markdown.r<>r<>rZrr<>r rarBrbz## Design System: z ### Patternz - **Name:** r<>r<>z- **Conversion Focus:** r<><00>- **CTA Placement:** r<>z- **Color Strategy:** z- **Sections:** r<>z ### StylerTz- **Keywords:** r<>z- **Best For:** r<>r<>z- **Performance:** z | **Accessibility:** z
### Colorsz| Role | Hex |z|------|-----|z | Primary | r<>z |z| Secondary | r<>z| CTA | r<>z| Background | r<>z | Text | r<>r<>z
*Notes: <20>*<2A>### Typographyz- **Heading:** r<>z - **Body:** r<>r<><00> - **Mood:** r<>z- **Google Fonts:** r<>z- **CSS Import:**<2A>```css<73>```z### Key Effectsz### Avoid (Anti-patterns)z
- <20>- <20> + z### Pre-Delivery Checklistz4- [ ] No emojis as icons (use SVG: Heroicons/Lucide)z.- [ ] cursor-pointer on all clickable elements<74>6- [ ] Hover states with smooth transitions (150-300ms)<29>-- [ ] Light mode: text contrast 4.5:1 minimumz+- [ ] Focus states visible for keyboard navz&- [ ] prefers-reduced-motion respected<65>.- [ ] Responsive: 375px, 768px, 1024px, 1440pxr<78>)rNr<>rOr5)
r<EFBFBD>r<>rZrr<>r r<>rbr<><00>newline_bullets
& r<00>format_markdownros<><00><00><1B><1F><1F><0E> <09>:<3A>G<EFBFBD><1B><1F><1F> <09>2<EFBFBD>.<2E>G<EFBFBD> <19> <1D> <1D>g<EFBFBD>r<EFBFBD> *<2A>E<EFBFBD> <1A> <1E> <1E>x<EFBFBD><12> ,<2C>F<EFBFBD><1E>"<22>"<22><<3C><12>4<>J<EFBFBD><1B><1F><1F> <0A>r<EFBFBD>2<>G<EFBFBD>!<21>%<25>%<25>o<EFBFBD>r<EFBFBD>:<3A>M<EFBFBD> <0E>E<EFBFBD> <09>L<EFBFBD>L<EFBFBD>%<25>g<EFBFBD>Y<EFBFBD>/<2F>0<> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><1D><1F> <09>L<EFBFBD>L<EFBFBD><<3C><07> <0B> <0B>F<EFBFBD>B<EFBFBD> 7<>8<>9<>:<3A><0E>{<7B>{<7B><<3C> <20> <20> <0A> <0C> <0C>/<2F><07> <0B> <0B>L<EFBFBD>"<22>0M<30>/N<>O<>P<><0E>{<7B>{<7B>?<3F>#<23>#<23> <0A> <0C> <0C>,<2C>W<EFBFBD>[<5B>[<5B><1F>"<22>-M<>,N<>O<>P<><0E>{<7B>{<7B>#<23>$<24>$<24> <0A> <0C> <0C>-<2D>g<EFBFBD>k<EFBFBD>k<EFBFBD>:J<>B<EFBFBD>.O<>-P<>Q<>R<> <09>L<EFBFBD>L<EFBFBD>#<23>G<EFBFBD>K<EFBFBD>K<EFBFBD>
<EFBFBD>B<EFBFBD>$?<3F>#@<40>A<>B<> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><1B><1D> <09>L<EFBFBD>L<EFBFBD><<3C><05> <09> <09>&<26>"<22> 5<>6<>7<>8<> <0C>y<EFBFBD>y<EFBFBD><1A><1C><1C> <0A> <0C> <0C>'<27><05> <09> <09>*<2A>b<EFBFBD>(A<>'B<>C<>D<> <0C>y<EFBFBD>y<EFBFBD><1A><1C><1C> <0A> <0C> <0C>'<27><05> <09> <09>*<2A>b<EFBFBD>(A<>'B<>C<>D<> <0C>y<EFBFBD>y<EFBFBD><1D><1F><1F>5<EFBFBD>9<EFBFBD>9<EFBFBD>_<EFBFBD>#=<3D>#=<3D> <0A> <0C> <0C>*<2A>5<EFBFBD>9<EFBFBD>9<EFBFBD>]<5D>B<EFBFBD>+G<>*H<>H^<5E>_d<5F>_h<5F>_h<5F>ix<69>z|<7C>_}<7D>^~<7E><> A<02> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><1C><1E> <09>L<EFBFBD>L<EFBFBD>><3E>#<23> <09>L<EFBFBD>L<EFBFBD>><3E>#<23> <09>L<EFBFBD>L<EFBFBD><<3C><06>
<EFBFBD>
<EFBFBD>9<EFBFBD>b<EFBFBD> 9<>:<3A>"<22>=<3D>><3E> <09>L<EFBFBD>L<EFBFBD>><3E>&<26>*<2A>*<2A>[<5B>"<22>"=<3D>!><3E>b<EFBFBD>A<>B<> <09>L<EFBFBD>L<EFBFBD>8<EFBFBD>F<EFBFBD>J<EFBFBD>J<EFBFBD>u<EFBFBD>b<EFBFBD>1<>2<>"<22>5<>6<> <09>L<EFBFBD>L<EFBFBD>?<3F>6<EFBFBD>:<3A>:<3A>l<EFBFBD>B<EFBFBD>#?<3F>"@<40><02>C<>D<> <09>L<EFBFBD>L<EFBFBD>9<EFBFBD>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><06><02>3<>4<>B<EFBFBD>7<>8<> <0A>z<EFBFBD>z<EFBFBD>'<27><1A><1A> <0A> <0C> <0C>z<EFBFBD>&<26>*<2A>*<2A>W<EFBFBD>b<EFBFBD>"9<>!:<3A>!<21><<3C>=<3D> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>!<21>"<22> <09>L<EFBFBD>L<EFBFBD>?<3F>:<3A>><3E>><3E>)<29>R<EFBFBD>#@<40>"A<>B<>C<> <09>L<EFBFBD>L<EFBFBD><<3C>
<EFBFBD><0E><0E>v<EFBFBD>r<EFBFBD> :<3A>;<3B><<3C>=<3D><11>~<7E>~<7E>f<EFBFBD><1D><1D> <0A> <0C> <0C>|<7C>J<EFBFBD>N<EFBFBD>N<EFBFBD>6<EFBFBD>2<EFBFBD>$><3E>#?<3F>@<40>A<><11>~<7E>~<7E>j<EFBFBD>!<21>!<21> <0A> <0C> <0C>'<27>
<EFBFBD><0E><0E>z<EFBFBD>2<EFBFBD>(F<>'G<>H<>I<><11>~<7E>~<7E>(<28>)<29>)<29> <0A> <0C> <0C>+<2B>J<EFBFBD>N<EFBFBD>N<EFBFBD>;M<>r<EFBFBD>,R<>+S<>T<>U<><11>~<7E>~<7E>l<EFBFBD>#<23>#<23> <0A> <0C> <0C>(<28>*<2A> <0A> <0C> <0C>v<EFBFBD><1F> <0A> <0C> <0C>
<EFBFBD><0E><0E>|<7C>R<EFBFBD>8<>9<>;<3B> <0A> <0C> <0C>s<EFBFBD><1C> <09>L<EFBFBD>L<EFBFBD><12><14><0F> <0A> <0C> <0C>&<26>'<27> <0A> <0C> <0C><07>y<EFBFBD>"<22> <0A> <0C> <0C>R<EFBFBD><18><15> <0A> <0C> <0C>0<>1<><1F><0E> <0A> <0C> <0C>r<EFBFBD>-<2D>/<2F>/<2F><05>~<7E>F<>G<>H<>I<> <0A> <0C> <0C>R<EFBFBD><18>
<EFBFBD>L<EFBFBD>L<EFBFBD>-<2D>.<2E> <09>L<EFBFBD>L<EFBFBD>G<>H<> <09>L<EFBFBD>L<EFBFBD>A<>B<> <09>L<EFBFBD>L<EFBFBD>I<>J<> <09>L<EFBFBD>L<EFBFBD>@<40>A<> <09>L<EFBFBD>L<EFBFBD>><3E>?<3F> <09>L<EFBFBD>L<EFBFBD>9<>:<3A> <09>L<EFBFBD>L<EFBFBD>A<>B<> <09>L<EFBFBD>L<EFBFBD><12><14> <0F>9<EFBFBD>9<EFBFBD>U<EFBFBD> <1B>r<00>asciic<00>l<00>V^8<>dQhR\R\R\R\R\R\R\/#)rr-r<><00> output_format<61>persist<73>page<67>
output_dirr)r/<00>bool)rs"rrr<00>sB<00><00>+<2B>+<2B>#<23>+<2B>S<EFBFBD>+<2B>PS<50>+<2B>$(<28>+<2B>8;<3B>+<2B>PS<50>+<2B>_b<5F>+rc<04><><00>\4pVPW4pV'd \WtWP4VR8Xd \V4#\ V4#)a<>
Main entry point for design system generation.
Args:
query: Search query (e.g., "SaaS dashboard", "e-commerce luxury")
project_name: Optional project name for output header
output_format: "ascii" (default) or "markdown"
persist: If True, save design system to design-system/ folder
page: Optional page name for page-specific override file
output_dir: Optional output directory (defaults to current working directory)
Returns:
Formatted design system string
<EFBFBD>markdown)r r<><00>persist_design_systemrr<>)r-r<>rr r
r <00> generatorr<72>s&&&&&& r<00>generate_design_systemr<00>sI<00><00> &<26>'<27>I<EFBFBD><1D>&<26>&<26>u<EFBFBD>;<3B>M<EFBFBD><0F><1D>m<EFBFBD>:<3A>E<><14>
<EFBFBD>"<22><1E>}<7D>-<2D>-<2D> <1B>M<EFBFBD> *<2A>*rc
<00>T<00>V^8<>dQhR\R\R\R\R\/#)rr<>r
r <00>
page_queryrr<>)rs"rrr<00>s1<00><00>0<06>0<06><14>0<06>S<EFBFBD>0<06>S<EFBFBD>0<06>eh<65>0<06>tx<74>0rc<04>p<00>V'd \V4M\P!4pVPRR4pVP4P RR4pVR, V, pVR, p.p VP RRR7VP RRR7VR , p
\ V4p \V
R
R R 7;_uu_4p V PV 4R R R 4V P\V
44V'd<>W<>P4P RR4 R2, p \WV4p\V R
R R 7;_uu_4p V PV4R R R 4V P\V 44RRR\V4RV /# +'giL<>;i +'giLN;i)a<>
Persist design system to design-system/<project>/ folder using Master + Overrides pattern.
Args:
design_system: The generated design system dictionary
page: Optional page name for page-specific override file
output_dir: Optional output directory (defaults to current working directory)
page_query: Optional query string for intelligent page override generation
Returns:
dict with created file paths and status
r<EFBFBD><00>defaultr2rDz design-system<65>pagesT)<02>parents<74>exist_okz MASTER.mdr<64>r!r"Nz.md<6D>status<75>success<73>design_system_dir<69> created_files) r<00>cwdrNrMrO<00>mkdir<69>format_master_mdr&<00>writer<65>r/<00>format_page_override_md)r<>r
r r<00>base_dirr<72><00> project_slugr<00> pages_dirr<00> master_file<6C>master_contentr*<00> page_file<6C> page_contents&&&& rrr<00>sq<00><00>$.<2E>t<EFBFBD>J<EFBFBD><1F>4<EFBFBD>8<EFBFBD>8<EFBFBD>:<3A>H<EFBFBD>!<21>$<24>$<24>^<5E>Y<EFBFBD>?<3F>L<EFBFBD><1F>%<25>%<25>'<27>/<2F>/<2F><03>S<EFBFBD>9<>L<EFBFBD> <20>?<3F>2<>\<5C>A<><15>!<21>G<EFBFBD>+<2B>I<EFBFBD><16>M<EFBFBD><16><1B><1B>D<EFBFBD>4<EFBFBD><1B>8<> <0A>O<EFBFBD>O<EFBFBD>D<EFBFBD>4<EFBFBD>O<EFBFBD>0<>#<23>k<EFBFBD>1<>K<EFBFBD>&<26>m<EFBFBD>4<>N<EFBFBD> <0A>k<EFBFBD>3<EFBFBD><17> 1<> 1<>Q<EFBFBD> <09><07><07><0E><1F>
2<EFBFBD><11><18><18><13>[<5B>)<29>*<2A> <0C><1D>:<3A>:<3A><<3C>#7<>#7<><03>S<EFBFBD>#A<>"B<>#<23> F<>F<> <09>.<2E>}<7D>J<EFBFBD>O<> <0C> <11>)<29>S<EFBFBD>7<EFBFBD> 3<> 3<>q<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>L<EFBFBD> !<21>4<><15><1C><1C>S<EFBFBD><19>^<5E>,<2C> <11>)<29><1B>S<EFBFBD>!2<>3<><17><1D> <06><06>
2<EFBFBD> 1<><31>4<> 3<>s<00>F<05> F%<05> F" <09>% F5 c<00>0<00>V^8<>dQhR\R\/#r<>r<>)rs"rrrs<00><00>D<1C>D<1C>D<EFBFBD>D<1C>S<EFBFBD>Drc <04><>"<00>VPRR4pVPR/4pVPR/4pVPR/4pVPR/4pVPRR4pVPR R4p\P!4PR
4p.p V P R 4V P R4V P R 4V P R 4V P R4V P R4V P R4V P R4V P RV 24V P RV 24V P RVPRR4 24V P R4V P R4V P R4V P R4V P R4V P R4V P R4V P R4V P R4V P RVPRR4 R24V P RVPRR4 R 24V P R!VPR"R#4 R$24V P R%VPR&R'4 R(24V P R)VPR*R+4 R,24V P R4VPR-4'd6V P R.VPR-R4 24V P R4V P R/4V P R4V P R0VPR1R24 24V P R3VPR4R24 24VPR54'd%V P R6VPR5R4 24VPR74'dLV P R8VPR1R4 R9VPR4R4 R:VPR7R4 R;24V P R4VPR<4'dfV P R=4V P R>4V P VPR<R44V P R?4V P R4V P R@4V P R4V P RA4V P RB4V P RC4V P RD4V P RE4V P RF4V P RG4V P RH4V P RI4V P R4V P RJ4V P R4V P RK4V P RB4V P RL4V P RM4V P RN4V P RO4V P R4V P R4V P R4V P RP4V P R4V P RQ4V P R4V P R>4V P RR4V P RS4V P RTVPR"R#4 RU24V P RV4V P RW4V P RX4V P RY4V P RZ4V P R[4V P R\4V P R4V P R]4V P R^4V P R_4V P R\4V P R4V P R`4V P Ra4V P Rb4V P RcVPRR4 RU24V P RdVPRR4 RU24V P RW4V P RX4V P RY4V P RZ4V P R[4V P R\4
u.uFq<>P 4NK p p
V F!p V 'gK V P R<>V 24K# V P R4V P R<>4V P R4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R4V P R4V P R4V P R<>4V P R4V P R<>4V P R4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R<>4V P R4R<>PV 4#uup
i)<29>zCFormat design system as MASTER.md with hierarchical override logic.r<>r<>rZrr<>r rarBrb<00>%Y-%m-%d %H:%M:%Sz# Design System Master Filez]> **LOGIC:** When building a specific page, first check `design-system/pages/[page-name].md`.z?> If that file exists, its rules **override** this Master file.z*> If not, strictly follow the rules below.<2E>---z **Project:** z**Generated:** z**Category:** r>r<>z## Global Rulesz### Color Palettez| Role | Hex | CSS Variable |z|------|-----|--------------|z | Primary | `r<>r<>z` | `--color-primary` |z| Secondary | `r<>r<>z` | `--color-secondary` |z| CTA/Accent | `r<>r<>z` | `--color-cta` |z| Background | `r<>r<>z` | `--color-background` |z
| Text | `r<>r<>z` | `--color-text` |r<>z**Color Notes:** r<>z- **Heading Font:** r<>r<>z- **Body Font:** r<>r<>r<>r<>z- **Google Fonts:** [rz](<28>)r<>z**CSS Import:**r<>r<>z### Spacing Variablesz| Token | Value | Usage |z|-------|-------|-------|z1| `--space-xs` | `4px` / `0.25rem` | Tight gaps |z?| `--space-sm` | `8px` / `0.5rem` | Icon gaps, inline spacing |z5| `--space-md` | `16px` / `1rem` | Standard padding |z6| `--space-lg` | `24px` / `1.5rem` | Section padding |z/| `--space-xl` | `32px` / `2rem` | Large gaps |z5| `--space-2xl` | `48px` / `3rem` | Section margins |z2| `--space-3xl` | `64px` / `4rem` | Hero padding |z### Shadow Depthsz| Level | Value | Usage |z>| `--shadow-sm` | `0 1px 2px rgba(0,0,0,0.05)` | Subtle lift |z@| `--shadow-md` | `0 4px 6px rgba(0,0,0,0.1)` | Cards, buttons |zE| `--shadow-lg` | `0 10px 15px rgba(0,0,0,0.1)` | Modals, dropdowns |zP| `--shadow-xl` | `0 20px 25px rgba(0,0,0,0.15)` | Hero images, featured cards |z## Component Specsz ### Buttonsz/* Primary Button */z.btn-primary {z background: <20>;z color: white;z padding: 12px 24px;z border-radius: 8px;z font-weight: 600;z transition: all 200ms ease;z cursor: pointer;<3B>}z.btn-primary:hover {z opacity: 0.9;z transform: translateY(-1px);z/* Secondary Button */z.btn-secondary {z background: transparent;z color: z border: 2px solid z ### Cardsz.card {z#FFFFFFz border-radius: 12px;z padding: 24px;z box-shadow: var(--shadow-md);z .card:hover {z box-shadow: var(--shadow-lg);z transform: translateY(-2px);z
### Inputsz.input {z padding: 12px 16px;z border: 1px solid #E2E8F0;z font-size: 16px;z& transition: border-color 200ms ease;z.input:focus {z border-color: z outline: none;z box-shadow: 0 0 0 3px z20;z
### Modalsz.modal-overlay {z! background: rgba(0, 0, 0, 0.5);z backdrop-filter: blur(4px);z.modal {z background: white;z border-radius: 16px;z padding: 32px;z box-shadow: var(--shadow-xl);z max-width: 500px;z width: 90%;z## Style Guidelinesz **Style:** r<>r\rTz**Keywords:** r<>z**Best For:** z**Key Effects:** z### Page Patternz**Pattern Name:** r<>z- **Conversion Strategy:** r<>r<>z- **Section Order:** r<>z## Anti-Patterns (Do NOT Use)riu- ❌ z!### Additional Forbidden PatternsuM- ❌ **Emojis as icons** — Use SVG icons (Heroicons, Lucide, Simple Icons)uT- ❌ **Missing cursor:pointer** — All clickable elements must have cursor:pointeruM- ❌ **Layout-shifting hovers** — Avoid scale transforms that shift layoutuE- ❌ **Low contrast text** — Maintain 4.5:1 minimum contrast ratiouF- ❌ **Instant state changes** — Always use transitions (150-300ms)uJ- ❌ **Invisible focus states** — Focus states must be visible for a11yz## Pre-Delivery Checklistz&Before delivering any UI code, verify:z/- [ ] No emojis used as icons (use SVG instead)z;- [ ] All icons from consistent icon set (Heroicons/Lucide)z0- [ ] `cursor-pointer` on all clickable elementsrrz2- [ ] Focus states visible for keyboard navigationz(- [ ] `prefers-reduced-motion` respectedrz,- [ ] No content hidden behind fixed navbarsz$- [ ] No horizontal scroll on mobiler<65>)rNr<00>now<6F>strftimer<65>rPrrr5) r<>r<>rZrr<>r r<>rb<00> timestampr<70><00>a<> anti_list<73>antis & rrrs<> <00><00><1B><1F><1F><0E> <09>:<3A>G<EFBFBD><1B><1F><1F> <09>2<EFBFBD>.<2E>G<EFBFBD> <19> <1D> <1D>g<EFBFBD>r<EFBFBD> *<2A>E<EFBFBD> <1A> <1E> <1E>x<EFBFBD><12> ,<2C>F<EFBFBD><1E>"<22>"<22><<3C><12>4<>J<EFBFBD><1B><1F><1F> <0A>r<EFBFBD>2<>G<EFBFBD>!<21>%<25>%<25>o<EFBFBD>r<EFBFBD>:<3A>M<EFBFBD><18> <0C> <0C><0E>'<27>'<27>(;<3B><<3C>I<EFBFBD> <0E>E<EFBFBD>
<EFBFBD>L<EFBFBD>L<EFBFBD>.<2E>/<2F> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>p<>q<> <09>L<EFBFBD>L<EFBFBD>R<>S<> <09>L<EFBFBD>L<EFBFBD>=<3D>><3E> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>=<3D><17> <09>*<2A>+<2B> <09>L<EFBFBD>L<EFBFBD>?<3F>9<EFBFBD>+<2B>.<2E>/<2F> <09>L<EFBFBD>L<EFBFBD>><3E>-<2D>"3<>"3<>J<EFBFBD> <09>"J<>!K<>L<>M<> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>"<22>#<23> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>$<24>%<25> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD>=<3D><16><1A><1A>I<EFBFBD>y<EFBFBD>!A<> B<>BY<42>Z<>[<5B> <09>L<EFBFBD>L<EFBFBD>?<3F>6<EFBFBD>:<3A>:<3A>k<EFBFBD>9<EFBFBD>#E<>"F<>F_<46>`<60>a<> <09>L<EFBFBD>L<EFBFBD>#<23>F<EFBFBD>J<EFBFBD>J<EFBFBD>u<EFBFBD>i<EFBFBD>$@<40>#A<>AT<41>U<>V<> <09>L<EFBFBD>L<EFBFBD>#<23>F<EFBFBD>J<EFBFBD>J<EFBFBD>|<7C>Y<EFBFBD>$G<>#H<>Hb<48>c<>d<> <09>L<EFBFBD>L<EFBFBD>:<3A>f<EFBFBD>j<EFBFBD>j<EFBFBD><16><19>;<3B><<3C><P<>Q<>R<> <09>L<EFBFBD>L<EFBFBD><12><14> <0A>z<EFBFBD>z<EFBFBD>'<27><1A><1A> <0A> <0C> <0C>(<28><16><1A><1A>G<EFBFBD>R<EFBFBD>)@<40>(A<>B<>C<> <0A> <0C> <0C>R<EFBFBD><18>
<EFBFBD>L<EFBFBD>L<EFBFBD>!<21>"<22> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>'<27>
<EFBFBD><0E><0E>y<EFBFBD>'<27>(J<>'K<>L<>M<> <09>L<EFBFBD>L<EFBFBD>$<24>Z<EFBFBD>^<5E>^<5E>F<EFBFBD>G<EFBFBD>%D<>$E<>F<>G<><11>~<7E>~<7E>f<EFBFBD><1D><1D> <0A> <0C> <0C>|<7C>J<EFBFBD>N<EFBFBD>N<EFBFBD>6<EFBFBD>2<EFBFBD>$><3E>#?<3F>@<40>A<><11>~<7E>~<7E>(<28>)<29>)<29> <0A> <0C> <0C>,<2C>Z<EFBFBD>^<5E>^<5E>I<EFBFBD>r<EFBFBD>-J<>,K<>3<EFBFBD>z<EFBFBD>~<7E>~<7E>^d<>fh<66>Oi<4F>Nj<4E>jl<6A>mw<6D>m{<7B>m{<7B>}O<02>QS<02>nT<02>mU<02>UV<02>W<02> X<02> <09>L<EFBFBD>L<EFBFBD><12><14><11>~<7E>~<7E>l<EFBFBD>#<23>#<23> <0A> <0C> <0C>&<26>'<27> <0A> <0C> <0C>X<EFBFBD><1E> <0A> <0C> <0C>Z<EFBFBD>^<5E>^<5E>L<EFBFBD>"<22>5<>6<> <0A> <0C> <0C>U<EFBFBD><1B> <0A> <0C> <0C>R<EFBFBD><18>
<EFBFBD>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>,<2C>-<2D> <09>L<EFBFBD>L<EFBFBD>,<2C>-<2D> <09>L<EFBFBD>L<EFBFBD>D<>E<> <09>L<EFBFBD>L<EFBFBD>R<>S<> <09>L<EFBFBD>L<EFBFBD>H<>I<> <09>L<EFBFBD>L<EFBFBD>I<>J<> <09>L<EFBFBD>L<EFBFBD>B<>C<> <09>L<EFBFBD>L<EFBFBD>H<>I<> <09>L<EFBFBD>L<EFBFBD>E<>F<> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>$<24>%<25> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>,<2C>-<2D> <09>L<EFBFBD>L<EFBFBD>,<2C>-<2D> <09>L<EFBFBD>L<EFBFBD>Q<>R<> <09>L<EFBFBD>L<EFBFBD>S<>T<> <09>L<EFBFBD>L<EFBFBD>X<>Y<> <09>L<EFBFBD>L<EFBFBD>c<>d<> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>%<25>&<26> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><1D><1F> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><18><1A> <09>L<EFBFBD>L<EFBFBD>'<27>(<28> <09>L<EFBFBD>L<EFBFBD>!<21>"<22> <09>L<EFBFBD>L<EFBFBD>><3E>&<26>*<2A>*<2A>U<EFBFBD>I<EFBFBD>"><3E>!?<3F>q<EFBFBD>A<>B<> <09>L<EFBFBD>L<EFBFBD>"<22>#<23> <09>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD>&<26>'<27> <09>L<EFBFBD>L<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD>%<25>&<26> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>'<27>(<28> <09>L<EFBFBD>L<EFBFBD>"<22>#<23> <09>L<EFBFBD>L<EFBFBD>1<>2<> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>)<29>*<2A> <09>L<EFBFBD>L<EFBFBD>#<23>$<24> <09>L<EFBFBD>L<EFBFBD>-<2D>/<2F> <09>L<EFBFBD>L<EFBFBD>9<EFBFBD>V<EFBFBD>Z<EFBFBD>Z<EFBFBD> <09>9<EFBFBD>=<3D>><3E>a<EFBFBD>@<40>A<> <09>L<EFBFBD>L<EFBFBD>'<27><06>
<EFBFBD>
<EFBFBD>9<EFBFBD>i<EFBFBD>(H<>'I<><11>K<>L<> <09>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD>&<26>'<27> <09>L<EFBFBD>L<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD>%<25>&<26> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><1B><1D> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><18><1A> <09>L<EFBFBD>L<EFBFBD><19><1B> <09>L<EFBFBD>L<EFBFBD>><3E>&<26>*<2A>*<2A>\<5C>9<EFBFBD>"E<>!F<>a<EFBFBD>H<>I<> <09>L<EFBFBD>L<EFBFBD>)<29>*<2A> <09>L<EFBFBD>L<EFBFBD>#<23>$<24> <09>L<EFBFBD>L<EFBFBD>2<>3<> <09>L<EFBFBD>L<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD>%<25>&<26> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><1F>!<21> <09>L<EFBFBD>L<EFBFBD>2<>3<> <09>L<EFBFBD>L<EFBFBD>1<>2<> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><1C><1E> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><18><1A> <09>L<EFBFBD>L<EFBFBD><1A><1C> <09>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD>/<2F>0<> <09>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD>%<25>&<26> <09>L<EFBFBD>L<EFBFBD>9<>:<3A> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>!<21>"<22> <09>L<EFBFBD>L<EFBFBD>#<23>F<EFBFBD>J<EFBFBD>J<EFBFBD>y<EFBFBD>)<29>$D<>#E<>Q<EFBFBD>G<>H<> <09>L<EFBFBD>L<EFBFBD>#<23>$<24> <09>L<EFBFBD>L<EFBFBD>+<2B>F<EFBFBD>J<EFBFBD>J<EFBFBD>y<EFBFBD>)<29>,L<>+M<>S<EFBFBD>Q<>R<> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><1C><1E> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><18><1A> <09>L<EFBFBD>L<EFBFBD>#<23>$<24> <09>L<EFBFBD>L<EFBFBD>4<>5<> <09>L<EFBFBD>L<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><1A><1C> <09>L<EFBFBD>L<EFBFBD>'<27>(<28> <09>L<EFBFBD>L<EFBFBD>)<29>*<2A> <09>L<EFBFBD>L<EFBFBD>#<23>$<24> <09>L<EFBFBD>L<EFBFBD>2<>3<> <09>L<EFBFBD>L<EFBFBD>&<26>'<27> <09>L<EFBFBD>L<EFBFBD><1F>!<21> <09>L<EFBFBD>L<EFBFBD><13><15> <09>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>&<26>'<27> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>;<3B>u<EFBFBD>y<EFBFBD>y<EFBFBD><16><1C>><3E>?<3F>@<40>A<> <09>L<EFBFBD>L<EFBFBD><12><14> <0C>y<EFBFBD>y<EFBFBD><1A><1C><1C> <0A> <0C> <0C>~<7E>e<EFBFBD>i<EFBFBD>i<EFBFBD>
<EFBFBD>B<EFBFBD>&?<3F>%@<40>A<>B<> <0A> <0C> <0C>R<EFBFBD><18> <0C>y<EFBFBD>y<EFBFBD><1A><1C><1C> <0A> <0C> <0C>~<7E>e<EFBFBD>i<EFBFBD>i<EFBFBD>
<EFBFBD>B<EFBFBD>&?<3F>%@<40>A<>B<> <0A> <0C> <0C>R<EFBFBD><18><0E> <0A> <0C> <0C>(<28><17> <09>2<>3<> <0A> <0C> <0C>R<EFBFBD><18>
<EFBFBD>L<EFBFBD>L<EFBFBD>#<23>$<24> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>%<25>g<EFBFBD>k<EFBFBD>k<EFBFBD>&<26>"<22>&=<3D>%><3E>?<3F>@<40> <09>L<EFBFBD>L<EFBFBD><12><14><0E>{<7B>{<7B><<3C> <20> <20> <0A> <0C> <0C>2<>7<EFBFBD>;<3B>;<3B>|<7C>R<EFBFBD>3P<33>2Q<32>R<>S<><0E>{<7B>{<7B>?<3F>#<23>#<23> <0A> <0C> <0C>,<2C>W<EFBFBD>[<5B>[<5B><1F>"<22>-M<>,N<>O<>P<> <09>L<EFBFBD>L<EFBFBD>(<28><17><1B><1B>Z<EFBFBD><12>)D<>(E<>F<>G<> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD><12><14><14>(5<>(;<3B>(;<3B>C<EFBFBD>(@<40>A<>(@<40>1<EFBFBD>W<EFBFBD>W<EFBFBD>Y<EFBFBD>(@<40> <09>A<><1D>D<EFBFBD><13>t<EFBFBD><15> <0C> <0C>v<EFBFBD>d<EFBFBD>V<EFBFBD>_<EFBFBD>-<2D><1E>
<EFBFBD>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>4<>5<> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>`<60>a<> <09>L<EFBFBD>L<EFBFBD>g<>h<> <09>L<EFBFBD>L<EFBFBD>`<60>a<> <09>L<EFBFBD>L<EFBFBD>X<>Y<> <09>L<EFBFBD>L<EFBFBD>Y<>Z<> <09>L<EFBFBD>L<EFBFBD>]<5D>^<5E> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>,<2C>-<2D> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>9<>:<3A> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>B<>C<> <09>L<EFBFBD>L<EFBFBD>N<>O<> <09>L<EFBFBD>L<EFBFBD>C<>D<> <09>L<EFBFBD>L<EFBFBD>I<>J<> <09>L<EFBFBD>L<EFBFBD>@<40>A<> <09>L<EFBFBD>L<EFBFBD>E<>F<> <09>L<EFBFBD>L<EFBFBD>;<3B><<3C> <09>L<EFBFBD>L<EFBFBD>A<>B<> <09>L<EFBFBD>L<EFBFBD>?<3F>@<40> <09>L<EFBFBD>L<EFBFBD>7<>8<> <09>L<EFBFBD>L<EFBFBD><12><14> <0F>9<EFBFBD>9<EFBFBD>U<EFBFBD> <1B><1B><>EBs<00>2AEc<00>H<00>V^8<>dQhR\R\R\R\/#)rr<><00> page_namerrr<>)rs"rrr%s/<00><00>j<1C>j<1C>4<EFBFBD>j<1C>C<EFBFBD>j<1C>S<EFBFBD>j<1C>\_<>jrc<04><>
<00>VPRR4p\P!4PR4pVP RR4P RR4P 4p\ WV4p.pVPRV R24VPR 4VPR
V 24VPR V 24VPR VPR R4 24VPR 4VPR4VPR4VPR 4VPR4VPR 4VPR4VPR 4VPR4VPR 4VPR/4pV'd2VP4Fwr<>VPRV RV
24K MVPR4VPR 4VPR4VPR 4VPR/4p V 'd2V P4Fwr<>VPRV RV
24K MVPR4VPR 4VPR4VPR 4VPR/4p V 'd2V P4Fwr<>VPRV RV
24K MVPR4VPR 4VPR4VPR 4VPR/4p V 'd2V P4Fwr<>VPRV RV
24K MVPR 4VPR 4VPR!4VPR 4VPR".4pV'dVFpVPR#V 24K MVPR$4VPR 4VPR4VPR 4VPR%4VPR 4VPR&.4pV'dVFpVPR#V 24K MVPR'4VPR 4VPR4VPR 4VPR(4VPR 4VPR).4pV'dVFpVPR#V 24K VPR 4R*PV4#)+zKFormat a page-specific override file with intelligent AI-generated content.r<>r<>r+rDr2<00>_z# z Page OverridesrBz> **PROJECT:** z> **Generated:** z> **Page Type:** <20> page_typer<65>ud> ⚠️ **IMPORTANT:** Rules in this file **override** the Master file (`design-system/MASTER.md`).z`> Only deviations from the Master are documented here. For all other rules, refer to the Master.r,z## Page-Specific Rulesz### Layout Overrides<65>layoutz- **z:** u$- No overrides — use Master layoutz### Spacing Overrides<65>spacingu%- No overrides — use Master spacingz### Typography Overridesr u(- No overrides — use Master typographyz### Color Overridesr<73>u$- No overrides — use Master colorsz### Component Overrides<65>
componentsr<EFBFBD>u-- No overrides — use Master component specsz## Page-Specific Components<74>unique_componentsz$- No unique components for this pagez## Recommendations<6E>recommendationsr<73>)
rNrr0r1rO<00>title<6C>_generate_intelligent_overridesr<73>r4r5)r<>r7rr<>r2<00>
page_title<EFBFBD>page_overridesr<73>r;r<><00>valuer<r r<>r=<00>compr>r?<00>recs&&& rr!r!%sx<00><00><1B><1F><1F><0E> <09>:<3A>G<EFBFBD><18> <0C> <0C><0E>'<27>'<27>(;<3B><<3C>I<EFBFBD><1A>"<22>"<22>3<EFBFBD><03>,<2C>4<>4<>S<EFBFBD>#<23>><3E>D<>D<>F<>J<EFBFBD>5<>Y<EFBFBD>M<EFBFBD>Z<>N<EFBFBD> <0E>E<EFBFBD> <09>L<EFBFBD>L<EFBFBD>2<EFBFBD>j<EFBFBD>\<5C><1F>1<>2<> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>?<3F>7<EFBFBD>)<29>,<2C>-<2D> <09>L<EFBFBD>L<EFBFBD>$<24>Y<EFBFBD>K<EFBFBD>0<>1<> <09>L<EFBFBD>L<EFBFBD>$<24>^<5E>%7<>%7<> <0B>Y<EFBFBD>%O<>$P<>Q<>R<> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>w<>x<> <09>L<EFBFBD>L<EFBFBD>s<>t<> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>)<29>*<2A> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>'<27>(<28> <09>L<EFBFBD>L<EFBFBD><12><14> <1B> <1F> <1F><08>"<22> -<2D>F<EFBFBD> <0A> <20>,<2C>,<2C>.<2E>J<EFBFBD>C<EFBFBD> <11>L<EFBFBD>L<EFBFBD>4<EFBFBD><03>u<EFBFBD>D<EFBFBD><15><07>0<> 1<>)<29> <0E> <0C> <0C>;<3B><<3C> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>(<28>)<29> <09>L<EFBFBD>L<EFBFBD><12><14><1C> <20> <20><19>B<EFBFBD>/<2F>G<EFBFBD><0E>!<21>-<2D>-<2D>/<2F>J<EFBFBD>C<EFBFBD> <11>L<EFBFBD>L<EFBFBD>4<EFBFBD><03>u<EFBFBD>D<EFBFBD><15><07>0<> 1<>*<2A> <0E> <0C> <0C><<3C>=<3D> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>+<2B>,<2C> <09>L<EFBFBD>L<EFBFBD><12><14><1F>#<23>#<23>L<EFBFBD>"<22>5<>J<EFBFBD><11>$<24>*<2A>*<2A>,<2C>J<EFBFBD>C<EFBFBD> <11>L<EFBFBD>L<EFBFBD>4<EFBFBD><03>u<EFBFBD>D<EFBFBD><15><07>0<> 1<>-<2D> <0E> <0C> <0C>?<3F>@<40> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>&<26>'<27> <09>L<EFBFBD>L<EFBFBD><12><14> <1B> <1F> <1F><08>"<22> -<2D>F<EFBFBD> <0A> <20>,<2C>,<2C>.<2E>J<EFBFBD>C<EFBFBD> <11>L<EFBFBD>L<EFBFBD>4<EFBFBD><03>u<EFBFBD>D<EFBFBD><15><07>0<> 1<>)<29> <0E> <0C> <0C>;<3B><<3C> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD>*<2A>+<2B> <09>L<EFBFBD>L<EFBFBD><12><14><1F>#<23>#<23>L<EFBFBD>"<22>5<>J<EFBFBD><11><1E>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD>2<EFBFBD>d<EFBFBD>V<EFBFBD><1B> %<25><1F> <0E> <0C> <0C>D<>E<> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>.<2E>/<2F> <09>L<EFBFBD>L<EFBFBD><12><14>&<26>*<2A>*<2A>+><3E><02>C<><15><18>%<25>D<EFBFBD> <11>L<EFBFBD>L<EFBFBD>2<EFBFBD>d<EFBFBD>V<EFBFBD><1B> %<25>&<26> <0E> <0C> <0C>;<3B><<3C> <09>L<EFBFBD>L<EFBFBD><12><14>
<EFBFBD>L<EFBFBD>L<EFBFBD><15><17> <09>L<EFBFBD>L<EFBFBD><12><14> <09>L<EFBFBD>L<EFBFBD>%<25>&<26> <09>L<EFBFBD>L<EFBFBD><12><14>$<24>(<28>(<28>):<3A>B<EFBFBD>?<3F>O<EFBFBD><16>"<22>C<EFBFBD> <11>L<EFBFBD>L<EFBFBD>2<EFBFBD>c<EFBFBD>U<EFBFBD><1A> $<24>#<23> <09>L<EFBFBD>L<EFBFBD><12><14> <0F>9<EFBFBD>9<EFBFBD>U<EFBFBD> <1B>rc<00>H<00>V^8<>dQhR\R\R\R\/#)rr7rr<>rr?)rs"rrr<00>s0<00><00>g<06>g<06>s<EFBFBD>g<06><03>g<06>TX<54>g<06>]a<>grc<04><>a!<21>^RIHpVP4pT;'gRP4pV RV 2pV!VR^R7pV!VR^R7pV!VR^R7p VPR.4p
VPR.4p V PR.4p \ Wj4p /p/p/p/p.p.p.pV
'EdV
^,pVPR R4pVPR
R4o!VPR R4pVPR R4p\
;QJdV!3R lR54F 'gK RM RM!V!3R lR544'dRVR&RVR&RVR&MZ\
;QJdV!3RlR64F 'gK RM RM!V!3RlR644'dRVR&RVR&RVR&M
RVR&RVR&V'dVP RV 24V FupVPRR4pVPRR4pVPR R4pV'dVP V R!V 24V'gKaVP R"V 24Kw V 'dvV ^,pVPR#R4pVPR$R4pVPR%R4p V'dVVR&&V'dVP R'V 24V 'dV VR(&V'g R)VR&R*VR&V'gR+R,.pR-V R.VR/VR0VR1VR2VR3VR4V/#)7z<37>
Generate intelligent overrides based on page type using layered search.
Uses the existing search infrastructure to find relevant style, UX, and layout
data instead of hardcoded page types.
)rrBr2r)r<00>uxr
r6ryrzr<>r<>c3<00>H<"<00>TFqSP49x<00>K R#5ir<00>rM<00>rGrHrTs& <20>rrJ<00>2_generate_intelligent_overrides.<locals>.<genexpr><3E>s<00><><00><00>W<>0V<30>"<22>X<EFBFBD>^<5E>^<5E>%<25>%<25>0V<30><56><00>"TFz1400px or full-widthz Max Widthz#12-column grid for data flexibility<74>Gridu)High — optimize for information displayzContent Densityc3<00>H<"<00>TFqSP49x<00>K R#5irrKrLs& <20>rrJrM<00>s<00><><00><00>[<5B>2Z<32>B<EFBFBD>x<EFBFBD>~<7E>~<7E>'<27>'<27>2Z<32>rNz800px (narrow, focused)zSingle column, centered<65>LayoutuLow — focus on clarityz1200px (standard)z%Full-width sections, centered contentz Effects: <20>Category<72>DozDon'tz: zAvoid: r<>r<>r<><00>SectionszCTA Placement: <20>Strategy<67>1200pxzResponsive gridz'Refer to MASTER.md for all design rulesz.Add specific overrides as needed for this pager:r;r<r r<>r=r>r?)<04>data<74>dense<73> dashboard<72>grid)<04>minimal<61>simple<6C>clean<61>single)<07>corerrMrN<00>_detect_page_typerQr<>)"r7rr<>r<00>
page_lower<EFBFBD> query_lower<65>combined_context<78> style_search<63> ux_search<63>landing_searchr<68><00>
ux_resultsr<EFBFBD>r:r;r<r r<>r=r>r?rr<>r<>r<>rIr><00>do_text<78> dont_textr
r<>r<>r<>rTs"&&& @rrArA<00>s<00><><00><1C><1A><1F><1F>"<22>J<EFBFBD><1D>#<23>#<23><12>*<2A>*<2A>,<2C>K<EFBFBD>$<24><1C>Q<EFBFBD>{<7B>m<EFBFBD>4<><14><1A>*<2A>G<EFBFBD><11>C<>L<EFBFBD><16>'<27><14>1<EFBFBD>=<3D>I<EFBFBD><1B>,<2C>i<EFBFBD>Q<EFBFBD>G<>N<EFBFBD>!<21>$<24>$<24>Y<EFBFBD><02>3<>M<EFBFBD><1A><1D><1D>y<EFBFBD>"<22>-<2D>J<EFBFBD>$<24>(<28>(<28><19>B<EFBFBD>7<>O<EFBFBD>"<22>"2<>B<>I<EFBFBD><10>F<EFBFBD><10>G<EFBFBD><13>J<EFBFBD> <0F>F<EFBFBD><13>J<EFBFBD><1A><15><18>O<EFBFBD><15>}<7D><1D>a<EFBFBD> <20><05><1A>Y<EFBFBD>Y<EFBFBD>/<2F><12>4<>
<EFBFBD><18>9<EFBFBD>9<EFBFBD>Z<EFBFBD><12>,<2C><08><18>9<EFBFBD>9<EFBFBD>Z<EFBFBD><12>,<2C><08><17>)<29>)<29>1<>2<EFBFBD>6<><07> <0F>3<EFBFBD>W<>0V<30>W<>3<EFBFBD>3<EFBFBD>3<EFBFBD>W<>0V<30>W<> W<> W<>"8<>F<EFBFBD>;<3B> <1F>B<>F<EFBFBD>6<EFBFBD>N<EFBFBD>)T<>G<EFBFBD>%<25> &<26> <10>S<EFBFBD>[<5B>2Z<32>[<5B>S<EFBFBD>S<EFBFBD>S<EFBFBD>[<5B>2Z<32>[<5B> [<5B> [<5B>";<3B>F<EFBFBD>;<3B> <1F>8<>F<EFBFBD>8<EFBFBD> <1C>)C<>G<EFBFBD>%<25> &<26>"5<>F<EFBFBD>;<3B> <1F>F<>F<EFBFBD>8<EFBFBD> <1C> <12> <1B> "<22> "<22>Y<EFBFBD>w<EFBFBD>i<EFBFBD>#8<> 9<><19><02><15>6<EFBFBD>6<EFBFBD>*<2A>b<EFBFBD>)<29><08><14>&<26>&<26><14>r<EFBFBD>"<22><07><16>F<EFBFBD>F<EFBFBD>7<EFBFBD>B<EFBFBD>'<27> <09> <12> <1B> "<22> "<22>h<EFBFBD>Z<EFBFBD>r<EFBFBD>'<27><19>#;<3B> <<3C> <14>9<EFBFBD> <16> <1D> <1D><07> <09>{<7B>3<> 4<><19><17>!<21>!<21>$<24><07><1A>;<3B>;<3B><EFBFBD><02>3<><08><1F> <0B> <0B>$;<3B>R<EFBFBD>@<40> <0A> <20><1B><1B>%5<>r<EFBFBD>:<3A><0E> <13>!)<29>F<EFBFBD>:<3A> <1E> <18> <1B> "<22> "<22>_<EFBFBD>]<5D>O<EFBFBD>#D<> E<> <19>!/<2F>F<EFBFBD>:<3A> <1E> <12>&<26><06>{<7B><1B>,<2C><06>x<EFBFBD><18> <1A> 5<> <<3C>
<EFBFBD><0F> <14>Y<EFBFBD><10>&<26><11>7<EFBFBD><14>j<EFBFBD><10>&<26><14>j<EFBFBD><1B>.<2E><19>?<3F> <06> rc<00><<00>V^8<>dQhR\R\R\/#)r<00>contextr<74>r)r/r)rs"rrr<00>s!<00><00> <15> <15>s<EFBFBD> <15>4<EFBFBD> <15>C<EFBFBD> rc <04>a<07>VP4o.ROR3.ROR3.ROR3.ROR3.ROR 3.ROR
3.ROR 3.ROR 3.ROR 3.ROR3.
pVFIwr4\;QJdV3RlV4F 'gK RM RM!V3RlV44'gKGVu# V'doV^,PRR4P4pV^,PRR4P4pRV9gRV9dR#RV9gRV9dR#R#) z1Detect page type from context and search results.rYrWzDashboard / Data ViewzCheckout / PaymentzSettings / Profiler
<00> marketingzLanding / Marketing<6E>AuthenticationzPricing / PlanszBlog / ArticlezProduct DetailzSearch Resultsz Empty Statec3<00>,<"<00>TF qS9x<00>K R#5irrF)rGrH<00> context_lowers& <20>rrJ<00>$_detect_page_type.<locals>.<genexpr>s<00><><00><00>6<>X<EFBFBD>r<EFBFBD>]<5D>"<22>X<EFBFBD>rLTFryrBr<>r<>)rY<00>admin<69> analyticsrW<00>metrics<63>stats<74>monitor<6F>overview)<06>checkout<75>payment<6E>cart<72>purchase<73>order<65>billing)<05>settings<67>profile<6C>account<6E> preferencesr8)r
rm<00>homepage<67>hero<72>home<6D>promo)<06>login<69>signin<69>signup<75>register<65>auth<74>password)<05>pricing<6E>plans<6E> subscription<6F>tiers<72>packages)<06>blog<6F>article<6C>post<73>news<77>content<6E>story)rr<><00>detail<69>pdp<64>shop<6F>store)rr6<00>browse<73>filter<65>catalogr)<05>empty<74>404<30>errorz not found<6E>zero)rMrQrN)rkr<><00> page_patternsrTr:r<>r<>rps&& @rr`r`<00>s<00><><00><1B>M<EFBFBD>M<EFBFBD>O<EFBFBD>M<EFBFBD>
`<01>ax<61>y<> H<>J^<5E>_<> D<>FZ<46>[<5B> F<>H]<5D>^<5E> F<>HX<48>Y<> B<>DU<44>V<> @<40>BR<42>S<> ><3E>@P<>Q<> E<>GW<47>X<> 7<><1D>G<> <06>M<EFBFBD> -<2D><1B><08> <0E>3<EFBFBD>6<>X<EFBFBD>6<>3<EFBFBD>3<EFBFBD>3<EFBFBD>6<>X<EFBFBD>6<> 6<> 6<><1C> <1C> -<2D>
<15>"<22>1<EFBFBD>%<25>)<29>)<29>*:<3A>B<EFBFBD>?<3F>E<>E<>G<>
<EFBFBD> <20><11>#<23>'<27>'<27>
<EFBFBD>B<EFBFBD>7<>=<3D>=<3D>?<3F><08> <16>(<28> "<22>f<EFBFBD><08>&8<>*<2A> <16>(<28> "<22>k<EFBFBD>X<EFBFBD>&=<3D>(<28> r<00>__main__zGenerate Design System)<01> descriptionr-z%Search query (e.g., 'SaaS dashboard'))<01>helpz--project-namez-pz Project name)r<>rr<>z--formatz-frz Output format)<03>choicesrr<>)NrFNN)NNNr)#r<>r'ro<00>osr<00>pathlibrr_rrr$r3r r<>r<>rrrrr!rAr`r<><00>argparse<73>ArgumentParser<65>parser<65> add_argumentr/<00>
parse_args<EFBFBD>argsr-r<>rr<><00>printrFrr<00><module>r<>sJ<00><01> <04> <0B> <0B> <09><1D><18>!<21>$<24><0E><0E> <0A>q<EFBFBD>!<21> <0B>m<EFBFBD>Q<EFBFBD> <1F> <0B>m<EFBFBD>Q<EFBFBD> <1F> <0A> <0A>q<EFBFBD>!<21><10>=<3D>!<21>$<24> <02> <0A>G
<EFBFBD>G
<EFBFBD>V <0F> <09>z<1C>z[<1C>~+<2B>:0<06>fD<1C>Nj<1C>Zg<06>T <15>H <0C>z<EFBFBD><19><13> <15> $<24> $<24>1I<31> J<>F<EFBFBD>
<EFBFBD><17><17><07>&M<><17>N<>
<EFBFBD><17><17>(<28>$<24>S<EFBFBD>$<24>^<5E><17>\<5C>
<EFBFBD><17><17>
<EFBFBD>D<EFBFBD>7<EFBFBD>J<EFBFBD>2G<EFBFBD>QX<EFBFBD>_n<EFBFBD><17>o<> <11> <1C> <1C> <1E>D<EFBFBD> #<23>D<EFBFBD>J<EFBFBD>J<EFBFBD><04>0A<30>0A<30>4<EFBFBD>;<3B>;<3B> O<>F<EFBFBD> <09>&<26>M<EFBFBD>r