@co0ontty/wand 1.43.1 → 1.43.3
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.
|
@@ -15679,295 +15679,218 @@
|
|
|
15679
15679
|
}
|
|
15680
15680
|
|
|
15681
15681
|
/* ================================================================
|
|
15682
|
-
Quick-Git
|
|
15683
|
-
Layout:
|
|
15684
|
-
-
|
|
15685
|
-
-
|
|
15686
|
-
- Drag to
|
|
15687
|
-
-
|
|
15688
|
-
|
|
15689
|
-
Empty commit message / tag → auto-generated by the backend on submit
|
|
15682
|
+
Quick-Git magnetic dock
|
|
15683
|
+
Layout: [ free field with Commit/Tag/Push chips ] [ ▶ pad ]
|
|
15684
|
+
- Selected chips snap into one cluster (always Commit → Tag → Push).
|
|
15685
|
+
- Unselected chips rest on a lower tray row.
|
|
15686
|
+
- Drag a chip onto the cluster to add it, away to remove it, tap to toggle.
|
|
15687
|
+
- Fling any chip into the ▶ pad (or tap it) to fire compose(selected).
|
|
15688
|
+
Commit is always included. Empty message / tag → auto-generated on submit.
|
|
15690
15689
|
================================================================ */
|
|
15691
|
-
.qc-
|
|
15692
|
-
padding-top: 4px;
|
|
15690
|
+
.qc-dock-wrap {
|
|
15693
15691
|
display: flex;
|
|
15694
15692
|
flex-direction: column;
|
|
15695
|
-
gap:
|
|
15693
|
+
gap: 8px;
|
|
15694
|
+
padding-top: 2px;
|
|
15695
|
+
}
|
|
15696
|
+
.qc-dock-wrap[data-disabled="1"] { opacity: 0.55; pointer-events: none; }
|
|
15697
|
+
|
|
15698
|
+
/* Busy panel (replaces the dock while a request is in flight) */
|
|
15699
|
+
.qc-dock-busy {
|
|
15700
|
+
display: inline-flex;
|
|
15701
|
+
align-items: center;
|
|
15702
|
+
gap: 8px;
|
|
15703
|
+
align-self: flex-start;
|
|
15704
|
+
padding: 10px 14px;
|
|
15705
|
+
border-radius: 12px;
|
|
15706
|
+
background: rgba(197, 101, 61, 0.10);
|
|
15707
|
+
border: 1px solid rgba(197, 101, 61, 0.20);
|
|
15708
|
+
color: var(--accent);
|
|
15709
|
+
font-size: 0.82rem;
|
|
15710
|
+
font-weight: 700;
|
|
15711
|
+
}
|
|
15712
|
+
.qc-dock-busy-dot {
|
|
15713
|
+
width: 8px;
|
|
15714
|
+
height: 8px;
|
|
15715
|
+
border-radius: 50%;
|
|
15716
|
+
background: var(--accent);
|
|
15717
|
+
animation: qc-dock-busy-pulse 1.2s ease-in-out infinite;
|
|
15718
|
+
}
|
|
15719
|
+
@keyframes qc-dock-busy-pulse {
|
|
15720
|
+
0%, 100% { opacity: 0.4; transform: scale(0.85); }
|
|
15721
|
+
50% { opacity: 1; transform: scale(1.15); }
|
|
15696
15722
|
}
|
|
15697
|
-
|
|
15698
|
-
|
|
15699
|
-
|
|
15723
|
+
|
|
15724
|
+
/* Stage = free-drag field on the left + launch pad on the right.
|
|
15725
|
+
--qc-tone follows the composed action so the whole stage echoes the combo color. */
|
|
15726
|
+
.qc-dock-stage {
|
|
15700
15727
|
--qc-tone: var(--accent);
|
|
15701
15728
|
--qc-tone-soft: rgba(197, 101, 61, 0.20);
|
|
15702
|
-
|
|
15703
|
-
|
|
15704
|
-
|
|
15705
|
-
height:
|
|
15706
|
-
padding:
|
|
15707
|
-
border-radius:
|
|
15708
|
-
border: 1px solid rgba(125, 91, 57, 0.
|
|
15729
|
+
display: grid;
|
|
15730
|
+
grid-template-columns: minmax(0, 1fr) 96px;
|
|
15731
|
+
gap: 10px;
|
|
15732
|
+
height: 150px;
|
|
15733
|
+
padding: 8px;
|
|
15734
|
+
border-radius: 16px;
|
|
15735
|
+
border: 1px solid rgba(125, 91, 57, 0.16);
|
|
15709
15736
|
background:
|
|
15710
|
-
radial-gradient(120%
|
|
15711
|
-
linear-gradient(180deg, rgba(255, 255, 255, 0.
|
|
15712
|
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.
|
|
15713
|
-
overflow: hidden;
|
|
15714
|
-
touch-action: none;
|
|
15737
|
+
radial-gradient(120% 120% at 30% 30%, rgba(255, 255, 255, 0.55), rgba(255, 245, 235, 0.16)),
|
|
15738
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.46), rgba(255, 245, 235, 0.22));
|
|
15739
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 3px rgba(89, 58, 32, 0.05);
|
|
15715
15740
|
user-select: none;
|
|
15716
|
-
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
15717
15741
|
}
|
|
15718
|
-
.qc-
|
|
15719
|
-
|
|
15720
|
-
|
|
15742
|
+
.qc-dock-stage[data-action="commit-tag"] { --qc-tone: #4a6fa5; --qc-tone-soft: rgba(74, 111, 165, 0.22); }
|
|
15743
|
+
.qc-dock-stage[data-action="commit-push"] { --qc-tone: #4f7a58; --qc-tone-soft: rgba(79, 122, 88, 0.22); }
|
|
15744
|
+
.qc-dock-stage[data-action="commit-tag-push"] { --qc-tone: #7c5aa8; --qc-tone-soft: rgba(124, 90, 168, 0.24); }
|
|
15745
|
+
|
|
15746
|
+
.qc-dock-field {
|
|
15747
|
+
position: relative;
|
|
15748
|
+
min-width: 0;
|
|
15749
|
+
border-radius: 12px;
|
|
15750
|
+
background: repeating-linear-gradient(45deg, rgba(125, 91, 57, 0.035) 0 8px, transparent 8px 16px);
|
|
15751
|
+
touch-action: none;
|
|
15752
|
+
overflow: hidden;
|
|
15721
15753
|
}
|
|
15722
|
-
/* Track tone shifts per current action so the whole panel echoes the knob color. */
|
|
15723
|
-
.qc-drag-track[data-action="commit-tag"] { --qc-tone: #4a6fa5; --qc-tone-soft: rgba(74, 111, 165, 0.20); }
|
|
15724
|
-
.qc-drag-track[data-action="commit-push"] { --qc-tone: #4f7a58; --qc-tone-soft: rgba(79, 122, 88, 0.22); }
|
|
15725
|
-
.qc-drag-track[data-action="commit-tag-push"] { --qc-tone: #7c5aa8; --qc-tone-soft: rgba(124, 90, 168, 0.24); }
|
|
15726
15754
|
|
|
15727
|
-
/*
|
|
15728
|
-
.qc-
|
|
15755
|
+
/* Cluster backdrop — the tray that selected chips snap onto. JS sizes/positions it. */
|
|
15756
|
+
.qc-dock-cluster {
|
|
15729
15757
|
position: absolute;
|
|
15730
|
-
|
|
15731
|
-
|
|
15732
|
-
|
|
15758
|
+
left: 0;
|
|
15759
|
+
top: 0;
|
|
15760
|
+
border-radius: 14px;
|
|
15761
|
+
background: color-mix(in srgb, var(--qc-tone) 10%, transparent);
|
|
15762
|
+
border: 1.5px dashed color-mix(in srgb, var(--qc-tone) 38%, transparent);
|
|
15763
|
+
box-shadow: 0 4px 14px var(--qc-tone-soft);
|
|
15733
15764
|
pointer-events: none;
|
|
15734
|
-
|
|
15735
|
-
.qc-baseline-rail {
|
|
15736
|
-
stroke: rgba(125, 91, 57, 0.16);
|
|
15737
|
-
stroke-width: 2;
|
|
15738
|
-
stroke-linecap: round;
|
|
15739
|
-
}
|
|
15740
|
-
.qc-baseline-seg {
|
|
15741
|
-
stroke: var(--qc-tone);
|
|
15742
|
-
stroke-width: 2;
|
|
15743
|
-
stroke-linecap: round;
|
|
15765
|
+
z-index: 0;
|
|
15744
15766
|
opacity: 0;
|
|
15745
|
-
transition:
|
|
15767
|
+
transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
|
|
15768
|
+
width 0.22s cubic-bezier(0.22, 1, 0.36, 1),
|
|
15769
|
+
height 0.22s cubic-bezier(0.22, 1, 0.36, 1),
|
|
15770
|
+
opacity 0.18s ease, background 0.2s ease, border-color 0.2s ease;
|
|
15746
15771
|
}
|
|
15747
|
-
.
|
|
15748
|
-
.qc-
|
|
15749
|
-
.qc-drag-track[data-zone="push"] .qc-baseline-seg--right { opacity: 0.85; }
|
|
15772
|
+
/* Only visible while two or more chips are travelling together. */
|
|
15773
|
+
.qc-dock-cluster.is-active { opacity: 1; }
|
|
15750
15774
|
|
|
15751
|
-
/*
|
|
15752
|
-
.qc-
|
|
15775
|
+
/* Chips — absolutely positioned; JS sets transform. */
|
|
15776
|
+
.qc-chip {
|
|
15753
15777
|
position: absolute;
|
|
15754
|
-
|
|
15755
|
-
|
|
15756
|
-
|
|
15757
|
-
display: flex;
|
|
15778
|
+
left: 0;
|
|
15779
|
+
top: 0;
|
|
15780
|
+
display: inline-flex;
|
|
15758
15781
|
align-items: center;
|
|
15759
|
-
gap:
|
|
15760
|
-
|
|
15761
|
-
|
|
15762
|
-
|
|
15763
|
-
|
|
15764
|
-
|
|
15765
|
-
|
|
15766
|
-
animation: qc-chevron-march 1.3s ease-in-out infinite;
|
|
15767
|
-
}
|
|
15768
|
-
.qc-chevron:nth-child(1) { animation-delay: 0s; }
|
|
15769
|
-
.qc-chevron:nth-child(2) { animation-delay: 0.16s; }
|
|
15770
|
-
.qc-chevron:nth-child(3) { animation-delay: 0.32s; }
|
|
15771
|
-
.qc-drag-track[data-zone="tag"] .qc-chevrons { color: var(--qc-tone); }
|
|
15772
|
-
.qc-drag-track[data-zone="push"] .qc-chevrons { opacity: 0.25; }
|
|
15773
|
-
.qc-drag-track[data-tag-dwell="armed"] .qc-chevrons { color: var(--qc-tone); }
|
|
15774
|
-
.qc-drag-track[data-tag-dwell="armed"] .qc-chevron { animation-duration: 0.8s; }
|
|
15775
|
-
.qc-drag-track.is-dragging .qc-chevron { animation-play-state: paused; opacity: 0.55; }
|
|
15776
|
-
@keyframes qc-chevron-march {
|
|
15777
|
-
0%, 100% { opacity: 0.10; transform: translateX(-4px); }
|
|
15778
|
-
45% { opacity: 0.95; transform: translateX(0); }
|
|
15779
|
-
75% { opacity: 0.45; transform: translateX(3px); }
|
|
15780
|
-
}
|
|
15781
|
-
|
|
15782
|
-
/* Stage labels along the rail */
|
|
15783
|
-
.qc-drag-stages {
|
|
15784
|
-
position: absolute;
|
|
15785
|
-
inset: 12px 18px;
|
|
15786
|
-
display: grid;
|
|
15787
|
-
grid-template-columns: 1fr 1fr 1fr;
|
|
15788
|
-
align-items: end;
|
|
15789
|
-
pointer-events: none;
|
|
15790
|
-
z-index: 2;
|
|
15791
|
-
}
|
|
15792
|
-
.qc-drag-stage {
|
|
15793
|
-
align-self: end;
|
|
15794
|
-
padding-bottom: 6px;
|
|
15795
|
-
font-size: 0.68rem;
|
|
15796
|
-
font-weight: 800;
|
|
15797
|
-
color: var(--text-muted);
|
|
15798
|
-
letter-spacing: 0.06em;
|
|
15799
|
-
text-transform: uppercase;
|
|
15800
|
-
transition: color 0.18s ease, transform 0.18s ease;
|
|
15801
|
-
}
|
|
15802
|
-
.qc-stage-commit { justify-self: start; padding-left: 4px; }
|
|
15803
|
-
.qc-stage-tag { justify-self: center; }
|
|
15804
|
-
.qc-stage-push { justify-self: end; padding-right: 4px; }
|
|
15805
|
-
.qc-drag-stage.is-passed { color: var(--qc-tone); }
|
|
15806
|
-
.qc-drag-stage.is-active { transform: translateY(-1px); }
|
|
15807
|
-
/* Tag stage gets a little dot indicator that pulses while user dwells. */
|
|
15808
|
-
.qc-stage-tag::before {
|
|
15809
|
-
content: "";
|
|
15810
|
-
display: block;
|
|
15811
|
-
width: 6px;
|
|
15812
|
-
height: 6px;
|
|
15813
|
-
margin: 0 auto 4px;
|
|
15814
|
-
border-radius: 50%;
|
|
15815
|
-
background: rgba(125, 91, 57, 0.30);
|
|
15816
|
-
transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
|
|
15817
|
-
}
|
|
15818
|
-
.qc-drag-stage.qc-stage-tag.is-passed::before {
|
|
15819
|
-
background: var(--qc-tone);
|
|
15820
|
-
box-shadow: 0 0 0 4px color-mix(in srgb, var(--qc-tone) 22%, transparent);
|
|
15821
|
-
}
|
|
15822
|
-
.qc-drag-track[data-tag-dwell="active"] .qc-stage-tag::before {
|
|
15823
|
-
background: var(--qc-tone);
|
|
15824
|
-
animation: qc-tag-dot-pulse var(--qc-dwell-ms) ease-out forwards;
|
|
15825
|
-
}
|
|
15826
|
-
.qc-drag-track[data-tag-dwell="armed"] .qc-stage-tag::before {
|
|
15827
|
-
background: var(--qc-tone);
|
|
15828
|
-
transform: scale(1.4);
|
|
15829
|
-
box-shadow: 0 0 0 6px color-mix(in srgb, var(--qc-tone) 22%, transparent);
|
|
15830
|
-
}
|
|
15831
|
-
@keyframes qc-tag-dot-pulse {
|
|
15832
|
-
0% { transform: scale(1); }
|
|
15833
|
-
100% { transform: scale(1.35); box-shadow: 0 0 0 6px color-mix(in srgb, var(--qc-tone) 18%, transparent); }
|
|
15834
|
-
}
|
|
15835
|
-
|
|
15836
|
-
/* The draggable knob — starts at left, breathes when idle, snaps colors per zone. */
|
|
15837
|
-
.qc-drag-action {
|
|
15838
|
-
position: absolute;
|
|
15839
|
-
left: var(--qc-knob-x, 6px);
|
|
15840
|
-
top: 50%;
|
|
15841
|
-
z-index: 3;
|
|
15842
|
-
width: 42%;
|
|
15843
|
-
min-width: 138px;
|
|
15844
|
-
max-width: 200px;
|
|
15845
|
-
height: 56px;
|
|
15846
|
-
padding: 0 16px;
|
|
15847
|
-
border: 0;
|
|
15848
|
-
border-radius: 12px;
|
|
15849
|
-
background: linear-gradient(180deg, var(--qc-tone), color-mix(in srgb, var(--qc-tone) 84%, black));
|
|
15850
|
-
color: white;
|
|
15782
|
+
gap: 7px;
|
|
15783
|
+
height: 38px;
|
|
15784
|
+
padding: 0 14px;
|
|
15785
|
+
border: 1px solid rgba(125, 91, 57, 0.22);
|
|
15786
|
+
border-radius: 999px;
|
|
15787
|
+
background: rgba(255, 255, 255, 0.92);
|
|
15788
|
+
color: var(--text-secondary);
|
|
15851
15789
|
font-family: var(--font-sans);
|
|
15852
|
-
font-size: 0.
|
|
15853
|
-
font-weight:
|
|
15790
|
+
font-size: 0.82rem;
|
|
15791
|
+
font-weight: 700;
|
|
15854
15792
|
letter-spacing: 0.01em;
|
|
15855
|
-
|
|
15856
|
-
align-items: center;
|
|
15857
|
-
justify-content: center;
|
|
15858
|
-
gap: 10px;
|
|
15793
|
+
white-space: nowrap;
|
|
15859
15794
|
cursor: grab;
|
|
15860
|
-
box-shadow:
|
|
15861
|
-
0 8px 22px var(--qc-tone-soft),
|
|
15862
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.35);
|
|
15863
|
-
transform: translateY(-50%);
|
|
15864
|
-
transition: left 0.22s cubic-bezier(0.4, 0.0, 0.2, 1),
|
|
15865
|
-
background 0.18s ease,
|
|
15866
|
-
box-shadow 0.18s ease;
|
|
15867
15795
|
touch-action: none;
|
|
15868
|
-
|
|
15869
|
-
|
|
15870
|
-
|
|
15871
|
-
.qc-drag-track.is-dragging .qc-drag-action {
|
|
15872
|
-
cursor: grabbing;
|
|
15873
|
-
transition: background 0.12s ease, box-shadow 0.12s ease;
|
|
15874
|
-
animation: none;
|
|
15875
|
-
}
|
|
15876
|
-
.qc-drag-grip {
|
|
15877
|
-
display: inline-flex;
|
|
15878
|
-
flex-direction: column;
|
|
15879
|
-
align-items: center;
|
|
15880
|
-
justify-content: center;
|
|
15881
|
-
gap: 2px;
|
|
15882
|
-
margin-right: 2px;
|
|
15883
|
-
opacity: 0.7;
|
|
15884
|
-
flex: 0 0 auto;
|
|
15885
|
-
}
|
|
15886
|
-
.qc-drag-grip i {
|
|
15887
|
-
display: block;
|
|
15888
|
-
width: 12px;
|
|
15889
|
-
height: 1.5px;
|
|
15890
|
-
border-radius: 1px;
|
|
15891
|
-
background: rgba(255, 255, 255, 0.85);
|
|
15892
|
-
}
|
|
15893
|
-
.qc-drag-label {
|
|
15894
|
-
white-space: nowrap;
|
|
15895
|
-
overflow: hidden;
|
|
15896
|
-
text-overflow: ellipsis;
|
|
15897
|
-
}
|
|
15898
|
-
.qc-drag-action:disabled {
|
|
15899
|
-
opacity: 0.5;
|
|
15900
|
-
cursor: not-allowed;
|
|
15901
|
-
box-shadow: none;
|
|
15902
|
-
animation: none;
|
|
15903
|
-
}
|
|
15904
|
-
/* Dwell progress bar — bottom of the knob, fills left→right over DWELL_MS */
|
|
15905
|
-
.qc-drag-dwell-bar {
|
|
15906
|
-
position: absolute;
|
|
15907
|
-
left: 0;
|
|
15908
|
-
right: 0;
|
|
15909
|
-
bottom: 0;
|
|
15910
|
-
height: 3px;
|
|
15911
|
-
background: rgba(255, 255, 255, 0.78);
|
|
15912
|
-
transform: scaleX(0);
|
|
15913
|
-
transform-origin: left center;
|
|
15914
|
-
border-radius: 0 0 12px 12px;
|
|
15915
|
-
pointer-events: none;
|
|
15916
|
-
transition: opacity 0.2s ease;
|
|
15917
|
-
opacity: 0;
|
|
15918
|
-
}
|
|
15919
|
-
.qc-drag-track[data-tag-dwell="active"] .qc-drag-dwell-bar {
|
|
15920
|
-
opacity: 1;
|
|
15921
|
-
animation: qc-dwell-fill var(--qc-dwell-ms) linear forwards;
|
|
15796
|
+
box-shadow: 0 2px 6px rgba(89, 58, 32, 0.08);
|
|
15797
|
+
z-index: 2;
|
|
15798
|
+
transition: box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
|
|
15922
15799
|
}
|
|
15923
|
-
|
|
15924
|
-
|
|
15925
|
-
|
|
15800
|
+
/* Only animate position while settling, so live drag stays glued to the pointer. */
|
|
15801
|
+
.qc-chip.qc-chip--anim {
|
|
15802
|
+
transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
|
|
15803
|
+
box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
|
|
15926
15804
|
}
|
|
15927
|
-
|
|
15928
|
-
|
|
15929
|
-
|
|
15805
|
+
.qc-chip.is-grabbing {
|
|
15806
|
+
cursor: grabbing;
|
|
15807
|
+
z-index: 5;
|
|
15808
|
+
box-shadow: 0 12px 26px rgba(89, 58, 32, 0.22);
|
|
15930
15809
|
}
|
|
15931
|
-
|
|
15932
|
-
|
|
15933
|
-
|
|
15934
|
-
|
|
15935
|
-
|
|
15810
|
+
.qc-chip:disabled { cursor: not-allowed; }
|
|
15811
|
+
.qc-chip:not(:disabled):hover { border-color: var(--qc-tone); }
|
|
15812
|
+
|
|
15813
|
+
.qc-chip-dot {
|
|
15814
|
+
width: 9px;
|
|
15815
|
+
height: 9px;
|
|
15816
|
+
border-radius: 50%;
|
|
15817
|
+
background: rgba(125, 91, 57, 0.30);
|
|
15818
|
+
box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6);
|
|
15819
|
+
transition: background 0.18s ease, transform 0.18s ease;
|
|
15936
15820
|
}
|
|
15937
|
-
|
|
15938
|
-
|
|
15939
|
-
|
|
15940
|
-
|
|
15821
|
+
.qc-chip--commit .qc-chip-dot { background: var(--accent); }
|
|
15822
|
+
.qc-chip--tag .qc-chip-dot { background: #4a6fa5; }
|
|
15823
|
+
.qc-chip--push .qc-chip-dot { background: #4f7a58; }
|
|
15824
|
+
|
|
15825
|
+
/* Each chip carries its own identity tint at rest. */
|
|
15826
|
+
.qc-chip--commit { border-color: color-mix(in srgb, var(--accent) 30%, rgba(125, 91, 57, 0.2)); }
|
|
15827
|
+
.qc-chip--tag { border-color: color-mix(in srgb, #4a6fa5 30%, rgba(125, 91, 57, 0.2)); }
|
|
15828
|
+
.qc-chip--push { border-color: color-mix(in srgb, #4f7a58 30%, rgba(125, 91, 57, 0.2)); }
|
|
15829
|
+
|
|
15830
|
+
/* Grabbed or magnetically attached → lifts and lights up in its own color. */
|
|
15831
|
+
.qc-chip.is-grabbing, .qc-chip.is-attached {
|
|
15832
|
+
color: var(--text-primary);
|
|
15833
|
+
box-shadow: 0 12px 26px var(--qc-tone-soft);
|
|
15834
|
+
z-index: 5;
|
|
15941
15835
|
}
|
|
15836
|
+
.qc-chip.is-grabbing .qc-chip-dot, .qc-chip.is-attached .qc-chip-dot { transform: scale(1.1); }
|
|
15837
|
+
.qc-chip--commit.is-grabbing, .qc-chip--commit.is-attached { background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--accent) 16%, #fff)); border-color: color-mix(in srgb, var(--accent) 46%, transparent); }
|
|
15838
|
+
.qc-chip--tag.is-grabbing, .qc-chip--tag.is-attached { background: linear-gradient(180deg, #fff, color-mix(in srgb, #4a6fa5 16%, #fff)); border-color: color-mix(in srgb, #4a6fa5 46%, transparent); }
|
|
15839
|
+
.qc-chip--push.is-grabbing, .qc-chip--push.is-attached { background: linear-gradient(180deg, #fff, color-mix(in srgb, #4f7a58 16%, #fff)); border-color: color-mix(in srgb, #4f7a58 46%, transparent); }
|
|
15942
15840
|
|
|
15943
|
-
/*
|
|
15944
|
-
.qc-
|
|
15945
|
-
|
|
15946
|
-
|
|
15841
|
+
/* Launch pad — drop target on the right; also tappable. */
|
|
15842
|
+
.qc-dock-launch {
|
|
15843
|
+
display: flex;
|
|
15844
|
+
flex-direction: column;
|
|
15845
|
+
align-items: center;
|
|
15846
|
+
justify-content: center;
|
|
15847
|
+
gap: 4px;
|
|
15848
|
+
border-radius: 14px;
|
|
15849
|
+
border: 1.5px dashed rgba(125, 91, 57, 0.32);
|
|
15850
|
+
background: rgba(255, 255, 255, 0.4);
|
|
15851
|
+
color: var(--text-muted);
|
|
15852
|
+
cursor: pointer;
|
|
15853
|
+
touch-action: none;
|
|
15854
|
+
transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease,
|
|
15855
|
+
transform 0.2s ease, box-shadow 0.2s ease;
|
|
15947
15856
|
}
|
|
15948
|
-
.qc-
|
|
15949
|
-
|
|
15950
|
-
|
|
15951
|
-
|
|
15857
|
+
.qc-dock-launch:not(:disabled):hover {
|
|
15858
|
+
border-color: var(--qc-tone);
|
|
15859
|
+
color: var(--qc-tone);
|
|
15860
|
+
background: color-mix(in srgb, var(--qc-tone) 8%, rgba(255, 255, 255, 0.5));
|
|
15952
15861
|
}
|
|
15953
|
-
.qc-
|
|
15954
|
-
.qc-
|
|
15955
|
-
.qc-
|
|
15956
|
-
|
|
15957
|
-
|
|
15862
|
+
.qc-dock-launch:disabled { cursor: not-allowed; }
|
|
15863
|
+
.qc-dock-launch-arrow { display: inline-flex; transition: transform 0.2s ease; }
|
|
15864
|
+
.qc-dock-launch-label {
|
|
15865
|
+
font-size: 0.72rem;
|
|
15866
|
+
font-weight: 800;
|
|
15867
|
+
letter-spacing: 0.04em;
|
|
15958
15868
|
}
|
|
15959
|
-
|
|
15960
|
-
|
|
15961
|
-
|
|
15962
|
-
|
|
15869
|
+
/* Hot = a chip is hovering over the pad; release to fire. */
|
|
15870
|
+
.qc-dock-stage[data-hot="1"] .qc-dock-launch {
|
|
15871
|
+
border-style: solid;
|
|
15872
|
+
border-color: var(--qc-tone);
|
|
15873
|
+
background: var(--qc-tone);
|
|
15874
|
+
color: #fff;
|
|
15875
|
+
transform: scale(1.04);
|
|
15876
|
+
box-shadow: 0 8px 22px var(--qc-tone-soft), 0 0 0 5px color-mix(in srgb, var(--qc-tone) 18%, transparent);
|
|
15963
15877
|
}
|
|
15878
|
+
.qc-dock-stage[data-hot="1"] .qc-dock-launch-arrow { transform: translateX(3px); }
|
|
15964
15879
|
|
|
15965
|
-
.qc-
|
|
15880
|
+
.qc-dock-hint {
|
|
15881
|
+
min-height: 1em;
|
|
15966
15882
|
font-size: 0.7rem;
|
|
15967
15883
|
color: var(--text-muted);
|
|
15968
15884
|
text-align: center;
|
|
15969
15885
|
letter-spacing: 0.02em;
|
|
15970
|
-
opacity: 0.
|
|
15886
|
+
opacity: 0.8;
|
|
15887
|
+
}
|
|
15888
|
+
|
|
15889
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15890
|
+
.qc-chip, .qc-chip--anim, .qc-dock-cluster, .qc-dock-launch, .qc-dock-busy-dot {
|
|
15891
|
+
animation: none !important;
|
|
15892
|
+
transition: none !important;
|
|
15893
|
+
}
|
|
15971
15894
|
}
|
|
15972
15895
|
|
|
15973
15896
|
@media (max-width: 720px) {
|
|
@@ -15986,13 +15909,17 @@
|
|
|
15986
15909
|
grid-template-columns: 1fr 18px 1fr;
|
|
15987
15910
|
gap: 6px;
|
|
15988
15911
|
}
|
|
15989
|
-
.qc-
|
|
15990
|
-
|
|
15991
|
-
|
|
15992
|
-
|
|
15993
|
-
|
|
15912
|
+
.qc-dock-stage {
|
|
15913
|
+
height: 160px;
|
|
15914
|
+
grid-template-columns: minmax(0, 1fr) 82px;
|
|
15915
|
+
gap: 8px;
|
|
15916
|
+
}
|
|
15917
|
+
.qc-chip {
|
|
15918
|
+
height: 36px;
|
|
15919
|
+
padding: 0 12px;
|
|
15920
|
+
font-size: 0.8rem;
|
|
15994
15921
|
}
|
|
15995
|
-
.qc-
|
|
15922
|
+
.qc-dock-launch-label { font-size: 0.68rem; }
|
|
15996
15923
|
}
|
|
15997
15924
|
|
|
15998
15925
|
/* ============================================================ */
|