@motir/design-system 0.8.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/theme/AppearancePickers.js +1 -1
- package/dist/components/theme/AppearancePickers.js.map +1 -1
- package/dist/components/ui/Combobox.js +82 -6
- package/dist/components/ui/Combobox.js.map +1 -1
- package/dist/components/ui/Modal.d.ts +8 -1
- package/dist/components/ui/Modal.js +19 -3
- package/dist/components/ui/Modal.js.map +1 -1
- package/dist/components/ui/MultiSelectPicker.js +15 -1
- package/dist/components/ui/MultiSelectPicker.js.map +1 -1
- package/dist/components/ui/Popover.js +16 -2
- package/dist/components/ui/Popover.js.map +1 -1
- package/dist/components/ui/Tooltip.js +16 -1
- package/dist/components/ui/Tooltip.js.map +1 -1
- package/dist/contexts/theme-context.js +1 -1
- package/dist/contexts/theme-context.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/mock/index.js +1 -1
- package/dist/mock/index.js.map +1 -1
- package/dist/mock/renderMock.js +1 -1
- package/dist/mock/renderMock.js.map +1 -1
- package/dist/specimen/TokensSpecimen.js +1 -1
- package/dist/specimen/TokensSpecimen.js.map +1 -1
- package/dist/theme/appearance-resolution.js +1 -1
- package/dist/theme/appearance-resolution.js.map +1 -1
- package/dist/theme/init-script.js +1 -1
- package/dist/theme/init-script.js.map +1 -1
- package/dist/theme/palettes.js +1 -1
- package/dist/theme/palettes.js.map +1 -1
- package/dist/theme/types.js.map +1 -1
- package/dist/utils/fullscreen.d.ts +17 -0
- package/dist/utils/fullscreen.js +20 -0
- package/dist/utils/fullscreen.js.map +1 -0
- package/package.json +1 -1
- package/theme.css +260 -6
package/theme.css
CHANGED
|
@@ -2522,6 +2522,49 @@
|
|
|
2522
2522
|
}
|
|
2523
2523
|
}
|
|
2524
2524
|
|
|
2525
|
+
/* Showcase fields under the chrome (motir.co's illustrations). The card rule
|
|
2526
|
+
above repaints every card-radius panel with --el-surface, which turns a
|
|
2527
|
+
showcase field — the deep ground, the accent field — into a grey panel with
|
|
2528
|
+
its light text left on it. A showcase panel names its field with
|
|
2529
|
+
`data-showcase="<field>"`; it keeps that fill under the chrome, and the deep
|
|
2530
|
+
fields take a quieter streak and bevel so the light text keeps its contrast.
|
|
2531
|
+
Palette-derived like every material rule here: the fills are the showcase
|
|
2532
|
+
tokens, the sheen is the style's own achromatic white. */
|
|
2533
|
+
@scope ([data-style='retrofuturism']) to ([data-style]) {
|
|
2534
|
+
[data-showcase='field'] {
|
|
2535
|
+
background-color: var(--el-showcase-field);
|
|
2536
|
+
}
|
|
2537
|
+
[data-showcase='ground'] {
|
|
2538
|
+
background-color: var(--el-showcase-ground);
|
|
2539
|
+
}
|
|
2540
|
+
[data-showcase='ground-raised'] {
|
|
2541
|
+
background-color: var(--el-showcase-ground-raised);
|
|
2542
|
+
}
|
|
2543
|
+
[data-showcase='decision'] {
|
|
2544
|
+
background-color: var(--el-showcase-decision);
|
|
2545
|
+
}
|
|
2546
|
+
[data-showcase='record'] {
|
|
2547
|
+
background-color: var(--el-showcase-record);
|
|
2548
|
+
}
|
|
2549
|
+
[data-showcase='wash'] {
|
|
2550
|
+
background-color: var(--el-showcase-wash);
|
|
2551
|
+
}
|
|
2552
|
+
[data-showcase='wash-warm'] {
|
|
2553
|
+
background-color: var(--el-showcase-wash-warm);
|
|
2554
|
+
}
|
|
2555
|
+
[data-showcase='paper'] {
|
|
2556
|
+
background-color: var(--el-showcase-paper);
|
|
2557
|
+
}
|
|
2558
|
+
[data-showcase='field'],
|
|
2559
|
+
[data-showcase='ground'],
|
|
2560
|
+
[data-showcase='ground-raised'],
|
|
2561
|
+
[data-showcase='decision'],
|
|
2562
|
+
[data-showcase='record'] {
|
|
2563
|
+
--retro-spec: 12%;
|
|
2564
|
+
--retro-bevel-light: 10%;
|
|
2565
|
+
}
|
|
2566
|
+
}
|
|
2567
|
+
|
|
2525
2568
|
/* Modal panel — the same chrome, with a deeper palette glow so the dialog
|
|
2526
2569
|
separates cleanly from the grid behind it (and body text stays on the solid
|
|
2527
2570
|
surface). Overrides the card-radius rule above for the modal radius. */
|
|
@@ -3274,6 +3317,16 @@
|
|
|
3274
3317
|
--el-accent-on-surface: var(--color-primary);
|
|
3275
3318
|
--el-accent-pressed: var(--color-primary-pressed);
|
|
3276
3319
|
--el-highlight: var(--color-accent); /* brand pink — decorative accents */
|
|
3320
|
+
/* Progress FILL for a determinate bar (MOTIR-7584) — upload / import bars.
|
|
3321
|
+
Resolves to the CTA fill, which is what those bars painted before the role
|
|
3322
|
+
existed, so every palette that does not override it is pixel-identical.
|
|
3323
|
+
(The planning node's done/total meter is NOT this role: it means DONE and
|
|
3324
|
+
stays --el-success.) */
|
|
3325
|
+
--el-progress-fill: var(--color-primary-fill);
|
|
3326
|
+
/* The rich-text editor's FOCUS indicator (MOTIR-7584). Resolves to the
|
|
3327
|
+
decorative accent the editor borrowed before the role existed; a palette
|
|
3328
|
+
whose accent is decorative-only (motir) points it back at its focus hue. */
|
|
3329
|
+
--el-editor-focus: var(--color-accent);
|
|
3277
3330
|
|
|
3278
3331
|
/* ── Surfaces ──────────────────────────────────────────────────── */
|
|
3279
3332
|
--el-surface: var(--color-surface);
|
|
@@ -3850,6 +3903,91 @@
|
|
|
3850
3903
|
--el-sidebar-item-bg-active: var(
|
|
3851
3904
|
--color-background
|
|
3852
3905
|
); /* active row = canvas inset into the rail */
|
|
3906
|
+
|
|
3907
|
+
/* ── Product marks (motir.co's Products menu) ───────────────────────── */
|
|
3908
|
+
/* The small square beside each product's name. One per product, each a
|
|
3909
|
+
palette hue — or a mix of two, where the palette has fewer distinct hues
|
|
3910
|
+
than there are products — so a palette re-skins all of them. */
|
|
3911
|
+
--el-product-ai-planner: var(--color-primary);
|
|
3912
|
+
--el-product-project-management: var(--color-accent-teal);
|
|
3913
|
+
--el-product-project-manager: var(--color-accent);
|
|
3914
|
+
--el-product-ai-debugging: var(--color-destructive);
|
|
3915
|
+
--el-product-mcp: color-mix(in srgb, var(--color-primary) 55%, var(--color-destructive));
|
|
3916
|
+
--el-product-cli: var(--color-charcoal);
|
|
3917
|
+
--el-product-claude-code-connector: var(--color-accent-green);
|
|
3918
|
+
--el-product-claude-code-plugin: color-mix(
|
|
3919
|
+
in srgb,
|
|
3920
|
+
var(--color-accent) 55%,
|
|
3921
|
+
var(--color-accent-green)
|
|
3922
|
+
);
|
|
3923
|
+
--el-product-agent-fleet: color-mix(in srgb, var(--color-primary) 50%, var(--color-accent-teal));
|
|
3924
|
+
--el-product-agent-hosting: var(--color-slate);
|
|
3925
|
+
--el-product-sandbox: color-mix(in srgb, var(--color-accent) 45%, var(--color-charcoal));
|
|
3926
|
+
|
|
3927
|
+
/* ── Logo tile (the wave mark on its rounded square) ─────────────── */
|
|
3928
|
+
/* The mark is the palette's identity hue — its primary FILL, the colour its
|
|
3929
|
+
swatch shows — on a tile chosen so the mark reads: a pale wash of that hue
|
|
3930
|
+
here; a palette whose identity hue is itself bright or pale sets a dark
|
|
3931
|
+
tile in its own block. */
|
|
3932
|
+
--el-logo-mark: var(--color-primary-fill);
|
|
3933
|
+
--el-logo-tile: color-mix(in srgb, var(--color-primary-fill) 14%, var(--color-background));
|
|
3934
|
+
|
|
3935
|
+
/* ── Showcase (motir.co's illustrations) ─────────────────────── */
|
|
3936
|
+
/* The marketing site draws its pictures as flat fields holding small
|
|
3937
|
+
example screens ("Vibe the project" and "How Motir works"). These are
|
|
3938
|
+
the pictures' own element tokens, named for what they paint — the
|
|
3939
|
+
palette decides the colour. Each FIELD has a TEXT token that reads on it
|
|
3940
|
+
in every palette and theme.
|
|
3941
|
+
field — the main picture field (the plan, the progress lanes);
|
|
3942
|
+
field-ink is that colour as text on paper
|
|
3943
|
+
ground — the deep ground (the project-manager panel, the design and
|
|
3944
|
+
run pictures), with its raised step, rule and muted text
|
|
3945
|
+
highlight — the one bright touch, drawn on the ground and on the
|
|
3946
|
+
record field (the person's marks in the history)
|
|
3947
|
+
decision — a choice that waits on the person ("Your call")
|
|
3948
|
+
record — the history / learning field
|
|
3949
|
+
wash — the quiet pictures (docs, the written brief, memory)
|
|
3950
|
+
wash-warm — the quiet warm picture (the plan gate)
|
|
3951
|
+
paper — the small screens inside the fields
|
|
3952
|
+
wave-1..3 — the hero's moving wave lines */
|
|
3953
|
+
--el-showcase-field: var(--color-primary);
|
|
3954
|
+
--el-showcase-field-text: var(--color-background);
|
|
3955
|
+
--el-showcase-field-ink: var(--color-primary);
|
|
3956
|
+
--el-showcase-ground: var(--color-foreground);
|
|
3957
|
+
--el-showcase-ground-text: var(--color-background);
|
|
3958
|
+
--el-showcase-ground-muted: color-mix(
|
|
3959
|
+
in srgb,
|
|
3960
|
+
var(--color-background) 68%,
|
|
3961
|
+
var(--color-foreground)
|
|
3962
|
+
);
|
|
3963
|
+
--el-showcase-ground-raised: color-mix(
|
|
3964
|
+
in srgb,
|
|
3965
|
+
var(--color-foreground) 90%,
|
|
3966
|
+
var(--color-background)
|
|
3967
|
+
);
|
|
3968
|
+
--el-showcase-ground-rule: color-mix(
|
|
3969
|
+
in srgb,
|
|
3970
|
+
var(--color-foreground) 74%,
|
|
3971
|
+
var(--color-background)
|
|
3972
|
+
);
|
|
3973
|
+
--el-showcase-highlight: color-mix(in srgb, var(--color-accent) 55%, var(--color-background));
|
|
3974
|
+
--el-showcase-decision: color-mix(in srgb, var(--color-accent) 70%, var(--color-background));
|
|
3975
|
+
--el-showcase-decision-text: var(--color-foreground);
|
|
3976
|
+
--el-showcase-decision-ink: color-mix(in srgb, var(--color-accent) 65%, var(--color-foreground));
|
|
3977
|
+
--el-showcase-record: color-mix(in srgb, var(--color-accent-teal) 72%, var(--color-foreground));
|
|
3978
|
+
--el-showcase-record-text: var(--color-background);
|
|
3979
|
+
--el-showcase-wash: var(--color-tint-sky);
|
|
3980
|
+
--el-showcase-wash-warm: var(--color-tint-peach);
|
|
3981
|
+
--el-showcase-paper: var(--color-background);
|
|
3982
|
+
--el-showcase-paper-soft: var(--color-surface-soft);
|
|
3983
|
+
--el-showcase-rule: var(--color-hairline);
|
|
3984
|
+
--el-showcase-text: var(--color-foreground);
|
|
3985
|
+
--el-showcase-muted: var(--color-slate);
|
|
3986
|
+
/* The hero's wave lines: the three palette hues the moving colour band
|
|
3987
|
+
cycles through — the accent, the teal, the warm accent. */
|
|
3988
|
+
--el-showcase-wave-1: var(--color-primary);
|
|
3989
|
+
--el-showcase-wave-2: var(--color-accent-teal);
|
|
3990
|
+
--el-showcase-wave-3: var(--color-accent);
|
|
3853
3991
|
}
|
|
3854
3992
|
|
|
3855
3993
|
/* Dark-mode lift for the sidebar hover token. The other three --el-sidebar-*
|
|
@@ -3911,6 +4049,27 @@
|
|
|
3911
4049
|
other concrete-hex --el-* alongside the sidebar hover. Light value (40%,
|
|
3912
4050
|
== the prior bg-black/40) lives in the :root block above. */
|
|
3913
4051
|
--el-overlay-scrim: #000000a6;
|
|
4052
|
+
/* The logo in dark: the palette's dark primary — the lightened identity hue
|
|
4053
|
+
built to read on a dark page — on a deep wash of it. */
|
|
4054
|
+
--el-logo-mark: var(--color-primary);
|
|
4055
|
+
--el-logo-tile: color-mix(in srgb, var(--color-primary) 18%, var(--color-background));
|
|
4056
|
+
/* Showcase in dark (see the Tier-3 showcase block): the field is the
|
|
4057
|
+
dark accent pulled halfway to the page, so it stays a saturated mid-tone
|
|
4058
|
+
carrying LIGHT text; the ground stays dark instead of inverting — the
|
|
4059
|
+
palette's recessed canvas, the one step below both page and surface; the decision and record fields carry the page's dark ink. */
|
|
4060
|
+
--el-showcase-field: color-mix(in srgb, var(--color-primary) 45%, var(--color-background));
|
|
4061
|
+
--el-showcase-field-text: var(--color-foreground);
|
|
4062
|
+
--el-showcase-field-ink: color-mix(in srgb, var(--color-primary) 75%, var(--color-foreground));
|
|
4063
|
+
--el-showcase-ground: var(--color-canvas);
|
|
4064
|
+
--el-showcase-ground-text: var(--color-foreground);
|
|
4065
|
+
--el-showcase-ground-muted: color-mix(in srgb, var(--color-foreground) 68%, var(--color-canvas));
|
|
4066
|
+
--el-showcase-ground-raised: color-mix(in srgb, var(--color-canvas) 86%, var(--color-foreground));
|
|
4067
|
+
--el-showcase-ground-rule: color-mix(in srgb, var(--color-canvas) 70%, var(--color-foreground));
|
|
4068
|
+
--el-showcase-highlight: color-mix(in srgb, var(--color-accent) 70%, var(--color-foreground));
|
|
4069
|
+
--el-showcase-decision: var(--color-accent);
|
|
4070
|
+
--el-showcase-decision-text: var(--color-background);
|
|
4071
|
+
--el-showcase-decision-ink: color-mix(in srgb, var(--color-accent) 80%, var(--color-foreground));
|
|
4072
|
+
--el-showcase-record: var(--color-accent-teal);
|
|
3914
4073
|
}
|
|
3915
4074
|
|
|
3916
4075
|
/* ═══════════════════════════════════════════════════════════════════════
|
|
@@ -4079,7 +4238,12 @@
|
|
|
4079
4238
|
--color-tint-sky: #dcecfa;
|
|
4080
4239
|
--color-tint-yellow: #fef7d6;
|
|
4081
4240
|
--color-warning: #dd5b00;
|
|
4241
|
+
/* MOTIR-7584 — carried for the same reason as --el-status-approved below:
|
|
4242
|
+
`motir` overrides all three, so a scoped amethyst tile under a motir page
|
|
4243
|
+
would otherwise inherit motir's warm values. */
|
|
4244
|
+
--el-editor-focus: var(--color-accent);
|
|
4082
4245
|
--el-priority-high: var(--color-warning);
|
|
4246
|
+
--el-progress-fill: var(--color-primary-fill);
|
|
4083
4247
|
--el-sidebar-item-bg-hover: #eeede9;
|
|
4084
4248
|
/* MOTIR-5139 — carried here because `evergreen` OVERRIDES it. A token this
|
|
4085
4249
|
block omits leaks from the ANCESTOR into a scoped `motir` tile, so an
|
|
@@ -4095,6 +4259,13 @@
|
|
|
4095
4259
|
--el-status-implemented: color-mix(in srgb, var(--color-accent) 75%, var(--color-charcoal));
|
|
4096
4260
|
--el-status-in-review: var(--color-primary);
|
|
4097
4261
|
--el-status-planning: var(--color-accent-teal);
|
|
4262
|
+
--el-type-design: var(--color-accent);
|
|
4263
|
+
/* 2026-10 redesign — the logo and showcase roles the motir and bright
|
|
4264
|
+
palettes override, restated so a scoped amethyst tile keeps the base. */
|
|
4265
|
+
--el-logo-mark: var(--color-primary-fill);
|
|
4266
|
+
--el-logo-tile: color-mix(in srgb, var(--color-primary-fill) 14%, var(--color-background));
|
|
4267
|
+
--el-showcase-highlight: color-mix(in srgb, var(--color-accent) 55%, var(--color-background));
|
|
4268
|
+
--el-showcase-decision: color-mix(in srgb, var(--color-accent) 70%, var(--color-background));
|
|
4098
4269
|
}
|
|
4099
4270
|
|
|
4100
4271
|
/* The base palette's DARK arm — only the tokens the global dark block
|
|
@@ -4132,6 +4303,12 @@
|
|
|
4132
4303
|
--color-tint-sky: #1a2a3a;
|
|
4133
4304
|
--color-tint-yellow: #3a341a;
|
|
4134
4305
|
--el-sidebar-item-bg-hover: #222222;
|
|
4306
|
+
/* 2026-10 redesign — the dark logo and showcase roles, restated (see the
|
|
4307
|
+
light arm above). */
|
|
4308
|
+
--el-logo-mark: var(--color-primary);
|
|
4309
|
+
--el-logo-tile: color-mix(in srgb, var(--color-primary) 18%, var(--color-background));
|
|
4310
|
+
--el-showcase-highlight: color-mix(in srgb, var(--color-accent) 70%, var(--color-foreground));
|
|
4311
|
+
--el-showcase-decision: var(--color-accent);
|
|
4135
4312
|
}
|
|
4136
4313
|
|
|
4137
4314
|
/* The `motir` BASE type pairing, re-asserted (MOTIR-3933) — same reason as
|
|
@@ -4344,6 +4521,10 @@
|
|
|
4344
4521
|
verified numerically + by rendered specimen, never eyeballed. See
|
|
4345
4522
|
docs/palettes/motir.md for the colour-role reference. */
|
|
4346
4523
|
[data-palette='motir'] {
|
|
4524
|
+
/* The logo, kept as Motir has it: the cool-blue primary (its fill is the
|
|
4525
|
+
ink CTA, not its identity hue) on a 28% wash of that blue. */
|
|
4526
|
+
--el-logo-mark: var(--color-primary);
|
|
4527
|
+
--el-logo-tile: color-mix(in srgb, var(--color-primary) 28%, var(--color-background));
|
|
4347
4528
|
/* brand & primary — the high-contrast INK CTA + the single cool-blue accent.
|
|
4348
4529
|
--color-primary is the accent AS text/icon/focus on a surface (the cool
|
|
4349
4530
|
blue, AA on white & the slate surface); --color-primary-fill is the CTA
|
|
@@ -4376,19 +4557,24 @@
|
|
|
4376
4557
|
--color-border: #e2e4e9;
|
|
4377
4558
|
|
|
4378
4559
|
/* accent secondary — the cool-blue highlight replaces the warm brand pink */
|
|
4379
|
-
|
|
4560
|
+
/* WARM TOUCH (MOTIR-7582 / design MOTIR-7583 §8): the decorative accent —
|
|
4561
|
+
highlight, Epic, chart segment 6, the progress fill — is a warm orange.
|
|
4562
|
+
It sits in the narrow slot between the burnt-orange warning #c2410c and the
|
|
4563
|
+
amber priority-high step #ab6400: ΔE2000 11.0 from each, and 3.08:1 or
|
|
4564
|
+
better on every light surface (the selected row is the tightest). */
|
|
4565
|
+
--color-accent: #d66000; /* warm orange — decorative highlight / epic hue */
|
|
4380
4566
|
--color-accent-orange: #c2410c; /* review hue / warning — cooled */
|
|
4381
4567
|
--color-accent-teal: #0e8f86; /* subtask / content hue */
|
|
4382
4568
|
--color-accent-green: #18804a; /* story hue / success — cooled */
|
|
4383
4569
|
|
|
4384
4570
|
/* card tints — cooled pastel washes (6 distinct feature hues; charcoal text
|
|
4385
4571
|
on them clears AA in both themes) */
|
|
4386
|
-
--color-tint-peach: #
|
|
4572
|
+
--color-tint-peach: #fde0c8; /* warmed (MOTIR-7582) — ink on it 12.38:1 */
|
|
4387
4573
|
--color-tint-rose: #f6dfe8;
|
|
4388
4574
|
--color-tint-mint: #d9efe1;
|
|
4389
4575
|
--color-tint-lavender: #e4e6f3; /* cool indigo wash */
|
|
4390
4576
|
--color-tint-sky: #dde9f6; /* cool blue wash — the accent tint */
|
|
4391
|
-
--color-tint-yellow: #
|
|
4577
|
+
--color-tint-yellow: #fdf0c6; /* warmed (MOTIR-7582) — ink on it 13.70:1 */
|
|
4392
4578
|
|
|
4393
4579
|
/* semantic */
|
|
4394
4580
|
--color-success: #18804a;
|
|
@@ -4441,6 +4627,28 @@
|
|
|
4441
4627
|
here and reads as "not yet coloured in", which is what the state is:
|
|
4442
4628
|
ΔE 15.9 light / 11.8 dark from the nearest status. */
|
|
4443
4629
|
--el-status-implemented: var(--color-charcoal);
|
|
4630
|
+
|
|
4631
|
+
/* Warm touches (MOTIR-7582 / design MOTIR-7583 §8) — the Tier-3 half.
|
|
4632
|
+
Design takes the Citrine palette's own gold, its --color-primary #746019
|
|
4633
|
+
(Mirotone yellow-700), so it reads apart from the orange Epic: ΔE2000 16.3
|
|
4634
|
+
from its nearest glyph neighbour (priority-high) and 4.97:1 or better on
|
|
4635
|
+
every light surface. Set directly, as --el-sidebar-item-bg-hover is, since
|
|
4636
|
+
no Tier-0 source carries it. */
|
|
4637
|
+
--el-type-design: #746019;
|
|
4638
|
+
/* The showcase highlight — the one bright touch on motir.co's illustration
|
|
4639
|
+
ground. In Motir it is the palette's Sunglow yellow (the dark Design hue
|
|
4640
|
+
below), and the same in both themes because the showcase ground stays dark
|
|
4641
|
+
in both. Set directly, as --el-type-design is: Motir's yellow is a role
|
|
4642
|
+
value of this palette, not a Tier-0 source other palettes would carry. */
|
|
4643
|
+
--el-showcase-highlight: #ffd02f;
|
|
4644
|
+
/* Motir's decision field is its warm accent at full strength — dark ink on
|
|
4645
|
+
it is 4.9:1; the base mapping lightens the accent for darker palettes. */
|
|
4646
|
+
--el-showcase-decision: var(--color-accent);
|
|
4647
|
+
/* progress bars take the warm accent instead of the ink CTA fill */
|
|
4648
|
+
--el-progress-fill: var(--color-accent);
|
|
4649
|
+
/* the editor's focus border / rings stay the blue focus hue — the accent they
|
|
4650
|
+
borrowed is decorative-only here now */
|
|
4651
|
+
--el-editor-focus: var(--color-primary);
|
|
4444
4652
|
}
|
|
4445
4653
|
|
|
4446
4654
|
/* Motir (formerly Graphite) — dark companion. A cool near-black slate canvas; the CTA fill
|
|
@@ -4449,6 +4657,8 @@
|
|
|
4449
4657
|
brighten to clear AA on near-black. */
|
|
4450
4658
|
[data-theme='dark'] [data-palette='motir']:not([data-theme]),
|
|
4451
4659
|
[data-palette='motir'][data-theme='dark'] {
|
|
4660
|
+
--el-logo-mark: var(--color-primary); /* parity with the light block */
|
|
4661
|
+
--el-logo-tile: color-mix(in srgb, var(--color-primary) 28%, var(--color-background));
|
|
4452
4662
|
--color-background: #0c0d0f; /* stark cool near-black canvas */
|
|
4453
4663
|
--color-foreground: #edeef0;
|
|
4454
4664
|
--color-surface: #18191c; /* cool slate section */
|
|
@@ -4476,14 +4686,16 @@
|
|
|
4476
4686
|
--color-primary-fill: #edeef0; /* near-white ink CTA fill (black-on AA) */
|
|
4477
4687
|
|
|
4478
4688
|
/* cooled tints, dimmed for the near-black canvas */
|
|
4479
|
-
--color-tint-peach: #
|
|
4689
|
+
--color-tint-peach: #36230f; /* warmed (MOTIR-7582) — ink on it 10.58:1 */
|
|
4480
4690
|
--color-tint-rose: #2f1c26;
|
|
4481
4691
|
--color-tint-mint: #15271e;
|
|
4482
4692
|
--color-tint-lavender: #1f2236;
|
|
4483
4693
|
--color-tint-sky: #15233a;
|
|
4484
|
-
--color-tint-yellow: #
|
|
4694
|
+
--color-tint-yellow: #302a12; /* warmed (MOTIR-7582) — ink on it 10.14:1 */
|
|
4485
4695
|
|
|
4486
|
-
|
|
4696
|
+
/* warm touch — a deeper, redder orange than the dark warning #f08a4b clears
|
|
4697
|
+
it by ΔE2000 11.5, and is 4.77:1 or better on every dark surface */
|
|
4698
|
+
--color-accent: #fa5500; /* warm orange highlight on dark */
|
|
4487
4699
|
--color-accent-orange: #f08a4b;
|
|
4488
4700
|
--color-accent-teal: #2db6a8;
|
|
4489
4701
|
--color-accent-green: #34b86e;
|
|
@@ -4519,6 +4731,16 @@
|
|
|
4519
4731
|
themes so the light value cannot cascade into dark (the cascade trap this
|
|
4520
4732
|
suite checks for). */
|
|
4521
4733
|
--el-status-implemented: var(--color-charcoal);
|
|
4734
|
+
|
|
4735
|
+
/* Warm touches — the dark halves of the light block's Tier-3 overrides, in
|
|
4736
|
+
BOTH themes for the cascade reason above. Design takes the Citrine
|
|
4737
|
+
palette's dark --color-primary, Miro Sunglow #ffd02f: ΔE2000 27.5 from its
|
|
4738
|
+
nearest glyph neighbour, 10.0:1 or better on every dark surface. */
|
|
4739
|
+
--el-type-design: #ffd02f;
|
|
4740
|
+
--el-showcase-highlight: #ffd02f; /* see the light block */
|
|
4741
|
+
--el-showcase-decision: var(--color-accent);
|
|
4742
|
+
--el-progress-fill: var(--color-accent);
|
|
4743
|
+
--el-editor-focus: var(--color-primary);
|
|
4522
4744
|
}
|
|
4523
4745
|
|
|
4524
4746
|
/* ── Palette: Evergreen (data-palette="evergreen") — Subtask 7.3.50 ──────────
|
|
@@ -4958,6 +5180,9 @@
|
|
|
4958
5180
|
clears WCAG AA (≥4.5 text; ≥3.0 icon/UI) in BOTH themes, verified
|
|
4959
5181
|
numerically. See docs/palettes/amber.md. */
|
|
4960
5182
|
[data-palette='amber'] {
|
|
5183
|
+
/* The logo: this palette's identity hue is bright, so its mark sits on a
|
|
5184
|
+
dark tile (the palette's ink) rather than a pale wash of itself. */
|
|
5185
|
+
--el-logo-tile: var(--color-foreground);
|
|
4961
5186
|
/* brand & primary — Binance Gold. The FILL carries DARK ink labels (yellow
|
|
4962
5187
|
trap); --color-primary is a darkened gold used AS text/icon on a surface. */
|
|
4963
5188
|
--color-primary: #7d6000; /* darkened gold as text/icon (5.92:1 on white — MOTIR-3774) */
|
|
@@ -5031,6 +5256,11 @@
|
|
|
5031
5256
|
#0ECB81 / sell-red #F6465D. */
|
|
5032
5257
|
[data-theme='dark'] [data-palette='amber']:not([data-theme]),
|
|
5033
5258
|
[data-palette='amber'][data-theme='dark'] {
|
|
5259
|
+
--el-logo-tile: color-mix(
|
|
5260
|
+
in srgb,
|
|
5261
|
+
var(--color-primary) 18%,
|
|
5262
|
+
var(--color-background)
|
|
5263
|
+
); /* parity with the light block */
|
|
5034
5264
|
--color-background: #0b0e11; /* Binance deepest trading-floor black */
|
|
5035
5265
|
--color-foreground: #eaecef;
|
|
5036
5266
|
--color-surface: #1e2329; /* Binance "Shark" card surface */
|
|
@@ -5105,6 +5335,9 @@
|
|
|
5105
5335
|
clears WCAG AA in BOTH themes, verified numerically. See
|
|
5106
5336
|
docs/palettes/sienna.md. */
|
|
5107
5337
|
[data-palette='sienna'] {
|
|
5338
|
+
/* The logo: this palette's identity hue is bright, so its mark sits on a
|
|
5339
|
+
dark tile (the palette's ink) rather than a pale wash of itself. */
|
|
5340
|
+
--el-logo-tile: var(--color-foreground);
|
|
5108
5341
|
/* brand & primary — Mistral's flame. The FILL is Mistral Orange #fa520f with
|
|
5109
5342
|
DARK ink labels; --color-primary is a darkened flame used AS text/icon. */
|
|
5110
5343
|
--color-primary: #b53b09; /* darkened Mistral flame as text/icon (5.60:1 on the cream — MOTIR-3774) */
|
|
@@ -5187,6 +5420,11 @@
|
|
|
5187
5420
|
to read as text, the fill a bright flame with dark-ink labels. */
|
|
5188
5421
|
[data-theme='dark'] [data-palette='sienna']:not([data-theme]),
|
|
5189
5422
|
[data-palette='sienna'][data-theme='dark'] {
|
|
5423
|
+
--el-logo-tile: color-mix(
|
|
5424
|
+
in srgb,
|
|
5425
|
+
var(--color-primary) 18%,
|
|
5426
|
+
var(--color-background)
|
|
5427
|
+
); /* parity with the light block */
|
|
5190
5428
|
--color-background: #15120d; /* warm near-black canvas (from Mistral Black) */
|
|
5191
5429
|
--color-foreground: #f5efe2;
|
|
5192
5430
|
--color-surface: #1f1d17;
|
|
@@ -5407,6 +5645,9 @@
|
|
|
5407
5645
|
clears WCAG AA in BOTH themes, verified numerically. See
|
|
5408
5646
|
docs/palettes/citrine.md. */
|
|
5409
5647
|
[data-palette='citrine'] {
|
|
5648
|
+
/* The logo: this palette's identity hue is bright, so its mark sits on a
|
|
5649
|
+
dark tile (the palette's ink) rather than a pale wash of itself. */
|
|
5650
|
+
--el-logo-tile: var(--color-foreground);
|
|
5410
5651
|
/* brand & primary — Miro Sunglow yellow (yellow-500). FILL carries DARK
|
|
5411
5652
|
Stratos-ink labels (yellow trap); --color-primary is a documented dark
|
|
5412
5653
|
yellow step (yellow-700) used AS text/icon on a surface. */
|
|
@@ -5505,6 +5746,11 @@
|
|
|
5505
5746
|
clear AA on the dark canvas. All values are documented Mirotone steps. */
|
|
5506
5747
|
[data-theme='dark'] [data-palette='citrine']:not([data-theme]),
|
|
5507
5748
|
[data-palette='citrine'][data-theme='dark'] {
|
|
5749
|
+
--el-logo-tile: color-mix(
|
|
5750
|
+
in srgb,
|
|
5751
|
+
var(--color-primary) 18%,
|
|
5752
|
+
var(--color-background)
|
|
5753
|
+
); /* parity with the light block */
|
|
5508
5754
|
--color-background: #090909; /* Miro black */
|
|
5509
5755
|
--color-foreground: #f6f7f9; /* gray-50 */
|
|
5510
5756
|
--color-surface: #1a1b1e; /* gray-900 */
|
|
@@ -5595,6 +5841,9 @@
|
|
|
5595
5841
|
clears WCAG AA in BOTH themes, verified numerically. See
|
|
5596
5842
|
docs/palettes/candy.md. */
|
|
5597
5843
|
[data-palette='candy'] {
|
|
5844
|
+
/* The logo: this palette's identity hue is bright, so its mark sits on a
|
|
5845
|
+
dark tile (the palette's ink) rather than a pale wash of itself. */
|
|
5846
|
+
--el-logo-tile: var(--color-foreground);
|
|
5598
5847
|
/* brand & primary — a LIGHT bubblegum pink (Radix Pink). FILL is a light pink
|
|
5599
5848
|
with DARK berry labels; --color-primary is the Pink-11 text step. */
|
|
5600
5849
|
--color-primary: #b72682; /* Radix Pink-11 88% toward Pink-12 (5.81:1 on white — MOTIR-3774) */
|
|
@@ -5669,6 +5918,11 @@
|
|
|
5669
5918
|
All values are documented Radix dark steps. */
|
|
5670
5919
|
[data-theme='dark'] [data-palette='candy']:not([data-theme]),
|
|
5671
5920
|
[data-palette='candy'][data-theme='dark'] {
|
|
5921
|
+
--el-logo-tile: color-mix(
|
|
5922
|
+
in srgb,
|
|
5923
|
+
var(--color-primary) 18%,
|
|
5924
|
+
var(--color-background)
|
|
5925
|
+
); /* parity with the light block */
|
|
5672
5926
|
--color-background: #191117; /* Radix Pink dark-1 — pink-tinted black */
|
|
5673
5927
|
--color-foreground: #eeeef0; /* Mauve dark-12 */
|
|
5674
5928
|
--color-surface: #37172f; /* Pink dark-3 — candy-plum section */
|