@echomem/mcp 1.4.18 → 1.4.20
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/README.md +12 -5
- package/dist/codex-session-files.js +7 -1
- package/dist/hud/server.js +17 -13
- package/dist/hud/web.js +204 -13
- package/dist/index.js +61 -30
- package/dist/keystore.js +9 -19
- package/dist/migrate.js +78 -36
- package/dist/setup-page/client-core.js +31 -1
- package/dist/setup-page/client-extraction.js +581 -157
- package/dist/setup-page/client-lifecycle.js +64 -43
- package/dist/setup-page/client-report-city.js +14 -5
- package/dist/setup-page/styles-extraction.js +1176 -148
- package/dist/setup-page/styles-foundation.js +20 -15
- package/dist/setup-page/styles-website-alignment.js +818 -0
- package/dist/setup-page/styles.js +2 -0
- package/dist/setup-preview.js +64 -1
- package/dist/setup.js +328 -39
- package/dist/v1-contract.js +8 -8
- package/package.json +1 -1
- package/templates/codex-skills/echomem-forget/SKILL.md +16 -0
- package/templates/codex-skills/echomem-forget/agents/openai.yaml +6 -0
- package/templates/codex-skills/echomem-login/SKILL.md +27 -0
- package/templates/codex-skills/echomem-login/agents/openai.yaml +6 -0
- package/templates/codex-skills/echomem-save/SKILL.md +14 -0
- package/templates/codex-skills/echomem-save/agents/openai.yaml +6 -0
- package/templates/codex-skills/echomem-search/SKILL.md +14 -0
- package/templates/codex-skills/echomem-search/agents/openai.yaml +6 -0
|
@@ -56,7 +56,10 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
56
56
|
min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
|
|
57
57
|
border-radius: 8px; border: 1px solid var(--echo-ink-primary); padding: 0 16px;
|
|
58
58
|
font: inherit; font-weight: 800; text-decoration: none; cursor: pointer;
|
|
59
|
+
transition: transform 150ms ease, border-color 150ms ease, background 150ms ease, box-shadow 150ms ease, color 150ms ease;
|
|
59
60
|
}
|
|
61
|
+
button:not(:disabled):hover, .button:hover { transform: translateY(-1px); }
|
|
62
|
+
button:focus-visible, .button:focus-visible { outline: 3px solid rgba(26,58,143,0.18); outline-offset: 3px; }
|
|
60
63
|
.primary { background: var(--echo-ink-primary); color: #fff; }
|
|
61
64
|
.secondary { background: #fff; color: var(--echo-ink-primary); }
|
|
62
65
|
.textButton {
|
|
@@ -126,6 +129,16 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
126
129
|
color: var(--echo-ink-faint);
|
|
127
130
|
}
|
|
128
131
|
.consentFine:empty { display: none; }
|
|
132
|
+
.consentFine.is-required {
|
|
133
|
+
border: 1px solid rgba(139,44,38,0.22);
|
|
134
|
+
border-radius: 10px;
|
|
135
|
+
background: #fff4ee;
|
|
136
|
+
padding: 9px 11px;
|
|
137
|
+
color: #8b2c26;
|
|
138
|
+
font-family: var(--echo-font-body);
|
|
139
|
+
font-size: 12px;
|
|
140
|
+
font-weight: 650;
|
|
141
|
+
}
|
|
129
142
|
.track { height: 12px; overflow: hidden; border-radius: 999px; background: #e8e8e1; margin: 16px 0 10px; }
|
|
130
143
|
.fill { height: 100%; width: 0%; background: var(--echo-ink-primary); transition: width 180ms ease; }
|
|
131
144
|
/* indeterminate "we're working on it" bar for the prep phase (before job counts move) */
|
|
@@ -171,34 +184,37 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
171
184
|
/* Centered composition: mascot on top, then everything stacked and centered on one axis. */
|
|
172
185
|
.readyDecision {
|
|
173
186
|
width: 100%;
|
|
174
|
-
max-width: min(
|
|
187
|
+
max-width: min(960px, calc(100vw - clamp(24px, 7vw, 104px)));
|
|
175
188
|
display: grid;
|
|
176
189
|
justify-items: center;
|
|
177
190
|
text-align: center;
|
|
178
|
-
gap:
|
|
191
|
+
gap: 16px;
|
|
179
192
|
margin: 0 auto;
|
|
180
193
|
}
|
|
181
194
|
.readyHero {
|
|
182
195
|
display: grid;
|
|
183
196
|
justify-items: center;
|
|
184
|
-
gap:
|
|
197
|
+
gap: 13px;
|
|
185
198
|
margin: 0 auto;
|
|
186
199
|
}
|
|
187
200
|
.readyMascot {
|
|
188
|
-
width:
|
|
189
|
-
height:
|
|
201
|
+
width: 76px;
|
|
202
|
+
height: 76px;
|
|
190
203
|
object-fit: contain;
|
|
191
204
|
filter: drop-shadow(0 12px 18px rgba(26,58,143,0.18));
|
|
192
205
|
}
|
|
193
206
|
.readyHero .exCopy h2 {
|
|
194
207
|
margin: 0;
|
|
195
|
-
|
|
196
|
-
|
|
208
|
+
max-width: 790px;
|
|
209
|
+
font-size: clamp(36px, 4.5vw, 58px);
|
|
210
|
+
line-height: 0.96;
|
|
211
|
+
letter-spacing: -0.018em;
|
|
197
212
|
}
|
|
198
213
|
.readyHero .exCopy .exSub {
|
|
199
214
|
max-width: 560px;
|
|
200
|
-
margin:
|
|
201
|
-
font-size: clamp(
|
|
215
|
+
margin: 14px auto 0;
|
|
216
|
+
font-size: clamp(15px, 1.4vw, 17px);
|
|
217
|
+
line-height: 1.55;
|
|
202
218
|
}
|
|
203
219
|
.readyAction {
|
|
204
220
|
display: grid;
|
|
@@ -218,7 +234,7 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
218
234
|
}
|
|
219
235
|
.exHeroReady {
|
|
220
236
|
width: 100%;
|
|
221
|
-
max-width: min(
|
|
237
|
+
max-width: min(980px, calc(100vw - clamp(36px, 9vw, 140px)));
|
|
222
238
|
grid-template-columns: minmax(0, 1fr);
|
|
223
239
|
justify-content: center;
|
|
224
240
|
justify-items: stretch;
|
|
@@ -248,12 +264,20 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
248
264
|
margin-top: 0;
|
|
249
265
|
}
|
|
250
266
|
.readyDecision .actions .primary {
|
|
251
|
-
min-width:
|
|
252
|
-
min-height:
|
|
267
|
+
min-width: 250px;
|
|
268
|
+
min-height: 58px;
|
|
253
269
|
padding: 0 30px;
|
|
254
270
|
font-size: 16px;
|
|
255
|
-
|
|
271
|
+
border-radius: 14px;
|
|
272
|
+
box-shadow: 0 18px 34px -20px rgba(26,58,143,0.62);
|
|
256
273
|
}
|
|
274
|
+
.readyDecision .actions .skipHistoryButton {
|
|
275
|
+
min-height: 58px;
|
|
276
|
+
padding: 0 22px;
|
|
277
|
+
border-radius: 14px;
|
|
278
|
+
}
|
|
279
|
+
.readyDecision .actions .primary:not(:disabled):hover { box-shadow: 0 22px 38px -18px rgba(26,58,143,0.66); }
|
|
280
|
+
.readyDecision .actions .primary .setupGlyph { width: 19px; height: 19px; }
|
|
257
281
|
/* Proof strip: one quiet line of evidence (source split), not stat cards. Centered. */
|
|
258
282
|
.proofStrip {
|
|
259
283
|
display: flex;
|
|
@@ -261,21 +285,27 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
261
285
|
justify-content: center;
|
|
262
286
|
align-items: center;
|
|
263
287
|
gap: 8px 12px;
|
|
264
|
-
min-height:
|
|
265
|
-
margin-top:
|
|
288
|
+
min-height: 40px;
|
|
289
|
+
margin-top: 1px;
|
|
290
|
+
border: 1px solid rgba(26,58,143,0.1);
|
|
291
|
+
border-radius: 999px;
|
|
292
|
+
background: rgba(255,255,255,0.72);
|
|
293
|
+
padding: 7px 13px;
|
|
294
|
+
box-shadow: 0 10px 26px -24px rgba(20,36,84,0.5);
|
|
295
|
+
backdrop-filter: blur(8px);
|
|
266
296
|
font-family: var(--echo-font-mono);
|
|
267
297
|
font-size: 13px;
|
|
268
298
|
color: var(--echo-ink-mute);
|
|
269
299
|
}
|
|
270
300
|
.proofStrip .pf { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
|
|
271
301
|
.proofStrip .pf strong { color: var(--echo-ink-primary); font-weight: 800; font-variant-numeric: tabular-nums; }
|
|
272
|
-
.proofStrip .pfIcon { position: relative; width: 22px; height: 22px; border-radius:
|
|
273
|
-
.proofStrip .pfIcon img { width: 22px; height: 22px; object-fit:
|
|
302
|
+
.proofStrip .pfIcon { position: relative; width: 22px; height: 22px; border-radius: 7px; overflow: hidden; background: #fff; display: grid; place-items: center; flex: 0 0 auto; box-shadow: inset 0 0 0 1px rgba(26,58,143,0.08); }
|
|
303
|
+
.proofStrip .pfIcon img { width: 22px; height: 22px; object-fit: contain; padding: 3px; display: block; }
|
|
274
304
|
.proofStrip .pfFallback { display: none; place-items: center; width: 22px; height: 22px; color: #fff; font-size: 8px; font-weight: 900; }
|
|
275
305
|
.proofStrip .pfDot { color: var(--echo-ink-faint); }
|
|
276
306
|
.proofStrip .pfNote { color: var(--echo-ink-faint); font-size: 12px; }
|
|
277
307
|
/* The action block: button first, reassurances attached right under it. Centered. */
|
|
278
|
-
.readyGo { display: grid; gap: 11px; margin-top:
|
|
308
|
+
.readyGo { display: grid; gap: 11px; margin-top: 10px; justify-items: center; }
|
|
279
309
|
.ctaMeta { margin: 0; max-width: 480px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 9px; font-family: var(--echo-font-mono); font-size: 12px; line-height: 1.5; color: var(--echo-ink-mute); }
|
|
280
310
|
.ctaMeta .cm { white-space: nowrap; }
|
|
281
311
|
.ctaMeta .cmDot { color: var(--echo-ink-faint); }
|
|
@@ -284,8 +314,8 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
284
314
|
display: grid;
|
|
285
315
|
justify-items: center;
|
|
286
316
|
gap: 14px;
|
|
287
|
-
margin-top: clamp(
|
|
288
|
-
opacity: 0.
|
|
317
|
+
margin-top: clamp(18px, 4vh, 38px);
|
|
318
|
+
opacity: 0.88;
|
|
289
319
|
}
|
|
290
320
|
.readyTime {
|
|
291
321
|
width: 100%;
|
|
@@ -683,148 +713,77 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
683
713
|
.exOverdue { margin: 0; max-width: 620px; border: 1px solid rgba(196, 148, 42, 0.45); background: rgba(233, 185, 73, 0.12); border-radius: 8px; padding: 12px 14px; font-size: 13px; line-height: 1.5; color: var(--echo-ink-text); }
|
|
684
714
|
.exOverdue strong { display: block; margin-bottom: 4px; color: var(--echo-ink-primary); }
|
|
685
715
|
.is-hidden { display: none !important; }
|
|
686
|
-
.
|
|
687
|
-
.
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
overflow: hidden;
|
|
691
|
-
border: 1px solid rgba(33,64,154,0.42);
|
|
692
|
-
border-radius: 12px;
|
|
693
|
-
background:
|
|
694
|
-
linear-gradient(180deg, rgba(239,244,255,0.98) 0%, rgba(255,255,255,0.99) 46%),
|
|
695
|
-
var(--echo-paper-white);
|
|
696
|
-
padding: clamp(24px, 4vw, 36px);
|
|
697
|
-
box-shadow: 0 28px 60px -42px rgba(33,64,154,0.48);
|
|
716
|
+
.setupPlanSlot { width: 100%; margin-top: 4px; }
|
|
717
|
+
.setupPlanChoice {
|
|
718
|
+
border-top: 1px solid var(--echo-line-soft);
|
|
719
|
+
padding-top: 20px;
|
|
698
720
|
text-align: left;
|
|
699
721
|
}
|
|
700
|
-
.
|
|
701
|
-
content: "";
|
|
702
|
-
position: absolute;
|
|
703
|
-
inset: 0 0 auto 0;
|
|
704
|
-
height: 8px;
|
|
705
|
-
background: linear-gradient(90deg, #18317d, #4b6bd4, var(--echo-ink-primary));
|
|
706
|
-
}
|
|
707
|
-
.recallEyebrow {
|
|
708
|
-
display: inline-flex;
|
|
709
|
-
align-items: center;
|
|
710
|
-
gap: 8px;
|
|
711
|
-
margin: 0 0 14px;
|
|
712
|
-
border: 1px solid rgba(33,64,154,0.18);
|
|
713
|
-
border-radius: 999px;
|
|
714
|
-
background: #eef3ff;
|
|
715
|
-
padding: 7px 11px;
|
|
716
|
-
font-family: var(--echo-font-mono);
|
|
717
|
-
font-size: 11px;
|
|
718
|
-
font-weight: 900;
|
|
719
|
-
letter-spacing: 0.06em;
|
|
720
|
-
text-transform: uppercase;
|
|
721
|
-
color: #18317d;
|
|
722
|
-
}
|
|
723
|
-
.recallEyebrow i {
|
|
724
|
-
width: 8px;
|
|
725
|
-
height: 8px;
|
|
726
|
-
border-radius: 999px;
|
|
727
|
-
background: var(--echo-ink-primary);
|
|
728
|
-
box-shadow: 0 0 0 4px rgba(33,64,154,0.1);
|
|
729
|
-
}
|
|
730
|
-
.recallGate h3 {
|
|
722
|
+
.setupPlanIntro h3 {
|
|
731
723
|
margin: 0;
|
|
732
|
-
max-width: 520px;
|
|
733
724
|
font-family: var(--echo-font-brand);
|
|
734
|
-
font-size: clamp(
|
|
735
|
-
line-height: 1.
|
|
736
|
-
font-weight: 900;
|
|
725
|
+
font-size: clamp(20px, 2.5vw, 27px);
|
|
726
|
+
line-height: 1.08;
|
|
737
727
|
color: var(--echo-ink-text);
|
|
738
|
-
letter-spacing: 0;
|
|
739
728
|
}
|
|
740
|
-
.
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
line-height: 1.55;
|
|
729
|
+
.setupPlanIntro p {
|
|
730
|
+
margin: 6px 0 0;
|
|
731
|
+
font-size: 14px;
|
|
732
|
+
line-height: 1.45;
|
|
745
733
|
color: var(--echo-ink-mute);
|
|
746
734
|
}
|
|
747
|
-
.
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
align-items: center;
|
|
753
|
-
border: 1px solid rgba(33,64,154,0.18);
|
|
754
|
-
border-radius: 10px;
|
|
755
|
-
background: #f3f6ff;
|
|
756
|
-
padding: 10px 12px;
|
|
757
|
-
color: #18317d;
|
|
758
|
-
}
|
|
759
|
-
.recallTrial strong {
|
|
760
|
-
font-size: 28px;
|
|
761
|
-
line-height: 1;
|
|
762
|
-
color: #18317d;
|
|
763
|
-
}
|
|
764
|
-
.recallTrial span {
|
|
765
|
-
font-size: 13px;
|
|
766
|
-
line-height: 1.25;
|
|
767
|
-
font-weight: 800;
|
|
768
|
-
}
|
|
769
|
-
.recallUsedNote {
|
|
770
|
-
margin-top: 18px;
|
|
771
|
-
border-left: 4px solid var(--echo-ink-primary);
|
|
772
|
-
background: #f3f6ff;
|
|
773
|
-
padding: 11px 13px;
|
|
774
|
-
color: #18317d;
|
|
775
|
-
font-size: 13px;
|
|
776
|
-
line-height: 1.45;
|
|
777
|
-
font-weight: 700;
|
|
735
|
+
.setupPlanGrid {
|
|
736
|
+
display: grid;
|
|
737
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
738
|
+
gap: 12px;
|
|
739
|
+
margin-top: 16px;
|
|
778
740
|
}
|
|
779
|
-
.
|
|
741
|
+
.setupPlanCard {
|
|
780
742
|
display: flex;
|
|
781
|
-
flex-
|
|
782
|
-
gap: 14px;
|
|
783
|
-
align-items: center;
|
|
784
|
-
margin-top: 24px;
|
|
785
|
-
}
|
|
786
|
-
.recallGateActions button {
|
|
787
|
-
min-height: 50px;
|
|
788
|
-
}
|
|
789
|
-
.recallGateActions .primary {
|
|
743
|
+
flex-direction: column;
|
|
790
744
|
min-width: 0;
|
|
791
|
-
border-color: #18317d;
|
|
792
|
-
background: var(--echo-ink-primary);
|
|
793
|
-
color: #fff;
|
|
794
|
-
box-shadow: 0 18px 34px -26px rgba(33,64,154,0.85);
|
|
795
|
-
}
|
|
796
|
-
.recallGateActions .primary:hover {
|
|
797
|
-
background: #18317d;
|
|
798
|
-
}
|
|
799
|
-
.recallGate .recallFine {
|
|
800
|
-
margin-top: 10px;
|
|
801
|
-
font-family: var(--echo-font-mono);
|
|
802
|
-
font-size: 11px;
|
|
803
|
-
color: var(--echo-ink-faint);
|
|
804
|
-
}
|
|
805
|
-
@media (max-width: 720px) {
|
|
806
|
-
.recallGateActions .primary { width: 100%; }
|
|
807
|
-
}
|
|
808
|
-
.recallGate code,
|
|
809
|
-
.recallSkipNote code {
|
|
810
|
-
font-family: var(--echo-font-mono);
|
|
811
|
-
font-size: 0.92em;
|
|
812
|
-
background: var(--echo-paper-soft);
|
|
813
745
|
border: 1px solid var(--echo-line-soft);
|
|
814
|
-
border-radius:
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
}
|
|
818
|
-
.
|
|
819
|
-
.
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
746
|
+
border-radius: 10px;
|
|
747
|
+
background: var(--echo-paper-white);
|
|
748
|
+
padding: 16px;
|
|
749
|
+
}
|
|
750
|
+
.setupPlanCard.is-pro { border-color: rgba(33,64,154,0.42); background: #f7f9ff; }
|
|
751
|
+
.setupPlanHead { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
|
|
752
|
+
.setupPlanHead strong { font-family: var(--echo-font-brand); font-size: 20px; color: var(--echo-ink-primary); }
|
|
753
|
+
.setupPlanHead span { font-family: var(--echo-font-mono); font-size: 11px; font-weight: 800; color: var(--echo-ink-mute); }
|
|
754
|
+
.setupPlanCard > p { margin: 7px 0 0; font-size: 13px; line-height: 1.4; color: var(--echo-ink-mute); }
|
|
755
|
+
.setupPlanCard ul { display: grid; gap: 8px; margin: 15px 0 20px; padding: 0; list-style: none; }
|
|
756
|
+
.setupPlanCard li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 7px; align-items: start; font-size: 12px; line-height: 1.4; color: var(--echo-ink-text); }
|
|
757
|
+
.setupPlanCard li .setupGlyph { width: 16px; height: 16px; color: var(--echo-ink-accent-deep); }
|
|
758
|
+
.setupPlanCard button { width: 100%; min-height: 42px; margin-top: auto; }
|
|
759
|
+
.setupPlanCard small { margin-top: 7px; text-align: center; font-family: var(--echo-font-mono); font-size: 9px; color: var(--echo-ink-faint); }
|
|
760
|
+
.setupPlanFoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
|
|
761
|
+
.setupPlanFoot a,
|
|
762
|
+
.setupPlanConfirmed .textButton { border: 0; background: transparent; padding: 0; font-size: 12px; font-weight: 800; color: var(--echo-ink-primary); text-decoration: underline; cursor: pointer; }
|
|
763
|
+
.setupPlanFoot span { font-size: 12px; color: var(--echo-ink-mute); }
|
|
764
|
+
.setupPlanConfirmed {
|
|
765
|
+
display: grid;
|
|
766
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
767
|
+
align-items: center;
|
|
768
|
+
gap: 12px;
|
|
769
|
+
border: 1px solid rgba(44,143,104,0.28);
|
|
770
|
+
border-radius: 14px;
|
|
771
|
+
background: rgba(226,246,237,0.58);
|
|
772
|
+
padding: 14px 15px;
|
|
825
773
|
font-size: 13px;
|
|
826
|
-
line-height: 1.45;
|
|
827
774
|
color: var(--echo-ink-mute);
|
|
775
|
+
text-align: left;
|
|
776
|
+
}
|
|
777
|
+
.setupPlanConfirmedIcon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(44,143,104,0.13); color: #257b59; }
|
|
778
|
+
.setupPlanConfirmedIcon .setupGlyph { width: 18px; height: 18px; }
|
|
779
|
+
.setupPlanConfirmedCopy { min-width: 0; }
|
|
780
|
+
.setupPlanConfirmedCopy strong,
|
|
781
|
+
.setupPlanConfirmedCopy > span { display: block; }
|
|
782
|
+
.setupPlanConfirmedCopy strong { color: var(--echo-ink-text); }
|
|
783
|
+
.setupPlanConfirmedCopy > span { margin-top: 2px; line-height: 1.45; }
|
|
784
|
+
.setupPlanConfirmed .textButton { margin-left: 0; }
|
|
785
|
+
@media (max-width: 720px) {
|
|
786
|
+
.setupPlanGrid { grid-template-columns: 1fr; }
|
|
828
787
|
}
|
|
829
788
|
.tryCard { margin-top: 2px; max-width: 760px; border: 2px solid var(--echo-ink-primary); border-radius: 8px; background: var(--echo-paper-white); padding: clamp(18px, 3vw, 26px); box-shadow: 0 18px 38px -28px rgba(26,58,143,0.45); }
|
|
830
789
|
.tryCard .tryK { margin: 0 0 10px; font-family: var(--echo-font-mono); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--echo-ink-primary); }
|
|
@@ -837,6 +796,100 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
837
796
|
color: var(--echo-ink-primary);
|
|
838
797
|
}
|
|
839
798
|
.tryCard > .tryTitle { font-size: clamp(30px, 3.8vw, 48px); line-height: 0.98; }
|
|
799
|
+
.tryLead { margin: -2px 0 0; color: var(--echo-ink-mute); line-height: 1.55; }
|
|
800
|
+
.recallPromptList {
|
|
801
|
+
display: grid;
|
|
802
|
+
gap: 14px;
|
|
803
|
+
margin-top: 24px;
|
|
804
|
+
}
|
|
805
|
+
.recallPrompt {
|
|
806
|
+
border: 1px solid var(--echo-line-soft);
|
|
807
|
+
border-radius: 17px;
|
|
808
|
+
background: var(--echo-paper-white);
|
|
809
|
+
padding: 17px;
|
|
810
|
+
box-shadow: 0 9px 22px -22px rgba(27,51,111,0.75);
|
|
811
|
+
}
|
|
812
|
+
.recallPromptHead {
|
|
813
|
+
display: flex;
|
|
814
|
+
align-items: center;
|
|
815
|
+
justify-content: space-between;
|
|
816
|
+
gap: 14px;
|
|
817
|
+
color: var(--echo-ink-mute);
|
|
818
|
+
}
|
|
819
|
+
.recallPromptHead > span {
|
|
820
|
+
font-family: var(--echo-font-mono);
|
|
821
|
+
font-size: 9px;
|
|
822
|
+
font-weight: 800;
|
|
823
|
+
letter-spacing: 0.08em;
|
|
824
|
+
text-transform: uppercase;
|
|
825
|
+
}
|
|
826
|
+
.recallCopy {
|
|
827
|
+
min-height: 32px;
|
|
828
|
+
gap: 7px;
|
|
829
|
+
border: 1px solid var(--echo-line-soft);
|
|
830
|
+
border-radius: 999px;
|
|
831
|
+
background: var(--echo-paper-soft);
|
|
832
|
+
color: var(--echo-ink-primary);
|
|
833
|
+
padding: 0 11px;
|
|
834
|
+
font-family: var(--echo-font-mono);
|
|
835
|
+
font-size: 10px;
|
|
836
|
+
font-weight: 800;
|
|
837
|
+
letter-spacing: 0.04em;
|
|
838
|
+
}
|
|
839
|
+
.recallCopy:hover { border-color: rgba(26,58,143,0.35); background: var(--echo-note-blue); }
|
|
840
|
+
.recallCopy .setupGlyph { width: 15px; height: 15px; }
|
|
841
|
+
.recallPromptText {
|
|
842
|
+
position: relative;
|
|
843
|
+
margin: 14px 0 0;
|
|
844
|
+
border: 1px solid var(--echo-line-soft);
|
|
845
|
+
border-radius: 12px;
|
|
846
|
+
background: color-mix(in srgb, var(--echo-paper-white) 48%, var(--echo-note-cream) 52%);
|
|
847
|
+
color: var(--echo-ink-text);
|
|
848
|
+
padding: 15px 16px 15px 42px;
|
|
849
|
+
font-family: var(--echo-font-mono);
|
|
850
|
+
font-size: clamp(13px, 1.7vw, 15px);
|
|
851
|
+
font-weight: 450;
|
|
852
|
+
line-height: 1.55;
|
|
853
|
+
}
|
|
854
|
+
.recallPromptText::before {
|
|
855
|
+
content: ">";
|
|
856
|
+
position: absolute;
|
|
857
|
+
top: 15px;
|
|
858
|
+
left: 17px;
|
|
859
|
+
color: var(--echo-ink-accent);
|
|
860
|
+
font-weight: 800;
|
|
861
|
+
}
|
|
862
|
+
.recallPromptActions {
|
|
863
|
+
display: flex;
|
|
864
|
+
flex-wrap: wrap;
|
|
865
|
+
gap: 9px;
|
|
866
|
+
margin-top: 13px;
|
|
867
|
+
}
|
|
868
|
+
.recallAgent {
|
|
869
|
+
min-height: 40px;
|
|
870
|
+
justify-content: center;
|
|
871
|
+
gap: 8px;
|
|
872
|
+
border: 1px solid rgba(26,58,143,0.18);
|
|
873
|
+
border-radius: 999px;
|
|
874
|
+
background: var(--echo-note-blue);
|
|
875
|
+
color: var(--echo-ink-primary);
|
|
876
|
+
padding: 0 15px 0 10px;
|
|
877
|
+
font-size: 12px;
|
|
878
|
+
font-weight: 700;
|
|
879
|
+
}
|
|
880
|
+
.recallAgent.is-claude { border-color: rgba(100,91,69,0.20); background: var(--echo-note-cream); }
|
|
881
|
+
.recallAgent:hover { border-color: rgba(26,58,143,0.42); transform: translateY(-1px); }
|
|
882
|
+
.recallAgentIcon {
|
|
883
|
+
width: 24px;
|
|
884
|
+
height: 24px;
|
|
885
|
+
display: grid;
|
|
886
|
+
place-items: center;
|
|
887
|
+
flex: 0 0 auto;
|
|
888
|
+
overflow: hidden;
|
|
889
|
+
border-radius: 7px;
|
|
890
|
+
background: var(--echo-ink-primary);
|
|
891
|
+
}
|
|
892
|
+
.recallAgentIcon img { width: 100%; height: 100%; display: block; object-fit: cover; }
|
|
840
893
|
.promptShell { position: relative; margin-top: 14px; }
|
|
841
894
|
.tryCard pre { margin: 0; white-space: pre-wrap; word-break: break-word; font-family: var(--echo-font-mono); font-size: 12px; line-height: 1.5; color: var(--echo-ink-mute); background: var(--echo-paper-soft); border: 1px solid var(--echo-line-soft); border-radius: 8px; padding: 11px 118px 11px 13px; }
|
|
842
895
|
.promptControls {
|
|
@@ -1018,6 +1071,981 @@ export const SETUP_PAGE_STYLES_EXTRACTION = String.raw ` /* ---- dashboard (p
|
|
|
1018
1071
|
.resultNumber span { text-align: left; }
|
|
1019
1072
|
}
|
|
1020
1073
|
|
|
1074
|
+
/* ===== Setup hierarchy: permission, destination, plan, and session choice ===== */
|
|
1075
|
+
.consentStage {
|
|
1076
|
+
padding: clamp(18px, 4vw, 48px) 0;
|
|
1077
|
+
}
|
|
1078
|
+
.localConsent {
|
|
1079
|
+
position: relative;
|
|
1080
|
+
overflow: hidden;
|
|
1081
|
+
width: min(940px, 100%);
|
|
1082
|
+
border: 1px solid #c9cbc6;
|
|
1083
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1084
|
+
border-radius: 3px;
|
|
1085
|
+
background: #fbfbf8;
|
|
1086
|
+
padding: 0;
|
|
1087
|
+
box-shadow: none;
|
|
1088
|
+
}
|
|
1089
|
+
.localConsent::before { display: none; }
|
|
1090
|
+
.localConsentAccess {
|
|
1091
|
+
display: grid;
|
|
1092
|
+
grid-template-columns: minmax(0, 0.88fr) minmax(390px, 1.12fr);
|
|
1093
|
+
min-height: 520px;
|
|
1094
|
+
}
|
|
1095
|
+
.consentLead {
|
|
1096
|
+
display: flex;
|
|
1097
|
+
flex-direction: column;
|
|
1098
|
+
min-width: 0;
|
|
1099
|
+
border-right: 1px solid #d7d8d3;
|
|
1100
|
+
padding: clamp(30px, 4vw, 46px);
|
|
1101
|
+
}
|
|
1102
|
+
.consentLead .consentEyebrow,
|
|
1103
|
+
.skippedCopy .consentEyebrow { margin-bottom: 18px; }
|
|
1104
|
+
.consentLead h2 {
|
|
1105
|
+
margin: 0;
|
|
1106
|
+
max-width: 440px;
|
|
1107
|
+
color: var(--echo-ink-primary);
|
|
1108
|
+
font-size: clamp(34px, 4vw, 48px);
|
|
1109
|
+
line-height: 0.98;
|
|
1110
|
+
letter-spacing: -0.016em;
|
|
1111
|
+
}
|
|
1112
|
+
.consentIntro {
|
|
1113
|
+
margin: 20px 0 0;
|
|
1114
|
+
max-width: 420px;
|
|
1115
|
+
color: var(--echo-ink-mute);
|
|
1116
|
+
font-size: 15px;
|
|
1117
|
+
line-height: 1.6;
|
|
1118
|
+
}
|
|
1119
|
+
.consentLocalMark {
|
|
1120
|
+
display: grid;
|
|
1121
|
+
grid-template-columns: 68px 1fr;
|
|
1122
|
+
gap: 14px;
|
|
1123
|
+
align-items: center;
|
|
1124
|
+
margin-top: auto;
|
|
1125
|
+
border-top: 1px solid #d7d8d3;
|
|
1126
|
+
padding-top: 24px;
|
|
1127
|
+
}
|
|
1128
|
+
.consentLocalMark img { width: 68px; height: 68px; object-fit: contain; filter: drop-shadow(0 8px 10px rgba(26,58,143,0.13)); }
|
|
1129
|
+
.consentLocalMark strong,
|
|
1130
|
+
.consentLocalMark small { display: block; }
|
|
1131
|
+
.consentLocalMark strong { color: var(--echo-ink-text); font-size: 13px; }
|
|
1132
|
+
.consentLocalMark small { margin-top: 3px; color: var(--echo-ink-mute); font-size: 11px; line-height: 1.45; }
|
|
1133
|
+
.consentDecision {
|
|
1134
|
+
min-width: 0;
|
|
1135
|
+
padding: clamp(28px, 4vw, 42px);
|
|
1136
|
+
}
|
|
1137
|
+
.consentScopeHead {
|
|
1138
|
+
display: flex;
|
|
1139
|
+
justify-content: space-between;
|
|
1140
|
+
gap: 16px;
|
|
1141
|
+
align-items: baseline;
|
|
1142
|
+
padding-bottom: 13px;
|
|
1143
|
+
}
|
|
1144
|
+
.consentScopeHead strong { color: var(--echo-ink-text); font-size: 16px; }
|
|
1145
|
+
.consentScopeHead span {
|
|
1146
|
+
font-family: var(--echo-font-mono);
|
|
1147
|
+
color: var(--echo-ink-mute);
|
|
1148
|
+
font-size: 10px;
|
|
1149
|
+
font-weight: 800;
|
|
1150
|
+
letter-spacing: 0.07em;
|
|
1151
|
+
text-transform: uppercase;
|
|
1152
|
+
}
|
|
1153
|
+
.setupGlyph {
|
|
1154
|
+
width: 20px;
|
|
1155
|
+
height: 20px;
|
|
1156
|
+
display: block;
|
|
1157
|
+
flex: 0 0 auto;
|
|
1158
|
+
overflow: visible;
|
|
1159
|
+
}
|
|
1160
|
+
.consentScope {
|
|
1161
|
+
display: grid;
|
|
1162
|
+
gap: 0;
|
|
1163
|
+
margin: 0;
|
|
1164
|
+
border-top: 1px solid #afb2ac;
|
|
1165
|
+
border-bottom: 1px solid #afb2ac;
|
|
1166
|
+
border-radius: 0;
|
|
1167
|
+
background: transparent;
|
|
1168
|
+
}
|
|
1169
|
+
.consentScope > div {
|
|
1170
|
+
display: grid;
|
|
1171
|
+
grid-template-columns: 30px 1fr;
|
|
1172
|
+
gap: 14px;
|
|
1173
|
+
align-items: start;
|
|
1174
|
+
padding: 15px 0;
|
|
1175
|
+
}
|
|
1176
|
+
.consentScope > div + div { border-top: 1px solid var(--echo-line-soft); }
|
|
1177
|
+
.consentScopeNumber {
|
|
1178
|
+
padding-top: 2px;
|
|
1179
|
+
font-family: var(--echo-font-mono);
|
|
1180
|
+
color: var(--echo-ink-primary);
|
|
1181
|
+
font-size: 10px;
|
|
1182
|
+
font-weight: 800;
|
|
1183
|
+
letter-spacing: 0.04em;
|
|
1184
|
+
}
|
|
1185
|
+
.consentScope p { margin: 0; }
|
|
1186
|
+
.consentScope strong,
|
|
1187
|
+
.consentScope small { display: block; }
|
|
1188
|
+
.consentScope strong { color: var(--echo-ink-text); font-size: 13px; }
|
|
1189
|
+
.consentScope small { margin-top: 3px; color: var(--echo-ink-mute); font-size: 11px; line-height: 1.45; }
|
|
1190
|
+
.consentCheck {
|
|
1191
|
+
display: grid;
|
|
1192
|
+
grid-template-columns: 20px 1fr;
|
|
1193
|
+
gap: 12px;
|
|
1194
|
+
align-items: start;
|
|
1195
|
+
margin-top: 20px;
|
|
1196
|
+
border: 1px solid #aeb5c5;
|
|
1197
|
+
border-radius: 3px;
|
|
1198
|
+
background: #fff;
|
|
1199
|
+
padding: 13px 14px;
|
|
1200
|
+
cursor: pointer;
|
|
1201
|
+
}
|
|
1202
|
+
.consentCheck:focus-within { outline: 3px solid rgba(26,58,143,0.14); outline-offset: 2px; }
|
|
1203
|
+
.consentCheck input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--echo-ink-primary); }
|
|
1204
|
+
.consentCheck strong,
|
|
1205
|
+
.consentCheck small { display: block; }
|
|
1206
|
+
.consentCheck strong { color: var(--echo-ink-text); font-size: 13px; }
|
|
1207
|
+
.consentCheck small { margin-top: 3px; color: var(--echo-ink-mute); font-size: 11px; line-height: 1.4; }
|
|
1208
|
+
.consentDecision .consentActions { margin-top: 17px; }
|
|
1209
|
+
.consentActions button { border-radius: 4px; }
|
|
1210
|
+
.consentActions .textButton { min-height: 44px; }
|
|
1211
|
+
|
|
1212
|
+
.localConsentSkipped {
|
|
1213
|
+
display: grid;
|
|
1214
|
+
grid-template-columns: 240px minmax(0, 1fr);
|
|
1215
|
+
width: min(820px, 100%);
|
|
1216
|
+
min-height: 360px;
|
|
1217
|
+
border-left-width: 1px;
|
|
1218
|
+
}
|
|
1219
|
+
.skippedEcho {
|
|
1220
|
+
position: relative;
|
|
1221
|
+
overflow: hidden;
|
|
1222
|
+
display: flex;
|
|
1223
|
+
flex-direction: column;
|
|
1224
|
+
justify-content: flex-end;
|
|
1225
|
+
background: var(--echo-ink-primary);
|
|
1226
|
+
padding: 28px;
|
|
1227
|
+
color: #fff;
|
|
1228
|
+
}
|
|
1229
|
+
.skippedEcho::before { content: ""; position: absolute; width: 190px; height: 190px; left: -70px; top: -80px; border: 1px solid rgba(255,255,255,0.18); border-radius: 50%; }
|
|
1230
|
+
.skippedEcho img { position: relative; width: 116px; height: 116px; margin: 0 auto auto; object-fit: contain; filter: drop-shadow(0 12px 16px rgba(0,0,0,0.2)); }
|
|
1231
|
+
.skippedEcho span,
|
|
1232
|
+
.skippedEcho strong { position: relative; display: block; }
|
|
1233
|
+
.skippedEcho span { font-family: var(--echo-font-mono); font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.7; }
|
|
1234
|
+
.skippedEcho strong { margin-top: 4px; font-family: var(--echo-font-brand); font-size: 28px; line-height: 1; }
|
|
1235
|
+
.skippedCopy { padding: clamp(30px, 5vw, 50px); }
|
|
1236
|
+
.skippedCopy h2 { max-width: 520px; margin: 0; color: var(--echo-ink-text); font-size: clamp(34px, 4vw, 48px); line-height: 0.98; }
|
|
1237
|
+
.skippedCopy > p:not(.consentEyebrow):not(.consentFine) { max-width: 520px; margin: 18px 0 0; color: var(--echo-ink-mute); font-size: 15px; line-height: 1.6; }
|
|
1238
|
+
.skippedNext { display: grid; grid-template-columns: 46px 1fr; gap: 12px; margin-top: 24px; border-top: 1px solid #c9cbc6; border-bottom: 1px solid #c9cbc6; padding: 13px 0; }
|
|
1239
|
+
.skippedNext span { font-family: var(--echo-font-mono); color: var(--echo-ink-mute); font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
|
|
1240
|
+
.skippedNext strong { color: var(--echo-ink-text); font-size: 13px; }
|
|
1241
|
+
.skippedCopy .consentActions { margin-top: 20px; }
|
|
1242
|
+
|
|
1243
|
+
.setupAccountSlot,
|
|
1244
|
+
.sessionSelectionSlot { width: 100%; }
|
|
1245
|
+
.setupAccountCard {
|
|
1246
|
+
display: grid;
|
|
1247
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
1248
|
+
gap: 13px;
|
|
1249
|
+
align-items: center;
|
|
1250
|
+
margin: 12px 0 0;
|
|
1251
|
+
border: 1px solid rgba(26,58,143,0.11);
|
|
1252
|
+
border-radius: 16px;
|
|
1253
|
+
background: rgba(255,255,255,0.86);
|
|
1254
|
+
padding: 15px 17px;
|
|
1255
|
+
box-shadow: 0 14px 34px -28px rgba(20,36,84,0.48);
|
|
1256
|
+
text-align: left;
|
|
1257
|
+
backdrop-filter: blur(10px);
|
|
1258
|
+
}
|
|
1259
|
+
.setupAccountAvatar {
|
|
1260
|
+
position: relative;
|
|
1261
|
+
overflow: hidden;
|
|
1262
|
+
width: 44px;
|
|
1263
|
+
height: 44px;
|
|
1264
|
+
display: grid;
|
|
1265
|
+
place-items: center;
|
|
1266
|
+
border-radius: 50%;
|
|
1267
|
+
background: linear-gradient(145deg, #2854bc, var(--echo-ink-primary));
|
|
1268
|
+
color: #fff;
|
|
1269
|
+
font-family: var(--echo-font-brand);
|
|
1270
|
+
font-size: 14px;
|
|
1271
|
+
font-weight: 900;
|
|
1272
|
+
}
|
|
1273
|
+
.setupAccountAvatar > span,
|
|
1274
|
+
.setupAccountAvatar > img { grid-area: 1 / 1; }
|
|
1275
|
+
.setupAccountAvatar > img {
|
|
1276
|
+
width: 100%;
|
|
1277
|
+
height: 100%;
|
|
1278
|
+
display: block;
|
|
1279
|
+
object-fit: cover;
|
|
1280
|
+
}
|
|
1281
|
+
.setupAccountCopy { min-width: 0; }
|
|
1282
|
+
.setupAccountCopy small,
|
|
1283
|
+
.setupAccountCopy strong,
|
|
1284
|
+
.setupAccountCopy > span { display: block; }
|
|
1285
|
+
.setupAccountCopy small {
|
|
1286
|
+
font-family: var(--echo-font-mono);
|
|
1287
|
+
color: var(--echo-ink-mute);
|
|
1288
|
+
font-size: 9px;
|
|
1289
|
+
font-weight: 800;
|
|
1290
|
+
letter-spacing: 0.08em;
|
|
1291
|
+
text-transform: uppercase;
|
|
1292
|
+
}
|
|
1293
|
+
.setupAccountCopy strong { margin-top: 3px; overflow: hidden; color: var(--echo-ink-text); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
|
|
1294
|
+
.setupAccountCopy > span { margin-top: 1px; overflow: hidden; color: var(--echo-ink-mute); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
|
|
1295
|
+
.setupAccountChange { color: var(--echo-ink-primary); }
|
|
1296
|
+
|
|
1297
|
+
.setupPlanSlot { margin-top: 16px; }
|
|
1298
|
+
.setupPlanChoice {
|
|
1299
|
+
position: relative;
|
|
1300
|
+
overflow: hidden;
|
|
1301
|
+
border: 1px solid rgba(26,58,143,0.11);
|
|
1302
|
+
border-radius: 20px;
|
|
1303
|
+
background: rgba(255,255,255,0.78);
|
|
1304
|
+
padding: clamp(20px, 3vw, 28px);
|
|
1305
|
+
box-shadow: 0 22px 55px -42px rgba(20,36,84,0.5);
|
|
1306
|
+
backdrop-filter: blur(10px);
|
|
1307
|
+
}
|
|
1308
|
+
.setupPlanChoice::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--echo-ink-primary), var(--echo-ink-accent)); opacity: 0.9; }
|
|
1309
|
+
.setupPlanIntro { padding-right: min(8vw, 90px); }
|
|
1310
|
+
.setupPlanIntro h3 { font-size: clamp(24px, 3vw, 31px); letter-spacing: -0.012em; }
|
|
1311
|
+
.setupPlanIntro p { max-width: 760px; margin-top: 8px; }
|
|
1312
|
+
.setupPlanGrid { gap: 14px; margin-top: 21px; }
|
|
1313
|
+
.setupPlanCard {
|
|
1314
|
+
position: relative;
|
|
1315
|
+
border-color: rgba(26,58,143,0.12);
|
|
1316
|
+
border-radius: 16px;
|
|
1317
|
+
padding: 19px 18px 17px;
|
|
1318
|
+
box-shadow: 0 12px 30px -28px rgba(20,36,84,0.45);
|
|
1319
|
+
transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
|
|
1320
|
+
}
|
|
1321
|
+
.setupPlanCard:hover { border-color: rgba(26,58,143,0.32); box-shadow: 0 20px 38px -28px rgba(20,36,84,0.55); transform: translateY(-2px); }
|
|
1322
|
+
.setupPlanCard.is-pro { border-color: rgba(33,64,154,0.42); background: linear-gradient(180deg, #f6f8ff 0%, #eef3ff 100%); box-shadow: 0 18px 38px -30px rgba(33,64,154,0.6); }
|
|
1323
|
+
.setupPlanCard.is-pro::before {
|
|
1324
|
+
content: "Popular";
|
|
1325
|
+
position: absolute;
|
|
1326
|
+
top: 12px;
|
|
1327
|
+
right: 13px;
|
|
1328
|
+
border-radius: 999px;
|
|
1329
|
+
background: var(--echo-ink-primary);
|
|
1330
|
+
padding: 5px 8px;
|
|
1331
|
+
color: #fff;
|
|
1332
|
+
font-family: var(--echo-font-mono);
|
|
1333
|
+
font-size: 8px;
|
|
1334
|
+
font-weight: 900;
|
|
1335
|
+
letter-spacing: 0.07em;
|
|
1336
|
+
text-transform: uppercase;
|
|
1337
|
+
}
|
|
1338
|
+
.setupPlanHead { align-items: center; }
|
|
1339
|
+
.setupPlanHead strong { font-size: 22px; }
|
|
1340
|
+
.setupPlanCard.is-pro .setupPlanHead { padding-right: 54px; }
|
|
1341
|
+
.setupPlanCard button { border-radius: 11px; min-height: 46px; }
|
|
1342
|
+
.setupPlanFoot { margin-top: 16px; }
|
|
1343
|
+
.setupPlanConfirmed { margin-top: 2px; box-shadow: 0 12px 30px -28px rgba(44,143,104,0.5); }
|
|
1344
|
+
|
|
1345
|
+
.sessionSelectionCard {
|
|
1346
|
+
display: grid;
|
|
1347
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
1348
|
+
gap: 13px;
|
|
1349
|
+
align-items: center;
|
|
1350
|
+
margin-top: 13px;
|
|
1351
|
+
border: 1px solid rgba(26,58,143,0.16);
|
|
1352
|
+
border-radius: 16px;
|
|
1353
|
+
background: linear-gradient(135deg, rgba(248,250,255,0.96), rgba(241,245,255,0.9));
|
|
1354
|
+
padding: 17px;
|
|
1355
|
+
text-align: left;
|
|
1356
|
+
box-shadow: 0 14px 32px -28px rgba(20,36,84,0.5);
|
|
1357
|
+
}
|
|
1358
|
+
.sessionSelectionCard.is-loading { grid-template-columns: auto 1fr; }
|
|
1359
|
+
.sessionSelectionIcon {
|
|
1360
|
+
width: 40px;
|
|
1361
|
+
height: 40px;
|
|
1362
|
+
display: grid;
|
|
1363
|
+
place-items: center;
|
|
1364
|
+
border-radius: 12px;
|
|
1365
|
+
background: rgba(41,83,186,0.09);
|
|
1366
|
+
color: var(--echo-ink-primary);
|
|
1367
|
+
font-size: 20px;
|
|
1368
|
+
font-weight: 900;
|
|
1369
|
+
}
|
|
1370
|
+
.sessionSelectionIcon .setupGlyph { width: 21px; height: 21px; }
|
|
1371
|
+
.sessionSelectionCopy { min-width: 0; }
|
|
1372
|
+
.sessionSelectionEyebrow,
|
|
1373
|
+
.sessionSelectionCopy > strong,
|
|
1374
|
+
.sessionSelectionCopy p { display: block; }
|
|
1375
|
+
.sessionSelectionEyebrow {
|
|
1376
|
+
font-family: var(--echo-font-mono);
|
|
1377
|
+
color: var(--echo-ink-mute);
|
|
1378
|
+
font-size: 9px;
|
|
1379
|
+
font-weight: 800;
|
|
1380
|
+
letter-spacing: 0.08em;
|
|
1381
|
+
text-transform: uppercase;
|
|
1382
|
+
}
|
|
1383
|
+
.sessionSelectionCopy > strong { margin-top: 3px; color: var(--echo-ink-text); font-size: 17px; }
|
|
1384
|
+
.sessionSelectionCopy p,
|
|
1385
|
+
.sessionSelectionCard.is-loading p { margin: 3px 0 0; color: var(--echo-ink-mute); font-size: 12px; line-height: 1.45; }
|
|
1386
|
+
.sessionSelectionCard.is-loading strong { color: var(--echo-ink-text); }
|
|
1387
|
+
.sessionEditButton { min-height: 40px; border-radius: 10px; white-space: nowrap; }
|
|
1388
|
+
|
|
1389
|
+
.sessionPicker {
|
|
1390
|
+
width: min(860px, calc(100vw - 32px));
|
|
1391
|
+
height: min(780px, calc(100vh - 32px));
|
|
1392
|
+
max-height: min(780px, calc(100vh - 32px));
|
|
1393
|
+
margin: auto;
|
|
1394
|
+
border: 0;
|
|
1395
|
+
border-radius: 18px;
|
|
1396
|
+
background: transparent;
|
|
1397
|
+
padding: 0;
|
|
1398
|
+
color: var(--echo-ink-text);
|
|
1399
|
+
box-shadow: 0 34px 90px -30px rgba(10,18,46,0.68);
|
|
1400
|
+
}
|
|
1401
|
+
.sessionPicker::backdrop { background: rgba(13,21,43,0.62); backdrop-filter: blur(4px); }
|
|
1402
|
+
.sessionPickerShell { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto; height: 100%; min-height: 0; max-height: min(780px, calc(100vh - 32px)); overflow: hidden; background: var(--echo-paper-white); }
|
|
1403
|
+
.sessionPickerHead {
|
|
1404
|
+
display: flex;
|
|
1405
|
+
align-items: flex-start;
|
|
1406
|
+
justify-content: space-between;
|
|
1407
|
+
flex-wrap: nowrap;
|
|
1408
|
+
gap: 20px;
|
|
1409
|
+
margin: 0;
|
|
1410
|
+
border-bottom: 1px solid var(--echo-line-soft);
|
|
1411
|
+
padding: 22px 24px 18px;
|
|
1412
|
+
}
|
|
1413
|
+
.sessionPickerHead > div > span {
|
|
1414
|
+
font-family: var(--echo-font-mono);
|
|
1415
|
+
color: var(--echo-ink-primary);
|
|
1416
|
+
font-size: 10px;
|
|
1417
|
+
font-weight: 900;
|
|
1418
|
+
letter-spacing: 0.08em;
|
|
1419
|
+
text-transform: uppercase;
|
|
1420
|
+
}
|
|
1421
|
+
.sessionPickerHead h2 { margin: 5px 0 0; color: var(--echo-ink-text); font-size: clamp(26px, 4vw, 36px); line-height: 1; }
|
|
1422
|
+
.sessionPickerHead p { margin: 8px 0 0; color: var(--echo-ink-mute); font-size: 13px; }
|
|
1423
|
+
.sessionPickerClose {
|
|
1424
|
+
width: 38px;
|
|
1425
|
+
min-height: 38px;
|
|
1426
|
+
flex: 0 0 auto;
|
|
1427
|
+
border-color: var(--echo-line-soft);
|
|
1428
|
+
border-radius: 50%;
|
|
1429
|
+
background: var(--echo-paper-soft);
|
|
1430
|
+
color: var(--echo-ink-text);
|
|
1431
|
+
padding: 0;
|
|
1432
|
+
font-size: 23px;
|
|
1433
|
+
font-weight: 500;
|
|
1434
|
+
}
|
|
1435
|
+
.sessionPickerToolbar {
|
|
1436
|
+
display: grid;
|
|
1437
|
+
grid-template-columns: minmax(0, 1fr) 180px;
|
|
1438
|
+
gap: 12px;
|
|
1439
|
+
border-bottom: 1px solid var(--echo-line-soft);
|
|
1440
|
+
background: var(--echo-paper-soft);
|
|
1441
|
+
padding: 14px 24px;
|
|
1442
|
+
}
|
|
1443
|
+
.sessionPickerToolbar label { display: grid; gap: 5px; }
|
|
1444
|
+
.sessionPickerToolbar label > span {
|
|
1445
|
+
font-family: var(--echo-font-mono);
|
|
1446
|
+
color: var(--echo-ink-mute);
|
|
1447
|
+
font-size: 9px;
|
|
1448
|
+
font-weight: 800;
|
|
1449
|
+
letter-spacing: 0.07em;
|
|
1450
|
+
text-transform: uppercase;
|
|
1451
|
+
}
|
|
1452
|
+
.sessionPickerToolbar input,
|
|
1453
|
+
.sessionPickerToolbar select {
|
|
1454
|
+
width: 100%;
|
|
1455
|
+
height: 42px;
|
|
1456
|
+
border: 1px solid var(--echo-line-soft);
|
|
1457
|
+
border-radius: 9px;
|
|
1458
|
+
background: var(--echo-paper-white);
|
|
1459
|
+
padding: 0 12px;
|
|
1460
|
+
color: var(--echo-ink-text);
|
|
1461
|
+
font: inherit;
|
|
1462
|
+
font-size: 13px;
|
|
1463
|
+
}
|
|
1464
|
+
.sessionPickerToolbar input:focus,
|
|
1465
|
+
.sessionPickerToolbar select:focus { border-color: var(--echo-ink-primary); outline: 3px solid rgba(26,58,143,0.12); }
|
|
1466
|
+
.sessionPickerActions {
|
|
1467
|
+
display: flex;
|
|
1468
|
+
align-items: center;
|
|
1469
|
+
gap: 8px;
|
|
1470
|
+
border-bottom: 1px solid var(--echo-line-soft);
|
|
1471
|
+
padding: 9px 24px;
|
|
1472
|
+
}
|
|
1473
|
+
.sessionPickerActions > strong { margin-right: auto; color: var(--echo-ink-primary); font-size: 13px; font-variant-numeric: tabular-nums; }
|
|
1474
|
+
.sessionPickerStatus { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
|
|
1475
|
+
.sessionPickerActions .textButton { min-height: 32px; color: var(--echo-ink-primary); }
|
|
1476
|
+
.sessionPickerListWrap { position: relative; min-height: 0; overflow: hidden; background: var(--echo-paper-white); }
|
|
1477
|
+
.sessionPickerList { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; background: var(--echo-paper-white); padding: 6px 0; }
|
|
1478
|
+
.sessionPickerListWrap.is-limit-blocked .sessionPickerList {
|
|
1479
|
+
filter: blur(4px);
|
|
1480
|
+
opacity: 0.36;
|
|
1481
|
+
pointer-events: none;
|
|
1482
|
+
transform: scale(1.012);
|
|
1483
|
+
transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease;
|
|
1484
|
+
user-select: none;
|
|
1485
|
+
}
|
|
1486
|
+
.sessionPickerLimitOverlay {
|
|
1487
|
+
position: absolute;
|
|
1488
|
+
inset: 0;
|
|
1489
|
+
z-index: 3;
|
|
1490
|
+
display: grid;
|
|
1491
|
+
place-items: center;
|
|
1492
|
+
overflow-y: auto;
|
|
1493
|
+
background: rgba(245,247,252,0.38);
|
|
1494
|
+
padding: 20px;
|
|
1495
|
+
backdrop-filter: blur(2px);
|
|
1496
|
+
}
|
|
1497
|
+
.sessionPickerLimitOverlay[hidden] { display: none; }
|
|
1498
|
+
.sessionPickerLimitCard {
|
|
1499
|
+
width: min(470px, 100%);
|
|
1500
|
+
border: 1px solid rgba(26,58,143,0.18);
|
|
1501
|
+
border-radius: 18px;
|
|
1502
|
+
background: rgba(255,255,255,0.92);
|
|
1503
|
+
padding: clamp(24px, 5vw, 36px);
|
|
1504
|
+
text-align: center;
|
|
1505
|
+
box-shadow: 0 24px 56px -28px rgba(20,36,84,0.46), 0 6px 18px rgba(20,24,34,0.10);
|
|
1506
|
+
}
|
|
1507
|
+
.sessionPickerLimitEyebrow {
|
|
1508
|
+
display: inline-block;
|
|
1509
|
+
color: #9b6612;
|
|
1510
|
+
font-family: var(--echo-font-mono);
|
|
1511
|
+
font-size: 10px;
|
|
1512
|
+
font-weight: 900;
|
|
1513
|
+
letter-spacing: 0.1em;
|
|
1514
|
+
text-transform: uppercase;
|
|
1515
|
+
}
|
|
1516
|
+
.sessionPickerLimitCard h3 {
|
|
1517
|
+
margin: 8px 0 0;
|
|
1518
|
+
color: var(--echo-ink-text);
|
|
1519
|
+
font-family: var(--echo-font-brand);
|
|
1520
|
+
font-size: clamp(28px, 5vw, 40px);
|
|
1521
|
+
font-weight: 900;
|
|
1522
|
+
line-height: 1;
|
|
1523
|
+
}
|
|
1524
|
+
.sessionPickerLimitCard p { margin: 13px auto 0; max-width: 360px; color: var(--echo-ink-mute); font-size: 14px; line-height: 1.5; }
|
|
1525
|
+
.sessionPickerLimitActions { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
|
|
1526
|
+
.sessionPickerLimitActions .button { min-height: 46px; padding: 0 20px; }
|
|
1527
|
+
.sessionPickerLimitActions .textButton { color: var(--echo-ink-primary); }
|
|
1528
|
+
.sessionPickerRow {
|
|
1529
|
+
display: grid;
|
|
1530
|
+
grid-template-columns: auto auto minmax(0, 1fr) auto;
|
|
1531
|
+
gap: 12px;
|
|
1532
|
+
align-items: center;
|
|
1533
|
+
margin: 0 8px;
|
|
1534
|
+
border: 1px solid transparent;
|
|
1535
|
+
border-radius: 10px;
|
|
1536
|
+
padding: 10px 14px;
|
|
1537
|
+
cursor: pointer;
|
|
1538
|
+
}
|
|
1539
|
+
.sessionPickerRow:hover { background: var(--echo-paper-soft); }
|
|
1540
|
+
.sessionPickerRow.is-selected { border-color: rgba(26,58,143,0.15); background: #f4f7ff; }
|
|
1541
|
+
.sessionPickerRow > input { width: 17px; height: 17px; margin: 0; accent-color: var(--echo-ink-primary); }
|
|
1542
|
+
.sessionPickerSource {
|
|
1543
|
+
width: 32px;
|
|
1544
|
+
height: 32px;
|
|
1545
|
+
display: grid;
|
|
1546
|
+
place-items: center;
|
|
1547
|
+
border-radius: 8px;
|
|
1548
|
+
background: #fff;
|
|
1549
|
+
color: var(--echo-ink-primary);
|
|
1550
|
+
font-family: var(--echo-font-mono);
|
|
1551
|
+
font-size: 9px;
|
|
1552
|
+
font-weight: 900;
|
|
1553
|
+
}
|
|
1554
|
+
.sessionPickerSource.is-claude { background: #fff; }
|
|
1555
|
+
.sessionPickerSource img,
|
|
1556
|
+
.sessionPickerSourceFallback {
|
|
1557
|
+
width: 100%;
|
|
1558
|
+
height: 100%;
|
|
1559
|
+
border-radius: inherit;
|
|
1560
|
+
}
|
|
1561
|
+
.sessionPickerSource img { display: block; object-fit: contain; padding: 4px; }
|
|
1562
|
+
.sessionPickerSourceFallback { display: none; place-items: center; }
|
|
1563
|
+
.sessionPickerMain { min-width: 0; }
|
|
1564
|
+
.sessionPickerMain strong,
|
|
1565
|
+
.sessionPickerMain small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1566
|
+
.sessionPickerMain strong { color: var(--echo-ink-text); font-size: 13px; }
|
|
1567
|
+
.sessionPickerMain small { margin-top: 3px; color: var(--echo-ink-mute); font-size: 11px; }
|
|
1568
|
+
.sessionPickerMeta { font-family: var(--echo-font-mono); color: var(--echo-ink-mute); font-size: 10px; white-space: nowrap; }
|
|
1569
|
+
.sessionPickerOverflow,
|
|
1570
|
+
.sessionPickerEmpty { margin: 0; padding: 18px 24px; color: var(--echo-ink-mute); font-size: 12px; text-align: center; }
|
|
1571
|
+
.sessionPickerFoot {
|
|
1572
|
+
display: flex;
|
|
1573
|
+
align-items: center;
|
|
1574
|
+
justify-content: space-between;
|
|
1575
|
+
gap: 18px;
|
|
1576
|
+
border-top: 1px solid var(--echo-line-soft);
|
|
1577
|
+
background: var(--echo-paper-soft);
|
|
1578
|
+
padding: 14px 24px;
|
|
1579
|
+
}
|
|
1580
|
+
.sessionPickerFoot p { margin: 0; color: var(--echo-ink-mute); font-size: 12px; }
|
|
1581
|
+
.sessionPickerFootActions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
|
|
1582
|
+
.sessionPickerFoot button { min-width: 170px; }
|
|
1583
|
+
|
|
1584
|
+
.pauseStatus {
|
|
1585
|
+
display: grid;
|
|
1586
|
+
justify-items: center;
|
|
1587
|
+
gap: 7px;
|
|
1588
|
+
color: var(--echo-ink-mute);
|
|
1589
|
+
}
|
|
1590
|
+
.pauseStatus > span {
|
|
1591
|
+
width: 50px;
|
|
1592
|
+
height: 50px;
|
|
1593
|
+
display: grid;
|
|
1594
|
+
place-items: center;
|
|
1595
|
+
border: 1px solid var(--echo-line-soft);
|
|
1596
|
+
border-radius: 50%;
|
|
1597
|
+
background: var(--echo-paper-soft);
|
|
1598
|
+
color: var(--echo-ink-primary);
|
|
1599
|
+
font-family: var(--echo-font-brand);
|
|
1600
|
+
font-size: 18px;
|
|
1601
|
+
font-weight: 900;
|
|
1602
|
+
}
|
|
1603
|
+
.pauseStatus > span .setupGlyph { width: 24px; height: 24px; }
|
|
1604
|
+
.pauseStatus small {
|
|
1605
|
+
font-family: var(--echo-font-mono);
|
|
1606
|
+
font-size: 10px;
|
|
1607
|
+
font-weight: 800;
|
|
1608
|
+
letter-spacing: 0.08em;
|
|
1609
|
+
text-transform: uppercase;
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
/* ===== Echo editorial utility system =====
|
|
1613
|
+
Setup is one working document, not a stack of floating SaaS cards. */
|
|
1614
|
+
.utilityEyebrow {
|
|
1615
|
+
margin: 0;
|
|
1616
|
+
font-family: var(--echo-font-mono);
|
|
1617
|
+
color: var(--echo-ink-primary);
|
|
1618
|
+
font-size: 10px;
|
|
1619
|
+
font-weight: 900;
|
|
1620
|
+
letter-spacing: 0.1em;
|
|
1621
|
+
line-height: 1.35;
|
|
1622
|
+
text-transform: uppercase;
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1625
|
+
.readyDecision {
|
|
1626
|
+
max-width: min(980px, calc(100vw - clamp(24px, 7vw, 104px)));
|
|
1627
|
+
justify-items: stretch;
|
|
1628
|
+
gap: 0;
|
|
1629
|
+
border-top: 1px solid #c9cbc6;
|
|
1630
|
+
border-right: 1px solid #c9cbc6;
|
|
1631
|
+
border-bottom: 1px solid #c9cbc6;
|
|
1632
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1633
|
+
border-radius: 2px;
|
|
1634
|
+
background: var(--echo-paper-white);
|
|
1635
|
+
text-align: left;
|
|
1636
|
+
}
|
|
1637
|
+
.readyEyebrow {
|
|
1638
|
+
width: 100%;
|
|
1639
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1640
|
+
background: var(--echo-paper-soft);
|
|
1641
|
+
padding: 13px clamp(22px, 4vw, 34px);
|
|
1642
|
+
}
|
|
1643
|
+
.readyHero {
|
|
1644
|
+
width: 100%;
|
|
1645
|
+
grid-template-columns: 94px minmax(0, 1fr);
|
|
1646
|
+
justify-items: start;
|
|
1647
|
+
align-items: center;
|
|
1648
|
+
gap: clamp(20px, 3vw, 34px);
|
|
1649
|
+
margin: 0;
|
|
1650
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1651
|
+
padding: clamp(26px, 4vw, 42px) clamp(22px, 4vw, 34px);
|
|
1652
|
+
}
|
|
1653
|
+
.readyMascot {
|
|
1654
|
+
width: 84px;
|
|
1655
|
+
height: 84px;
|
|
1656
|
+
filter: none;
|
|
1657
|
+
}
|
|
1658
|
+
.readyHero .exCopy h2 {
|
|
1659
|
+
max-width: 760px;
|
|
1660
|
+
font-size: clamp(38px, 5vw, 60px);
|
|
1661
|
+
line-height: 0.96;
|
|
1662
|
+
}
|
|
1663
|
+
.readyHero .exCopy .exSub {
|
|
1664
|
+
max-width: 650px;
|
|
1665
|
+
margin: 14px 0 0;
|
|
1666
|
+
}
|
|
1667
|
+
.proofStrip {
|
|
1668
|
+
width: 100%;
|
|
1669
|
+
justify-content: flex-start;
|
|
1670
|
+
min-height: 44px;
|
|
1671
|
+
margin: 0;
|
|
1672
|
+
border: 0;
|
|
1673
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1674
|
+
border-radius: 0;
|
|
1675
|
+
background: #f7f6f2;
|
|
1676
|
+
padding: 9px clamp(22px, 4vw, 34px);
|
|
1677
|
+
box-shadow: none;
|
|
1678
|
+
backdrop-filter: none;
|
|
1679
|
+
}
|
|
1680
|
+
.proofStrip .pfIcon {
|
|
1681
|
+
border-radius: 2px;
|
|
1682
|
+
box-shadow: inset 0 0 0 1px #d7d8d3;
|
|
1683
|
+
}
|
|
1684
|
+
.setupAccountSlot,
|
|
1685
|
+
.setupPlanSlot,
|
|
1686
|
+
.sessionSelectionSlot { margin: 0; }
|
|
1687
|
+
.setupAccountCard {
|
|
1688
|
+
margin: 0;
|
|
1689
|
+
border: 0;
|
|
1690
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1691
|
+
border-radius: 0;
|
|
1692
|
+
background: var(--echo-paper-white);
|
|
1693
|
+
padding: 15px clamp(22px, 4vw, 34px);
|
|
1694
|
+
box-shadow: none;
|
|
1695
|
+
backdrop-filter: none;
|
|
1696
|
+
}
|
|
1697
|
+
.setupAccountAvatar {
|
|
1698
|
+
width: 42px;
|
|
1699
|
+
height: 42px;
|
|
1700
|
+
border-radius: 2px;
|
|
1701
|
+
background: var(--echo-ink-primary);
|
|
1702
|
+
}
|
|
1703
|
+
.setupAccountChange { border-radius: 2px; }
|
|
1704
|
+
|
|
1705
|
+
.setupPlanChoice {
|
|
1706
|
+
overflow: visible;
|
|
1707
|
+
margin: 0;
|
|
1708
|
+
border: 0;
|
|
1709
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1710
|
+
border-radius: 0;
|
|
1711
|
+
background: var(--echo-paper-white);
|
|
1712
|
+
padding: clamp(24px, 4vw, 34px);
|
|
1713
|
+
box-shadow: none;
|
|
1714
|
+
backdrop-filter: none;
|
|
1715
|
+
}
|
|
1716
|
+
.setupPlanChoice::before { display: none; }
|
|
1717
|
+
.setupPlanIntro { padding-right: 0; }
|
|
1718
|
+
.setupPlanIntro h3 { font-size: clamp(25px, 3vw, 32px); }
|
|
1719
|
+
.setupPlanGrid {
|
|
1720
|
+
gap: 0;
|
|
1721
|
+
margin-top: 22px;
|
|
1722
|
+
border-top: 1px solid #bfc1bb;
|
|
1723
|
+
border-bottom: 1px solid #bfc1bb;
|
|
1724
|
+
}
|
|
1725
|
+
.setupPlanCard {
|
|
1726
|
+
position: relative;
|
|
1727
|
+
border: 0;
|
|
1728
|
+
border-radius: 0;
|
|
1729
|
+
background: transparent;
|
|
1730
|
+
padding: 20px 18px 18px;
|
|
1731
|
+
box-shadow: none;
|
|
1732
|
+
transition: background 150ms ease;
|
|
1733
|
+
}
|
|
1734
|
+
.setupPlanCard + .setupPlanCard { border-left: 1px solid #d7d8d3; }
|
|
1735
|
+
.setupPlanCard:hover {
|
|
1736
|
+
border-color: transparent;
|
|
1737
|
+
background: #f7f6f2;
|
|
1738
|
+
box-shadow: none;
|
|
1739
|
+
transform: none;
|
|
1740
|
+
}
|
|
1741
|
+
.setupPlanCard.is-pro {
|
|
1742
|
+
border-color: transparent;
|
|
1743
|
+
background: #f2f5fc;
|
|
1744
|
+
box-shadow: inset 0 3px 0 var(--echo-ink-primary);
|
|
1745
|
+
}
|
|
1746
|
+
.setupPlanCard.is-pro::before {
|
|
1747
|
+
top: 16px;
|
|
1748
|
+
right: 16px;
|
|
1749
|
+
border: 0;
|
|
1750
|
+
border-radius: 0;
|
|
1751
|
+
background: transparent;
|
|
1752
|
+
padding: 0;
|
|
1753
|
+
color: var(--echo-ink-primary);
|
|
1754
|
+
font-size: 8px;
|
|
1755
|
+
}
|
|
1756
|
+
.setupPlanCard.is-pro .setupPlanHead { padding-right: 50px; }
|
|
1757
|
+
.setupPlanCard button,
|
|
1758
|
+
.sessionEditButton { border-radius: 4px; box-shadow: none; }
|
|
1759
|
+
.setupPlanConfirmed {
|
|
1760
|
+
margin: 0;
|
|
1761
|
+
border: 0;
|
|
1762
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1763
|
+
border-radius: 0;
|
|
1764
|
+
background: #f3f8f5;
|
|
1765
|
+
padding: 15px clamp(22px, 4vw, 34px);
|
|
1766
|
+
box-shadow: inset 4px 0 0 #2c8f68;
|
|
1767
|
+
}
|
|
1768
|
+
.setupPlanConfirmedIcon {
|
|
1769
|
+
border-radius: 2px;
|
|
1770
|
+
background: transparent;
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
.sessionSelectionCard {
|
|
1774
|
+
margin: 0;
|
|
1775
|
+
border: 0;
|
|
1776
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1777
|
+
border-radius: 0;
|
|
1778
|
+
background: #f7f6f2;
|
|
1779
|
+
padding: 16px clamp(22px, 4vw, 34px);
|
|
1780
|
+
box-shadow: none;
|
|
1781
|
+
}
|
|
1782
|
+
.sessionSelectionIcon {
|
|
1783
|
+
width: 38px;
|
|
1784
|
+
height: 38px;
|
|
1785
|
+
border: 1px solid #c8cbc5;
|
|
1786
|
+
border-radius: 2px;
|
|
1787
|
+
background: var(--echo-paper-white);
|
|
1788
|
+
}
|
|
1789
|
+
.readyGo {
|
|
1790
|
+
width: 100%;
|
|
1791
|
+
justify-items: start;
|
|
1792
|
+
margin: 0;
|
|
1793
|
+
padding: 24px clamp(22px, 4vw, 34px) 26px;
|
|
1794
|
+
}
|
|
1795
|
+
.readyDecision .actions { justify-content: flex-start; }
|
|
1796
|
+
.readyDecision .actions .primary {
|
|
1797
|
+
min-height: 52px;
|
|
1798
|
+
border-radius: 4px;
|
|
1799
|
+
box-shadow: none;
|
|
1800
|
+
}
|
|
1801
|
+
.readyDecision .actions .skipHistoryButton {
|
|
1802
|
+
min-height: 52px;
|
|
1803
|
+
border-radius: 4px;
|
|
1804
|
+
}
|
|
1805
|
+
.readyDecision .actions .primary:not(:disabled):hover { box-shadow: none; }
|
|
1806
|
+
.ctaMeta { justify-content: flex-start; }
|
|
1807
|
+
.readyFoot {
|
|
1808
|
+
width: 100%;
|
|
1809
|
+
justify-items: stretch;
|
|
1810
|
+
gap: 0;
|
|
1811
|
+
margin: 0;
|
|
1812
|
+
border-top: 1px solid #d7d8d3;
|
|
1813
|
+
padding: 15px clamp(22px, 4vw, 34px) 18px;
|
|
1814
|
+
opacity: 1;
|
|
1815
|
+
}
|
|
1816
|
+
.readyExplain { max-width: none; border: 0; padding: 0; }
|
|
1817
|
+
.readySteps { gap: 0; border-top: 1px solid #d7d8d3; border-bottom: 1px solid #d7d8d3; }
|
|
1818
|
+
.readyStep { border: 0; border-radius: 0; padding: 12px; }
|
|
1819
|
+
.readyStep + .readyStep { border-left: 1px solid #d7d8d3; }
|
|
1820
|
+
|
|
1821
|
+
.loading-panel {
|
|
1822
|
+
border-top: 1px solid #c9cbc6;
|
|
1823
|
+
border-right: 1px solid #c9cbc6;
|
|
1824
|
+
border-bottom: 1px solid #c9cbc6;
|
|
1825
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1826
|
+
border-radius: 2px;
|
|
1827
|
+
background: var(--echo-paper-white);
|
|
1828
|
+
box-shadow: none;
|
|
1829
|
+
}
|
|
1830
|
+
.loading-panel .warning,
|
|
1831
|
+
.loading-panel .error { border-radius: 2px; }
|
|
1832
|
+
|
|
1833
|
+
.exHeroActive,
|
|
1834
|
+
.exHeroResult {
|
|
1835
|
+
border-top: 1px solid #c9cbc6;
|
|
1836
|
+
border-right: 1px solid #c9cbc6;
|
|
1837
|
+
border-bottom: 1px solid #c9cbc6;
|
|
1838
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1839
|
+
border-radius: 2px;
|
|
1840
|
+
background: var(--echo-paper-white);
|
|
1841
|
+
padding: clamp(28px, 5vw, 48px);
|
|
1842
|
+
}
|
|
1843
|
+
.workbench { max-width: none; gap: 15px; }
|
|
1844
|
+
.workbench h2 { margin-top: 4px; }
|
|
1845
|
+
.workbench .track {
|
|
1846
|
+
height: 6px;
|
|
1847
|
+
margin: 7px 0 10px;
|
|
1848
|
+
border-radius: 0;
|
|
1849
|
+
}
|
|
1850
|
+
.workbench .track .fill { border-radius: 0; }
|
|
1851
|
+
.exCurrent i {
|
|
1852
|
+
width: 10px;
|
|
1853
|
+
height: 10px;
|
|
1854
|
+
border-radius: 2px;
|
|
1855
|
+
box-shadow: none;
|
|
1856
|
+
}
|
|
1857
|
+
.exOverdue { border-radius: 2px; }
|
|
1858
|
+
|
|
1859
|
+
.resultStage { max-width: none; padding: 0; }
|
|
1860
|
+
.resultTop { border-top: 1px solid #d7d8d3; padding-top: 18px; }
|
|
1861
|
+
.resultNumber { border-radius: 2px; }
|
|
1862
|
+
.tryCard {
|
|
1863
|
+
max-width: none;
|
|
1864
|
+
border: 1px solid #aeb5c5;
|
|
1865
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1866
|
+
border-radius: 2px;
|
|
1867
|
+
padding: clamp(20px, 3vw, 28px);
|
|
1868
|
+
box-shadow: none;
|
|
1869
|
+
}
|
|
1870
|
+
.tryCard pre,
|
|
1871
|
+
.promptPeek pre { border-radius: 2px; }
|
|
1872
|
+
.promptCopyLabel { border-radius: 2px; }
|
|
1873
|
+
.agentLaunch { gap: 0; border-top: 1px solid #d7d8d3; border-bottom: 1px solid #d7d8d3; }
|
|
1874
|
+
.agentLaunch button {
|
|
1875
|
+
border: 0;
|
|
1876
|
+
border-radius: 0;
|
|
1877
|
+
box-shadow: none;
|
|
1878
|
+
}
|
|
1879
|
+
.agentLaunch button + button { border-left: 1px solid #d7d8d3; }
|
|
1880
|
+
.agentIcon { border-radius: 2px; box-shadow: none; }
|
|
1881
|
+
.hudTip {
|
|
1882
|
+
max-width: none;
|
|
1883
|
+
border-top: 1px solid #d7d8d3;
|
|
1884
|
+
border-bottom: 1px solid #d7d8d3;
|
|
1885
|
+
padding: 14px 0;
|
|
1886
|
+
}
|
|
1887
|
+
.hudTip img { filter: none; }
|
|
1888
|
+
.doneCloseNote { margin-top: 18px; }
|
|
1889
|
+
|
|
1890
|
+
.miniLoad {
|
|
1891
|
+
width: min(680px, calc(100vw - 40px));
|
|
1892
|
+
max-width: 680px;
|
|
1893
|
+
gap: 14px;
|
|
1894
|
+
margin: 0 auto;
|
|
1895
|
+
border-top: 1px solid #c9cbc6;
|
|
1896
|
+
border-right: 1px solid #c9cbc6;
|
|
1897
|
+
border-bottom: 1px solid #c9cbc6;
|
|
1898
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1899
|
+
border-radius: 2px;
|
|
1900
|
+
background: var(--echo-paper-white);
|
|
1901
|
+
padding: clamp(30px, 6vw, 56px);
|
|
1902
|
+
text-align: left;
|
|
1903
|
+
place-items: start;
|
|
1904
|
+
}
|
|
1905
|
+
.miniLoad h2 { font-size: clamp(32px, 5vw, 48px); }
|
|
1906
|
+
.miniLoad p { max-width: 560px; }
|
|
1907
|
+
.miniBar {
|
|
1908
|
+
width: min(420px, 100%);
|
|
1909
|
+
height: 6px;
|
|
1910
|
+
margin-top: 12px;
|
|
1911
|
+
border-radius: 0;
|
|
1912
|
+
}
|
|
1913
|
+
.miniBar i { border-radius: 0; }
|
|
1914
|
+
|
|
1915
|
+
.skipStage {
|
|
1916
|
+
width: min(820px, calc(100vw - 40px));
|
|
1917
|
+
max-width: 820px;
|
|
1918
|
+
justify-items: start;
|
|
1919
|
+
gap: 16px;
|
|
1920
|
+
border-top: 1px solid #c9cbc6;
|
|
1921
|
+
border-right: 1px solid #c9cbc6;
|
|
1922
|
+
border-bottom: 1px solid #c9cbc6;
|
|
1923
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1924
|
+
border-radius: 2px;
|
|
1925
|
+
background: var(--echo-paper-white);
|
|
1926
|
+
padding: clamp(28px, 5vw, 46px);
|
|
1927
|
+
text-align: left;
|
|
1928
|
+
}
|
|
1929
|
+
.skipStage h2 { max-width: 680px; }
|
|
1930
|
+
.skipStage p { max-width: 660px; }
|
|
1931
|
+
.skipStage .tryCard,
|
|
1932
|
+
.skipStage .hudTip { width: 100%; }
|
|
1933
|
+
.pauseStatus {
|
|
1934
|
+
grid-template-columns: 32px auto;
|
|
1935
|
+
justify-items: start;
|
|
1936
|
+
align-items: center;
|
|
1937
|
+
gap: 10px;
|
|
1938
|
+
}
|
|
1939
|
+
.pauseStatus > span {
|
|
1940
|
+
width: 32px;
|
|
1941
|
+
height: 32px;
|
|
1942
|
+
border-radius: 2px;
|
|
1943
|
+
background: var(--echo-paper-white);
|
|
1944
|
+
}
|
|
1945
|
+
|
|
1946
|
+
.sessionPicker {
|
|
1947
|
+
border-top: 1px solid #c9cbc6;
|
|
1948
|
+
border-right: 1px solid #c9cbc6;
|
|
1949
|
+
border-bottom: 1px solid #c9cbc6;
|
|
1950
|
+
border-left: 5px solid var(--echo-ink-primary);
|
|
1951
|
+
border-radius: 2px;
|
|
1952
|
+
background: var(--echo-paper-white);
|
|
1953
|
+
box-shadow: 0 28px 70px -44px rgba(10,18,46,0.72);
|
|
1954
|
+
}
|
|
1955
|
+
.sessionPicker::backdrop { background: rgba(28,31,38,0.58); backdrop-filter: none; }
|
|
1956
|
+
.sessionPickerShell { background: var(--echo-paper-white); }
|
|
1957
|
+
.sessionPickerHead { background: var(--echo-paper-white); }
|
|
1958
|
+
.sessionPickerClose,
|
|
1959
|
+
.sessionPickerToolbar input,
|
|
1960
|
+
.sessionPickerToolbar select { border-radius: 2px; }
|
|
1961
|
+
.sessionPickerToolbar { background: #f7f6f2; }
|
|
1962
|
+
.sessionPickerList { padding: 0; }
|
|
1963
|
+
.sessionPickerRow {
|
|
1964
|
+
margin: 0;
|
|
1965
|
+
border: 0;
|
|
1966
|
+
border-bottom: 1px solid var(--echo-line-soft);
|
|
1967
|
+
border-radius: 0;
|
|
1968
|
+
padding: 11px 22px;
|
|
1969
|
+
}
|
|
1970
|
+
.sessionPickerRow.is-selected {
|
|
1971
|
+
border-color: var(--echo-line-soft);
|
|
1972
|
+
background: #f2f5fc;
|
|
1973
|
+
box-shadow: inset 3px 0 0 var(--echo-ink-primary);
|
|
1974
|
+
}
|
|
1975
|
+
.sessionPickerSource { border: 1px solid #d7d8d3; border-radius: 2px; }
|
|
1976
|
+
.sessionPickerFoot { background: #f7f6f2; }
|
|
1977
|
+
.sessionPickerFoot button { border-radius: 4px; }
|
|
1978
|
+
|
|
1979
|
+
@media (max-width: 720px) {
|
|
1980
|
+
.localConsent { border-radius: 2px; }
|
|
1981
|
+
.localConsentAccess,
|
|
1982
|
+
.localConsentSkipped { grid-template-columns: 1fr; min-height: 0; }
|
|
1983
|
+
.consentLead { border-right: 0; border-bottom: 1px solid #d7d8d3; padding: 28px 24px; }
|
|
1984
|
+
.consentLead h2 { font-size: clamp(34px, 10.5vw, 44px); }
|
|
1985
|
+
.consentLocalMark { margin-top: 28px; }
|
|
1986
|
+
.consentDecision { padding: 26px 24px 28px; }
|
|
1987
|
+
.consentDecision .consentActions { align-items: stretch; }
|
|
1988
|
+
.consentDecision .consentActions .primary { width: 100%; }
|
|
1989
|
+
.skippedEcho { min-height: 190px; padding: 22px 24px; }
|
|
1990
|
+
.skippedEcho img { position: absolute; width: 124px; height: 124px; right: 18px; top: 10px; margin: 0; }
|
|
1991
|
+
.skippedEcho span,
|
|
1992
|
+
.skippedEcho strong { width: fit-content; }
|
|
1993
|
+
.skippedCopy { padding: 28px 24px 30px; }
|
|
1994
|
+
.skippedCopy h2 { font-size: clamp(34px, 10vw, 44px); }
|
|
1995
|
+
.readyDecision { max-width: 100%; gap: 0; border-left-width: 4px; }
|
|
1996
|
+
.readyEyebrow { padding: 12px 18px; }
|
|
1997
|
+
.readyHero { grid-template-columns: 1fr; gap: 14px; padding: 24px 18px; }
|
|
1998
|
+
.readyMascot { width: 68px; height: 68px; }
|
|
1999
|
+
.readyHero .exCopy h2 { font-size: clamp(34px, 11vw, 48px); }
|
|
2000
|
+
.readyHero .exCopy .exSub { font-size: 15px; }
|
|
2001
|
+
.proofStrip { max-width: 100%; border-radius: 0; padding: 9px 18px; }
|
|
2002
|
+
.setupAccountCard,
|
|
2003
|
+
.sessionSelectionCard { grid-template-columns: auto minmax(0, 1fr); }
|
|
2004
|
+
.setupAccountChange,
|
|
2005
|
+
.sessionEditButton { grid-column: 2; width: fit-content; padding-left: 0; }
|
|
2006
|
+
.setupPlanChoice { border-radius: 0; padding: 22px 18px; }
|
|
2007
|
+
.setupPlanIntro { padding-right: 0; }
|
|
2008
|
+
.setupPlanCard { padding: 18px 16px 16px; }
|
|
2009
|
+
.setupPlanCard + .setupPlanCard { border-left: 0; border-top: 1px solid #d7d8d3; }
|
|
2010
|
+
.setupPlanConfirmed { grid-template-columns: auto minmax(0, 1fr); }
|
|
2011
|
+
.setupPlanConfirmed .textButton { grid-column: 2; width: fit-content; }
|
|
2012
|
+
.readyDecision .actions,
|
|
2013
|
+
.readyDecision .actions .primary,
|
|
2014
|
+
.readyDecision .actions .skipHistoryButton { width: 100%; }
|
|
2015
|
+
.readyDecision .actions .primary { min-width: 0; }
|
|
2016
|
+
.readyGo,
|
|
2017
|
+
.readyFoot,
|
|
2018
|
+
.setupAccountCard,
|
|
2019
|
+
.sessionSelectionCard,
|
|
2020
|
+
.setupPlanConfirmed { padding-left: 18px; padding-right: 18px; }
|
|
2021
|
+
.readySteps { grid-template-columns: 1fr; }
|
|
2022
|
+
.readyStep + .readyStep { border-left: 0; border-top: 1px solid #d7d8d3; }
|
|
2023
|
+
.exHeroActive,
|
|
2024
|
+
.exHeroResult { padding: 26px 20px; }
|
|
2025
|
+
.agentLaunch { grid-template-columns: 1fr; }
|
|
2026
|
+
.agentLaunch button + button { border-left: 0; border-top: 1px solid #d7d8d3; }
|
|
2027
|
+
.tryCard pre { padding: 52px 12px 12px; }
|
|
2028
|
+
.recallPromptActions { display: grid; grid-template-columns: 1fr; }
|
|
2029
|
+
.recallAgent { width: 100%; }
|
|
2030
|
+
.skipStage { width: calc(100vw - 28px); padding: 26px 20px; }
|
|
2031
|
+
.sessionPicker { width: 100vw; height: 100vh; max-height: 100vh; border-radius: 0; border-left-width: 4px; }
|
|
2032
|
+
.sessionPickerShell { height: 100%; max-height: 100vh; min-height: 0; }
|
|
2033
|
+
.sessionPickerHead { padding: 18px 16px 15px; }
|
|
2034
|
+
.sessionPickerToolbar { grid-template-columns: 1fr; padding: 12px 16px; }
|
|
2035
|
+
.sessionPickerActions { flex-wrap: wrap; padding: 8px 16px; }
|
|
2036
|
+
.sessionPickerActions > strong { width: 100%; }
|
|
2037
|
+
.sessionPickerRow { grid-template-columns: auto auto minmax(0, 1fr); margin: 0 4px; padding: 10px 8px; }
|
|
2038
|
+
.sessionPickerMeta { display: none; }
|
|
2039
|
+
.sessionPickerLimitOverlay { padding: 14px; }
|
|
2040
|
+
.sessionPickerLimitCard { border-radius: 15px; padding: 24px 18px; }
|
|
2041
|
+
.sessionPickerLimitActions { display: grid; }
|
|
2042
|
+
.sessionPickerLimitActions .button,
|
|
2043
|
+
.sessionPickerLimitActions button { width: 100%; }
|
|
2044
|
+
.sessionPickerFoot { align-items: stretch; flex-direction: column; padding: 12px 16px; }
|
|
2045
|
+
.sessionPickerFootActions { display: grid; }
|
|
2046
|
+
.sessionPickerFoot button { width: 100%; }
|
|
2047
|
+
}
|
|
2048
|
+
|
|
1021
2049
|
/* ===== workspace readout dashboard (Part 2 — replaces explainPage) ===== */
|
|
1022
2050
|
@keyframes rdoRise { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: 0 0; } }
|
|
1023
2051
|
@keyframes rdoGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
|