@microi.net/cli 5.9.4 → 5.9.6

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.
Files changed (73) hide show
  1. package/.codebuddy-plugin/marketplace.json +2 -2
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/.mcp.json +1 -1
  5. package/.workbuddy-plugin/marketplace.json +2 -2
  6. package/.workbuddy-plugin/plugin.json +1 -1
  7. package/LICENSE +21 -21
  8. package/README.md +71 -71
  9. package/assets/build-meta.json +7 -7
  10. package/assets/feature-matrix.json +138 -138
  11. package/assets/logo.svg +4 -4
  12. package/cordis.patch.yml +1 -1
  13. package/package.json +1 -1
  14. package/scripts/codex-marketplace.json +20 -20
  15. package/scripts/mcp-codex-stdio-adapter.js +189 -189
  16. package/scripts/mcp-server.js +1 -0
  17. package/scripts/mcp-trae-windows-launcher.cmd +21 -21
  18. package/scripts/microi-cli-mcp.js +7 -7
  19. package/scripts/microi-cli.js +44 -49
  20. package/scripts/microi-codex-broker.js +466 -466
  21. package/scripts/microi-codex-router.js +635 -634
  22. package/scripts/microi-skills.meta.json +248 -248
  23. package/skills/.microi-skills-version.json +2 -2
  24. package/skills/.progressive-disclosure-manifest.json +55 -46
  25. package/skills/ai-engine/agents/openai.yaml +4 -4
  26. package/skills/app-store/agents/openai.yaml +4 -4
  27. package/skills/datasource-engine/agents/openai.yaml +4 -4
  28. package/skills/job-engine/agents/openai.yaml +4 -4
  29. package/skills/message-notification/agents/openai.yaml +5 -5
  30. package/skills/microi-ai-app-auth.js +652 -652
  31. package/skills/microi-ai-application/agents/openai.yaml +4 -4
  32. package/skills/microi-codex/SKILL.md +11 -6
  33. package/skills/microi-codex-installer/SKILL.md +1 -1
  34. package/skills/microi-codex-installer/agents/openai.yaml +7 -7
  35. package/skills/microi-db-schema/agents/openai.yaml +4 -4
  36. package/skills/microi-deployment/SKILL.md +6 -4
  37. package/skills/microi-docs-coverage/references/capability-map.md +1 -1
  38. package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
  39. package/skills/microi-microservice/SKILL.md +5 -0
  40. package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
  41. package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
  42. package/skills/microi-system-delivery/SKILL.md +18 -6
  43. package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +39 -1
  44. package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +5 -3
  45. package/skills/microi-uniapp-frontend/SKILL.md +3 -1
  46. package/skills/microi.v8.js +1921 -1921
  47. package/skills/module-engine/SKILL.md +26 -0
  48. package/skills/ocr-engine/agents/openai.yaml +4 -4
  49. package/skills/page-engine/SKILL.md +21 -0
  50. package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
  51. package/skills/playwright-e2e/SKILL.md +5 -4
  52. package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +3 -3
  53. package/skills/report-engine/SKILL.md +12 -0
  54. package/skills/report-engine/agents/openai.yaml +4 -4
  55. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
  56. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
  57. package/skills/scripts/sync-embedded-skills.mjs +46 -46
  58. package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
  59. package/skills/search-engine/agents/openai.yaml +4 -4
  60. package/skills/translate-engine/agents/openai.yaml +4 -4
  61. package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
  62. package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
  63. package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
  64. package/skills/unity-integration/agents/openai.yaml +4 -4
  65. package/skills/v8-file-upload/SKILL.md +2 -0
  66. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  67. package/skills/v8-mongodb/SKILL.md +2 -1
  68. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  69. package/skills/v8-security/SKILL.md +6 -0
  70. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  71. package/skills/vision-engine/agents/openai.yaml +4 -4
  72. package/skills/workspace-conventions/SKILL.md +5 -4
  73. package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +13 -0
