wuepgg3-track 3.0.3 → 4.0.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/{SharedSystems-Czb8QUFv.mjs → SharedSystems-CQUTbUIx.mjs} +675 -433
- package/dist/{WebGLRenderer-Bd4vvqtJ.mjs → WebGLRenderer-zlVosyby.mjs} +417 -382
- package/dist/{WebGPURenderer-CVU5sf4P.mjs → WebGPURenderer-OAybUJeH.mjs} +277 -258
- package/dist/{browserAll-CZ03TD2_.mjs → browserAll-Byje74wY.mjs} +2 -2
- package/dist/{colorToUniform-BwrjBKZW.mjs → colorToUniform-COOzkdM9.mjs} +9 -8
- package/dist/components/GenomeView/TrackComponents/BamComponents/BamAnnotation.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/CategoricalComponents/CategoricalAnnotation.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/DynseqComponents/DynseqTrackComponents.d.ts +2 -3
- package/dist/components/GenomeView/TrackComponents/GenomeAlignComponents/GenomeAlignComponents.d.ts +3 -1
- package/dist/components/GenomeView/TrackComponents/GenomeAlignComponents/HorizontalFragment.d.ts +1 -0
- package/dist/components/GenomeView/TrackComponents/GenomeAlignComponents/MultiAlignmentViewCalculator.d.ts +1 -0
- package/dist/components/GenomeView/TrackComponents/GroupedTrackManager.d.ts +3 -0
- package/dist/components/GenomeView/TrackComponents/InteractionComponents/InteractionTrackComponent.d.ts +4 -15
- package/dist/components/GenomeView/TrackComponents/MethylcComponents/MethylCTrackComputation.d.ts +5 -13
- package/dist/components/GenomeView/TrackComponents/QBedComponents/QBedTrackComponents.d.ts +9 -26
- package/dist/components/GenomeView/TrackComponents/RulerComponents/Ruler.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/VcfComponents/Vcf.d.ts +1 -0
- package/dist/components/GenomeView/TrackComponents/VcfComponents/VcfTrack.d.ts +5 -24
- package/dist/components/GenomeView/TrackComponents/bedComponents/FiberTrackComponent.d.ts +5 -39
- package/dist/components/GenomeView/TrackComponents/commonComponents/HoverToolTips/HoverToolTip.d.ts +5 -0
- package/dist/components/GenomeView/TrackComponents/commonComponents/OutsideClickDetector.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/commonComponents/TrackLegend.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/commonComponents/annotation/AnnotationArrows.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/commonComponents/numerical/NumericalAggregator.d.ts +2 -1
- package/dist/components/GenomeView/TrackComponents/commonComponents/numerical/NumericalTrack.d.ts +3 -1
- package/dist/components/GenomeView/TrackComponents/commonComponents/stats/BoxplotTrackComponents.d.ts +3 -37
- package/dist/components/GenomeView/TrackComponents/displayModeComponentMap.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/geneAnnotationTrackComponents/BackgroundedText.d.ts +1 -1
- package/dist/components/GenomeView/TrackComponents/geneAnnotationTrackComponents/GeneDetail.d.ts +2 -2
- package/dist/components/GenomeView/genomeNavigator/Ruler.d.ts +1 -1
- package/dist/components/GenomeView/genomeNavigator/SelectableGenomeArea.d.ts +1 -1
- package/dist/components/GenomeView/genomeNavigator/SelectedRegionBox.d.ts +1 -1
- package/dist/genome-hub/GenomeSerializer.d.ts +1 -1
- package/dist/genome-hub/genome-schema.d.ts +1 -2
- package/dist/getLocalData/LocalBigSource.d.ts +47 -0
- package/dist/getRemoteData/BigSourceWorker.d.ts +47 -0
- package/dist/getRemoteData/BigSourceWorkerGmod.d.ts +14 -5
- package/dist/getRemoteData/VcfSource.d.ts +9 -0
- package/dist/getRemoteData/hicSource.d.ts +1 -1
- package/dist/getRemoteData/io/remoteFile.d.ts +1 -1
- package/dist/getRemoteData/tabixSource.d.ts +18 -0
- package/dist/getRemoteData/vendor/bbi-js/main/bigwig.d.ts +1 -0
- package/dist/getRemoteData/vendor/bbi-js/utils/bin.d.ts +20 -0
- package/dist/getRemoteData/vendor/bbi-js/utils/das.d.ts +6 -0
- package/dist/getRemoteData/vendor/bbi-js/utils/jszlib.d.ts +1 -0
- package/dist/getRemoteData/vendor/bbi-js/utils/sha1.d.ts +1 -0
- package/dist/getRemoteData/vendor/bbi-js/utils/spans.d.ts +13 -0
- package/dist/{index-lRQCOP9E.mjs → index-BRD1ij9p.mjs} +64989 -66773
- package/dist/index.es.js +11 -11
- package/dist/index.umd.js +239 -228
- package/dist/{init-Bk9eSswv.mjs → init-DVJ9vOmS.mjs} +370 -355
- package/dist/models/AlignmentSegment.d.ts +1 -1
- package/dist/models/AlignmentStringUtils.d.ts +1 -1
- package/dist/models/BamAlignment.d.ts +1 -1
- package/dist/models/BedRecord.d.ts +1 -1
- package/dist/models/Chromosome.d.ts +1 -1
- package/dist/models/ChromosomeInterval.d.ts +1 -1
- package/dist/models/DisplayedRegionModel.d.ts +1 -1
- package/dist/models/Feature.d.ts +2 -2
- package/dist/models/FeatureAggregator.d.ts +4 -5
- package/dist/models/FeatureArranger.d.ts +7 -1
- package/dist/models/NavigationContext.d.ts +2 -1
- package/dist/models/OpenInterval.d.ts +1 -1
- package/dist/models/Snp.d.ts +1 -1
- package/dist/models/TrackModel.d.ts +3 -1
- package/dist/models/genomes/allGenomes.d.ts +20 -0
- package/dist/models/genomes/mCalJa1.2.pat.X/mCalJa1.2.pat.X.d.ts +17 -0
- package/dist/models/getXSpan/FeaturePlacer.d.ts +2 -9
- package/dist/models/trackModels/trackProps.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/trackConfigs/config-menu-components.tsx/ColorConfig.d.ts +2 -1
- package/dist/trackConfigs/config-menu-components.tsx/DownsamplingConfig.d.ts +8 -0
- package/dist/trackConfigs/config-menu-components.tsx/NumberConfig.d.ts +1 -1
- package/dist/types/track-container.d.ts +1 -0
- package/dist/webworkerAll-I0QzCLqb.mjs +2 -0
- package/package.json +2 -4
- package/dist/components/GenomeView/TrackComponents/CommonTrackStateChangeFunctions.tsx/createNewTrackState.d.ts +0 -18
- package/dist/components/GenomeView/TrackComponents/CommonTrackStateChangeFunctions.tsx/getDataAfterConfigChange.d.ts +0 -11
- package/dist/components/GenomeView/TrackComponents/bedComponents/BedcolorTrack.d.ts +0 -6
- package/dist/components/GenomeView/TrackComponents/commonComponents/annotation/AnnotationTrack.d.ts +0 -25
- package/dist/components/GenomeView/TrackComponents/commonComponents/annotation/FullDisplayMode.d.ts +0 -45
- package/dist/components/testCustomGenome.d.ts +0 -505
- package/dist/getRemoteData/JasparSource.d.ts +0 -8
- package/dist/webworkerAll-D7VsNxkY.mjs +0 -2
|
@@ -5,7 +5,7 @@ import ChromosomeInterval from "./ChromosomeInterval";
|
|
|
5
5
|
/**
|
|
6
6
|
* A segment of an alignment record. Has methods that get parts of the attached record's sequences and loci.
|
|
7
7
|
*
|
|
8
|
-
* @author Silas Hsu
|
|
8
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
9
9
|
*/
|
|
10
10
|
export declare class AlignmentSegment extends FeatureSegment {
|
|
11
11
|
readonly feature: AlignmentRecord;
|
|
@@ -33,7 +33,7 @@ export declare function makeBaseNumberLookup(sequence: string, baseAtStart: numb
|
|
|
33
33
|
/**
|
|
34
34
|
* An iterator that steps along a string, skipping '-' characters. Instances start at index -1.
|
|
35
35
|
*
|
|
36
|
-
* @author Silas Hsu
|
|
36
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
37
37
|
*/
|
|
38
38
|
export declare class AlignmentIterator {
|
|
39
39
|
sequence: string;
|
|
@@ -20,7 +20,7 @@ interface MergedLocus<T> {
|
|
|
20
20
|
* Basically an OpenInterval with a chromosome's name. Expresses genomic coordinates.
|
|
21
21
|
*
|
|
22
22
|
* @implements {Serializable}
|
|
23
|
-
* @author Silas Hsu
|
|
23
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
24
24
|
*/
|
|
25
25
|
declare class ChromosomeInterval extends OpenInterval implements IChromosomeInterval {
|
|
26
26
|
chr: string;
|
|
@@ -6,7 +6,7 @@ import ChromosomeInterval from "./ChromosomeInterval";
|
|
|
6
6
|
* Model that stores the view window/region in a larger navigation context (e.g. a genome). Internally stores the
|
|
7
7
|
* region as an open interval of nav context coordinates (@see {@link NavigationContext}).
|
|
8
8
|
*
|
|
9
|
-
* @author Silas Hsu
|
|
9
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
10
10
|
*/
|
|
11
11
|
declare class DisplayedRegionModel {
|
|
12
12
|
_navContext: NavigationContext;
|
package/dist/models/Feature.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export declare const REVERSE_STRAND_CHAR = "-";
|
|
|
16
16
|
* A feature, or annotation, in the genome.
|
|
17
17
|
*
|
|
18
18
|
* @implements {Serializable}
|
|
19
|
-
* @author Silas Hsu
|
|
19
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
20
20
|
*/
|
|
21
21
|
export declare class Feature {
|
|
22
22
|
locus: ChromosomeInterval;
|
|
@@ -78,7 +78,7 @@ export declare class Feature {
|
|
|
78
78
|
/**
|
|
79
79
|
* Everything a Feature is, plus a `value` prop.
|
|
80
80
|
*
|
|
81
|
-
* @author Silas Hsu
|
|
81
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
82
82
|
*/
|
|
83
83
|
export declare class NumericalFeature extends Feature {
|
|
84
84
|
value: number | undefined;
|
|
@@ -46,7 +46,7 @@ export declare const DefaultArrayAggregators: {
|
|
|
46
46
|
/**
|
|
47
47
|
* Aggregator of features. Includes methods to construct x-to-data maps.
|
|
48
48
|
*
|
|
49
|
-
* @author Silas Hsu
|
|
49
|
+
* @author Chanrung(Chad) Seng, Silas Hsu, Chanrung(Chad) Seng
|
|
50
50
|
*/
|
|
51
51
|
export declare class FeatureAggregator {
|
|
52
52
|
/**
|
|
@@ -70,10 +70,9 @@ export declare class FeatureAggregator {
|
|
|
70
70
|
* @param {object} viewWindow - optional window defining center region {start, end} for deduplication
|
|
71
71
|
* @return {[any[], any[]]} tuple of [forwardAggregated, reverseAggregated]
|
|
72
72
|
*/
|
|
73
|
-
makeXMap(features: Feature[], viewRegion: DisplayedRegionModel, width: number,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}): [any[], any[]];
|
|
73
|
+
makeXMap(features: Feature[], viewRegion: DisplayedRegionModel, width: number, useCenter?: boolean): {
|
|
74
|
+
[key: string]: Feature[];
|
|
75
|
+
};
|
|
77
76
|
makeXWindowMap(features: Feature[], viewRegion: DisplayedRegionModel, width: number, useCenter: boolean | undefined, windowSize: number): {
|
|
78
77
|
[x: number]: Feature[];
|
|
79
78
|
};
|
|
@@ -13,7 +13,9 @@ export interface PlacedFeatureGroup {
|
|
|
13
13
|
* Return value from FeatureArranger::arrange()
|
|
14
14
|
*/
|
|
15
15
|
export interface FeaturePlacementResult {
|
|
16
|
-
placements
|
|
16
|
+
placements?: PlacedFeatureGroup[] | PlacedFeature[];
|
|
17
|
+
placementsForward?: PlacedFeatureGroup[] | PlacedFeature[];
|
|
18
|
+
placementsReverse?: PlacedFeatureGroup[] | PlacedFeature[];
|
|
17
19
|
numRowsAssigned?: number;
|
|
18
20
|
numHidden?: number;
|
|
19
21
|
}
|
|
@@ -33,6 +35,10 @@ export declare class FeatureArranger {
|
|
|
33
35
|
* @param {number} [hiddenPixels] - hide an item when its length less than this value. Default 0.5
|
|
34
36
|
* @return {FeaturePlacementResult} suggested draw location info
|
|
35
37
|
*/
|
|
38
|
+
/**
|
|
39
|
+
* Check if two placements have adjacent loci
|
|
40
|
+
*/
|
|
41
|
+
_assignRows(groups: PlacedFeatureGroup[], padding: number | PaddingFunc, sortItems: SortItemsOptions): number;
|
|
36
42
|
arrange(features: Feature[], viewRegion: DisplayedRegionModel, width: number, padding: number | PaddingFunc | undefined, hiddenPixels: number | undefined, sortItems: SortItemsOptions | undefined, viewWindow: any): FeaturePlacementResult;
|
|
37
43
|
}
|
|
38
44
|
export default FeatureArranger;
|
|
@@ -10,7 +10,7 @@ import { Feature } from "./Feature";
|
|
|
10
10
|
* have non-empty, unique names. In addition to this implicit coordinate system, NavContext methods also support
|
|
11
11
|
* feature coordinates, which are a feature and base number relative to the start of the feature.
|
|
12
12
|
*
|
|
13
|
-
* @author Silas Hsu
|
|
13
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
14
14
|
*/
|
|
15
15
|
declare class NavigationContext {
|
|
16
16
|
_name: string;
|
|
@@ -134,6 +134,7 @@ declare class NavigationContext {
|
|
|
134
134
|
/**
|
|
135
135
|
* Parses a location in this navigation context. Should be formatted like "$chrName:$startBase-$endBase" OR
|
|
136
136
|
* "$featureName". Supports multi-chromosome intervals like "chr7:154900269-chr8:1379003".
|
|
137
|
+
* Also supports whitespace-separated formats like "chr7 154900269 chr8 1379003".
|
|
137
138
|
*
|
|
138
139
|
* Returns an open interval of context coordinates. Throws RangeError on parse failure.
|
|
139
140
|
*
|
|
@@ -10,7 +10,7 @@ export interface IOpenInterval {
|
|
|
10
10
|
* `myFunction(...interval)` is equivalent to `myFunction(interval.start, interval.end)`
|
|
11
11
|
*
|
|
12
12
|
* @implements {Serializable}
|
|
13
|
-
* @author Silas Hsu
|
|
13
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
14
14
|
*/
|
|
15
15
|
export default class OpenInterval implements IOpenInterval {
|
|
16
16
|
readonly start: number;
|
package/dist/models/Snp.d.ts
CHANGED
|
@@ -42,12 +42,13 @@ interface ITrackModel {
|
|
|
42
42
|
isSelected?: any;
|
|
43
43
|
tracks?: any;
|
|
44
44
|
waitToUpdate?: boolean;
|
|
45
|
+
changeConfigInitial?: boolean;
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
47
48
|
* An object storing track metadata and state.
|
|
48
49
|
*
|
|
49
50
|
* @implements {Serializable}
|
|
50
|
-
* @author Silas Hsu
|
|
51
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
51
52
|
*/
|
|
52
53
|
export declare class TrackModel {
|
|
53
54
|
/**
|
|
@@ -78,6 +79,7 @@ export declare class TrackModel {
|
|
|
78
79
|
legendWidth?: any;
|
|
79
80
|
details?: any;
|
|
80
81
|
waitToUpdate: boolean;
|
|
82
|
+
changeConfigInitial: boolean;
|
|
81
83
|
constructor(plainObject: ITrackModel);
|
|
82
84
|
serialize(): this;
|
|
83
85
|
static deserialize(plainObject: any): TrackModel;
|
|
@@ -178,6 +178,26 @@ export declare const allGenomes: ({
|
|
|
178
178
|
}[];
|
|
179
179
|
};
|
|
180
180
|
};
|
|
181
|
+
} | {
|
|
182
|
+
genome: import("..").Genome;
|
|
183
|
+
navContext: import("../NavigationContext").default;
|
|
184
|
+
cytobands: {};
|
|
185
|
+
defaultRegion: import("..").OpenInterval;
|
|
186
|
+
defaultTracks: import("..").TrackModel[];
|
|
187
|
+
twoBitURL: string;
|
|
188
|
+
annotationTracks: {
|
|
189
|
+
Ruler: {
|
|
190
|
+
type: string;
|
|
191
|
+
label: string;
|
|
192
|
+
name: string;
|
|
193
|
+
}[];
|
|
194
|
+
Genes: {
|
|
195
|
+
name: string;
|
|
196
|
+
label: string;
|
|
197
|
+
type: string;
|
|
198
|
+
url: string;
|
|
199
|
+
}[];
|
|
200
|
+
};
|
|
181
201
|
})[];
|
|
182
202
|
export declare const genomeNameToConfig: {};
|
|
183
203
|
interface SpeciesConfig {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default mCalJa1_2_pat_X;
|
|
2
|
+
declare namespace mCalJa1_2_pat_X {
|
|
3
|
+
export { genome };
|
|
4
|
+
export { navContext };
|
|
5
|
+
export const cytobands: {};
|
|
6
|
+
export { defaultRegion };
|
|
7
|
+
export { defaultTracks };
|
|
8
|
+
export const twoBitURL: string;
|
|
9
|
+
export { annotationTracks };
|
|
10
|
+
}
|
|
11
|
+
declare const genome: Genome;
|
|
12
|
+
declare const navContext: import("../../NavigationContext").default;
|
|
13
|
+
declare const defaultRegion: import("../..").OpenInterval;
|
|
14
|
+
declare const defaultTracks: TrackModel[];
|
|
15
|
+
import annotationTracks from "./annotationTracks.json";
|
|
16
|
+
import Genome from "../../Genome";
|
|
17
|
+
import TrackModel from "../../TrackModel";
|
|
@@ -5,7 +5,7 @@ import OpenInterval from "../OpenInterval";
|
|
|
5
5
|
import NavigationContext from "../NavigationContext";
|
|
6
6
|
import { FeatureSegment } from "../FeatureSegment";
|
|
7
7
|
import { GenomeInteraction } from "../../getRemoteData/GenomeInteraction";
|
|
8
|
-
import { FeaturePlacementResult } from "../FeatureArranger";
|
|
8
|
+
import { FeaturePlacementResult, PlacedFeatureGroup } from "../FeatureArranger";
|
|
9
9
|
/**
|
|
10
10
|
* Draw information for a Feature
|
|
11
11
|
*/
|
|
@@ -81,14 +81,7 @@ export declare class FeaturePlacer {
|
|
|
81
81
|
* @return {FeaturePlacementResult} draw info with placements and metadata
|
|
82
82
|
*/
|
|
83
83
|
placeFeatures(options: PlaceFeaturesOptions): FeaturePlacementResult | PlacedFeature;
|
|
84
|
-
|
|
85
|
-
* Check if two placements have adjacent loci
|
|
86
|
-
*/
|
|
87
|
-
private _lociAreAdjacent;
|
|
88
|
-
/**
|
|
89
|
-
* Finalize a group of adjacent placements and assign a row
|
|
90
|
-
*/
|
|
91
|
-
private _finalizeGroupWithRow;
|
|
84
|
+
_combineAdjacent(placements: PlacedFeature[]): PlacedFeatureGroup[];
|
|
92
85
|
/**
|
|
93
86
|
* Gets the visible part of a feature after it has been placed in a navigation context, as well as if was placed
|
|
94
87
|
* into a reversed part of the nav context.
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.IsoformSelection{padding:0;margin:0;font-size:smaller;border-collapse:collapse;display:grid;grid-template-columns:auto}.IsoformSelection-item{border:1px solid lightgrey;display:grid;grid-template-columns:80px auto auto auto;grid-gap:5px;align-items:center}.IsoformSelection-collection{word-wrap:break-word;word-break:break-all}.IsoformSelection-item:hover{background-color:#fdbb84!important;cursor:pointer}.IsoformSelection-item td{padding:0 5px}.IsoformSelection-description{font-size:x-small;min-width:200px}.IsoformSelection-item-simple{border:1px solid lightgrey}.IsoformSelection-item-simple:hover{background-color:#fdbb84;cursor:pointer}.IsoformSelection-empty-msg{background-color:#a4ae86!important}.react-autosuggest__suggestions-container--open{border:1px solid #aaa;box-shadow:"0 2px 12px rgba(0, 0, 0, 0.1)";background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px;z-index:2;width:100%;max-height:200px;overflow-y:auto}.react-autosuggest__suggestions-list{margin:0;padding:0;list-style-type:none}.react-autosuggest__suggestion{cursor:pointer;padding:5px}.react-autosuggest__suggestion--highlighted{background-color:#ddd}div.GeneSearchBox-speech{position:absolute;right:5ch;top:10px}div.GeneSearchBox-speech button{padding:2px;margin-right:2px}.react-autosuggest__suggestions-container--open{max-height:800px;overflow:auto}.react-autosuggest__suggestions-list-222{background-color:#fff;margin:0;padding:0;list-style-type:none}.react-autosuggest__suggestions-list-white{background-color:#222;margin:0;padding:0;list-style-type:none}.react-autosuggest__suggestion:hover{background-color:#a4ae86!important}.rc-drawer{top:0;right:0;bottom:0;left:0;position:fixed;z-index:1050;pointer-events:none}.rc-drawer-inline{position:absolute}.rc-drawer-mask{top:0;right:0;bottom:0;left:0;position:absolute;z-index:1050;background:#00000080;pointer-events:auto}.rc-drawer-content-wrapper{position:absolute;z-index:1050;overflow:hidden;transition:transform .3s}.rc-drawer-content-wrapper-hidden{display:none}.rc-drawer-left .rc-drawer-content-wrapper{top:0;bottom:0;left:0}.rc-drawer-right .rc-drawer-content-wrapper{top:0;right:0;bottom:0}.rc-drawer-content{width:100%;height:100%;overflow:auto;background:#fff;pointer-events:auto}#threed-mol-container{position:relative;width:100%;height:100%;overflow:hidden}.picture{position:relative;display:block}.side{position:relative;display:flex}.picture .box1{position:relative}.picture .box2{position:absolute;right:0;bottom:0;border:1px black solid;z-index:2}.side .box1{position:relative}.side .box2{position:relative;border-left:1px black solid}#accordion p{margin-bottom:0}#accordion ul{list-style-type:none;padding:0;margin:0}#accordion input[type=text]{width:100%}#accordion input,#accordion button,#accordion select{margin-right:1ch}#accordion select{margin-left:1ch}.thumb-control label{display:block}.toggle-model-container{display:flex;justify-content:space-between;margin-bottom:1px}.toggle-model-container:hover{border-bottom:1px solid orange}.toggle-model:hover{background-color:orange;cursor:pointer}.card-body{padding:.75rem}#accordion{display:flex}.placement-container{position:absolute;left:2px;top:2px;z-index:1}.placement-container span{display:inline-block}.card-header button{margin-bottom:0!important}.card-header{padding:0}.FrameListMenu label{margin-bottom:0}.FrameListMenu ol{list-style-type:circle}.hoverButtons button{margin:2px 0;display:block}.closeMenu-3d{font-size:36px;cursor:pointer;color:red;position:absolute;right:10px;top:-8px;z-index:5}.arrow-list input[type=number]{margin-bottom:0!important;margin-right:2px!important;width:8ch}#static-legend{position:absolute;z-index:4;left:10px;bottom:50px}.enhanced-drawer{box-shadow:0 25px 50px -12px #00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.enhanced-accordion{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:12px;line-height:1.5}.drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-title{margin:0;font-size:16px;font-weight:600;color:#1e293b;background:linear-gradient(135deg,#3b82f6,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-button{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.close-button:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626;transform:scale(1.05)}.enhanced-accordion-section{margin-bottom:8px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.enhanced-accordion-section:hover{border-color:#cbd5e1;box-shadow:0 4px 8px #00000014}.enhanced-accordion-section.open{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.enhanced-accordion-header{padding:8px;background:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;border:none;border-bottom:1px solid #e2e8f0;border-radius:0;margin-bottom:0;box-shadow:none}.enhanced-accordion-section.open .enhanced-accordion-header{background:#f0f9ff;border-bottom-color:#3b82f6}.enhanced-accordion-header:hover{background:#f1f5f9}.enhanced-accordion-section.open .enhanced-accordion-header:hover{background:#e0f2fe}.accordion-title{margin:0;font-size:14px;font-weight:600;color:#1e293b;display:flex;justify-content:space-between;align-items:center}.accordion-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}.enhanced-accordion-header:hover .accordion-arrow{background:transparent;transform:scale(1.1)}.arrow-icon{color:#64748b;transition:all .3s ease;transform-origin:center}.arrow-icon.open{transform:rotate(90deg) scale(1.1)}.enhanced-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);background:#fff}.enhanced-accordion-section.open .enhanced-accordion-content{overflow:visible}.accordion-content-inner{padding:12px}.enhanced-accordion-section.open .enhanced-accordion-content{animation:fadeInContent .3s ease .1s both}@keyframes fadeInContent{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-content{display:block;padding:0}.control-group{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;transition:none;position:relative;overflow:visible;margin-bottom:8px}.control-group:not(:last-child):after{display:none}.control-group:before{display:none}.control-group:hover{border-color:transparent;box-shadow:none;transform:none;background:transparent}.control-group.primary,.control-group.secondary,.control-group.warning,.control-group.info{background:transparent;border:none}.control-group.primary .subsection-title,.control-group.secondary .subsection-title,.control-group.warning .subsection-title,.control-group.info .subsection-title{color:#1e293b}.subsection-title{color:#1e293b;font-size:12px;font-weight:600;margin:0 0 2px;padding-bottom:0;border-bottom:none;display:block;position:relative;text-transform:none;letter-spacing:0px}.subsection-title:before{display:none}.control-group .info-section{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:8px}.control-group .toggle-control{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:8px;transition:none}.control-group .toggle-control:hover{background:transparent;border-color:transparent}.control-group .input-group{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:8px;transition:none}.control-group .input-group:hover{background:transparent;border-color:transparent}.control-group .file-upload-group{background:transparent;border:none;border-radius:0;padding:0;text-align:left;transition:none;margin-bottom:8px}.control-group .file-upload-group:hover{border-color:transparent;background:transparent}.control-group .highlight-controls{display:flex;align-items:center;gap:8px;padding:0;background:transparent;border:none;border-radius:0}.control-group .scale-controls{background:transparent;border:none;border-radius:0;padding:0}.control-group .scale-info{background:transparent;border:none;border-radius:0;padding:0;margin:6px 0;font-size:12px;color:#1e40af;text-align:left}.control-group .scale-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.control-group .animation-controls,.control-group .sync-controls,.control-group .export-controls{background:transparent;border:none;border-radius:0;padding:0}.control-group .envelope-controls,.control-group .spin-controls{background:transparent;border:none;border-radius:0;box-shadow:none}.control-group .info-message{background:transparent;border:none;color:#1e40af;padding:0;border-radius:0;text-align:left;font-weight:300}.control-group .warning-message{background:transparent;border:none;color:#92400e;padding:0;border-radius:0;text-align:left;font-weight:300}.control-group.hidden{display:none!important}.control-label{display:block;font-weight:500;color:#374151;margin-bottom:4px}.input-label{display:block;font-size:12px;font-weight:500;color:#6b7280;margin-bottom:4px}.toggle-control{margin:8px 0}.toggle-label{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:0}.label-text{font-weight:500;color:#374151}.toggle-wrapper{position:relative;width:48px;height:24px}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s ease;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s ease;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-slider{background:linear-gradient(135deg,#3b82f6,#6366f1)}.toggle-input:checked+.toggle-slider:before{transform:translate(24px)}.radio-group{display:flex;flex-direction:column;gap:4px}.radio-group.compact{gap:2px}.radio-option{display:flex;align-items:center;cursor:pointer;border-radius:8px;transition:all .2s ease;margin-bottom:0}.radio-group.compact .radio-option{padding:6px 10px}.radio-option:hover{background:#f8fafc}.radio-input{position:absolute;opacity:0;width:0;height:0}.radio-custom{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%;margin-right:12px;position:relative;transition:all .2s ease}.radio-group.compact .radio-custom{margin-right:8px}.radio-input:checked+.radio-custom{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f6,#6366f1)}.radio-input:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.radio-label{color:#374151}.thumbnail-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.thumbnail-option{cursor:pointer;margin-bottom:0}.thumbnail-input{position:absolute;opacity:0;width:0;height:0}.thumbnail-custom{display:flex;flex-direction:column;align-items:center;padding:12px;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s ease;background:#fff}.thumbnail-input:checked+.thumbnail-custom{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#e0e7ff)}.option-icon{font-size:12px}.option-label{font-size:12px;font-weight:500;color:#374151}.enhanced-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.enhanced-btn:not(:disabled):hover{transform:none;box-shadow:0 2px 4px #0000001a}.enhanced-btn.primary{background:#fff;color:#3b82f6;border-color:#3b82f6}.enhanced-btn.primary:hover:not(:disabled){background:#f8fafc;border-color:#2563eb;color:#2563eb}.enhanced-btn.secondary{background:#fff;color:#64748b;border-color:#64748b}.enhanced-btn.secondary:hover:not(:disabled){background:#f8fafc;border-color:#475569;color:#475569}.enhanced-btn.success{background:#fff;color:#10b981;border-color:#10b981}.enhanced-btn.success:hover:not(:disabled){background:#f0fdf4;border-color:#059669;color:#059669}.enhanced-btn.info{background:#fff;color:#06b6d4;border-color:#06b6d4}.enhanced-btn.info:hover:not(:disabled){background:#f0f9ff;border-color:#0891b2;color:#0891b2}.enhanced-btn.warning{background:#fff;color:#f59e0b;border-color:#f59e0b}.enhanced-btn.warning:hover:not(:disabled){background:#fffbeb;border-color:#d97706;color:#d97706}.enhanced-btn.danger{background:#fff;color:#ef4444;border-color:#ef4444}.enhanced-btn.danger:hover:not(:disabled){background:#fef2f2;border-color:#dc2626;color:#dc2626}.enhanced-btn.small{padding:6px 10px;font-size:11px;min-height:28px}.enhanced-btn.large{padding:10px 16px;font-size:13px;min-height:36px}.button-group{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.button-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.enhanced-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;font-size:12px;font-weight:500;line-height:1.3;border-radius:6px;border:1.5px solid transparent;cursor:pointer;transition:all .2s ease;text-decoration:none;background:#fff;white-space:nowrap;min-height:32px;box-sizing:border-box}.enhanced-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.enhanced-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.enhanced-input:hover{border-color:#9ca3af}.enhanced-input.small{width:80px}.modern-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.modern-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.modern-input:hover{border-color:#9ca3af}.input-group{display:flex;align-items:center;gap:6px;margin-bottom:4px}.input-group .enhanced-input{flex:1}.enhanced-select{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;background:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.enhanced-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.enhanced-select:hover{border-color:#9ca3af}.opacity-slider{width:80px;height:4px;border-radius:2px;background:#d1d5db;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0 8px}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#6366f1);cursor:pointer;box-shadow:0 2px 4px #0003}.opacity-value{font-size:12px;color:#6b7280;min-width:32px;text-align:center}.file-upload-group{margin:8px 0}.file-upload-label{display:block;font-weight:500;color:#374151;margin-bottom:4px}.file-input{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.file-input:hover{border-color:#3b82f6;background:#fff}.file-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.warning-message{padding:0;background:transparent;border:none;border-radius:0;color:#92400e;font-size:13px;display:flex;align-items:center;gap:6px}.info-message{padding:0;background:transparent;border:none;border-radius:0;color:#1e40af;font-size:13px;display:flex;align-items:center;gap:6px}.envelope-controls,.spin-controls,.scale-controls{background:transparent;border:none;border-radius:0;padding:0}.color-control,.opacity-control,.select-control{display:flex;align-items:center;gap:6px}.highlight-controls{display:flex;align-items:flex-start;gap:8px}.scale-info{font-size:13px;color:#6b7280;margin:6px 0;padding:0;background:transparent;border-radius:0}.scale-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.animation-controls,.sync-controls,.export-controls{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.help-link{color:#3b82f6;text-decoration:none;font-size:13px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;transition:all .2s ease}.help-link:hover{background:#dbeafe;text-decoration:none}.info-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}@media (max-width: 768px){.button-group-grid{grid-template-columns:1fr}.thumbnail-options{grid-template-columns:repeat(2,1fr)}.scale-inputs{grid-template-columns:1fr}}[data-theme=light] .flexlayout__layout{left:0;top:0;right:0;bottom:0;position:relative;height:100%}[data-theme=light] .flexlayout__splitter{background-color:#ddd}[data-theme=light] .flexlayout__splitter:hover{background-color:#ccc}[data-theme=light] .flexlayout__splitter_drag{border-radius:5px;background-color:#bbb;z-index:1000}[data-theme=light] .flexlayout__outline_rect{position:absolute;cursor:move;border:2px solid red;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=light] .flexlayout__outline_rect_edge{cursor:move;border:2px solid green;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=light] .flexlayout__edge_rect{position:absolute;z-index:1000;box-shadow:inset 0 0 5px #0003;background-color:#d3d3d3}[data-theme=light] .flexlayout__drag_rect{position:absolute;cursor:move;border:2px solid #aaaaaa;box-shadow:inset 0 0 60px #0000004d;border-radius:5px;z-index:1000;box-sizing:border-box;background-color:#eee;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:10px;word-wrap:break-word}[data-theme=light] .flexlayout__tabset{overflow:hidden;background-color:#fff;box-sizing:border-box}[data-theme=light] .flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:#fff}[data-theme=light] .flexlayout__tab_button{cursor:pointer;padding:0 8px;box-shadow:inset 0 0 5px #00000026;border-top-left-radius:3px;border-top-right-radius:3px;float:left;vertical-align:top;box-sizing:border-box}[data-theme=light] .flexlayout__tab_button--selected{color:#000;background-color:#ddd}[data-theme=light] .flexlayout__tab_button--unselected{color:gray}[data-theme=light] .flexlayout__tab_button_leading,[data-theme=light] .flexlayout__tab_button_content{float:left;display:inline-block}[data-theme=light] .flexlayout__tab_button_textbox{float:left;border:none;color:green;background-color:#ddd}[data-theme=light] .flexlayout__tab_button_textbox:focus{outline:none}[data-theme=light] .flexlayout__tab_button_trailing{float:left;display:inline-block;margin-left:7px;margin-top:3px;width:12px;height:12px}[data-theme=light] .flexlayout__tab_button:hover .flexlayout__tab_button_trailing,[data-theme=light] .flexlayout__tab_button--selected .flexlayout__tab_button_trailing{background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><line x1="2" y1="2" x2="10" y2="10" stroke="red" stroke-width="2"/><line x1="10" y1="2" x2="2" y2="10" stroke="red" stroke-width="2"/></svg>') no-repeat center/9px 9px}[data-theme=light] .flexlayout__tab_button_overflow{float:left;width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}[data-theme=light] .flexlayout__tabset_header{position:absolute;left:0;right:0;background-color:#e8e8e8;padding:3px 3px 3px 5px;box-shadow:inset 0 0 3px #8888888a;box-sizing:border-box}[data-theme=light] .flexlayout__tab_header_outer{background-color:#fff;position:absolute;left:0;right:0;overflow:hidden}[data-theme=light] .flexlayout__tab_header_inner{position:absolute;left:0;display:flex;justify-content:center;top:0;bottom:0}[data-theme=light] .flexlayout__tabset-selected{background-image:linear-gradient(#fff,#ccc)}[data-theme=light] .flexlayout__tabset-maximized{background-image:linear-gradient(#aaa,#eee)}[data-theme=light] .flexlayout__tab_toolbar{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=light] .flexlayout__tab_toolbar_button-min{width:20px;height:20px;background:transparent url('data:image/svg+xml;utf8,<svg height="100%" version="1.1" viewBox="0 0 36 36" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="m 10,16 2,0 0,-4 4,0 0,-2 L 10,10 l 0,6 0,0 z"/><path d="m 20,10 0,2 4,0 0,4 2,0 L 26,10 l -6,0 0,0 z"/><path d="m 24,24 -4,0 0,2 L 26,26 l 0,-6 -2,0 0,4 0,0 z"/><path d="M 12,20 10,20 10,26 l 6,0 0,-2 -4,0 0,-4 0,0 z"/></svg>') no-repeat center/16px 16px;border:none;outline-width:0}[data-theme=light] .flexlayout__tab_toolbar_button-max{width:20px;height:20px;border:none;outline-width:0;background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 30" width="16" height="16" fill="black"><g transform="translate(7,7)"><path d="M5.5 0a.5.5 0 0 1 .5.5v4A1.5 1.5 0 0 1 4.5 6h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5m5 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 10 4.5v-4a.5.5 0 0 1 .5-.5M0 10.5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 6 11.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5m10 1a1.5 1.5 0 0 1 1.5-1.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0z"/></g></svg>') no-repeat center/16px 16px}[data-theme=light] .flexlayout__popup_menu{font-size:12px;font-family:Arial,sans-serif}[data-theme=light] .flexlayout__popup_menu_item{padding:2px 10px}[data-theme=light] .flexlayout__popup_menu_item:hover{background-color:#d3d3d3}[data-theme=light] .flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid lightgrey;background:#fff;border-radius:3px;position:absolute;z-index:1000}[data-theme=light] .flexlayout__border_top{background-color:#eee;border-bottom:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_bottom{background-color:#eee;border-top:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_left{background-color:#eee;border-right:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_right{background-color:#eee;border-left:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_inner_bottom{display:flex}[data-theme=light] .flexlayout__border_inner_left{position:absolute;white-space:nowrap;right:23px;transform-origin:top right;transform:rotate(-90deg)}[data-theme=light] .flexlayout__border_inner_right{position:absolute;white-space:nowrap;left:23px;transform-origin:top left;transform:rotate(90deg)}[data-theme=light] .flexlayout__border_button{display:inline-block;cursor:pointer;padding:2px 8px 3px;margin:2px;box-shadow:inset 0 0 5px #00000026;border-radius:3px;vertical-align:top;box-sizing:border-box;white-space:nowrap}[data-theme=light] .flexlayout__border_button--selected{color:#000;background-color:#ddd}[data-theme=light] .flexlayout__border_button--unselected{color:gray}[data-theme=light] .flexlayout__border_button_leading{display:inline}[data-theme=light] .flexlayout__border_button_content{display:inline-block}[data-theme=light] .flexlayout__border_button_textbox{float:left;border:none;color:green;background-color:#ddd}[data-theme=light] .flexlayout__border_button_textbox:focus{outline:none}[data-theme=light] .flexlayout__border_toolbar_left,[data-theme=light] .flexlayout__border_toolbar_right{position:absolute;display:flex;flex-direction:column-reverse;align-items:center;bottom:0;left:0;right:0}[data-theme=light] .flexlayout__border_toolbar_top,[data-theme=light] .flexlayout__border_toolbar_bottom{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=light] .flexlayout__border_button_overflow_top,[data-theme=light] .flexlayout__border_button_overflow_bottom,[data-theme=light] .flexlayout__border_button_overflow_right,[data-theme=light] .flexlayout__border_button_overflow_left{width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}[data-theme=dark] .flexlayout__layout{left:0;top:0;right:0;bottom:0;position:relative;height:100%}[data-theme=dark] .flexlayout__splitter{background-color:#000}[data-theme=dark] .flexlayout__splitter:hover{background-color:#333}[data-theme=dark] .flexlayout__splitter_drag{border-radius:5px;background-color:#444;z-index:1000}[data-theme=dark] .flexlayout__outline_rect{position:absolute;cursor:move;border:2px solid #cfe8ff;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=dark] .flexlayout__outline_rect_edge{cursor:move;border:2px solid #b7d1b5;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=dark] .flexlayout__edge_rect{position:absolute;z-index:1000;box-shadow:inset 0 0 5px #0003;background-color:#d3d3d3}[data-theme=dark] .flexlayout__drag_rect{position:absolute;cursor:move;border:2px solid #aaaaaa;box-shadow:inset 0 0 60px #0000004d;border-radius:5px;z-index:1000;box-sizing:border-box;background-color:#eee;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:10px;word-wrap:break-word}[data-theme=dark] .flexlayout__tabset{overflow:hidden;background-color:#222;box-sizing:border-box}[data-theme=dark] .flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:#222;color:#fff}[data-theme=dark] .flexlayout__tab_button{cursor:pointer;padding:2px 8px 3px;margin:2px;float:left;vertical-align:top;box-sizing:border-box}[data-theme=dark] .flexlayout__tab_button--selected{color:#ddd;background-color:#222}[data-theme=dark] .flexlayout__tab_button--unselected{color:gray}[data-theme=dark] .flexlayout__tab_button_leading{float:left;display:inline-block}[data-theme=dark] .flexlayout__tab_button_content{display:inline-block}[data-theme=dark] .flexlayout__tab_button_textbox{float:left;border:none;color:#90ee90;background-color:#222}[data-theme=dark] .flexlayout__tab_button_textbox:focus{outline:none}[data-theme=light] .flexlayout__tab_button_trailing{display:inline-block;margin-left:3px;margin-top:4px;width:15px;height:15px}[data-theme=light] .flexlayout__border_button:hover .flexlayout__border_button_trailing,[data-theme=light] .flexlayout__border_button--selected .flexlayout__border_button_trailing{background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><line x1="2" y1="2" x2="10" y2="10" stroke="red" stroke-width="2"/><line x1="10" y1="2" x2="2" y2="10" stroke="red" stroke-width="2"/></svg>') no-repeat center/9px 9px}[data-theme=dark] .flexlayout__tab_button_overflow{float:left;width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;color:#d3d3d3;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}[data-theme=dark] .flexlayout__tabset_header{position:absolute;left:0;right:0;color:#eee;background-color:#212121;padding:3px 3px 3px 5px;box-sizing:border-box}[data-theme=dark] .flexlayout__tab_header_inner{position:absolute;left:0;top:0;bottom:0}[data-theme=dark] .flexlayout__tab_header_outer{background-color:#000;position:absolute;left:0;right:0;overflow:hidden}[data-theme=dark] .flexlayout__tabset-selected{background-image:linear-gradient(#111,#444)}[data-theme=dark] .flexlayout__tabset-maximized{background-image:linear-gradient(#666,#333)}[data-theme=dark] .flexlayout__tab_toolbar{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=dark] .flexlayout__tab_toolbar_button-min{width:20px;height:20px;border:none;outline-width:0;background:transparent url(./images/maximize.png) no-repeat center}[data-theme=dark] .flexlayout__tab_toolbar_button-max{width:20px;height:20px;border:none;outline-width:0;background:transparent url(./images/restore.png) no-repeat center}[data-theme=dark] .flexlayout__popup_menu{font-size:12px;font-family:Arial,sans-serif}[data-theme=dark] .flexlayout__popup_menu_item{padding:2px 10px;color:#ddd}[data-theme=dark] .flexlayout__popup_menu_item:hover{background-color:#444}[data-theme=dark] .flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid #555;background:#222;border-radius:3px;position:absolute;z-index:1000}[data-theme=dark] .flexlayout__border_top{background-color:#000;border-bottom:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_bottom{background-color:#000;border-top:1px solid #333;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_left{background-color:#000;border-right:1px solid #333;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_right{background-color:#000;border-left:1px solid #333;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_inner_bottom{display:flex}[data-theme=dark] .flexlayout__border_inner_left{position:absolute;white-space:nowrap;right:23px;transform-origin:top right;transform:rotate(-90deg)}[data-theme=dark] .flexlayout__border_inner_right{position:absolute;white-space:nowrap;left:23px;transform-origin:top left;transform:rotate(90deg)}[data-theme=dark] .flexlayout__border_button{background-color:#222;color:#fff;display:inline-block;white-space:nowrap;cursor:pointer;padding:2px 8px 3px;margin:2px;vertical-align:top;box-sizing:border-box}[data-theme=dark] .flexlayout__border_button--selected{color:#ddd;background-color:#222}[data-theme=dark] .flexlayout__border_button--unselected{color:gray}[data-theme=dark] .flexlayout__border_button_leading{display:inline}[data-theme=dark] .flexlayout__border_button_content{display:inline-block}[data-theme=dark] .flexlayout__border_button_textbox{float:left;border:none;color:green;background-color:#ddd}[data-theme=dark] .flexlayout__border_button_textbox:focus{outline:none}[data-theme=dark] .flexlayout__border_button_trailing{display:inline-block;margin-left:5px;margin-top:3px;width:8px;height:8px}[data-theme=dark] .flexlayout__border_button:hover .flexlayout__border_button_trailing,[data-theme=dark] .flexlayout__border_button--selected .flexlayout__border_button_trailing{background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><line x1="2" y1="2" x2="10" y2="10" stroke="red" stroke-width="2"/><line x1="10" y1="2" x2="2" y2="10" stroke="red" stroke-width="2"/></svg>') no-repeat center/9px 9px}[data-theme=dark] .flexlayout__border_toolbar_left,[data-theme=dark] .flexlayout__border_toolbar_right{position:absolute;display:flex;flex-direction:column-reverse;align-items:center;bottom:0;left:0;right:0}[data-theme=dark] .flexlayout__border_toolbar_top,[data-theme=dark] .flexlayout__border_toolbar_bottom{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=dark] .flexlayout__border_button_overflow_top,[data-theme=dark] .flexlayout__border_button_overflow_bottom,[data-theme=dark] .flexlayout__border_button_overflow_right,[data-theme=dark] .flexlayout__border_button_overflow_left{color:#d3d3d3;width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}.flexlayout__tabset-selected{background-image:none;background-color:#f5d45ed1}.msp-pligin .msp-highlight-toast-wrapper{z-index:2}.TrackLegend-wrap{display:flex;width:100%;flex-direction:column;justify-content:space-between}.TrackLegend-label{margin:0;min-height:11px;font-size:x-small;line-height:1;word-wrap:break-word;word-break:break-all;overflow:hidden}[data-theme=dark]{--font-color: var(--dark-fg-color);--bg-color: var(--dark-bg-color)}[data-theme=light]{--font-color: var(--light-fg-color);--bg-color: var(--light-bg-color)}.bg2{background-color:#fff;color:#000}.svg-text-bg2{fill:#000}.svg-line-bg2{stroke:#000}#beamLeft{position:absolute;border:1px solid rgb(128,166,255);z-index:1;display:none;top:0;height:100%;will-change:left;pointer-events:none}#beamLeftInner{background-color:#00f;opacity:.1;height:100%;width:100%;pointer-events:none}#beamRight{position:absolute;border:1px solid rgb(255,133,92);z-index:1;display:none;top:0;height:100%;will-change:left;pointer-events:none}#beamRightInner{background-color:#f53d00;opacity:.1;height:100%;width:100%;pointer-events:none}.Fragment-horizontal-line{position:absolute;pointer-events:none;border-top:2px solid}.arrow-up{position:absolute;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid}.arrow-down{position:absolute;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid}.TrackContextMenu-body{z-index:1;min-width:250px;max-width:400px;background-color:var(--bg-color);border:1px solid #b7b1f2;border-radius:.25rem;font-size:small}.TrackContextMenu-item{padding:8px 5px}.TrackContextMenu-item label{cursor:pointer}.TrackContextMenu-hoverable-item:hover{background-color:#20a0ff}.TrackContextMenu-hoverable-item-danger:hover{background-color:pink;cursor:pointer}.TrackContextMenu-hoverable-item-warn:hover{background-color:#f3ba12;cursor:pointer}.TrackContextMenu-URL{font-style:italic;word-break:break-all;overflow-wrap:break-word}.Collapsible h6{margin-bottom:0;font-weight:700;font-size:1em}.Collapsible table{margin-bottom:0}.Collapsible p{margin-bottom:3px}.Collapsible__trigger{font-weight:700;padding-left:3px;text-decoration:underline;cursor:pointer;position:relative;display:block}.Collapsible__trigger:after{content:"▼";transform:rotate(-90deg);position:absolute;top:0;right:10px;display:block;transition:transform .3s}.Collapsible__trigger.is-open:after{transform:rotate(0)}.btn-tight{padding:0}.CategoryColorConfig-table{display:grid;grid-template-columns:auto auto;margin-bottom:5px}.MethylCTrack-tooltip-strand{margin-bottom:5px}.MethylCTrack-tooltip-strand-title{text-transform:capitalize;font-weight:700}.MethylCTrack-tooltip-strand-details{display:grid;grid-template-columns:auto auto;grid-column-gap:20px;font-size:small}.ArcDisplay-emphasize-on-hover:hover{opacity:1}.MethylColorConfig-table{display:grid;grid-template-columns:auto auto auto;margin-bottom:5px}.MethylColorConfig-header{font-weight:700}.popover-root{display:inline-block;position:relative}.popover-btn:active{border-color:#4a4a4a;outline:0}.loader{width:10px;aspect-ratio:1;border-radius:50%;animation:l5 1s infinite linear alternate;margin-top:.4em}@keyframes l5{0%{box-shadow:20px 0 #000,-20px 0 #0002;background:#000}33%{box-shadow:20px 0 #000,-20px 0 #0002;background:#0002}66%{box-shadow:20px 0 #0002,-20px 0 #000;background:#0002}to{box-shadow:20px 0 #0002,-20px 0 #000;background:#000}}.popover-btn{gap:.8em;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#ffffffb3;border-radius:0 0 .2em;border-right:1px solid #dbdbdb;border-top:1px solid #dbdbdb;box-shadow:none;box-sizing:border-box;color:#363636;cursor:pointer;display:inline-flex;font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.8rem;height:16px;justify-content:center;line-height:1.5;padding:calc(.5em - 1px) .5em;position:relative;text-align:center;user-select:none;-webkit-user-select:none;touch-action:manipulation;vertical-align:top;white-space:nowrap}.popover-btn:hover{border-color:#b5b5b5}.popover-btn:focus{border-color:#485fc7;outline:0}.popover-btn:focus:not(:active){box-shadow:#485fc740 0 0 0 .125em}.popover-arrow{margin-left:.3em;border:solid black;border-width:0 1.5px 1.5px 0;display:inline-block;padding:2px;transform:rotate(-45deg);transition:transform .25s ease,border-color .2s}.popover-arrow.open{transform:rotate(45deg)}.popover-panel{top:120%;left:0;min-width:200px;background:#fff;border-radius:10px;box-shadow:0 8px 32px #3c3c782e;border:1px solid #e5e7eb;padding:1.2em 1em;opacity:0;pointer-events:none;transform:translateY(-10px) scale(.98);transition:opacity .25s cubic-bezier(.4,2,.6,1),transform .25s cubic-bezier(.4,2,.6,1);z-index:100}.popover-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.Tooltip{border-radius:5px;background-color:#add8e6f2;padding:3px 6px;z-index:2}.Tooltip-major-text{font-size:1.2em}.Tooltip-minor-text{font-size:.8em;color:#696969}.Tooltip-highlight-text{font-size:1em;background-color:coral;display:inline-block}.Tooltip-monospace-text{font-family:monospace;text-align:center;font-size:16px;color:#696969;display:inline-block}.Tooltip-monospace-seq{font-family:monospace;font-size:16px;display:inline}.Tooltip-monospace-central-seq{font-family:monospace;font-size:16px;background-color:coral;display:inline}.SelectableArea-box{position:absolute;border:1px solid blue;background-color:#0000991a;z-index:1;pointer-events:none;display:flex;justify-content:center;align-items:center}.SelectableArea-box-invalid{border:1px solid red;background-color:#ff00001a;color:red}.SelectableArea-box-text-container{padding:0 5px;text-align:center;color:#000;background-color:#ffffffb3}.SelectableArea-box-secondary-text{font-size:x-small;white-space:nowrap}.MainPane{width:100%}.MainPane-opaque{opacity:.5}.MainPane-opaque:hover{opacity:1}.MetadataSelectionMenu ul{list-style-type:none}.MetadataSelectionMenu{position:absolute;background:var(--bg-color);padding:5px;min-width:240px;z-index:9}.MetadataSelectionMenu button{padding:0 4px}.MetadataSelectionMenu input{border:#409393 1px solid;padding:2px;margin-right:4px;border-radius:4px}.MetadataHeader-container{width:auto;display:flex;justify-content:flex-end;flex-grow:1}.MetadataHeader-terms{list-style-type:none;margin:0;padding:0;background-color:var(--bg-color);writing-mode:vertical-lr;text-align:right;vertical-align:middle}.MetadataHeader-button{margin-top:auto;margin-bottom:auto;position:relative}:root{--dark-fg-color: white;--dark-bg-color: black;--dark-container-color: #2c2c2c;--light-fg-color: black;--light-bg-color: white;--light-container-color: white}.loader{width:4px;aspect-ratio:1;border-radius:50%;animation:l5 1s infinite linear alternate}@keyframes l5{0%{box-shadow:9px 0 #000,-9px 0 #0002;background:#000}33%{box-shadow:9px 0 #000,-9px 0 #0002;background:#0002}66%{box-shadow:9px 0 #0002,-9px 0 #000;background:#0002}to{box-shadow:9px 0 #0002,-9px 0 #000;background:#000}}@keyframes borderPulse{0%{border-bottom:1px solid #f89581}50%{border-bottom:1px solid #feaa9a}to{border-bottom:1px solid #feded8}}.animatedBorder{animation:borderPulse 3s infinite}.App{margin-bottom:30px}.nav-link{user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;cursor:hand;cursor:pointer}.tab-link,.nav-tabs a.nav-link:hover{color:red}.nav-tabs .nav-link.active{background-color:#f5f5f5}.nav-tabs .nav-link.active:hover{color:red;background-color:#f5f5f5}.horizontal-line,.vertical-line{position:absolute;will-change:transform}.horizontal-line{position:absolute;width:100%;height:1px;z-index:3;pointer-events:none;border-top:1px dotted grey}.vertical-line{position:absolute;height:100%;width:1px;top:0;border-left:1px dotted grey;z-index:3;pointer-events:none}.btn-dense{margin-right:2px!important;margin-bottom:0!important}[data-theme=dark]{--font-color: var(--dark-fg-color);--bg-color: var(--dark-bg-color);--bg-container-color: var(--dark-container-color)}[data-theme=light]{--font-color: var(--light-fg-color);--bg-color: var(--light-bg-color);--bg-container-color: var(--light-container-color)}.bg{background-color:var(--bg-color);color:var(--font-color)}.svg-text-bg{fill:var(--font-color)}.svg-line-bg{stroke:var(--font-color)}.darkToggleBox{vertical-align:middle;margin-left:1ch}[data-theme=light] hr{border-top:1px solid rgb(80 80 80 / 30%)}[data-theme=dark] hr{border-top:1px solid rgb(223 220 220 / 30%)}[data-theme=light] .MuiCard-root{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}[data-theme=dark] .MuiCard-root{box-shadow:0 2px 1px -1px #fff3,0 1px 1px #ffffff24,0 1px 3px #ffffff1f}[data-theme=light] .MuiListItem-button:hover{background-color:#0000001a}[data-theme=dark] .MuiListItem-button:hover{background-color:#ffffff1a}[data-theme=light] .MuiAppBar-colorDefault{color:#000000de;background-color:#f5f5f5}[data-theme=dark] .MuiAppBar-colorDefault{color:#ffffffde;background-color:#222}[data-theme=light] .MuiTab-textColorPrimary{color:#000000b3}[data-theme=light] .MuiTab-textColorPrimary.Mui-selected{color:#3f51b5}[data-theme=dark] .MuiTab-textColorPrimary{color:#fffefeb3}[data-theme=dark] .MuiTab-textColorPrimary.Mui-selected{color:#6e84ff}[data-theme=light] .MuiIconButton-root{color:#0000008a}[data-theme=dark] .MuiIconButton-root{color:#ffffffb3}[data-theme=dark] .btn-outline-secondary{color:#dfe4e8;border-color:#dfe4e8}[data-theme=light] .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}[data-theme=light] .btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}[data-theme=dark] .btn-light{color:#fff;background-color:transparent;border-color:#dfe4e8}[data-theme=dark] .btn-light.disabled,.btn-light:disabled{border-color:#f8f9fa}.ReactTable .-pagination .-btn{color:unset!important}.ReactTable .-pagination .-btn[disabled]{opacity:1}.ReactTable .rt-expander:after{border-top:7px solid rgba(152,152,152,.8)!important}#shareUI .MuiTab-textColorSecondary{color:unset}
|
|
1
|
+
.IsoformSelection{padding:0;margin:0;font-size:smaller;border-collapse:collapse;display:grid;grid-template-columns:auto}.IsoformSelection-item{border:1px solid lightgrey;display:grid;grid-template-columns:80px auto auto auto;grid-gap:5px;align-items:center}.IsoformSelection-collection{word-wrap:break-word;word-break:break-all}.IsoformSelection-item:hover{background-color:#fdbb84!important;cursor:pointer}.IsoformSelection-item td{padding:0 5px}.IsoformSelection-description{font-size:x-small;min-width:200px}.IsoformSelection-item-simple{border:1px solid lightgrey}.IsoformSelection-item-simple:hover{background-color:#fdbb84;cursor:pointer}.IsoformSelection-empty-msg{background-color:#a4ae86!important}.react-autosuggest__suggestions-container--open{border:1px solid #aaa;box-shadow:"0 2px 12px rgba(0, 0, 0, 0.1)";background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px;z-index:2;width:100%;max-height:200px;overflow-y:auto}.react-autosuggest__suggestions-list{margin:0;padding:0;list-style-type:none}.react-autosuggest__suggestion{cursor:pointer;padding:5px}.react-autosuggest__suggestion--highlighted{background-color:#ddd}div.GeneSearchBox-speech{position:absolute;right:5ch;top:10px}div.GeneSearchBox-speech button{padding:2px;margin-right:2px}.react-autosuggest__suggestions-container--open{max-height:800px;overflow:auto}.react-autosuggest__suggestions-list-222{background-color:#fff;margin:0;padding:0;list-style-type:none}.react-autosuggest__suggestions-list-white{background-color:#222;margin:0;padding:0;list-style-type:none}.react-autosuggest__suggestion:hover{background-color:#a4ae86!important}.rc-drawer{top:0;right:0;bottom:0;left:0;position:fixed;z-index:1050;pointer-events:none}.rc-drawer-inline{position:absolute}.rc-drawer-mask{top:0;right:0;bottom:0;left:0;position:absolute;z-index:1050;background:#00000080;pointer-events:auto}.rc-drawer-content-wrapper{position:absolute;z-index:1050;overflow:hidden;transition:transform .3s}.rc-drawer-content-wrapper-hidden{display:none}.rc-drawer-left .rc-drawer-content-wrapper{top:0;bottom:0;left:0}.rc-drawer-right .rc-drawer-content-wrapper{top:0;right:0;bottom:0}.rc-drawer-content{width:100%;height:100%;overflow:auto;background:#fff;pointer-events:auto}#threed-mol-container{position:relative;width:100%;height:100%;overflow:hidden}.picture{position:relative;display:block}.side{position:relative;display:flex}.picture .box1{position:relative}.picture .box2{position:absolute;right:0;bottom:0;border:1px black solid;z-index:2}.side .box1{position:relative}.side .box2{position:relative;border-left:1px black solid}#accordion p{margin-bottom:0}#accordion ul{list-style-type:none;padding:0;margin:0}#accordion input[type=text]{width:100%}#accordion input,#accordion button,#accordion select{margin-right:1ch}#accordion select{margin-left:1ch}.thumb-control label{display:block}.toggle-model-container{display:flex;justify-content:space-between;margin-bottom:1px}.toggle-model-container:hover{border-bottom:1px solid orange}.toggle-model:hover{background-color:orange;cursor:pointer}.card-body{padding:.75rem}#accordion{display:flex}.placement-container{position:absolute;left:2px;top:2px;z-index:1}.placement-container span{display:inline-block}.card-header button{margin-bottom:0!important}.card-header{padding:0}.FrameListMenu label{margin-bottom:0}.FrameListMenu ol{list-style-type:circle}.hoverButtons button{margin:2px 0;display:block}.closeMenu-3d{font-size:36px;cursor:pointer;color:red;position:absolute;right:10px;top:-8px;z-index:5}.arrow-list input[type=number]{margin-bottom:0!important;margin-right:2px!important;width:8ch}#static-legend{position:absolute;z-index:4;left:10px;bottom:50px}.enhanced-drawer{box-shadow:0 25px 50px -12px #00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.enhanced-accordion{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:12px;line-height:1.5}.drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-title{margin:0;font-size:16px;font-weight:600;color:#1e293b;background:linear-gradient(135deg,#3b82f6,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-button{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s ease}.close-button:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626;transform:scale(1.05)}.enhanced-accordion-section{margin-bottom:8px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.enhanced-accordion-section:hover{border-color:#cbd5e1;box-shadow:0 4px 8px #00000014}.enhanced-accordion-section.open{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.enhanced-accordion-header{padding:8px;background:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;border:none;border-bottom:1px solid #e2e8f0;border-radius:0;margin-bottom:0;box-shadow:none}.enhanced-accordion-section.open .enhanced-accordion-header{background:#f0f9ff;border-bottom-color:#3b82f6}.enhanced-accordion-header:hover{background:#f1f5f9}.enhanced-accordion-section.open .enhanced-accordion-header:hover{background:#e0f2fe}.accordion-title{margin:0;font-size:14px;font-weight:600;color:#1e293b;display:flex;justify-content:space-between;align-items:center}.accordion-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}.enhanced-accordion-header:hover .accordion-arrow{background:transparent;transform:scale(1.1)}.arrow-icon{color:#64748b;transition:all .3s ease;transform-origin:center}.arrow-icon.open{transform:rotate(90deg) scale(1.1)}.enhanced-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);background:#fff}.enhanced-accordion-section.open .enhanced-accordion-content{overflow:visible}.accordion-content-inner{padding:12px}.enhanced-accordion-section.open .enhanced-accordion-content{animation:fadeInContent .3s ease .1s both}@keyframes fadeInContent{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-content{display:block;padding:0}.control-group{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;transition:none;position:relative;overflow:visible;margin-bottom:8px}.control-group:not(:last-child):after{display:none}.control-group:before{display:none}.control-group:hover{border-color:transparent;box-shadow:none;transform:none;background:transparent}.control-group.primary,.control-group.secondary,.control-group.warning,.control-group.info{background:transparent;border:none}.control-group.primary .subsection-title,.control-group.secondary .subsection-title,.control-group.warning .subsection-title,.control-group.info .subsection-title{color:#1e293b}.subsection-title{color:#1e293b;font-size:12px;font-weight:600;margin:0 0 2px;padding-bottom:0;border-bottom:none;display:block;position:relative;text-transform:none;letter-spacing:0px}.subsection-title:before{display:none}.control-group .info-section{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:8px}.control-group .toggle-control{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:8px;transition:none}.control-group .toggle-control:hover{background:transparent;border-color:transparent}.control-group .input-group{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:8px;transition:none}.control-group .input-group:hover{background:transparent;border-color:transparent}.control-group .file-upload-group{background:transparent;border:none;border-radius:0;padding:0;text-align:left;transition:none;margin-bottom:8px}.control-group .file-upload-group:hover{border-color:transparent;background:transparent}.control-group .highlight-controls{display:flex;align-items:center;gap:8px;padding:0;background:transparent;border:none;border-radius:0}.control-group .scale-controls{background:transparent;border:none;border-radius:0;padding:0}.control-group .scale-info{background:transparent;border:none;border-radius:0;padding:0;margin:6px 0;font-size:12px;color:#1e40af;text-align:left}.control-group .scale-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.control-group .animation-controls,.control-group .sync-controls,.control-group .export-controls{background:transparent;border:none;border-radius:0;padding:0}.control-group .envelope-controls,.control-group .spin-controls{background:transparent;border:none;border-radius:0;box-shadow:none}.control-group .info-message{background:transparent;border:none;color:#1e40af;padding:0;border-radius:0;text-align:left;font-weight:300}.control-group .warning-message{background:transparent;border:none;color:#92400e;padding:0;border-radius:0;text-align:left;font-weight:300}.control-group.hidden{display:none!important}.control-label{display:block;font-weight:500;color:#374151;margin-bottom:4px}.input-label{display:block;font-size:12px;font-weight:500;color:#6b7280;margin-bottom:4px}.toggle-control{margin:8px 0}.toggle-label{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:0}.label-text{font-weight:500;color:#374151}.toggle-wrapper{position:relative;width:48px;height:24px}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s ease;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s ease;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-slider{background:linear-gradient(135deg,#3b82f6,#6366f1)}.toggle-input:checked+.toggle-slider:before{transform:translate(24px)}.radio-group{display:flex;flex-direction:column;gap:4px}.radio-group.compact{gap:2px}.radio-option{display:flex;align-items:center;cursor:pointer;border-radius:8px;transition:all .2s ease;margin-bottom:0}.radio-group.compact .radio-option{padding:6px 10px}.radio-option:hover{background:#f8fafc}.radio-input{position:absolute;opacity:0;width:0;height:0}.radio-custom{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%;margin-right:12px;position:relative;transition:all .2s ease}.radio-group.compact .radio-custom{margin-right:8px}.radio-input:checked+.radio-custom{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f6,#6366f1)}.radio-input:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.radio-label{color:#374151}.thumbnail-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.thumbnail-option{cursor:pointer;margin-bottom:0}.thumbnail-input{position:absolute;opacity:0;width:0;height:0}.thumbnail-custom{display:flex;flex-direction:column;align-items:center;padding:12px;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s ease;background:#fff}.thumbnail-input:checked+.thumbnail-custom{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#e0e7ff)}.option-icon{font-size:12px}.option-label{font-size:12px;font-weight:500;color:#374151}.enhanced-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.enhanced-btn:not(:disabled):hover{transform:none;box-shadow:0 2px 4px #0000001a}.enhanced-btn.primary{background:#fff;color:#3b82f6;border-color:#3b82f6}.enhanced-btn.primary:hover:not(:disabled){background:#f8fafc;border-color:#2563eb;color:#2563eb}.enhanced-btn.secondary{background:#fff;color:#64748b;border-color:#64748b}.enhanced-btn.secondary:hover:not(:disabled){background:#f8fafc;border-color:#475569;color:#475569}.enhanced-btn.success{background:#fff;color:#10b981;border-color:#10b981}.enhanced-btn.success:hover:not(:disabled){background:#f0fdf4;border-color:#059669;color:#059669}.enhanced-btn.info{background:#fff;color:#06b6d4;border-color:#06b6d4}.enhanced-btn.info:hover:not(:disabled){background:#f0f9ff;border-color:#0891b2;color:#0891b2}.enhanced-btn.warning{background:#fff;color:#f59e0b;border-color:#f59e0b}.enhanced-btn.warning:hover:not(:disabled){background:#fffbeb;border-color:#d97706;color:#d97706}.enhanced-btn.danger{background:#fff;color:#ef4444;border-color:#ef4444}.enhanced-btn.danger:hover:not(:disabled){background:#fef2f2;border-color:#dc2626;color:#dc2626}.enhanced-btn.small{padding:6px 10px;font-size:11px;min-height:28px}.enhanced-btn.large{padding:10px 16px;font-size:13px;min-height:36px}.button-group{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.button-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.enhanced-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;font-size:12px;font-weight:500;line-height:1.3;border-radius:6px;border:1.5px solid transparent;cursor:pointer;transition:all .2s ease;text-decoration:none;background:#fff;white-space:nowrap;min-height:32px;box-sizing:border-box}.enhanced-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.enhanced-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.enhanced-input:hover{border-color:#9ca3af}.enhanced-input.small{width:80px}.modern-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.modern-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.modern-input:hover{border-color:#9ca3af}.input-group{display:flex;align-items:center;gap:6px;margin-bottom:4px}.input-group .enhanced-input{flex:1}.enhanced-select{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;background:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.enhanced-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.enhanced-select:hover{border-color:#9ca3af}.opacity-slider{width:80px;height:4px;border-radius:2px;background:#d1d5db;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0 8px}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#6366f1);cursor:pointer;box-shadow:0 2px 4px #0003}.opacity-value{font-size:12px;color:#6b7280;min-width:32px;text-align:center}.file-upload-group{margin:8px 0}.file-upload-label{display:block;font-weight:500;color:#374151;margin-bottom:4px}.file-input{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.file-input:hover{border-color:#3b82f6;background:#fff}.file-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.warning-message{padding:0;background:transparent;border:none;border-radius:0;color:#92400e;font-size:13px;display:flex;align-items:center;gap:6px}.info-message{padding:0;background:transparent;border:none;border-radius:0;color:#1e40af;font-size:13px;display:flex;align-items:center;gap:6px}.envelope-controls,.spin-controls,.scale-controls{background:transparent;border:none;border-radius:0;padding:0}.color-control,.opacity-control,.select-control{display:flex;align-items:center;gap:6px}.highlight-controls{display:flex;align-items:flex-start;gap:8px}.scale-info{font-size:13px;color:#6b7280;margin:6px 0;padding:0;background:transparent;border-radius:0}.scale-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.animation-controls,.sync-controls,.export-controls{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.help-link{color:#3b82f6;text-decoration:none;font-size:13px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;transition:all .2s ease}.help-link:hover{background:#dbeafe;text-decoration:none}.info-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}@media (max-width: 768px){.button-group-grid{grid-template-columns:1fr}.thumbnail-options{grid-template-columns:repeat(2,1fr)}.scale-inputs{grid-template-columns:1fr}}[data-theme=light] .flexlayout__layout{left:0;top:0;right:0;bottom:0;position:relative;height:100%}[data-theme=light] .flexlayout__splitter{background-color:#ddd}[data-theme=light] .flexlayout__splitter:hover{background-color:#ccc}[data-theme=light] .flexlayout__splitter_drag{border-radius:5px;background-color:#bbb;z-index:1000}[data-theme=light] .flexlayout__outline_rect{position:absolute;cursor:move;border:2px solid red;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=light] .flexlayout__outline_rect_edge{cursor:move;border:2px solid green;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=light] .flexlayout__edge_rect{position:absolute;z-index:1000;box-shadow:inset 0 0 5px #0003;background-color:#d3d3d3}[data-theme=light] .flexlayout__drag_rect{position:absolute;cursor:move;border:2px solid #aaaaaa;box-shadow:inset 0 0 60px #0000004d;border-radius:5px;z-index:1000;box-sizing:border-box;background-color:#eee;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:10px;word-wrap:break-word}[data-theme=light] .flexlayout__tabset{overflow:hidden;background-color:#fff;box-sizing:border-box}[data-theme=light] .flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:#fff}[data-theme=light] .flexlayout__tab_button{cursor:pointer;padding:0 8px;box-shadow:inset 0 0 5px #00000026;border-top-left-radius:3px;border-top-right-radius:3px;float:left;vertical-align:top;box-sizing:border-box}[data-theme=light] .flexlayout__tab_button--selected{color:#000;background-color:#ddd}[data-theme=light] .flexlayout__tab_button--unselected{color:gray}[data-theme=light] .flexlayout__tab_button_leading,[data-theme=light] .flexlayout__tab_button_content{float:left;display:inline-block}[data-theme=light] .flexlayout__tab_button_textbox{float:left;border:none;color:green;background-color:#ddd}[data-theme=light] .flexlayout__tab_button_textbox:focus{outline:none}[data-theme=light] .flexlayout__tab_button_trailing{float:left;display:inline-block;margin-left:7px;margin-top:3px;width:12px;height:12px}[data-theme=light] .flexlayout__tab_button:hover .flexlayout__tab_button_trailing,[data-theme=light] .flexlayout__tab_button--selected .flexlayout__tab_button_trailing{background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><line x1="2" y1="2" x2="10" y2="10" stroke="red" stroke-width="2"/><line x1="10" y1="2" x2="2" y2="10" stroke="red" stroke-width="2"/></svg>') no-repeat center/9px 9px}[data-theme=light] .flexlayout__tab_button_overflow{float:left;width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}[data-theme=light] .flexlayout__tabset_header{position:absolute;left:0;right:0;background-color:#e8e8e8;padding:3px 3px 3px 5px;box-shadow:inset 0 0 3px #8888888a;box-sizing:border-box}[data-theme=light] .flexlayout__tab_header_outer{background-color:#fff;position:absolute;left:0;right:0;overflow:hidden}[data-theme=light] .flexlayout__tab_header_inner{position:absolute;left:0;display:flex;justify-content:center;top:0;bottom:0}[data-theme=light] .flexlayout__tabset-selected{background-image:linear-gradient(#fff,#ccc)}[data-theme=light] .flexlayout__tabset-maximized{background-image:linear-gradient(#aaa,#eee)}[data-theme=light] .flexlayout__tab_toolbar{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=light] .flexlayout__tab_toolbar_button-min{width:20px;height:20px;background:transparent url('data:image/svg+xml;utf8,<svg height="100%" version="1.1" viewBox="0 0 36 36" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="m 10,16 2,0 0,-4 4,0 0,-2 L 10,10 l 0,6 0,0 z"/><path d="m 20,10 0,2 4,0 0,4 2,0 L 26,10 l -6,0 0,0 z"/><path d="m 24,24 -4,0 0,2 L 26,26 l 0,-6 -2,0 0,4 0,0 z"/><path d="M 12,20 10,20 10,26 l 6,0 0,-2 -4,0 0,-4 0,0 z"/></svg>') no-repeat center/16px 16px;border:none;outline-width:0}[data-theme=light] .flexlayout__tab_toolbar_button-max{width:20px;height:20px;border:none;outline-width:0;background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 30" width="16" height="16" fill="black"><g transform="translate(7,7)"><path d="M5.5 0a.5.5 0 0 1 .5.5v4A1.5 1.5 0 0 1 4.5 6h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5m5 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 10 4.5v-4a.5.5 0 0 1 .5-.5M0 10.5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 6 11.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5m10 1a1.5 1.5 0 0 1 1.5-1.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0z"/></g></svg>') no-repeat center/16px 16px}[data-theme=light] .flexlayout__popup_menu{font-size:12px;font-family:Arial,sans-serif}[data-theme=light] .flexlayout__popup_menu_item{padding:2px 10px}[data-theme=light] .flexlayout__popup_menu_item:hover{background-color:#d3d3d3}[data-theme=light] .flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid lightgrey;background:#fff;border-radius:3px;position:absolute;z-index:1000}[data-theme=light] .flexlayout__border_top{background-color:#eee;border-bottom:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_bottom{background-color:#eee;border-top:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_left{background-color:#eee;border-right:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_right{background-color:#eee;border-left:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=light] .flexlayout__border_inner_bottom{display:flex}[data-theme=light] .flexlayout__border_inner_left{position:absolute;white-space:nowrap;right:23px;transform-origin:top right;transform:rotate(-90deg)}[data-theme=light] .flexlayout__border_inner_right{position:absolute;white-space:nowrap;left:23px;transform-origin:top left;transform:rotate(90deg)}[data-theme=light] .flexlayout__border_button{display:inline-block;cursor:pointer;padding:2px 8px 3px;margin:2px;box-shadow:inset 0 0 5px #00000026;border-radius:3px;vertical-align:top;box-sizing:border-box;white-space:nowrap}[data-theme=light] .flexlayout__border_button--selected{color:#000;background-color:#ddd}[data-theme=light] .flexlayout__border_button--unselected{color:gray}[data-theme=light] .flexlayout__border_button_leading{display:inline}[data-theme=light] .flexlayout__border_button_content{display:inline-block}[data-theme=light] .flexlayout__border_button_textbox{float:left;border:none;color:green;background-color:#ddd}[data-theme=light] .flexlayout__border_button_textbox:focus{outline:none}[data-theme=light] .flexlayout__border_toolbar_left,[data-theme=light] .flexlayout__border_toolbar_right{position:absolute;display:flex;flex-direction:column-reverse;align-items:center;bottom:0;left:0;right:0}[data-theme=light] .flexlayout__border_toolbar_top,[data-theme=light] .flexlayout__border_toolbar_bottom{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=light] .flexlayout__border_button_overflow_top,[data-theme=light] .flexlayout__border_button_overflow_bottom,[data-theme=light] .flexlayout__border_button_overflow_right,[data-theme=light] .flexlayout__border_button_overflow_left{width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}[data-theme=dark] .flexlayout__layout{left:0;top:0;right:0;bottom:0;position:relative;height:100%}[data-theme=dark] .flexlayout__splitter{background-color:#000}[data-theme=dark] .flexlayout__splitter:hover{background-color:#333}[data-theme=dark] .flexlayout__splitter_drag{border-radius:5px;background-color:#444;z-index:1000}[data-theme=dark] .flexlayout__outline_rect{position:absolute;cursor:move;border:2px solid #cfe8ff;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=dark] .flexlayout__outline_rect_edge{cursor:move;border:2px solid #b7d1b5;box-shadow:inset 0 0 60px #0003;border-radius:5px;z-index:1000;box-sizing:border-box}[data-theme=dark] .flexlayout__edge_rect{position:absolute;z-index:1000;box-shadow:inset 0 0 5px #0003;background-color:#d3d3d3}[data-theme=dark] .flexlayout__drag_rect{position:absolute;cursor:move;border:2px solid #aaaaaa;box-shadow:inset 0 0 60px #0000004d;border-radius:5px;z-index:1000;box-sizing:border-box;background-color:#eee;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:10px;word-wrap:break-word}[data-theme=dark] .flexlayout__tabset{overflow:hidden;background-color:#222;box-sizing:border-box}[data-theme=dark] .flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:#222;color:#fff}[data-theme=dark] .flexlayout__tab_button{cursor:pointer;padding:2px 8px 3px;margin:2px;float:left;vertical-align:top;box-sizing:border-box}[data-theme=dark] .flexlayout__tab_button--selected{color:#ddd;background-color:#222}[data-theme=dark] .flexlayout__tab_button--unselected{color:gray}[data-theme=dark] .flexlayout__tab_button_leading{float:left;display:inline-block}[data-theme=dark] .flexlayout__tab_button_content{display:inline-block}[data-theme=dark] .flexlayout__tab_button_textbox{float:left;border:none;color:#90ee90;background-color:#222}[data-theme=dark] .flexlayout__tab_button_textbox:focus{outline:none}[data-theme=light] .flexlayout__tab_button_trailing{display:inline-block;margin-left:3px;margin-top:4px;width:15px;height:15px}[data-theme=light] .flexlayout__border_button:hover .flexlayout__border_button_trailing,[data-theme=light] .flexlayout__border_button--selected .flexlayout__border_button_trailing{background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><line x1="2" y1="2" x2="10" y2="10" stroke="red" stroke-width="2"/><line x1="10" y1="2" x2="2" y2="10" stroke="red" stroke-width="2"/></svg>') no-repeat center/9px 9px}[data-theme=dark] .flexlayout__tab_button_overflow{float:left;width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;color:#d3d3d3;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}[data-theme=dark] .flexlayout__tabset_header{position:absolute;left:0;right:0;color:#eee;background-color:#212121;padding:3px 3px 3px 5px;box-sizing:border-box}[data-theme=dark] .flexlayout__tab_header_inner{position:absolute;left:0;top:0;bottom:0}[data-theme=dark] .flexlayout__tab_header_outer{background-color:#000;position:absolute;left:0;right:0;overflow:hidden}[data-theme=dark] .flexlayout__tabset-selected{background-image:linear-gradient(#111,#444)}[data-theme=dark] .flexlayout__tabset-maximized{background-image:linear-gradient(#666,#333)}[data-theme=dark] .flexlayout__tab_toolbar{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=dark] .flexlayout__tab_toolbar_button-min{width:20px;height:20px;border:none;outline-width:0;background:transparent url(./images/maximize.png) no-repeat center}[data-theme=dark] .flexlayout__tab_toolbar_button-max{width:20px;height:20px;border:none;outline-width:0;background:transparent url(./images/restore.png) no-repeat center}[data-theme=dark] .flexlayout__popup_menu{font-size:12px;font-family:Arial,sans-serif}[data-theme=dark] .flexlayout__popup_menu_item{padding:2px 10px;color:#ddd}[data-theme=dark] .flexlayout__popup_menu_item:hover{background-color:#444}[data-theme=dark] .flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid #555;background:#222;border-radius:3px;position:absolute;z-index:1000}[data-theme=dark] .flexlayout__border_top{background-color:#000;border-bottom:1px solid #ddd;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_bottom{background-color:#000;border-top:1px solid #333;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_left{background-color:#000;border-right:1px solid #333;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_right{background-color:#000;border-left:1px solid #333;box-sizing:border-box;overflow:hidden}[data-theme=dark] .flexlayout__border_inner_bottom{display:flex}[data-theme=dark] .flexlayout__border_inner_left{position:absolute;white-space:nowrap;right:23px;transform-origin:top right;transform:rotate(-90deg)}[data-theme=dark] .flexlayout__border_inner_right{position:absolute;white-space:nowrap;left:23px;transform-origin:top left;transform:rotate(90deg)}[data-theme=dark] .flexlayout__border_button{background-color:#222;color:#fff;display:inline-block;white-space:nowrap;cursor:pointer;padding:2px 8px 3px;margin:2px;vertical-align:top;box-sizing:border-box}[data-theme=dark] .flexlayout__border_button--selected{color:#ddd;background-color:#222}[data-theme=dark] .flexlayout__border_button--unselected{color:gray}[data-theme=dark] .flexlayout__border_button_leading{display:inline}[data-theme=dark] .flexlayout__border_button_content{display:inline-block}[data-theme=dark] .flexlayout__border_button_textbox{float:left;border:none;color:green;background-color:#ddd}[data-theme=dark] .flexlayout__border_button_textbox:focus{outline:none}[data-theme=dark] .flexlayout__border_button_trailing{display:inline-block;margin-left:5px;margin-top:3px;width:8px;height:8px}[data-theme=dark] .flexlayout__border_button:hover .flexlayout__border_button_trailing,[data-theme=dark] .flexlayout__border_button--selected .flexlayout__border_button_trailing{background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><line x1="2" y1="2" x2="10" y2="10" stroke="red" stroke-width="2"/><line x1="10" y1="2" x2="2" y2="10" stroke="red" stroke-width="2"/></svg>') no-repeat center/9px 9px}[data-theme=dark] .flexlayout__border_toolbar_left,[data-theme=dark] .flexlayout__border_toolbar_right{position:absolute;display:flex;flex-direction:column-reverse;align-items:center;bottom:0;left:0;right:0}[data-theme=dark] .flexlayout__border_toolbar_top,[data-theme=dark] .flexlayout__border_toolbar_bottom{position:absolute;display:flex;flex-direction:row-reverse;align-items:center;top:0;bottom:0;right:0}[data-theme=dark] .flexlayout__border_button_overflow_top,[data-theme=dark] .flexlayout__border_button_overflow_bottom,[data-theme=dark] .flexlayout__border_button_overflow_right,[data-theme=dark] .flexlayout__border_button_overflow_left{color:#d3d3d3;width:20px;height:15px;margin-top:2px;padding-left:12px;border:none;font-size:10px;font-family:Arial,sans-serif;background:transparent url(./images/more.png) no-repeat left}.flexlayout__tabset-selected{background-image:none;background-color:#f5d45ed1}.msp-pligin .msp-highlight-toast-wrapper{z-index:2}.TrackLegend-wrap{display:flex;width:100%;flex-direction:column;justify-content:space-between}.TrackLegend-label{margin:0;min-height:11px;font-size:x-small;line-height:1;word-wrap:break-word;word-break:break-all;overflow:hidden}[data-theme=dark]{--font-color: var(--dark-fg-color);--bg-color: var(--dark-bg-color)}[data-theme=light]{--font-color: var(--light-fg-color);--bg-color: var(--light-bg-color)}.bg2{background-color:#fff;color:#000}.svg-text-bg2{fill:#000}.svg-line-bg2{stroke:#000}#beamLeft{position:absolute;border:1px solid rgb(128,166,255);z-index:1;display:none;top:0;height:100%;will-change:left;pointer-events:none}#beamLeftInner{background-color:#00f;opacity:.1;height:100%;width:100%;pointer-events:none}#beamRight{position:absolute;border:1px solid rgb(255,133,92);z-index:1;display:none;top:0;height:100%;will-change:left;pointer-events:none}#beamRightInner{background-color:#f53d00;opacity:.1;height:100%;width:100%;pointer-events:none}.Fragment-horizontal-line{position:absolute;pointer-events:none;border-top:2px solid}.arrow-up{position:absolute;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid;pointer-events:none}.arrow-down{position:absolute;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;pointer-events:none}.TrackContextMenu-body{z-index:1;min-width:250px;max-width:400px;background-color:var(--bg-color);border:1px solid #b7b1f2;border-radius:.25rem;font-size:small}.TrackContextMenu-item{padding:8px 5px}.TrackContextMenu-item label{cursor:pointer}.TrackContextMenu-hoverable-item:hover{background-color:#20a0ff}.TrackContextMenu-hoverable-item-danger:hover{background-color:pink;cursor:pointer}.TrackContextMenu-hoverable-item-warn:hover{background-color:#f3ba12;cursor:pointer}.TrackContextMenu-URL{font-style:italic;word-break:break-all;overflow-wrap:break-word}.Collapsible h6{margin-bottom:0;font-weight:700;font-size:1em}.Collapsible table{margin-bottom:0}.Collapsible p{margin-bottom:3px}.Collapsible__trigger{font-weight:700;padding-left:3px;text-decoration:underline;cursor:pointer;position:relative;display:block}.Collapsible__trigger:after{content:"▼";transform:rotate(-90deg);position:absolute;top:0;right:10px;display:block;transition:transform .3s}.Collapsible__trigger.is-open:after{transform:rotate(0)}.btn-tight{padding:0}.CategoryColorConfig-table{display:grid;grid-template-columns:auto auto;margin-bottom:5px}.MethylCTrack-tooltip-strand{margin-bottom:5px}.MethylCTrack-tooltip-strand-title{text-transform:capitalize;font-weight:700}.MethylCTrack-tooltip-strand-details{display:grid;grid-template-columns:auto auto;grid-column-gap:20px;font-size:small}.ArcDisplay-emphasize-on-hover:hover{opacity:1}.MethylColorConfig-table{display:grid;grid-template-columns:auto auto auto;margin-bottom:5px}.MethylColorConfig-header{font-weight:700}.popover-root{display:inline-block;position:relative}.popover-btn:active{border-color:#4a4a4a;outline:0}.loader{width:10px;aspect-ratio:1;border-radius:50%;animation:l5 1s infinite linear alternate;margin-top:.4em}@keyframes l5{0%{box-shadow:20px 0 #000,-20px 0 #0002;background:#000}33%{box-shadow:20px 0 #000,-20px 0 #0002;background:#0002}66%{box-shadow:20px 0 #0002,-20px 0 #000;background:#0002}to{box-shadow:20px 0 #0002,-20px 0 #000;background:#000}}.popover-btn{gap:.8em;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#ffffffb3;border-radius:0 0 .2em;border-right:1px solid #dbdbdb;border-top:1px solid #dbdbdb;box-shadow:none;box-sizing:border-box;color:#363636;cursor:pointer;display:inline-flex;font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.8rem;height:16px;justify-content:center;line-height:1.5;padding:calc(.5em - 1px) .5em;position:relative;text-align:center;user-select:none;-webkit-user-select:none;touch-action:manipulation;vertical-align:top;white-space:nowrap}.popover-btn:hover{border-color:#b5b5b5}.popover-btn:focus{border-color:#485fc7;outline:0}.popover-btn:focus:not(:active){box-shadow:#485fc740 0 0 0 .125em}.popover-arrow{margin-left:.3em;border:solid black;border-width:0 1.5px 1.5px 0;display:inline-block;padding:2px;transform:rotate(-45deg);transition:transform .25s ease,border-color .2s}.popover-arrow.open{transform:rotate(45deg)}.popover-panel{top:120%;left:0;min-width:200px;background:#fff;border-radius:10px;box-shadow:0 8px 32px #3c3c782e;border:1px solid #e5e7eb;padding:1.2em 1em;opacity:0;pointer-events:none;transform:translateY(-10px) scale(.98);transition:opacity .25s cubic-bezier(.4,2,.6,1),transform .25s cubic-bezier(.4,2,.6,1);z-index:100}.popover-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.Tooltip{border-radius:5px;background-color:#add8e6f2;padding:3px 6px;z-index:2}.Tooltip-major-text{font-size:1.2em}.Tooltip-minor-text{font-size:.8em;color:#696969}.Tooltip-highlight-text{font-size:1em;background-color:coral;display:inline-block}.Tooltip-monospace-text{font-family:monospace;text-align:center;font-size:16px;color:#696969;display:inline-block}.Tooltip-monospace-seq{font-family:monospace;font-size:16px;display:inline}.Tooltip-monospace-central-seq{font-family:monospace;font-size:16px;background-color:coral;display:inline}.SelectableArea-box{position:absolute;border:1px solid blue;background-color:#0000991a;z-index:1;pointer-events:none;display:flex;justify-content:center;align-items:center}.SelectableArea-box-invalid{border:1px solid red;background-color:#ff00001a;color:red}.SelectableArea-box-text-container{padding:0 5px;text-align:center;color:#000;background-color:#ffffffb3}.SelectableArea-box-secondary-text{font-size:x-small;white-space:nowrap}.MainPane{width:100%}.MainPane-opaque{opacity:.5}.MainPane-opaque:hover{opacity:1}.MetadataSelectionMenu ul{list-style-type:none}.MetadataSelectionMenu{position:absolute;background:var(--bg-color);padding:5px;min-width:240px;z-index:9}.MetadataSelectionMenu button{padding:0 4px}.MetadataSelectionMenu input{border:#409393 1px solid;padding:2px;margin-right:4px;border-radius:4px}.MetadataHeader-container{width:auto;display:flex;justify-content:flex-end;flex-grow:1}.MetadataHeader-terms{list-style-type:none;margin:0;padding:0;background-color:var(--bg-color);writing-mode:vertical-lr;text-align:right;vertical-align:middle}.MetadataHeader-button{margin-top:auto;margin-bottom:auto;position:relative}:root{--dark-fg-color: white;--dark-bg-color: black;--dark-container-color: #2c2c2c;--light-fg-color: black;--light-bg-color: white;--light-container-color: white}.loader{width:4px;aspect-ratio:1;border-radius:50%;animation:l5 1s infinite linear alternate}@keyframes l5{0%{box-shadow:9px 0 #000,-9px 0 #0002;background:#000}33%{box-shadow:9px 0 #000,-9px 0 #0002;background:#0002}66%{box-shadow:9px 0 #0002,-9px 0 #000;background:#0002}to{box-shadow:9px 0 #0002,-9px 0 #000;background:#000}}@keyframes borderPulse{0%{border-bottom:1px solid #f89581}50%{border-bottom:1px solid #feaa9a}to{border-bottom:1px solid #feded8}}.animatedBorder{animation:borderPulse 3s infinite}.App{margin-bottom:30px}.nav-link{user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;cursor:hand;cursor:pointer}.tab-link,.nav-tabs a.nav-link:hover{color:red}.nav-tabs .nav-link.active{background-color:#f5f5f5}.nav-tabs .nav-link.active:hover{color:red;background-color:#f5f5f5}.horizontal-line,.vertical-line{position:absolute;will-change:transform}.horizontal-line{position:absolute;width:100%;height:1px;z-index:3;pointer-events:none;border-top:1px dotted grey}.vertical-line{position:absolute;height:100%;width:1px;top:0;border-left:1px dotted grey;z-index:3;pointer-events:none}.btn-dense{margin-right:2px!important;margin-bottom:0!important}[data-theme=dark]{--font-color: var(--dark-fg-color);--bg-color: var(--dark-bg-color);--bg-container-color: var(--dark-container-color)}[data-theme=light]{--font-color: var(--light-fg-color);--bg-color: var(--light-bg-color);--bg-container-color: var(--light-container-color)}.bg{background-color:var(--bg-color);color:var(--font-color)}.svg-text-bg{fill:var(--font-color)}.svg-line-bg{stroke:var(--font-color)}.darkToggleBox{vertical-align:middle;margin-left:1ch}[data-theme=light] hr{border-top:1px solid rgb(80 80 80 / 30%)}[data-theme=dark] hr{border-top:1px solid rgb(223 220 220 / 30%)}[data-theme=light] .MuiCard-root{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}[data-theme=dark] .MuiCard-root{box-shadow:0 2px 1px -1px #fff3,0 1px 1px #ffffff24,0 1px 3px #ffffff1f}[data-theme=light] .MuiListItem-button:hover{background-color:#0000001a}[data-theme=dark] .MuiListItem-button:hover{background-color:#ffffff1a}[data-theme=light] .MuiAppBar-colorDefault{color:#000000de;background-color:#f5f5f5}[data-theme=dark] .MuiAppBar-colorDefault{color:#ffffffde;background-color:#222}[data-theme=light] .MuiTab-textColorPrimary{color:#000000b3}[data-theme=light] .MuiTab-textColorPrimary.Mui-selected{color:#3f51b5}[data-theme=dark] .MuiTab-textColorPrimary{color:#fffefeb3}[data-theme=dark] .MuiTab-textColorPrimary.Mui-selected{color:#6e84ff}[data-theme=light] .MuiIconButton-root{color:#0000008a}[data-theme=dark] .MuiIconButton-root{color:#ffffffb3}[data-theme=dark] .btn-outline-secondary{color:#dfe4e8;border-color:#dfe4e8}[data-theme=light] .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}[data-theme=light] .btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}[data-theme=dark] .btn-light{color:#fff;background-color:transparent;border-color:#dfe4e8}[data-theme=dark] .btn-light.disabled,.btn-light:disabled{border-color:#f8f9fa}.ReactTable .-pagination .-btn{color:unset!important}.ReactTable .-pagination .-btn[disabled]{opacity:1}.ReactTable .rt-expander:after{border-top:7px solid rgba(152,152,152,.8)!important}#shareUI .MuiTab-textColorSecondary{color:unset}
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* A context menu item that configures tracks' colors in general.
|
|
4
4
|
*
|
|
5
|
-
* @author Silas Hsu
|
|
5
|
+
* @author Chanrung(Chad) Seng, Silas Hsu
|
|
6
6
|
*/
|
|
7
7
|
interface ColorConfigProps {
|
|
8
8
|
color?: any;
|
|
@@ -22,6 +22,7 @@ export declare class ColorConfig extends React.PureComponent<ColorConfigProps> {
|
|
|
22
22
|
renderColorPicker(inputValue: any, setNewValue: any): any;
|
|
23
23
|
render(): any;
|
|
24
24
|
}
|
|
25
|
+
export declare function LegendFontColorConfig(props: any): any;
|
|
25
26
|
/**
|
|
26
27
|
* A menu item that configures `trackModel.options.color`
|
|
27
28
|
*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wuepgg3-track",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "4.0.0",
|
|
5
5
|
"main": "dist/index.umd.js",
|
|
6
6
|
"module": "dist/index.es.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -47,13 +47,11 @@
|
|
|
47
47
|
"@types/lodash": "^4.17.6",
|
|
48
48
|
"@types/pako": "^2.0.3",
|
|
49
49
|
"3dmol": "^2.4.0",
|
|
50
|
-
"and": "^0.0.3",
|
|
51
50
|
"array-smooth": "^1.0.0",
|
|
52
51
|
"axios": "^1.10.0",
|
|
53
52
|
"color-rgba": "^3.0.0",
|
|
54
53
|
"d3": "^7.9.0",
|
|
55
54
|
"flexlayout-react": "^0.3.11",
|
|
56
|
-
"framer-motion": "^12.23.24",
|
|
57
55
|
"generic-filehandle": "^3.1.2",
|
|
58
56
|
"generic-filehandle2": "^2.0.14",
|
|
59
57
|
"grommet": "^2.37.0",
|
|
@@ -75,8 +73,8 @@
|
|
|
75
73
|
"react-compound-slider": "^3.4.0",
|
|
76
74
|
"react-modal": "^3.16.1",
|
|
77
75
|
"react-popper": "^2.3.0",
|
|
78
|
-
"react-table": "^7.8.0",
|
|
79
76
|
"vite-plugin-dts": "^2.1.0",
|
|
77
|
+
"framer-motion": "^12.12.1",
|
|
80
78
|
"vite-plugin-node-polyfills": "^0.24.0"
|
|
81
79
|
},
|
|
82
80
|
"devDependencies": {
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import DisplayedRegionModel from "../../../../models/DisplayedRegionModel";
|
|
2
|
-
import TrackModel from "../../../../models/TrackModel";
|
|
3
|
-
import { HighlightInterval } from "../../ToolComponents/HighlightMenu";
|
|
4
|
-
export interface TrackState {
|
|
5
|
-
bundleId: string;
|
|
6
|
-
customTracksPool: any[];
|
|
7
|
-
darkTheme: boolean;
|
|
8
|
-
genomeName: string;
|
|
9
|
-
highlights: HighlightInterval[];
|
|
10
|
-
isShowingNavigator: boolean;
|
|
11
|
-
layout: any;
|
|
12
|
-
metadataTerms: any[];
|
|
13
|
-
regionSetView: any | null;
|
|
14
|
-
regionSets: any[];
|
|
15
|
-
viewRegion: DisplayedRegionModel;
|
|
16
|
-
trackLegendWidth: number;
|
|
17
|
-
tracks: Array<TrackModel>;
|
|
18
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
interface GetConfigChangeDataParams {
|
|
2
|
-
fetchedDataCache: any;
|
|
3
|
-
dataIdx: number;
|
|
4
|
-
createSVGOrCanvas: (trackState: any, viewData: any[], isError: boolean, trackIndex: number, xvalues: any) => void;
|
|
5
|
-
trackType: string;
|
|
6
|
-
usePrimaryNav: boolean;
|
|
7
|
-
signal?: any;
|
|
8
|
-
trackState: any;
|
|
9
|
-
}
|
|
10
|
-
export declare function getConfigChangeData({ fetchedDataCache, dataIdx, trackState, createSVGOrCanvas, trackType, usePrimaryNav, }: GetConfigChangeDataParams): void;
|
|
11
|
-
export {};
|
package/dist/components/GenomeView/TrackComponents/commonComponents/annotation/AnnotationTrack.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export declare const DEFAULT_OPTIONS: {
|
|
3
|
-
displayMode: string;
|
|
4
|
-
color: string;
|
|
5
|
-
color2: string;
|
|
6
|
-
maxRows: number;
|
|
7
|
-
height: number;
|
|
8
|
-
hideMinimalItems: boolean;
|
|
9
|
-
sortItems: boolean;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* A component that visualizes annotations or Features.
|
|
13
|
-
*
|
|
14
|
-
* @author Silas Hsu
|
|
15
|
-
*/
|
|
16
|
-
interface AnnotationTrackProps {
|
|
17
|
-
options: {
|
|
18
|
-
displayMode: string;
|
|
19
|
-
[key: string]: any;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export declare class AnnotationTrack extends React.PureComponent<AnnotationTrackProps> {
|
|
23
|
-
render(): any;
|
|
24
|
-
}
|
|
25
|
-
export default AnnotationTrack;
|