@@ -1,311 +1,311 @@
1
- :root {
2
- color-scheme: dark;
3
- --mci-bg: #07101f;
4
- --mci-bg-soft: #0d1830;
5
- --mci-surface: rgba(15, 28, 52, 0.78);
6
- --mci-surface-solid: #111f39;
7
- --mci-border: rgba(151, 173, 216, 0.16);
8
- --mci-text: #f4f7ff;
9
- --mci-text-muted: #9aa9c6;
10
- --mci-primary: #6b87ff;
11
- --mci-primary-strong: #4f6df0;
12
- --mci-cyan: #38dcff;
13
- --mci-success: #26d7b0;
14
- --mci-warning: #ffca68;
15
- --mci-danger: #ff6b88;
16
- --mci-shape-card: 28px;
17
- --mci-shape-panel: 22px;
18
- --mci-shape-button: 999px;
19
- --mci-shape-input: 14px;
20
- --mci-shadow-card: 0 20px 70px rgba(0, 0, 0, 0.22);
21
- --mci-shadow-float: 0 22px 60px rgba(32, 61, 141, 0.28);
22
- font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
23
- }
24
-
25
- :root[data-mci-theme="light"] {
26
- color-scheme: light;
27
- --mci-bg: #f2f5fb;
28
- --mci-bg-soft: #e9eef8;
29
- --mci-surface: rgba(255, 255, 255, 0.86);
30
- --mci-surface-solid: #ffffff;
31
- --mci-border: rgba(31, 50, 91, 0.12);
32
- --mci-text: #14203a;
33
- --mci-text-muted: #66738d;
34
- --mci-shadow-card: 0 20px 70px rgba(42, 62, 112, 0.12);
35
- --mci-shadow-float: 0 22px 60px rgba(66, 91, 162, 0.18);
36
- }
37
-
38
- * { box-sizing: border-box; }
39
- html { scroll-behavior: smooth; }
40
- body { margin: 0; min-width: 320px; background: var(--mci-bg); color: var(--mci-text); }
41
- button, input { font: inherit; }
42
- button, a { -webkit-tap-highlight-color: transparent; }
43
-
44
- .mci-lab {
45
- min-height: 100vh;
46
- overflow: hidden;
47
- background:
48
- linear-gradient(rgba(107, 135, 255, 0.035) 1px, transparent 1px),
49
- linear-gradient(90deg, rgba(107, 135, 255, 0.035) 1px, transparent 1px),
50
- radial-gradient(circle at 12% 0%, rgba(66, 105, 255, 0.18), transparent 28%),
51
- var(--mci-bg);
52
- background-size: 44px 44px, 44px 44px, auto, auto;
53
- }
54
-
55
- .mci-lab a { color: inherit; text-decoration: none; }
56
- .mci-lab__nav {
57
- position: relative;
58
- z-index: 20;
59
- display: grid;
60
- grid-template-columns: 1fr auto 1fr;
61
- align-items: center;
62
- width: min(1180px, calc(100% - 40px));
63
- height: 84px;
64
- margin: 0 auto;
65
- border-bottom: 1px solid var(--mci-border);
66
- }
67
-
68
- .mci-lab__brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; font-size: 14px; font-weight: 700; letter-spacing: .02em; }
69
- .mci-lab__brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: white; background: linear-gradient(145deg, var(--mci-primary), #935fff); box-shadow: 0 10px 24px rgba(92, 112, 255, .28); }
70
- .mci-lab__nav-links { display: flex; gap: 30px; font-size: 13px; color: var(--mci-text-muted); }
71
- .mci-lab__nav-links a { position: relative; padding: 10px 0; }
72
- .mci-lab__nav-links a::after { position: absolute; right: 50%; bottom: 4px; left: 50%; height: 1px; content: ""; background: var(--mci-primary); transition: .25s ease; }
73
- .mci-lab__nav-links a:hover::after, .mci-lab__nav-links a:focus-visible::after { right: 0; left: 0; }
74
-
75
- .mci-icon-button { justify-self: end; display: grid; grid-template-columns: 1fr 1fr; align-items: center; width: 68px; height: 36px; padding: 4px; border: 1px solid var(--mci-border); border-radius: 999px; color: var(--mci-text-muted); background: var(--mci-surface); cursor: pointer; }
76
- .mci-icon-button span { display: grid; height: 26px; place-items: center; border-radius: 50%; transition: .2s ease; }
77
- :root[data-mci-theme="dark"] .mci-icon-button__moon,
78
- :root[data-mci-theme="light"] .mci-icon-button__sun { color: #fff; background: var(--mci-primary); box-shadow: 0 4px 12px rgba(91, 124, 250, .28); }
79
-
80
- .mci-hero {
81
- position: relative;
82
- z-index: 1;
83
- display: grid;
84
- grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr);
85
- gap: clamp(50px, 8vw, 112px);
86
- align-items: center;
87
- width: min(1180px, calc(100% - 40px));
88
- min-height: 670px;
89
- margin: 0 auto;
90
- padding: 78px 0 96px;
91
- }
92
-
93
- .mci-hero__ambient { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
94
- .mci-hero__ambient span { position: absolute; border: 1px solid rgba(107, 135, 255, .13); border-radius: 50%; animation: mci-drift 12s ease-in-out infinite alternate; }
95
- .mci-hero__ambient span:nth-child(1) { top: 90px; right: -170px; width: 540px; height: 540px; }
96
- .mci-hero__ambient span:nth-child(2) { top: 188px; right: -74px; width: 340px; height: 340px; animation-delay: -3s; }
97
- .mci-hero__ambient span:nth-child(3) { top: 256px; right: -6px; width: 200px; height: 200px; animation-delay: -6s; }
98
-
99
- .mci-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--mci-cyan); font-size: 11px; font-weight: 800; letter-spacing: .22em; }
100
- .mci-eyebrow::before { width: 26px; height: 1px; content: ""; background: currentColor; }
101
- .mci-hero h1 { margin: 26px 0 24px; font-size: clamp(56px, 6.6vw, 92px); line-height: .97; letter-spacing: -.065em; }
102
- .mci-hero h1 em { color: transparent; font-style: normal; background: linear-gradient(100deg, #9aaeff 0%, #5ee7ff 48%, #a784ff 100%); -webkit-background-clip: text; background-clip: text; }
103
- .mci-hero__content > p { max-width: 650px; margin: 0; color: var(--mci-text-muted); font-size: 16px; line-height: 1.9; }
104
- .mci-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
105
-
106
- .mci-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; border: 1px solid transparent; border-radius: var(--mci-shape-button); font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
107
- .mci-button:hover, .mci-button:focus-visible { transform: translateY(-2px); }
108
- .mci-button:active { transform: translateY(0) scale(.98); }
109
- .mci-button--primary { color: #fff !important; background: linear-gradient(135deg, var(--mci-primary), var(--mci-primary-strong)); box-shadow: 0 13px 32px rgba(79, 109, 240, .32); }
110
- .mci-button--quiet { border-color: var(--mci-border); background: var(--mci-surface); }
111
-
112
- .mci-hero__console { position: relative; min-height: 420px; padding: 22px; overflow: hidden; border: 1px solid rgba(131, 156, 232, .23); border-radius: 34px; background: linear-gradient(160deg, rgba(25, 45, 81, .94), rgba(10, 20, 40, .86)); box-shadow: 0 35px 100px rgba(0, 0, 0, .35), inset 0 1px rgba(255, 255, 255, .09); }
113
- :root[data-mci-theme="light"] .mci-hero__console { background: linear-gradient(160deg, #fdfdff, #e9effc); box-shadow: var(--mci-shadow-float); }
114
- .mci-console__head { display: flex; align-items: center; gap: 7px; padding-bottom: 18px; border-bottom: 1px solid var(--mci-border); }
115
- .mci-console__head span { width: 7px; height: 7px; border-radius: 50%; background: var(--mci-danger); }
116
- .mci-console__head span:nth-child(2) { background: var(--mci-warning); }
117
- .mci-console__head span:nth-child(3) { background: var(--mci-success); }
118
- .mci-console__head b { margin-left: auto; color: var(--mci-text-muted); font-size: 10px; letter-spacing: .18em; }
119
- .mci-console__orbit { position: absolute; top: 90px; left: 50%; width: 230px; height: 230px; transform: translateX(-50%); }
120
- .mci-console__orbit::before, .mci-console__orbit i { position: absolute; inset: 0; content: ""; border: 1px solid rgba(96, 224, 255, .18); border-radius: 50%; }
121
- .mci-console__orbit::before { inset: 38px; border: 0; background: radial-gradient(circle at 35% 30%, #93f4ff, #5573ff 34%, #5c35a2 62%, transparent 64%); filter: drop-shadow(0 0 30px rgba(83, 120, 255, .45)); animation: mci-orbit-pulse 4s ease-in-out infinite; }
122
- .mci-console__orbit i:nth-child(1) { transform: rotateX(65deg); animation: mci-orbit 8s linear infinite; }
123
- .mci-console__orbit i:nth-child(2) { transform: rotateY(65deg); animation: mci-orbit 11s linear reverse infinite; }
124
- .mci-console__orbit i:nth-child(3) { inset: 24px; border-style: dashed; animation: mci-orbit 14s linear infinite; }
125
- .mci-console__metric { position: absolute; right: 22px; bottom: 68px; left: 22px; display: grid; grid-template-columns: 1fr auto; align-items: end; padding: 20px; border: 1px solid var(--mci-border); border-radius: 18px; background: rgba(5, 13, 30, .62); backdrop-filter: blur(14px); }
126
- :root[data-mci-theme="light"] .mci-console__metric { background: rgba(255, 255, 255, .74); }
127
- .mci-console__metric small { align-self: start; color: var(--mci-text-muted); }
128
- .mci-console__metric strong { grid-row: span 2; color: var(--mci-cyan); font-size: 52px; line-height: .9; }
129
- .mci-console__metric span { color: var(--mci-text-muted); font-size: 11px; }
130
- .mci-console__footer { position: absolute; right: 22px; bottom: 22px; left: 22px; display: flex; justify-content: space-between; color: var(--mci-text-muted); font-size: 9px; letter-spacing: .08em; }
131
-
132
- .mci-section { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 110px 0 120px; border-top: 1px solid var(--mci-border); }
133
- .mci-section__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
134
- .mci-section h2, .mci-flow h2, .mci-contract h2 { margin: 14px 0 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.1; letter-spacing: -.045em; }
135
- .mci-filter { display: flex; gap: 4px; padding: 5px; border: 1px solid var(--mci-border); border-radius: 999px; background: var(--mci-surface); }
136
- .mci-filter button { min-height: 34px; padding: 0 15px; border: 0; border-radius: 999px; color: var(--mci-text-muted); background: transparent; font-size: 12px; cursor: pointer; }
137
- .mci-filter button.is-active { color: #fff; background: var(--mci-primary); box-shadow: 0 7px 18px rgba(91, 124, 250, .23); }
138
-
139
- .mci-pattern-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
140
- .mci-pattern { min-width: 0; padding: 12px; overflow: hidden; border: 1px solid var(--mci-border); border-radius: var(--mci-shape-card); background: var(--mci-surface); box-shadow: var(--mci-shadow-card); transition: opacity .25s ease, transform .25s ease, border-color .25s ease; }
141
- .mci-pattern:hover { transform: translateY(-4px); border-color: rgba(107, 135, 255, .4); }
142
- .mci-pattern.is-hidden { display: none; }
143
- .mci-pattern__visual { position: relative; height: 318px; padding: 28px; overflow: hidden; border-radius: calc(var(--mci-shape-card) - 10px); background: #101b33; color: #fff; }
144
- .mci-pattern__index { position: absolute; z-index: 3; top: 20px; right: 22px; color: rgba(255, 255, 255, .55); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
145
- .mci-pattern__copy { padding: 20px 12px 14px; }
146
- .mci-pattern__copy > span { color: var(--mci-primary); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
147
- .mci-pattern__copy h3 { margin: 9px 0 8px; font-size: 22px; letter-spacing: -.025em; }
148
- .mci-pattern__copy p { margin: 0; color: var(--mci-text-muted); font-size: 13px; line-height: 1.7; }
149
-
150
- .mci-pattern--story .mci-pattern__visual { background: #f2f0e8; color: #151515; }
151
- .mci-pattern--story .mci-pattern__visual::before { position: absolute; right: -40px; bottom: -100px; width: 260px; height: 260px; content: ""; border-radius: 50%; background: #ff4f3d; opacity: .9; }
152
- .mci-story-word { position: absolute; top: 76px; left: 28px; z-index: 1; font-size: clamp(46px, 5vw, 70px); font-weight: 900; line-height: .82; letter-spacing: -.08em; }
153
- .mci-story-word em { color: #3e52df; font-style: normal; }
154
- .mci-story-line { position: absolute; right: 28px; bottom: 30px; left: 28px; height: 1px; background: rgba(0, 0, 0, .32); }
155
- .mci-story-line::before { position: absolute; left: 0; bottom: 10px; content: "THE IDEA BECOMES THE INTERFACE"; font-size: 9px; font-style: normal; letter-spacing: .14em; }
156
-
157
- .mci-pattern--product .mci-pattern__visual { display: grid; place-items: center; background: radial-gradient(circle at 0 0, #dce6ff, transparent 45%), #f5f7fb; color: #18233c; }
158
- .mci-phone-card { width: min(330px, 90%); padding: 20px; border: 1px solid #e2e7f1; border-radius: 22px; background: #fff; box-shadow: 0 22px 55px rgba(38, 54, 94, .18); }
159
- .mci-phone-card__bar { display: flex; align-items: center; gap: 9px; font-size: 11px; }
160
- .mci-phone-card__bar i { width: 24px; height: 24px; border-radius: 8px; background: #5b7cfa; }
161
- .mci-phone-card__bar b { margin-left: auto; color: #7c889f; font-size: 9px; }
162
- .mci-phone-card__progress { height: 3px; margin: 14px 0 20px; overflow: hidden; border-radius: 4px; background: #edf0f6; }
163
- .mci-phone-card__progress i { display: block; width: 66%; height: 100%; background: #5b7cfa; }
164
- .mci-phone-card > strong { display: block; margin-bottom: 12px; font-size: 14px; }
165
- .mci-phone-card__choice { display: grid; grid-template-columns: 24px 1fr; gap: 10px; margin-top: 8px; padding: 11px; border: 1px solid #e5e9f1; border-radius: 12px; }
166
- .mci-phone-card__choice > i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid #d0d7e5; border-radius: 50%; font-size: 10px; font-style: normal; }
167
- .mci-phone-card__choice span { font-size: 11px; font-weight: 700; }
168
- .mci-phone-card__choice small { display: block; margin-top: 3px; color: #8a96ab; font-size: 8px; font-weight: 400; }
169
- .mci-phone-card__choice.is-selected { border-color: #5b7cfa; background: #f2f5ff; }
170
- .mci-phone-card__choice.is-selected > i { color: white; border-color: #5b7cfa; background: #5b7cfa; }
171
-
172
- .mci-pattern--editorial .mci-pattern__visual { background: #ffcd55; color: #191919; }
173
- .mci-editorial-type { position: absolute; top: 38px; left: 32px; display: flex; align-items: start; gap: 14px; }
174
- .mci-editorial-type b { font-size: 114px; line-height: .85; letter-spacing: -.1em; }
175
- .mci-editorial-type span { max-width: 95px; padding-top: 10px; font-size: 13px; font-weight: 700; line-height: 1.4; }
176
- .mci-editorial-card { position: absolute; right: -20px; bottom: -44px; width: 285px; height: 190px; padding: 22px; transform: rotate(-7deg); background: #3527a5; box-shadow: 0 20px 50px rgba(47, 38, 132, .3); }
177
- .mci-editorial-card i { display: inline-block; width: 42px; height: 42px; margin-right: -6px; border: 2px solid #fff; border-radius: 50%; }
178
- .mci-editorial-card i:nth-child(2) { background: #ff6257; }
179
- .mci-editorial-card i:nth-child(3) { background: #5ce3cc; }
180
- .mci-editorial-card strong { display: block; margin-top: 18px; color: #fff; font-size: 25px; }
181
-
182
- .mci-pattern--immersive .mci-pattern__visual { background: radial-gradient(circle at 52% 48%, #1c3350, #050914 70%); }
183
- .mci-pattern--immersive .mci-pattern__visual::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(rgba(73, 220, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(73, 220, 255, .05) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(to bottom, black, transparent); }
184
- .mci-orb { position: absolute; top: 50%; left: 50%; width: 180px; height: 180px; transform: translate(-50%, -58%); }
185
- .mci-orb::before { position: absolute; inset: 34px; content: ""; border-radius: 38% 62% 44% 56%; background: radial-gradient(circle at 34% 28%, #eaffff, #61eaff 16%, #5d63fa 54%, #17165e 72%); filter: drop-shadow(0 0 34px rgba(80, 201, 255, .5)); animation: mci-blob 7s ease-in-out infinite; }
186
- .mci-orb i { position: absolute; inset: 0; border: 1px solid rgba(107, 222, 255, .35); border-radius: 50%; }
187
- .mci-orb i:nth-child(1) { transform: rotateX(72deg); }
188
- .mci-orb i:nth-child(2) { transform: rotateY(72deg); }
189
- .mci-orb i:nth-child(3) { inset: 20px; border-style: dashed; animation: mci-orbit 12s linear infinite; }
190
- .mci-orb b { position: absolute; top: 22px; right: 18px; width: 9px; height: 9px; border-radius: 50%; background: #62efff; box-shadow: 0 0 16px #62efff; animation: mci-point 4s ease-in-out infinite; }
191
- .mci-orb-copy { position: absolute; right: 24px; bottom: 22px; left: 24px; display: flex; justify-content: space-between; color: rgba(255, 255, 255, .62); font-size: 9px; letter-spacing: .08em; }
192
-
193
- .mci-pattern--motion .mci-pattern__visual { background: #f8f7fc; color: #121526; }
194
- .mci-pattern--motion .mci-pattern__visual::after { position: absolute; top: -120px; right: -80px; width: 300px; height: 300px; content: ""; border-radius: 50%; background: conic-gradient(from 35deg, #7259ff, #44dcff, #ff76ac, #7259ff); filter: blur(20px); opacity: .72; animation: mci-spin 10s linear infinite; }
195
- .mci-motion-copy { position: absolute; z-index: 1; top: 44px; left: 32px; }
196
- .mci-motion-copy small { display: block; margin-bottom: 22px; color: #5a6680; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
197
- .mci-motion-copy strong { font-size: 52px; line-height: .95; letter-spacing: -.06em; }
198
- .mci-motion-track { position: absolute; z-index: 1; right: 32px; bottom: 28px; left: 32px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
199
- .mci-motion-track i { height: 4px; border-radius: 6px; background: #dfe3ed; }
200
- .mci-motion-track i:nth-child(1), .mci-motion-track i:nth-child(2) { background: #5b7cfa; }
201
-
202
- .mci-pattern--data .mci-pattern__visual { background: #0c1729; }
203
- .mci-data-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
204
- .mci-data-head span { font-size: 13px; font-weight: 700; }
205
- .mci-data-head b { padding: 5px 8px; border: 1px solid rgba(38, 215, 176, .3); border-radius: 999px; color: #6ff0d2; font-size: 8px; }
206
- .mci-data-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0; }
207
- .mci-data-metrics > span { padding: 11px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 11px; background: rgba(255, 255, 255, .03); }
208
- .mci-data-metrics small { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, .5); font-size: 8px; }
209
- .mci-data-metrics b { font-size: 22px; }
210
- .mci-data-chart { display: flex; height: 112px; align-items: end; gap: 8px; padding: 14px 10px 0; border-top: 1px solid rgba(255, 255, 255, .06); background: linear-gradient(to top, rgba(91, 124, 250, .08), transparent); }
211
- .mci-data-chart i { flex: 1; height: var(--h, 50%); border-radius: 5px 5px 1px 1px; background: linear-gradient(to top, #536bf0, #46dffc); transform-origin: bottom; animation: mci-bars 2.6s ease-in-out infinite alternate; }
212
- .mci-data-chart i:nth-child(1) { --h: 42%; }
213
- .mci-data-chart i:nth-child(2) { --h: 66%; animation-delay: -.3s; }
214
- .mci-data-chart i:nth-child(3) { --h: 51%; animation-delay: -.6s; }
215
- .mci-data-chart i:nth-child(4) { --h: 88%; animation-delay: -.9s; }
216
- .mci-data-chart i:nth-child(5) { --h: 72%; animation-delay: -1.2s; }
217
- .mci-data-chart i:nth-child(6) { --h: 96%; animation-delay: -1.5s; }
218
- .mci-data-chart i:nth-child(7) { --h: 78%; animation-delay: -1.8s; }
219
-
220
- .mci-flow { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 8vw, 110px); align-items: center; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 110px 0; border-top: 1px solid var(--mci-border); }
221
- .mci-flow__intro > p { max-width: 520px; margin: 22px 0; color: var(--mci-text-muted); line-height: 1.8; }
222
- .mci-flow__intro ul { display: grid; gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; }
223
- .mci-flow__intro li { display: flex; align-items: center; gap: 13px; padding: 12px 0; border-bottom: 1px solid var(--mci-border); font-size: 13px; }
224
- .mci-flow__intro li span { color: var(--mci-primary); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
225
- .mci-flow-card { min-height: 480px; padding: clamp(24px, 4vw, 42px); border: 1px solid var(--mci-border); border-radius: var(--mci-shape-card); background: var(--mci-surface); box-shadow: var(--mci-shadow-card); }
226
- .mci-flow-card__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 23px; border-bottom: 1px solid var(--mci-border); }
227
- .mci-flow-card__head span { font-size: 20px; font-weight: 750; }
228
- .mci-flow-card__head small { color: var(--mci-text-muted); font-size: 10px; }
229
- .mci-field { display: grid; gap: 9px; margin-top: 26px; }
230
- .mci-field > span, .mci-plan-group legend { font-size: 12px; font-weight: 700; }
231
- .mci-field input { width: 100%; height: 50px; padding: 0 16px; border: 1px solid var(--mci-border); border-radius: var(--mci-shape-input); outline: 0; color: var(--mci-text); background: var(--mci-bg-soft); transition: border .2s, box-shadow .2s; }
232
- .mci-field input:focus { border-color: var(--mci-primary); box-shadow: 0 0 0 3px rgba(91, 124, 250, .15); }
233
- .mci-field small { color: var(--mci-text-muted); font-size: 10px; }
234
- .mci-plan-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 22px 0 0; padding: 0; border: 0; }
235
- .mci-plan-group legend { grid-column: 1 / -1; margin-bottom: 8px; }
236
- .mci-plan-group label { position: relative; cursor: pointer; }
237
- .mci-plan-group input { position: absolute; opacity: 0; pointer-events: none; }
238
- .mci-plan-group label > span { display: block; padding: 14px; border: 1px solid var(--mci-border); border-radius: var(--mci-shape-input); background: var(--mci-bg-soft); transition: .2s ease; }
239
- .mci-plan-group input:checked + span { border-color: var(--mci-primary); box-shadow: inset 0 0 0 1px var(--mci-primary); }
240
- .mci-plan-group b, .mci-plan-group small { display: block; font-size: 11px; }
241
- .mci-plan-group small { margin-top: 5px; color: var(--mci-text-muted); font-size: 9px; }
242
- .mci-flow-card__status { min-height: 42px; margin: 20px 0 12px; padding: 12px 14px; border-radius: 11px; color: var(--mci-text-muted); background: rgba(107, 135, 255, .08); font-size: 11px; line-height: 1.6; }
243
- .mci-flow-card__status.is-error { color: var(--mci-danger); background: rgba(255, 107, 136, .09); }
244
- .mci-flow-card__status.is-success { color: var(--mci-success); background: rgba(38, 215, 176, .09); }
245
- .mci-flow-card__submit { width: 100%; border: 0; }
246
- .mci-flow-card__submit.is-loading i { display: block; width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, .45); border-top-color: white; border-radius: 50%; font-size: 0; animation: mci-spin .7s linear infinite; }
247
-
248
- .mci-contract { display: grid; grid-template-columns: 1.1fr .7fr .95fr; gap: 28px; align-items: stretch; width: min(1180px, calc(100% - 40px)); margin: 0 auto 100px; padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(107, 135, 255, .28); border-radius: 34px; background: linear-gradient(145deg, rgba(91, 124, 250, .15), var(--mci-surface)); box-shadow: var(--mci-shadow-card); }
249
- .mci-contract h2 { font-size: clamp(29px, 3vw, 42px); }
250
- .mci-contract__copy p { margin: 18px 0 0; color: var(--mci-text-muted); font-size: 13px; line-height: 1.8; }
251
- .mci-contract__tokens { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
252
- .mci-contract__tokens > span { padding: 13px; border: 1px solid var(--mci-border); border-radius: 14px; background: var(--mci-bg-soft); }
253
- .mci-contract__tokens i { display: block; width: 100%; height: 42px; margin-bottom: 10px; border-radius: 9px; background: var(--token); }
254
- .mci-contract__tokens b, .mci-contract__tokens small { display: block; font-size: 9px; }
255
- .mci-contract__tokens small { margin-top: 3px; color: var(--mci-text-muted); }
256
- .mci-contract__code { display: flex; align-items: center; margin: 0; padding: 22px; overflow: auto; border: 1px solid var(--mci-border); border-radius: 18px; color: #c7d3eb; background: #07101e; font: 11px/1.9 "Cascadia Code", Consolas, monospace; }
257
- .mci-contract__code span { color: #72e7ff; }
258
- .mci-lab__footer { display: flex; justify-content: space-between; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 30px 0 42px; border-top: 1px solid var(--mci-border); color: var(--mci-text-muted); font-size: 10px; letter-spacing: .08em; }
259
-
260
- @keyframes mci-drift { to { transform: translate3d(-18px, 14px, 0) scale(1.03); } }
261
- @keyframes mci-orbit { to { transform: rotate(360deg); } }
262
- @keyframes mci-orbit-pulse { 50% { transform: scale(.94) rotate(8deg); filter: drop-shadow(0 0 46px rgba(83, 120, 255, .62)); } }
263
- @keyframes mci-blob { 50% { transform: rotate(14deg) scale(.92); border-radius: 58% 42% 64% 36%; } }
264
- @keyframes mci-point { 50% { transform: translate(-130px, 128px); } }
265
- @keyframes mci-spin { to { transform: rotate(360deg); } }
266
- @keyframes mci-bars { to { transform: scaleY(.65); opacity: .72; } }
267
-
268
- @media (max-width: 900px) {
269
- .mci-lab__nav { grid-template-columns: 1fr auto; }
270
- .mci-lab__nav-links { display: none; }
271
- .mci-hero { grid-template-columns: 1fr; gap: 50px; padding-top: 64px; }
272
- .mci-hero__console { width: min(560px, 100%); }
273
- .mci-flow { grid-template-columns: 1fr; }
274
- .mci-contract { grid-template-columns: 1fr 1fr; }
275
- .mci-contract__copy { grid-column: 1 / -1; }
276
- }
277
-
278
- @media (max-width: 680px) {
279
- .mci-lab__nav, .mci-hero, .mci-section, .mci-flow, .mci-contract, .mci-lab__footer { width: min(100% - 28px, 1180px); }
280
- .mci-lab__nav { height: 68px; }
281
- .mci-lab__brand { font-size: 12px; }
282
- .mci-lab__brand-mark { width: 30px; height: 30px; border-radius: 9px; }
283
- .mci-icon-button { width: 62px; height: 34px; }
284
- .mci-hero { min-height: auto; padding: 64px 0 70px; }
285
- .mci-hero h1 { margin-top: 20px; font-size: clamp(48px, 14vw, 64px); }
286
- .mci-hero__content > p { font-size: 14px; line-height: 1.75; }
287
- .mci-hero__actions, .mci-hero__actions .mci-button { width: 100%; }
288
- .mci-hero__console { min-height: 360px; border-radius: 26px; }
289
- .mci-console__orbit { top: 78px; transform: translateX(-50%) scale(.82); }
290
- .mci-section { padding: 80px 0; }
291
- .mci-section__head { display: grid; align-items: start; }
292
- .mci-filter { width: 100%; overflow-x: auto; border-radius: 14px; }
293
- .mci-filter button { flex: 0 0 auto; }
294
- .mci-pattern-grid { grid-template-columns: 1fr; }
295
- .mci-pattern__visual { height: 286px; padding: 22px; }
296
- .mci-story-word { left: 22px; font-size: 55px; }
297
- .mci-editorial-type b { font-size: 92px; }
298
- .mci-flow { padding: 80px 0; }
299
- .mci-flow-card { min-height: 0; padding: 22px; }
300
- .mci-flow-card__head { display: grid; gap: 7px; }
301
- .mci-plan-group { grid-template-columns: 1fr; }
302
- .mci-contract { grid-template-columns: 1fr; margin-bottom: 60px; padding: 24px; border-radius: 26px; }
303
- .mci-contract__copy { grid-column: auto; }
304
- .mci-contract__code { min-height: 210px; }
305
- .mci-lab__footer { display: grid; gap: 8px; }
306
- }
307
-
308
- @media (prefers-reduced-motion: reduce) {
309
- html { scroll-behavior: auto; }
310
- .mci-lab *, .mci-lab *::before, .mci-lab *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
311
- }
1
+ :root {
2
+ color-scheme: dark;
3
+ --mci-bg: #07101f;
4
+ --mci-bg-soft: #0d1830;
5
+ --mci-surface: rgba(15, 28, 52, 0.78);
6
+ --mci-surface-solid: #111f39;
7
+ --mci-border: rgba(151, 173, 216, 0.16);
8
+ --mci-text: #f4f7ff;
9
+ --mci-text-muted: #9aa9c6;
10
+ --mci-primary: #6b87ff;
11
+ --mci-primary-strong: #4f6df0;
12
+ --mci-cyan: #38dcff;
13
+ --mci-success: #26d7b0;
14
+ --mci-warning: #ffca68;
15
+ --mci-danger: #ff6b88;
16
+ --mci-shape-card: 28px;
17
+ --mci-shape-panel: 22px;
18
+ --mci-shape-button: 999px;
19
+ --mci-shape-input: 14px;
20
+ --mci-shadow-card: 0 20px 70px rgba(0, 0, 0, 0.22);
21
+ --mci-shadow-float: 0 22px 60px rgba(32, 61, 141, 0.28);
22
+ font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
23
+ }
24
+
25
+ :root[data-mci-theme="light"] {
26
+ color-scheme: light;
27
+ --mci-bg: #f2f5fb;
28
+ --mci-bg-soft: #e9eef8;
29
+ --mci-surface: rgba(255, 255, 255, 0.86);
30
+ --mci-surface-solid: #ffffff;
31
+ --mci-border: rgba(31, 50, 91, 0.12);
32
+ --mci-text: #14203a;
33
+ --mci-text-muted: #66738d;
34
+ --mci-shadow-card: 0 20px 70px rgba(42, 62, 112, 0.12);
35
+ --mci-shadow-float: 0 22px 60px rgba(66, 91, 162, 0.18);
36
+ }
37
+
38
+ * { box-sizing: border-box; }
39
+ html { scroll-behavior: smooth; }
40
+ body { margin: 0; min-width: 320px; background: var(--mci-bg); color: var(--mci-text); }
41
+ button, input { font: inherit; }
42
+ button, a { -webkit-tap-highlight-color: transparent; }
43
+
44
+ .mci-lab {
45
+ min-height: 100vh;
46
+ overflow: hidden;
47
+ background:
48
+ linear-gradient(rgba(107, 135, 255, 0.035) 1px, transparent 1px),
49
+ linear-gradient(90deg, rgba(107, 135, 255, 0.035) 1px, transparent 1px),
50
+ radial-gradient(circle at 12% 0%, rgba(66, 105, 255, 0.18), transparent 28%),
51
+ var(--mci-bg);
52
+ background-size: 44px 44px, 44px 44px, auto, auto;
53
+ }
54
+
55
+ .mci-lab a { color: inherit; text-decoration: none; }
56
+ .mci-lab__nav {
57
+ position: relative;
58
+ z-index: 20;
59
+ display: grid;
60
+ grid-template-columns: 1fr auto 1fr;
61
+ align-items: center;
62
+ width: min(1180px, calc(100% - 40px));
63
+ height: 84px;
64
+ margin: 0 auto;
65
+ border-bottom: 1px solid var(--mci-border);
66
+ }
67
+
68
+ .mci-lab__brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; font-size: 14px; font-weight: 700; letter-spacing: .02em; }
69
+ .mci-lab__brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: white; background: linear-gradient(145deg, var(--mci-primary), #935fff); box-shadow: 0 10px 24px rgba(92, 112, 255, .28); }
70
+ .mci-lab__nav-links { display: flex; gap: 30px; font-size: 13px; color: var(--mci-text-muted); }
71
+ .mci-lab__nav-links a { position: relative; padding: 10px 0; }
72
+ .mci-lab__nav-links a::after { position: absolute; right: 50%; bottom: 4px; left: 50%; height: 1px; content: ""; background: var(--mci-primary); transition: .25s ease; }
73
+ .mci-lab__nav-links a:hover::after, .mci-lab__nav-links a:focus-visible::after { right: 0; left: 0; }
74
+
75
+ .mci-icon-button { justify-self: end; display: grid; grid-template-columns: 1fr 1fr; align-items: center; width: 68px; height: 36px; padding: 4px; border: 1px solid var(--mci-border); border-radius: 999px; color: var(--mci-text-muted); background: var(--mci-surface); cursor: pointer; }
76
+ .mci-icon-button span { display: grid; height: 26px; place-items: center; border-radius: 50%; transition: .2s ease; }
77
+ :root[data-mci-theme="dark"] .mci-icon-button__moon,
78
+ :root[data-mci-theme="light"] .mci-icon-button__sun { color: #fff; background: var(--mci-primary); box-shadow: 0 4px 12px rgba(91, 124, 250, .28); }
79
+
80
+ .mci-hero {
81
+ position: relative;
82
+ z-index: 1;
83
+ display: grid;
84
+ grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr);
85
+ gap: clamp(50px, 8vw, 112px);
86
+ align-items: center;
87
+ width: min(1180px, calc(100% - 40px));
88
+ min-height: 670px;
89
+ margin: 0 auto;
90
+ padding: 78px 0 96px;
91
+ }
92
+
93
+ .mci-hero__ambient { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
94
+ .mci-hero__ambient span { position: absolute; border: 1px solid rgba(107, 135, 255, .13); border-radius: 50%; animation: mci-drift 12s ease-in-out infinite alternate; }
95
+ .mci-hero__ambient span:nth-child(1) { top: 90px; right: -170px; width: 540px; height: 540px; }
96
+ .mci-hero__ambient span:nth-child(2) { top: 188px; right: -74px; width: 340px; height: 340px; animation-delay: -3s; }
97
+ .mci-hero__ambient span:nth-child(3) { top: 256px; right: -6px; width: 200px; height: 200px; animation-delay: -6s; }
98
+
99
+ .mci-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--mci-cyan); font-size: 11px; font-weight: 800; letter-spacing: .22em; }
100
+ .mci-eyebrow::before { width: 26px; height: 1px; content: ""; background: currentColor; }
101
+ .mci-hero h1 { margin: 26px 0 24px; font-size: clamp(56px, 6.6vw, 92px); line-height: .97; letter-spacing: -.065em; }
102
+ .mci-hero h1 em { color: transparent; font-style: normal; background: linear-gradient(100deg, #9aaeff 0%, #5ee7ff 48%, #a784ff 100%); -webkit-background-clip: text; background-clip: text; }
103
+ .mci-hero__content > p { max-width: 650px; margin: 0; color: var(--mci-text-muted); font-size: 16px; line-height: 1.9; }
104
+ .mci-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
105
+
106
+ .mci-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; border: 1px solid transparent; border-radius: var(--mci-shape-button); font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
107
+ .mci-button:hover, .mci-button:focus-visible { transform: translateY(-2px); }
108
+ .mci-button:active { transform: translateY(0) scale(.98); }
109
+ .mci-button--primary { color: #fff !important; background: linear-gradient(135deg, var(--mci-primary), var(--mci-primary-strong)); box-shadow: 0 13px 32px rgba(79, 109, 240, .32); }
110
+ .mci-button--quiet { border-color: var(--mci-border); background: var(--mci-surface); }
111
+
112
+ .mci-hero__console { position: relative; min-height: 420px; padding: 22px; overflow: hidden; border: 1px solid rgba(131, 156, 232, .23); border-radius: 34px; background: linear-gradient(160deg, rgba(25, 45, 81, .94), rgba(10, 20, 40, .86)); box-shadow: 0 35px 100px rgba(0, 0, 0, .35), inset 0 1px rgba(255, 255, 255, .09); }
113
+ :root[data-mci-theme="light"] .mci-hero__console { background: linear-gradient(160deg, #fdfdff, #e9effc); box-shadow: var(--mci-shadow-float); }
114
+ .mci-console__head { display: flex; align-items: center; gap: 7px; padding-bottom: 18px; border-bottom: 1px solid var(--mci-border); }
115
+ .mci-console__head span { width: 7px; height: 7px; border-radius: 50%; background: var(--mci-danger); }
116
+ .mci-console__head span:nth-child(2) { background: var(--mci-warning); }
117
+ .mci-console__head span:nth-child(3) { background: var(--mci-success); }
118
+ .mci-console__head b { margin-left: auto; color: var(--mci-text-muted); font-size: 10px; letter-spacing: .18em; }
119
+ .mci-console__orbit { position: absolute; top: 90px; left: 50%; width: 230px; height: 230px; transform: translateX(-50%); }
120
+ .mci-console__orbit::before, .mci-console__orbit i { position: absolute; inset: 0; content: ""; border: 1px solid rgba(96, 224, 255, .18); border-radius: 50%; }
121
+ .mci-console__orbit::before { inset: 38px; border: 0; background: radial-gradient(circle at 35% 30%, #93f4ff, #5573ff 34%, #5c35a2 62%, transparent 64%); filter: drop-shadow(0 0 30px rgba(83, 120, 255, .45)); animation: mci-orbit-pulse 4s ease-in-out infinite; }
122
+ .mci-console__orbit i:nth-child(1) { transform: rotateX(65deg); animation: mci-orbit 8s linear infinite; }
123
+ .mci-console__orbit i:nth-child(2) { transform: rotateY(65deg); animation: mci-orbit 11s linear reverse infinite; }
124
+ .mci-console__orbit i:nth-child(3) { inset: 24px; border-style: dashed; animation: mci-orbit 14s linear infinite; }
125
+ .mci-console__metric { position: absolute; right: 22px; bottom: 68px; left: 22px; display: grid; grid-template-columns: 1fr auto; align-items: end; padding: 20px; border: 1px solid var(--mci-border); border-radius: 18px; background: rgba(5, 13, 30, .62); backdrop-filter: blur(14px); }
126
+ :root[data-mci-theme="light"] .mci-console__metric { background: rgba(255, 255, 255, .74); }
127
+ .mci-console__metric small { align-self: start; color: var(--mci-text-muted); }
128
+ .mci-console__metric strong { grid-row: span 2; color: var(--mci-cyan); font-size: 52px; line-height: .9; }
129
+ .mci-console__metric span { color: var(--mci-text-muted); font-size: 11px; }
130
+ .mci-console__footer { position: absolute; right: 22px; bottom: 22px; left: 22px; display: flex; justify-content: space-between; color: var(--mci-text-muted); font-size: 9px; letter-spacing: .08em; }
131
+
132
+ .mci-section { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 110px 0 120px; border-top: 1px solid var(--mci-border); }
133
+ .mci-section__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
134
+ .mci-section h2, .mci-flow h2, .mci-contract h2 { margin: 14px 0 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.1; letter-spacing: -.045em; }
135
+ .mci-filter { display: flex; gap: 4px; padding: 5px; border: 1px solid var(--mci-border); border-radius: 999px; background: var(--mci-surface); }
136
+ .mci-filter button { min-height: 34px; padding: 0 15px; border: 0; border-radius: 999px; color: var(--mci-text-muted); background: transparent; font-size: 12px; cursor: pointer; }
137
+ .mci-filter button.is-active { color: #fff; background: var(--mci-primary); box-shadow: 0 7px 18px rgba(91, 124, 250, .23); }
138
+
139
+ .mci-pattern-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
140
+ .mci-pattern { min-width: 0; padding: 12px; overflow: hidden; border: 1px solid var(--mci-border); border-radius: var(--mci-shape-card); background: var(--mci-surface); box-shadow: var(--mci-shadow-card); transition: opacity .25s ease, transform .25s ease, border-color .25s ease; }
141
+ .mci-pattern:hover { transform: translateY(-4px); border-color: rgba(107, 135, 255, .4); }
142
+ .mci-pattern.is-hidden { display: none; }
143
+ .mci-pattern__visual { position: relative; height: 318px; padding: 28px; overflow: hidden; border-radius: calc(var(--mci-shape-card) - 10px); background: #101b33; color: #fff; }
144
+ .mci-pattern__index { position: absolute; z-index: 3; top: 20px; right: 22px; color: rgba(255, 255, 255, .55); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
145
+ .mci-pattern__copy { padding: 20px 12px 14px; }
146
+ .mci-pattern__copy > span { color: var(--mci-primary); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
147
+ .mci-pattern__copy h3 { margin: 9px 0 8px; font-size: 22px; letter-spacing: -.025em; }
148
+ .mci-pattern__copy p { margin: 0; color: var(--mci-text-muted); font-size: 13px; line-height: 1.7; }
149
+
150
+ .mci-pattern--story .mci-pattern__visual { background: #f2f0e8; color: #151515; }
151
+ .mci-pattern--story .mci-pattern__visual::before { position: absolute; right: -40px; bottom: -100px; width: 260px; height: 260px; content: ""; border-radius: 50%; background: #ff4f3d; opacity: .9; }
152
+ .mci-story-word { position: absolute; top: 76px; left: 28px; z-index: 1; font-size: clamp(46px, 5vw, 70px); font-weight: 900; line-height: .82; letter-spacing: -.08em; }
153
+ .mci-story-word em { color: #3e52df; font-style: normal; }
154
+ .mci-story-line { position: absolute; right: 28px; bottom: 30px; left: 28px; height: 1px; background: rgba(0, 0, 0, .32); }
155
+ .mci-story-line::before { position: absolute; left: 0; bottom: 10px; content: "THE IDEA BECOMES THE INTERFACE"; font-size: 9px; font-style: normal; letter-spacing: .14em; }
156
+
157
+ .mci-pattern--product .mci-pattern__visual { display: grid; place-items: center; background: radial-gradient(circle at 0 0, #dce6ff, transparent 45%), #f5f7fb; color: #18233c; }
158
+ .mci-phone-card { width: min(330px, 90%); padding: 20px; border: 1px solid #e2e7f1; border-radius: 22px; background: #fff; box-shadow: 0 22px 55px rgba(38, 54, 94, .18); }
159
+ .mci-phone-card__bar { display: flex; align-items: center; gap: 9px; font-size: 11px; }
160
+ .mci-phone-card__bar i { width: 24px; height: 24px; border-radius: 8px; background: #5b7cfa; }
161
+ .mci-phone-card__bar b { margin-left: auto; color: #7c889f; font-size: 9px; }
162
+ .mci-phone-card__progress { height: 3px; margin: 14px 0 20px; overflow: hidden; border-radius: 4px; background: #edf0f6; }
163
+ .mci-phone-card__progress i { display: block; width: 66%; height: 100%; background: #5b7cfa; }
164
+ .mci-phone-card > strong { display: block; margin-bottom: 12px; font-size: 14px; }
165
+ .mci-phone-card__choice { display: grid; grid-template-columns: 24px 1fr; gap: 10px; margin-top: 8px; padding: 11px; border: 1px solid #e5e9f1; border-radius: 12px; }
166
+ .mci-phone-card__choice > i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid #d0d7e5; border-radius: 50%; font-size: 10px; font-style: normal; }
167
+ .mci-phone-card__choice span { font-size: 11px; font-weight: 700; }
168
+ .mci-phone-card__choice small { display: block; margin-top: 3px; color: #8a96ab; font-size: 8px; font-weight: 400; }
169
+ .mci-phone-card__choice.is-selected { border-color: #5b7cfa; background: #f2f5ff; }
170
+ .mci-phone-card__choice.is-selected > i { color: white; border-color: #5b7cfa; background: #5b7cfa; }
171
+
172
+ .mci-pattern--editorial .mci-pattern__visual { background: #ffcd55; color: #191919; }
173
+ .mci-editorial-type { position: absolute; top: 38px; left: 32px; display: flex; align-items: start; gap: 14px; }
174
+ .mci-editorial-type b { font-size: 114px; line-height: .85; letter-spacing: -.1em; }
175
+ .mci-editorial-type span { max-width: 95px; padding-top: 10px; font-size: 13px; font-weight: 700; line-height: 1.4; }
176
+ .mci-editorial-card { position: absolute; right: -20px; bottom: -44px; width: 285px; height: 190px; padding: 22px; transform: rotate(-7deg); background: #3527a5; box-shadow: 0 20px 50px rgba(47, 38, 132, .3); }
177
+ .mci-editorial-card i { display: inline-block; width: 42px; height: 42px; margin-right: -6px; border: 2px solid #fff; border-radius: 50%; }
178
+ .mci-editorial-card i:nth-child(2) { background: #ff6257; }
179
+ .mci-editorial-card i:nth-child(3) { background: #5ce3cc; }
180
+ .mci-editorial-card strong { display: block; margin-top: 18px; color: #fff; font-size: 25px; }
181
+
182
+ .mci-pattern--immersive .mci-pattern__visual { background: radial-gradient(circle at 52% 48%, #1c3350, #050914 70%); }
183
+ .mci-pattern--immersive .mci-pattern__visual::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(rgba(73, 220, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(73, 220, 255, .05) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(to bottom, black, transparent); }
184
+ .mci-orb { position: absolute; top: 50%; left: 50%; width: 180px; height: 180px; transform: translate(-50%, -58%); }
185
+ .mci-orb::before { position: absolute; inset: 34px; content: ""; border-radius: 38% 62% 44% 56%; background: radial-gradient(circle at 34% 28%, #eaffff, #61eaff 16%, #5d63fa 54%, #17165e 72%); filter: drop-shadow(0 0 34px rgba(80, 201, 255, .5)); animation: mci-blob 7s ease-in-out infinite; }
186
+ .mci-orb i { position: absolute; inset: 0; border: 1px solid rgba(107, 222, 255, .35); border-radius: 50%; }
187
+ .mci-orb i:nth-child(1) { transform: rotateX(72deg); }
188
+ .mci-orb i:nth-child(2) { transform: rotateY(72deg); }
189
+ .mci-orb i:nth-child(3) { inset: 20px; border-style: dashed; animation: mci-orbit 12s linear infinite; }
190
+ .mci-orb b { position: absolute; top: 22px; right: 18px; width: 9px; height: 9px; border-radius: 50%; background: #62efff; box-shadow: 0 0 16px #62efff; animation: mci-point 4s ease-in-out infinite; }
191
+ .mci-orb-copy { position: absolute; right: 24px; bottom: 22px; left: 24px; display: flex; justify-content: space-between; color: rgba(255, 255, 255, .62); font-size: 9px; letter-spacing: .08em; }
192
+
193
+ .mci-pattern--motion .mci-pattern__visual { background: #f8f7fc; color: #121526; }
194
+ .mci-pattern--motion .mci-pattern__visual::after { position: absolute; top: -120px; right: -80px; width: 300px; height: 300px; content: ""; border-radius: 50%; background: conic-gradient(from 35deg, #7259ff, #44dcff, #ff76ac, #7259ff); filter: blur(20px); opacity: .72; animation: mci-spin 10s linear infinite; }
195
+ .mci-motion-copy { position: absolute; z-index: 1; top: 44px; left: 32px; }
196
+ .mci-motion-copy small { display: block; margin-bottom: 22px; color: #5a6680; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
197
+ .mci-motion-copy strong { font-size: 52px; line-height: .95; letter-spacing: -.06em; }
198
+ .mci-motion-track { position: absolute; z-index: 1; right: 32px; bottom: 28px; left: 32px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
199
+ .mci-motion-track i { height: 4px; border-radius: 6px; background: #dfe3ed; }
200
+ .mci-motion-track i:nth-child(1), .mci-motion-track i:nth-child(2) { background: #5b7cfa; }
201
+
202
+ .mci-pattern--data .mci-pattern__visual { background: #0c1729; }
203
+ .mci-data-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
204
+ .mci-data-head span { font-size: 13px; font-weight: 700; }
205
+ .mci-data-head b { padding: 5px 8px; border: 1px solid rgba(38, 215, 176, .3); border-radius: 999px; color: #6ff0d2; font-size: 8px; }
206
+ .mci-data-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0; }
207
+ .mci-data-metrics > span { padding: 11px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 11px; background: rgba(255, 255, 255, .03); }
208
+ .mci-data-metrics small { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, .5); font-size: 8px; }
209
+ .mci-data-metrics b { font-size: 22px; }
210
+ .mci-data-chart { display: flex; height: 112px; align-items: end; gap: 8px; padding: 14px 10px 0; border-top: 1px solid rgba(255, 255, 255, .06); background: linear-gradient(to top, rgba(91, 124, 250, .08), transparent); }
211
+ .mci-data-chart i { flex: 1; height: var(--h, 50%); border-radius: 5px 5px 1px 1px; background: linear-gradient(to top, #536bf0, #46dffc); transform-origin: bottom; animation: mci-bars 2.6s ease-in-out infinite alternate; }
212
+ .mci-data-chart i:nth-child(1) { --h: 42%; }
213
+ .mci-data-chart i:nth-child(2) { --h: 66%; animation-delay: -.3s; }
214
+ .mci-data-chart i:nth-child(3) { --h: 51%; animation-delay: -.6s; }
215
+ .mci-data-chart i:nth-child(4) { --h: 88%; animation-delay: -.9s; }
216
+ .mci-data-chart i:nth-child(5) { --h: 72%; animation-delay: -1.2s; }
217
+ .mci-data-chart i:nth-child(6) { --h: 96%; animation-delay: -1.5s; }
218
+ .mci-data-chart i:nth-child(7) { --h: 78%; animation-delay: -1.8s; }
219
+
220
+ .mci-flow { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 8vw, 110px); align-items: center; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 110px 0; border-top: 1px solid var(--mci-border); }
221
+ .mci-flow__intro > p { max-width: 520px; margin: 22px 0; color: var(--mci-text-muted); line-height: 1.8; }
222
+ .mci-flow__intro ul { display: grid; gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; }
223
+ .mci-flow__intro li { display: flex; align-items: center; gap: 13px; padding: 12px 0; border-bottom: 1px solid var(--mci-border); font-size: 13px; }
224
+ .mci-flow__intro li span { color: var(--mci-primary); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
225
+ .mci-flow-card { min-height: 480px; padding: clamp(24px, 4vw, 42px); border: 1px solid var(--mci-border); border-radius: var(--mci-shape-card); background: var(--mci-surface); box-shadow: var(--mci-shadow-card); }
226
+ .mci-flow-card__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 23px; border-bottom: 1px solid var(--mci-border); }
227
+ .mci-flow-card__head span { font-size: 20px; font-weight: 750; }
228
+ .mci-flow-card__head small { color: var(--mci-text-muted); font-size: 10px; }
229
+ .mci-field { display: grid; gap: 9px; margin-top: 26px; }
230
+ .mci-field > span, .mci-plan-group legend { font-size: 12px; font-weight: 700; }
231
+ .mci-field input { width: 100%; height: 50px; padding: 0 16px; border: 1px solid var(--mci-border); border-radius: var(--mci-shape-input); outline: 0; color: var(--mci-text); background: var(--mci-bg-soft); transition: border .2s, box-shadow .2s; }
232
+ .mci-field input:focus { border-color: var(--mci-primary); box-shadow: 0 0 0 3px rgba(91, 124, 250, .15); }
233
+ .mci-field small { color: var(--mci-text-muted); font-size: 10px; }
234
+ .mci-plan-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 22px 0 0; padding: 0; border: 0; }
235
+ .mci-plan-group legend { grid-column: 1 / -1; margin-bottom: 8px; }
236
+ .mci-plan-group label { position: relative; cursor: pointer; }
237
+ .mci-plan-group input { position: absolute; opacity: 0; pointer-events: none; }
238
+ .mci-plan-group label > span { display: block; padding: 14px; border: 1px solid var(--mci-border); border-radius: var(--mci-shape-input); background: var(--mci-bg-soft); transition: .2s ease; }
239
+ .mci-plan-group input:checked + span { border-color: var(--mci-primary); box-shadow: inset 0 0 0 1px var(--mci-primary); }
240
+ .mci-plan-group b, .mci-plan-group small { display: block; font-size: 11px; }
241
+ .mci-plan-group small { margin-top: 5px; color: var(--mci-text-muted); font-size: 9px; }
242
+ .mci-flow-card__status { min-height: 42px; margin: 20px 0 12px; padding: 12px 14px; border-radius: 11px; color: var(--mci-text-muted); background: rgba(107, 135, 255, .08); font-size: 11px; line-height: 1.6; }
243
+ .mci-flow-card__status.is-error { color: var(--mci-danger); background: rgba(255, 107, 136, .09); }
244
+ .mci-flow-card__status.is-success { color: var(--mci-success); background: rgba(38, 215, 176, .09); }
245
+ .mci-flow-card__submit { width: 100%; border: 0; }
246
+ .mci-flow-card__submit.is-loading i { display: block; width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, .45); border-top-color: white; border-radius: 50%; font-size: 0; animation: mci-spin .7s linear infinite; }
247
+
248
+ .mci-contract { display: grid; grid-template-columns: 1.1fr .7fr .95fr; gap: 28px; align-items: stretch; width: min(1180px, calc(100% - 40px)); margin: 0 auto 100px; padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(107, 135, 255, .28); border-radius: 34px; background: linear-gradient(145deg, rgba(91, 124, 250, .15), var(--mci-surface)); box-shadow: var(--mci-shadow-card); }
249
+ .mci-contract h2 { font-size: clamp(29px, 3vw, 42px); }
250
+ .mci-contract__copy p { margin: 18px 0 0; color: var(--mci-text-muted); font-size: 13px; line-height: 1.8; }
251
+ .mci-contract__tokens { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
252
+ .mci-contract__tokens > span { padding: 13px; border: 1px solid var(--mci-border); border-radius: 14px; background: var(--mci-bg-soft); }
253
+ .mci-contract__tokens i { display: block; width: 100%; height: 42px; margin-bottom: 10px; border-radius: 9px; background: var(--token); }
254
+ .mci-contract__tokens b, .mci-contract__tokens small { display: block; font-size: 9px; }
255
+ .mci-contract__tokens small { margin-top: 3px; color: var(--mci-text-muted); }
256
+ .mci-contract__code { display: flex; align-items: center; margin: 0; padding: 22px; overflow: auto; border: 1px solid var(--mci-border); border-radius: 18px; color: #c7d3eb; background: #07101e; font: 11px/1.9 "Cascadia Code", Consolas, monospace; }
257
+ .mci-contract__code span { color: #72e7ff; }
258
+ .mci-lab__footer { display: flex; justify-content: space-between; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 30px 0 42px; border-top: 1px solid var(--mci-border); color: var(--mci-text-muted); font-size: 10px; letter-spacing: .08em; }
259
+
260
+ @keyframes mci-drift { to { transform: translate3d(-18px, 14px, 0) scale(1.03); } }
261
+ @keyframes mci-orbit { to { transform: rotate(360deg); } }
262
+ @keyframes mci-orbit-pulse { 50% { transform: scale(.94) rotate(8deg); filter: drop-shadow(0 0 46px rgba(83, 120, 255, .62)); } }
263
+ @keyframes mci-blob { 50% { transform: rotate(14deg) scale(.92); border-radius: 58% 42% 64% 36%; } }
264
+ @keyframes mci-point { 50% { transform: translate(-130px, 128px); } }
265
+ @keyframes mci-spin { to { transform: rotate(360deg); } }
266
+ @keyframes mci-bars { to { transform: scaleY(.65); opacity: .72; } }
267
+
268
+ @media (max-width: 900px) {
269
+ .mci-lab__nav { grid-template-columns: 1fr auto; }
270
+ .mci-lab__nav-links { display: none; }
271
+ .mci-hero { grid-template-columns: 1fr; gap: 50px; padding-top: 64px; }
272
+ .mci-hero__console { width: min(560px, 100%); }
273
+ .mci-flow { grid-template-columns: 1fr; }
274
+ .mci-contract { grid-template-columns: 1fr 1fr; }
275
+ .mci-contract__copy { grid-column: 1 / -1; }
276
+ }
277
+
278
+ @media (max-width: 680px) {
279
+ .mci-lab__nav, .mci-hero, .mci-section, .mci-flow, .mci-contract, .mci-lab__footer { width: min(100% - 28px, 1180px); }
280
+ .mci-lab__nav { height: 68px; }
281
+ .mci-lab__brand { font-size: 12px; }
282
+ .mci-lab__brand-mark { width: 30px; height: 30px; border-radius: 9px; }
283
+ .mci-icon-button { width: 62px; height: 34px; }
284
+ .mci-hero { min-height: auto; padding: 64px 0 70px; }
285
+ .mci-hero h1 { margin-top: 20px; font-size: clamp(48px, 14vw, 64px); }
286
+ .mci-hero__content > p { font-size: 14px; line-height: 1.75; }
287
+ .mci-hero__actions, .mci-hero__actions .mci-button { width: 100%; }
288
+ .mci-hero__console { min-height: 360px; border-radius: 26px; }
289
+ .mci-console__orbit { top: 78px; transform: translateX(-50%) scale(.82); }
290
+ .mci-section { padding: 80px 0; }
291
+ .mci-section__head { display: grid; align-items: start; }
292
+ .mci-filter { width: 100%; overflow-x: auto; border-radius: 14px; }
293
+ .mci-filter button { flex: 0 0 auto; }
294
+ .mci-pattern-grid { grid-template-columns: 1fr; }
295
+ .mci-pattern__visual { height: 286px; padding: 22px; }
296
+ .mci-story-word { left: 22px; font-size: 55px; }
297
+ .mci-editorial-type b { font-size: 92px; }
298
+ .mci-flow { padding: 80px 0; }
299
+ .mci-flow-card { min-height: 0; padding: 22px; }
300
+ .mci-flow-card__head { display: grid; gap: 7px; }
301
+ .mci-plan-group { grid-template-columns: 1fr; }
302
+ .mci-contract { grid-template-columns: 1fr; margin-bottom: 60px; padding: 24px; border-radius: 26px; }
303
+ .mci-contract__copy { grid-column: auto; }
304
+ .mci-contract__code { min-height: 210px; }
305
+ .mci-lab__footer { display: grid; gap: 8px; }
306
+ }
307
+
308
+ @media (prefers-reduced-motion: reduce) {
309
+ html { scroll-behavior: auto; }
310
+ .mci-lab *, .mci-lab *::before, .mci-lab *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
311
+ }