/* src/ui/components/Notification.module.css */ .Notification_Viewport { --viewport-padding: 25px; position: fixed; top: 0; right: 0; display: flex; flex-direction: column; padding: var(--viewport-padding); gap: 10px; width: 390px; max-width: 100vw; margin: 0; list-style: none; z-index: 2147483647; outline: none; } .Notification_Root { background-color: var(--interactive-normal); border-radius: 6px; box-shadow: hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px; padding: 15px; display: grid; grid-template-areas: "title action" "description action"; grid-template-columns: auto max-content; column-gap: 15px; align-items: center; border-left: 5px solid transparent; } .Notification_Root[data-type=success] { border-left-color: var(--color-green); } .Notification_Root[data-type=error] { border-left-color: var(--color-red); } .Notification_Root[data-type=info] { border-left-color: var(--color-yellow); } .Notification_Root[data-state=open] { animation: Notification_slideIn 150ms cubic-bezier(0.16, 1, 0.3, 1); } .Notification_Root[data-state=closed] { animation: Notification_hide 100ms ease-in; } .Notification_Root[data-swipe=move] { transform: translateX(var(--radix-toast-swipe-move-x)); } .Notification_Root[data-swipe=cancel] { transform: translateX(0); transition: transform 200ms ease-out; } .Notification_Root[data-swipe=end] { animation: Notification_swipeOut 100ms ease-out; } @keyframes Notification_hide { from { opacity: 1; } to { opacity: 0; } } @keyframes Notification_slideIn { from { transform: translateX(calc(100% + var(--viewport-padding))); } to { transform: translateX(0); } } @keyframes Notification_swipeOut { from { transform: translateX(var(--radix-toast-swipe-end-x)); } to { transform: translateX(calc(100% + var(--viewport-padding))); } } .Notification_Title { grid-area: title; font-weight: 500; color: var(--text-success); font-size: 15px; } .Notification_Title[data-type=error] { color: var(--text-error); } .Notification_Title[data-type=info] { color: var(--text-warning); } .Notification_Description { grid-area: description; margin: 10px 0; color: var(--text-normal); font-size: 13px; line-height: 1.3; } .Notification_Action { grid-area: action; } .Notification_CloseButton { all: unset; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; line-height: 20px; font-size: 18px; border-radius: 50%; color: var(--color-base-100); cursor: pointer; } .Notification_CloseButton:hover { background-color: var(--interactive-hover); } /* src/ui/components/Cover.module.css */ .Cover_CoverLabel { width: 120px; height: 80px; display: block; border: 1px dashed #E0E0E0; position: relative; overflow: hidden; } .Cover_CoverInput { display: none; } .Cover_CoverTip { font-size: 12px; display: flex; padding: 10px 0; flex-direction: column; justify-content: space-around; align-items: center; height: 100%; } .Cover_CoverPreview { width: 100%; height: 100%; object-fit: cover; } .Cover_CloseButton { position: absolute; top: 5px; right: 5px; color: white; border: none; border-radius: 50%; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 14px; line-height: 1; padding: 0; z-index: 10; } .Cover_CloseButton:hover { background: rgba(0, 0, 0, 0.2); } /* src/ui/components/AccountSelect.module.css */ .AccountSelect_Trigger { all: unset; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; padding: 0 15px; font-size: 13px; line-height: 1; height: 30px; gap: 5px; width: 120px; color: var(--color-base-100); box-shadow: 0 2px 10px var(--color-base-50); touch-action: manipulation; -webkit-tap-highlight-color: transparent; &:hover { background-color: var(--color-base-10); } &[data-placeholder] { color: var(--color-base-50); } &[data-state=closed] { height: 30px; } &[data-state=open] { height: 30px; } span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } .AccountSelect_Icon { color: Var(--violet-11); } .AccountSelect_Content { overflow: hidden; background-color: var(--color-base-00); border-radius: 6px; box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2); z-index: 999999; position: relative; } .AccountSelect_Viewport { padding: 5px; } .AccountSelect_Item { font-size: 13px; line-height: 1; color: var(--color-purple); border-radius: 3px; display: flex; align-items: center; height: 25px; padding: 0 35px 0 25px; position: relative; user-select: none; touch-action: manipulation; &[data-disabled] { color: var(--color-base-10); pointer-events: none; } &[data-highlighted] { outline: none; background-color: var(--text-selection); color: var(--text-accent); } } .AccountSelect_Label { padding: 0 25px; font-size: 12px; line-height: 25px; color: var(--text-muted); } .AccountSelect_Separator { height: 1px; background-color: var(--color-base-20); margin: 5px; } .AccountSelect_ItemIndicator { position: absolute; left: 0; width: 25px; display: inline-flex; align-items: center; justify-content: center; } .AccountSelect_ScrollButton { display: flex; align-items: center; justify-content: center; height: 25px; background-color: var(--color-base-00); color: var(--color-base-70); cursor: default; } /* src/ui/components/ThemeList.module.css */ .ThemeList_Content, .ThemeList_SubContent { max-height: 60vh; overflow-y: auto; background-color: var(--color-base-00); border-radius: 6px; padding: 5px; box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2); animation-duration: 400ms; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); will-change: transform, opacity; z-index: 999999; position: relative; &[data-side=top] { animation-name: ThemeList_slideDownAndFade; } &[data-side=right] { animation-name: ThemeList_slideLeftAndFade; } &[data-side=bottom] { animation-name: ThemeList_slideUpAndFade; } &[data-side=left] { animation-name: ThemeList_slideRightAndFade; } } .ThemeList_Item, .ThemeList_CheckboxItem, .ThemeList_RadioItem, .ThemeList_SubTrigger { font-size: 13px; line-height: 1; color: var(--text-normal); border-radius: 3px; display: flex; align-items: center; height: 25px; padding: 0 5px; position: relative; padding-left: 25px; user-select: none; outline: none; &[data-disabled] { color: var(--color-base-10); pointer-events: none; } &[data-highlighted] { background-color: var(--text-selection); color: var(--text-accent); } } .ThemeList_SubTrigger[data-state=open]:not([data-highlighted], [data-disabled]) { background-color: var(--text-selection); color: var(--text-accent); } .ThemeList_Label { padding-left: 25px; font-size: 12px; line-height: 25px; color: var(--text-muted); } .ThemeList_Separator { height: 1px; background-color: var(--color-base-20); margin: 5px; } .ThemeList_ItemIndicator { position: absolute; left: 0; width: 25px; display: inline-flex; align-items: center; justify-content: center; } .ThemeList_Arrow { fill: white; } .ThemeList_IconButton { all: unset; font-family: inherit; border-radius: 100%; height: 35px; width: 35px; display: inline-flex; align-items: center; justify-content: center; color: var(--violet-11); background-color: var(--color-base-00); box-shadow: 0 2px 10px var(--color-base-50); user-select: none; &:hover { background-color: var(--color-base-10); } } .ThemeList_RightSlot { margin-left: auto; padding-left: 20px; color: var(--color-base-70); [data-highlighted] > & { color: white; } [data-disabled] & { color: var(--color-base-10); } } @keyframes ThemeList_slideUpAndFade { from { opacity: 0; transform: translateY(2px); } to { opacity: 1; transform: translateY(0); } } @keyframes ThemeList_slideRightAndFade { from { opacity: 0; transform: translateX(-2px); } to { opacity: 1; transform: translateX(0); } } @keyframes ThemeList_slideDownAndFade { from { opacity: 0; transform: translateY(-2px); } to { opacity: 1; transform: translateY(0); } } @keyframes ThemeList_slideLeftAndFade { from { opacity: 0; transform: translateX(2px); } to { opacity: 1; transform: translateX(0); } } /* src/ui/components/Loading.module.css */ .Loading_PageLoading { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; } .Loading_LoadingSpinner { width: 50px; height: 50px; border: 4px solid #fcd6ff; border-top: 4px solid #bb0cdf; border-radius: 50%; animation: Loading_spin 1s linear infinite; } @keyframes Loading_spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .Loading_LoadingOrb { display: flex; justify-content: center; align-items: center; } .Loading_LoadingOrb::before { content: "\273d"; animation: Loading_char-switch 1.2s infinite steps(1); } @keyframes Loading_char-switch { 0% { content: "\273d"; } 16% { content: "\273b"; } 33% { content: "\2736"; } 50% { content: "\2722"; } 66% { content: "\2736"; } 83% { content: "\273b"; } 100% { content: "\273d"; } } /* src/ui/components/Wechat.module.css */ .Wechat_Root { display: flex; flex-direction: column; flex-grow: 1; box-sizing: border-box; overflow-y: auto; position: relative; container-type: inline-size; } .Wechat_Panel { display: flex; flex-direction: row; padding: 10px; border-bottom: 1px solid var(--color-base-40); flex-shrink: 0; } .Wechat_Root[data-collapsed=true] .Wechat_Panel { display: none; } .Wechat_PanelRight { display: flex; flex-wrap: wrap; column-gap: 10px; row-gap: 5px; padding: 0 10px; align-items: center; } .Wechat_RenderWrapper { flex-grow: 1; min-height: 0; display: flex; } .Wechat_RenderRoot { height: 100%; width: 100%; overflow-y: auto; padding: 10px; background-color: #FFFFFF; box-sizing: border-box; } .Wechat_LineBreak { flex-basis: 100%; display: block; } @container (max-width: 490px) { .Wechat_LineBreak { flex-basis: unset; display: none; } } .Wechat_Loading { position: absolute; z-index: 99999; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.1); display: flex; justify-content: center; align-items: center; } .Wechat_LoadingWrapper { width: 120px; height: 120px; background-color: #FFFFFF; border-radius: 10px; display: flex; justify-content: center; align-items: center; } /* src/ui/components/MdToImageConverter.module.css */ .MdToImageConverter_container { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 500px; background-color: var(--background-secondary); color: #0f172a; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; overflow: hidden; box-sizing: border-box; } .MdToImageConverter_container * { box-sizing: border-box; } .MdToImageConverter_toolbar { display: flex; flex-direction: row; padding: 10px; border-bottom: 1px solid var(--border-color, var(--color-base-40, rgba(0, 0, 0, 0.08))); background-color: var(--background-primary); flex-shrink: 0; align-items: center; } .MdToImageConverter_toolbarActions { display: flex; flex-wrap: wrap; column-gap: 10px; row-gap: 5px; padding: 0 10px; align-items: center; } .MdToImageConverter_toolbarBtn { font-size: 13px; font-weight: 500; padding: 6px 12px !important; cursor: pointer !important; border-radius: 6px !important; background-color: var(--background-primary) !important; color: var(--text-normal) !important; border: 1px solid var(--border-color, rgba(0, 0, 0, 0.08)) !important; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; transition: all 0.2s ease !important; } .MdToImageConverter_toolbarBtn:hover:not(:disabled) { background-color: var(--background-secondary-alt, #f1f5f9) !important; border-color: var(--border-color-hover, rgba(0, 0, 0, 0.15)) !important; } .MdToImageConverter_toolbarBtn:disabled { opacity: 0.5 !important; cursor: not-allowed !important; background-color: var(--background-secondary) !important; border-color: var(--border-color) !important; } .MdToImageConverter_mainContent { position: relative; flex-grow: 1; display: flex; flex-direction: row; overflow: hidden; min-height: 0; height: 100%; } .MdToImageConverter_backdrop { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: transparent; z-index: 95; cursor: pointer; transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .MdToImageConverter_backdropHidden { opacity: 0; visibility: hidden; pointer-events: none; } .MdToImageConverter_backdropVisible { opacity: 1; visibility: visible; pointer-events: auto; } .MdToImageConverter_previewArea { flex: 1; padding: 20px 0; overflow-y: auto; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; background-color: #f1f5f9; position: relative; scrollbar-width: thin; scrollbar-color: rgba(0, 0, 0, 0.15) transparent; } .MdToImageConverter_previewArea::-webkit-scrollbar { width: 6px; } .MdToImageConverter_previewArea::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 0, 0.15); border-radius: 3px; } .MdToImageConverter_settingsToggleBtn { position: absolute; right: 20px; top: 20px; width: 40px !important; height: 40px !important; border-radius: 50% !important; background: rgba(255, 255, 255, 0.85) !important; backdrop-filter: blur(8px) !important; border: 1px solid rgba(0, 0, 0, 0.08) !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important; z-index: 90 !important; transition: all 0.2s ease !important; color: #475569 !important; padding: 0 !important; outline: none !important; } .MdToImageConverter_settingsToggleBtn:hover { transform: scale(1.05) !important; background: #ffffff !important; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important; color: #0f172a !important; } .MdToImageConverter_settingsToggleBtn svg { transition: transform 0.3s ease; } .MdToImageConverter_settingsToggleBtn:hover svg { transform: rotate(45deg); } .MdToImageConverter_previewScaleWrapper { display: flex; flex-direction: column; align-items: center; transform-origin: top center; } .MdToImageConverter_previewTitle { font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color: #475569; font-weight: 600; margin-bottom: 20px; text-align: center; } .MdToImageConverter_pagesList { display: flex; flex-direction: column; gap: 30px; } .md-to-image-page-frame { position: relative; background-color: #ffffff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.05); } .MdToImageConverter_pageBadge { position: absolute; top: 12px; right: 12px; background: rgba(15, 23, 42, 0.75); backdrop-filter: blur(4px); color: #fff; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; border: 1px solid rgba(255, 255, 255, 0.15); z-index: 10; pointer-events: none; } .MdToImageConverter_pageOffsetContainer { width: 100%; height: 100%; position: relative; } .MdToImageConverter_renderedContent { width: 100%; box-sizing: border-box; } .MdToImageConverter_settingsArea { position: absolute; right: 16px; top: 16px; bottom: 16px; width: 340px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(16px); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 12px; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 20px; z-index: 100; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); transition: opacity 0.2s ease; scrollbar-width: none; } .MdToImageConverter_settingsArea::-webkit-scrollbar { display: none; } .MdToImageConverter_settingsArea.MdToImageConverter_collapsed { transform: translateX(110%); opacity: 0; pointer-events: none; } .MdToImageConverter_settingsArea.MdToImageConverter_expanded { transform: translateX(0); opacity: 1; pointer-events: auto; } .MdToImageConverter_settingsHeader { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; border-bottom: 1px solid rgba(0, 0, 0, 0.05); padding-bottom: 10px; } .MdToImageConverter_closeBtn { background: transparent !important; border: none !important; box-shadow: none !important; padding: 4px !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #64748b !important; border-radius: 4px !important; transition: all 0.2s ease !important; } .MdToImageConverter_closeBtn:hover { background: rgba(0, 0, 0, 0.05) !important; color: #0f172a !important; } .MdToImageConverter_sectionTitle { font-size: 15px; font-weight: 700; color: #0f172a; border-left: 3px solid #6366f1; padding-left: 10px; margin: 0; letter-spacing: 0.5px; } .MdToImageConverter_formGroup { display: flex; flex-direction: column; gap: 8px; } .MdToImageConverter_label { font-size: 13px; font-weight: 600; color: #334155; } .MdToImageConverter_inputDesc { font-size: 11px; color: #64748b; margin-top: -2px; } .MdToImageConverter_inputText { width: 100%; background: #f8fafc; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 8px; padding: 10px 12px; color: #0f172a; font-size: 13px; outline: none; transition: all 0.2s ease; } .MdToImageConverter_inputText:focus { border-color: #6366f1; background: #ffffff; box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15); } .MdToImageConverter_doubleRow { display: flex; gap: 12px; } .MdToImageConverter_doubleRow > div { flex: 1; } .MdToImageConverter_sliderHeader { display: flex; justify-content: space-between; align-items: center; } .MdToImageConverter_sliderValue { font-size: 12px; font-weight: 700; color: #4f46e5; background: rgba(99, 102, 241, 0.08); padding: 2px 6px; border-radius: 4px; } .MdToImageConverter_colorRow { display: flex; gap: 12px; align-items: center; } .MdToImageConverter_colorPickerWrapper { position: relative; width: 36px; height: 36px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, 0.15); overflow: hidden; cursor: pointer; } .MdToImageConverter_colorPicker { position: absolute; top: -6px; left: -6px; width: 48px; height: 48px; padding: 0; border: 0; cursor: pointer; background: none; } .MdToImageConverter_gradientPresets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; } .MdToImageConverter_gradientBtn { width: 28px !important; height: 28px !important; border-radius: 6px !important; border: 1px solid rgba(0, 0, 0, 0.12) !important; box-shadow: none !important; cursor: pointer !important; padding: 0 !important; transition: transform 0.15s ease, border-color 0.15s ease !important; } .MdToImageConverter_gradientBtn:hover { transform: scale(1.15) !important; border-color: rgba(0, 0, 0, 0.25) !important; } .MdToImageConverter_gradientBtn[data-state=on], .MdToImageConverter_gradientBtn.MdToImageConverter_active { box-shadow: 0 0 0 2px #6366f1 !important; transform: scale(1.1) !important; } .MdToImageConverter_colorSwatchesGrid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 8px; margin-top: 8px; } .MdToImageConverter_colorSwatch { width: 28px !important; height: 28px !important; border-radius: 6px !important; border: 1px solid rgba(0, 0, 0, 0.12) !important; box-shadow: none !important; cursor: pointer !important; padding: 0 !important; position: relative !important; transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important; overflow: hidden !important; } .MdToImageConverter_colorSwatch:hover { transform: scale(1.15) !important; border-color: rgba(0, 0, 0, 0.25) !important; z-index: 2 !important; } .MdToImageConverter_colorSwatch.MdToImageConverter_active { box-shadow: 0 0 0 2px #6366f1 !important; transform: scale(1.1) !important; border-color: transparent !important; z-index: 2 !important; } .MdToImageConverter_colorSwatch.MdToImageConverter_transparentCheckerboard { background-color: #ffffff; background-image: linear-gradient( 45deg, #e2e8f0 25%, transparent 25%, transparent 75%, #e2e8f0 75%, #e2e8f0), linear-gradient( 45deg, #e2e8f0 25%, transparent 25%, transparent 75%, #e2e8f0 75%, #e2e8f0); background-size: 8px 8px; background-position: 0 0, 4px 4px; } .MdToImageConverter_colorSwatch.MdToImageConverter_customSwatch { background: linear-gradient( 135deg, #ff0000 0%, #ffff00 25%, #00ff00 50%, #00ffff 75%, #0000ff 100%); } .MdToImageConverter_customColorPicker { position: absolute; top: -6px; left: -6px; width: 40px; height: 40px; opacity: 0; cursor: pointer; border: none; padding: 0; margin: 0; } .MdToImageConverter_spinner { width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, 0.3); border-top: 2px solid #ffffff; border-radius: 50%; animation: MdToImageConverter_spin 0.8s linear infinite; } @keyframes MdToImageConverter_spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .MdToImageConverter_previewLoading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 12px; color: #64748b; font-size: 13px; font-weight: 500; z-index: 10; } .MdToImageConverter_loadingSpinner { width: 28px; height: 28px; border: 3px solid rgba(99, 102, 241, 0.15); border-top-color: #6366f1; border-radius: 50%; animation: MdToImageConverter_spin 0.8s linear infinite; } .MdToImageConverter_offscreenExportContainer { position: absolute; left: -9999px; top: -9999px; width: 0; height: 0; overflow: hidden; } .MdToImageConverter_switchWrapper { display: flex; justify-content: space-between; align-items: center; width: 100%; } .MdToImageConverter_SelectTrigger { display: inline-flex; align-items: center; justify-content: space-between; width: 100%; background: #f8fafc; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 8px; padding: 10px 12px; color: #0f172a; font-size: 13px; outline: none; transition: all 0.2s ease; cursor: pointer; } .MdToImageConverter_SelectTrigger:focus { border-color: #6366f1; background: #ffffff; box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15); } .MdToImageConverter_SelectIcon { display: flex; align-items: center; justify-content: center; color: #64748b; } .MdToImageConverter_SelectContent { max-height: 40vh; overflow: hidden; background-color: white; border-radius: 8px; box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2); border: 1px solid rgba(0, 0, 0, 0.08); z-index: 1000; width: var(--radix-select-trigger-width); } .MdToImageConverter_SelectViewport { padding: 5px; } .MdToImageConverter_SelectItem { font-size: 13px; color: #0f172a; border-radius: 6px; display: flex; align-items: center; padding: 8px 35px 8px 25px; position: relative; user-select: none; cursor: pointer; } .MdToImageConverter_SelectItem[data-highlighted] { outline: none; background-color: #6366f1; color: white; } .MdToImageConverter_SelectItemIndicator { position: absolute; left: 5px; width: 15px; display: inline-flex; align-items: center; justify-content: center; } .MdToImageConverter_SelectScrollButton { display: flex; align-items: center; justify-content: center; height: 25px; background-color: white; color: #64748b; cursor: default; } .MdToImageConverter_SelectLabel { padding: 0 25px; font-size: 11px; line-height: 25px; color: #64748b; } .MdToImageConverter_SliderRoot { position: relative; display: flex; align-items: center; user-select: none; touch-action: none; width: 100%; height: 20px; } .MdToImageConverter_SliderTrack { background-color: #e2e8f0; position: relative; flex-grow: 1; border-radius: 9999px; height: 6px; } .MdToImageConverter_SliderRange { position: absolute; background-color: #6366f1; border-radius: 9999px; height: 100%; } .MdToImageConverter_SliderThumb { display: block; width: 16px; height: 16px; background-color: #6366f1; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); border-radius: 10px; cursor: pointer; transition: transform 0.1s ease; } .MdToImageConverter_SliderThumb:hover { transform: scale(1.25); background-color: #4f46e5; } .MdToImageConverter_SliderThumb:focus { outline: none; box-shadow: 0 0 0 5px rgba(99, 102, 241, 0.3); } .MdToImageConverter_ToggleGroup { display: flex; background: #f1f5f9; border: 1px solid rgba(0, 0, 0, 0.05); border-radius: 8px; padding: 2px; width: 100%; } .MdToImageConverter_ToggleGroupItem { flex: 1; background: transparent !important; border: none !important; box-shadow: none !important; color: #64748b !important; font-size: 13px !important; font-weight: 600 !important; padding: 8px !important; border-radius: 6px !important; cursor: pointer !important; transition: all 0.2s ease !important; text-align: center !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; } .MdToImageConverter_ToggleGroupItem:hover { color: #0f172a !important; } .MdToImageConverter_ToggleGroupItem[data-state=on] { background: #6366f1 !important; color: #ffffff !important; box-shadow: 0 2px 6px rgba(99, 102, 241, 0.2) !important; } .MdToImageConverter_PresetGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; width: 100%; } .MdToImageConverter_PresetItem { background: #f8fafc !important; border: 1px solid rgba(0, 0, 0, 0.06) !important; box-shadow: none !important; color: #64748b !important; padding: 8px 4px !important; border-radius: 6px !important; font-size: 11px !important; font-weight: 500 !important; cursor: pointer !important; text-align: center !important; transition: all 0.2s ease !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; } .MdToImageConverter_PresetItem:hover { border-color: rgba(0, 0, 0, 0.15) !important; background: #f1f5f9 !important; color: #0f172a !important; } .MdToImageConverter_PresetItem[data-state=on] { background: rgba(99, 102, 241, 0.08) !important; border-color: #6366f1 !important; color: #4f46e5 !important; } .theme-dark .MdToImageConverter_container { background-color: var(--background-secondary); color: #f1f5f9; } .theme-dark .MdToImageConverter_toolbar { border-bottom-color: var(--border-color, var(--color-base-40, rgba(255, 255, 255, 0.08))); background-color: var(--background-primary); } .theme-dark .MdToImageConverter_inputText, .theme-dark .MdToImageConverter_SelectTrigger { background-color: #1e293b; border-color: rgba(255, 255, 255, 0.08); color: #f1f5f9; } .theme-dark .MdToImageConverter_PresetItem { background-color: #1e293b !important; border-color: rgba(255, 255, 255, 0.08) !important; color: #cbd5e1 !important; } .theme-dark .MdToImageConverter_PresetItem:hover { background-color: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.15) !important; color: #f1f5f9 !important; } .theme-dark .MdToImageConverter_PresetItem[data-state=on] { background: rgba(99, 102, 241, 0.15) !important; border-color: #6366f1 !important; color: #818cf8 !important; } .theme-dark .MdToImageConverter_inputText:focus, .theme-dark .MdToImageConverter_SelectTrigger:focus { border-color: #6366f1; background-color: #0f172a; } .theme-dark .MdToImageConverter_SelectContent, .theme-dark .MdToImageConverter_SelectScrollButton { background-color: #1e293b; border-color: rgba(255, 255, 255, 0.08); } .theme-dark .MdToImageConverter_SelectItem { color: #f1f5f9; } .theme-dark .MdToImageConverter_SelectItem[data-highlighted] { background-color: #6366f1; color: white; } .theme-dark .MdToImageConverter_ToggleGroup { background: #0f172a; border-color: rgba(255, 255, 255, 0.05); } .theme-dark .MdToImageConverter_ToggleGroupItem { color: #94a3b8 !important; background: transparent !important; border: none !important; box-shadow: none !important; } .theme-dark .MdToImageConverter_ToggleGroupItem:hover { color: #f1f5f9 !important; } .theme-dark .MdToImageConverter_ToggleGroupItem[data-state=on] { background: #6366f1 !important; color: #ffffff !important; } .theme-dark .MdToImageConverter_settingsArea { background: rgba(30, 41, 59, 0.9); border-color: rgba(255, 255, 255, 0.1); color: #f1f5f9; } .theme-dark .MdToImageConverter_settingsHeader { border-bottom-color: rgba(255, 255, 255, 0.1); } .theme-dark .MdToImageConverter_closeBtn:hover { background: rgba(255, 255, 255, 0.1) !important; color: #f1f5f9 !important; } .theme-dark .MdToImageConverter_settingsToggleBtn { background: rgba(30, 41, 59, 0.85) !important; border-color: rgba(255, 255, 255, 0.08) !important; color: #cbd5e1 !important; } .theme-dark .MdToImageConverter_settingsToggleBtn:hover { background: #1e293b !important; color: #f1f5f9 !important; } .theme-dark .MdToImageConverter_colorSwatch, .theme-dark .MdToImageConverter_gradientBtn { border-color: rgba(255, 255, 255, 0.15) !important; } .theme-dark .MdToImageConverter_sectionTitle { color: #f1f5f9; } .theme-dark .MdToImageConverter_label { color: #cbd5e1; } .theme-dark .MdToImageConverter_inputDesc { color: #94a3b8; } .theme-dark .MdToImageConverter_SliderTrack { background-color: #334155; } .theme-dark .MdToImageConverter_previewArea { background-color: #0f172a; } .theme-dark .MdToImageConverter_backdrop { background-color: transparent; } .theme-dark .MdToImageConverter_previewLoading { color: #94a3b8; } /* src/ui/components/Announcement.module.css */ .Announcement_Root { display: flex; align-items: center; margin-bottom: 6px; padding: 8px 16px; background-color: var(--background-primary); border-radius: 8px; border-left: 6px solid var(--color-purple); font-size: 13px; gap: 12px; animation: Announcement_slideDown 0.3s ease-out; } @keyframes Announcement_slideDown { from { transform: translateY(-100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .Announcement_Icon { color: var(--color-purple); flex-shrink: 0; } .Announcement_Content { flex: 1; display: flex; flex-direction: column; } .Announcement_Title { font-weight: bold; color: var(--text-accent); } .Announcement_Actions { display: flex; gap: 8px; align-items: center; } .Announcement_ActionButton { all: unset; cursor: pointer; padding: 4px 12px; background-color: var(--interactive-accent); color: var(--text-on-accent); border-radius: 4px; font-weight: 500; transition: filter 0.2s; } .Announcement_ActionButton:hover { filter: brightness(1.1); } .Announcement_DismissButton { all: unset; cursor: pointer; color: var(--text-muted); padding: 4px; border-radius: 4px; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s, color 0.2s; } .Announcement_DismissButton:hover { background-color: var(--background-modifier-hover); color: var(--text-normal); } /* node_modules/@radix-ui/colors/black-alpha.css */ :root { --black-a1: rgba(0, 0, 0, 0.05); --black-a2: rgba(0, 0, 0, 0.1); --black-a3: rgba(0, 0, 0, 0.15); --black-a4: rgba(0, 0, 0, 0.2); --black-a5: rgba(0, 0, 0, 0.3); --black-a6: rgba(0, 0, 0, 0.4); --black-a7: rgba(0, 0, 0, 0.5); --black-a8: rgba(0, 0, 0, 0.6); --black-a9: rgba(0, 0, 0, 0.7); --black-a10: rgba(0, 0, 0, 0.8); --black-a11: rgba(0, 0, 0, 0.9); --black-a12: rgba(0, 0, 0, 0.95); } @supports (color: color(display-p3 1 1 1)) { @media (color-gamut: p3) { :root { --black-a1: color(display-p3 0 0 0 / 0.05); --black-a2: color(display-p3 0 0 0 / 0.1); --black-a3: color(display-p3 0 0 0 / 0.15); --black-a4: color(display-p3 0 0 0 / 0.2); --black-a5: color(display-p3 0 0 0 / 0.3); --black-a6: color(display-p3 0 0 0 / 0.4); --black-a7: color(display-p3 0 0 0 / 0.5); --black-a8: color(display-p3 0 0 0 / 0.6); --black-a9: color(display-p3 0 0 0 / 0.7); --black-a10: color(display-p3 0 0 0 / 0.8); --black-a11: color(display-p3 0 0 0 / 0.9); --black-a12: color(display-p3 0 0 0 / 0.95); } } } /* node_modules/@radix-ui/colors/green.css */ :root, .light, .light-theme { --green-1: #fbfefc; --green-2: #f4fbf6; --green-3: #e6f6eb; --green-4: #d6f1df; --green-5: #c4e8d1; --green-6: #adddc0; --green-7: #8eceaa; --green-8: #5bb98b; --green-9: #30a46c; --green-10: #2b9a66; --green-11: #218358; --green-12: #193b2d; } @supports (color: color(display-p3 1 1 1)) { @media (color-gamut: p3) { :root, .light, .light-theme { --green-1: color(display-p3 0.986 0.996 0.989); --green-2: color(display-p3 0.963 0.983 0.967); --green-3: color(display-p3 0.913 0.964 0.925); --green-4: color(display-p3 0.859 0.94 0.879); --green-5: color(display-p3 0.796 0.907 0.826); --green-6: color(display-p3 0.718 0.863 0.761); --green-7: color(display-p3 0.61 0.801 0.675); --green-8: color(display-p3 0.451 0.715 0.559); --green-9: color(display-p3 0.332 0.634 0.442); --green-10: color(display-p3 0.308 0.595 0.417); --green-11: color(display-p3 0.19 0.5 0.32); --green-12: color(display-p3 0.132 0.228 0.18); } } } /* node_modules/@radix-ui/colors/mauve.css */ :root, .light, .light-theme { --mauve-1: #fdfcfd; --mauve-2: #faf9fb; --mauve-3: #f2eff3; --mauve-4: #eae7ec; --mauve-5: #e3dfe6; --mauve-6: #dbd8e0; --mauve-7: #d0cdd7; --mauve-8: #bcbac7; --mauve-9: #8e8c99; --mauve-10: #84828e; --mauve-11: #65636d; --mauve-12: #211f26; } @supports (color: color(display-p3 1 1 1)) { @media (color-gamut: p3) { :root, .light, .light-theme { --mauve-1: color(display-p3 0.991 0.988 0.992); --mauve-2: color(display-p3 0.98 0.976 0.984); --mauve-3: color(display-p3 0.946 0.938 0.952); --mauve-4: color(display-p3 0.915 0.906 0.925); --mauve-5: color(display-p3 0.886 0.876 0.901); --mauve-6: color(display-p3 0.856 0.846 0.875); --mauve-7: color(display-p3 0.814 0.804 0.84); --mauve-8: color(display-p3 0.735 0.728 0.777); --mauve-9: color(display-p3 0.555 0.549 0.596); --mauve-10: color(display-p3 0.514 0.508 0.552); --mauve-11: color(display-p3 0.395 0.388 0.424); --mauve-12: color(display-p3 0.128 0.122 0.147); } } } /* node_modules/@radix-ui/colors/violet.css */ :root, .light, .light-theme { --violet-1: #fdfcfe; --violet-2: #faf8ff; --violet-3: #f4f0fe; --violet-4: #ebe4ff; --violet-5: #e1d9ff; --violet-6: #d4cafe; --violet-7: #c2b5f5; --violet-8: #aa99ec; --violet-9: #6e56cf; --violet-10: #654dc4; --violet-11: #6550b9; --violet-12: #2f265f; } @supports (color: color(display-p3 1 1 1)) { @media (color-gamut: p3) { :root, .light, .light-theme { --violet-1: color(display-p3 0.991 0.988 0.995); --violet-2: color(display-p3 0.978 0.974 0.998); --violet-3: color(display-p3 0.953 0.943 0.993); --violet-4: color(display-p3 0.916 0.897 1); --violet-5: color(display-p3 0.876 0.851 1); --violet-6: color(display-p3 0.825 0.793 0.981); --violet-7: color(display-p3 0.752 0.712 0.943); --violet-8: color(display-p3 0.654 0.602 0.902); --violet-9: color(display-p3 0.417 0.341 0.784); --violet-10: color(display-p3 0.381 0.306 0.741); --violet-11: color(display-p3 0.383 0.317 0.702); --violet-12: color(display-p3 0.179 0.15 0.359); } } } /* src/ui/preview.module.css */ .preview_Root { min-height: 100%; height: 100%; display: flex; flex-direction: column; background-color: var(--background-primary); box-shadow: 0 2px 10px var(--black-a4); position: relative; } .preview_List { flex-shrink: 0; display: flex; } .preview_List[data-collapsed=true] { height: 0; } .preview_List[data-collapsed=true] > *:not(.preview_CollapseBtn) { display: none; } .preview_CollapseBtn { all: unset; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--color-base-60); background-color: var(--interactive-normal); padding: 8px; transition: color 0.2s; } .preview_CollapseBtn:hover { color: var(--color-purple); } .preview_CollapseBtn[data-floating=true] { position: absolute; top: 10px; right: 10px; z-index: 1000; background-color: var(--background-secondary); border-radius: 50%; box-shadow: 0 2px 8px var(--black-a4); } .preview_Trigger { all: unset; position: relative; font-family: inherit; height: 36px; flex: 1; display: flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1; color: var(--color-base-50); user-select: none; &:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 50%; background-color: var(--color-base-30); } &:hover { color: var(--color-purple); } &[data-state=active] { color: var(--color-purple); height: 36px; box-shadow: inset 0 -1px 0 0 var(--color-purple), 0 1px 0 0 var(--color-purple); } &[data-state=inactive] { height: 36px; box-shadow: none; } } .preview_Content { flex: 1; display: flex; flex-direction: column; padding: 0; overflow-y: auto; &[data-state=inactive] { display: none; } } /* src/ui/workflow/workflow.module.css */ .workflow_Container { position: relative; } .workflow_Root { width: 100%; max-width: 600px; margin: 0 auto; } .workflow_Header { margin-bottom: 20px; } .workflow_NotificationContainer { position: absolute; top: 0; right: 0; z-index: 9999; display: flex; flex-direction: column; gap: 12px; max-width: 400px; pointer-events: none; padding: 10px; } .workflow_Notification { background: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: 8px; padding: 16px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); display: flex; align-items: center; gap: 12px; pointer-events: auto; animation: workflow_slideIn 0.3s ease-out; min-width: 300px; } @keyframes workflow_slideIn { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: translateY(0); } } .workflow_Notification[data-type=success] { border-left: 4px solid var(--interactive-accent); } .workflow_Notification[data-type=error] { border-left: 4px solid var(--text-error); } .workflow_NotificationContent { flex: 1; } .workflow_NotificationTitle { font-size: 14px; font-weight: 500; color: var(--text-normal); } .workflow_NotificationDescription { font-size: 13px; color: var(--text-muted); margin-top: 4px; } .workflow_NotificationClose { background: none; border: none; color: var(--text-muted); font-size: 20px; line-height: 24px; cursor: pointer; padding: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: color 0.2s; } .workflow_NotificationClose:hover { color: var(--text-normal); } .workflow_List { display: flex; border-bottom: 1px solid var(--background-modifier-border); margin-bottom: 4px; } .workflow_Trigger { all: unset; position: relative; font-family: inherit; height: 36px; flex: 1; display: flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1; color: var(--color-base-50); user-select: none; &:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 50%; background-color: var(--color-base-30); } &:hover { color: var(--color-purple); } &[data-state=active] { color: var(--color-purple); height: 36px; box-shadow: inset 0 -1px 0 0 var(--color-purple), 0 1px 0 0 var(--color-purple); } &[data-state=inactive] { height: 36px; box-shadow: none; } } .workflow_Trigger:hover { color: var(--text-normal); } .workflow_Trigger[data-state=active] { color: var(--text-accent); border-bottom-color: var(--text-accent); } .workflow_Content { padding: 10px 0; } .workflow_Content[data-state=inactive] { display: none; } .workflow_Form { display: flex; flex-direction: column; gap: 20px; min-height: 340px; } .workflow_FormGroup { display: flex; flex-direction: column; gap: 8px; } .workflow_Label { font-size: 14px; font-weight: 500; color: var(--text-normal); } .workflow_Select, .workflow_Input { padding: 0 12px; border: 1px solid var(--background-modifier-border); border-radius: 4px; background: var(--background-primary); color: var(--text-normal); font-size: 14px; } .workflow_SelectWrapper { position: relative; display: flex; align-items: center; } .workflow_SelectTrigger { all: unset; display: inline-flex; align-items: center; justify-content: space-between; padding: 0 12px; height: 35px; gap: 8px; background-color: var(--background-primary); color: var(--text-normal); border: 1px solid var(--background-modifier-border); border-radius: 4px; font-size: 14px; width: 100%; cursor: pointer; } .workflow_SelectTrigger:hover { background-color: var(--background-modifier-hover); } .workflow_SelectTrigger:focus { border-color: var(--interactive-accent); } .workflow_SelectIcon { color: var(--text-muted); display: flex; align-items: center; justify-content: center; } .workflow_SelectContent { overflow: hidden; background-color: var(--background-primary); border-radius: 6px; border: 1px solid var(--background-modifier-border); box-shadow: 0 10px 38px -10px rgba(0, 0, 0, 0.35), 0 10px 20px -15px rgba(0, 0, 0, 0.2); z-index: 9997; max-height: 300px; } .workflow_SelectViewport { padding: 5px; } .workflow_SelectItem { all: unset; font-size: 14px; line-height: 1; color: var(--text-normal); border-radius: 3px; display: flex; align-items: center; height: 32px; padding: 0 32px 0 12px; position: relative; user-select: none; cursor: pointer; } .workflow_SelectItem[data-disabled] { color: var(--text-muted); pointer-events: none; } .workflow_SelectItem[data-highlighted] { outline: none; background-color: var(--background-modifier-hover); } .workflow_SelectItemIndicator { position: absolute; right: 8px; width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; } .workflow_SelectScrollButton { display: flex; align-items: center; justify-content: center; height: 25px; background-color: var(--background-primary); color: var(--text-normal); cursor: default; } .workflow_Select:focus, .workflow_Input:focus { outline: none; border-color: var(--text-accent); } .workflow_CharCount { font-size: 12px; color: var(--text-muted); align-self: flex-end; } .workflow_RadioGroup { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; } .workflow_RadioLabel { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; color: var(--text-normal); } .workflow_RadioLabel input[type=radio] { cursor: pointer; } .workflow_PresetOptions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-left: 24px; margin-top: 8px; } .workflow_PresetOption { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: 13px; color: var(--text-normal); padding: 6px 8px; border-radius: 4px; background: var(--background-secondary); } .workflow_PresetOption:hover { background: var(--background-modifier-hover); } .workflow_PresetOption input[type=radio] { cursor: pointer; } .workflow_Error { padding: 10px 12px; background: var(--background-modifier-error); color: var(--color-base-05); border-radius: 4px; font-size: 13px; } .workflow_GenerateButton { padding: 10px 20px; background: var(--interactive-accent); color: var(--text-on-accent); border: none; border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; transition: opacity 0.2s; } .workflow_GenerateButton:hover:not(:disabled) { opacity: 0.9; } .workflow_GenerateButton:disabled { opacity: 0.5; cursor: not-allowed; } .workflow_ManageContainer { display: flex; flex-direction: column; gap: 16px; min-height: 340px; } .workflow_ManageFooter { display: flex; justify-content: flex-end; align-items: center; margin-top: 16px; } .workflow_DeleteButton { padding: 8px 16px; background: var(--text-error); color: white; border: none; border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; transition: opacity 0.2s; } .workflow_DeleteButton:hover:not(:disabled) { opacity: 0.9; } .workflow_DeleteButton:disabled { opacity: 0.5; cursor: not-allowed; background: var(--background-modifier-border); } .workflow_TokenTable { width: 100%; border-collapse: collapse; font-size: 14px; } .workflow_TokenTable thead { background: var(--background-secondary); } .workflow_TokenTable th, .workflow_TokenTable td { padding: 12px; text-align: left; border-bottom: 1px solid var(--background-modifier-border); } .workflow_TokenTable th { font-weight: 500; color: var(--text-muted); } .workflow_TokenTable tbody tr { transition: background 0.2s; } .workflow_TokenTable tbody tr:hover { background: var(--background-modifier-hover); } .workflow_CheckboxCell { width: 40px; text-align: center; } .workflow_CheckboxCell input[type=checkbox] { cursor: pointer; } .workflow_LoadingMessage, .workflow_EmptyMessage { padding: 40px 20px; text-align: center; color: var(--text-muted); font-size: 14px; } .workflow_ResultOverlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.3); display: flex; align-items: center; justify-content: center; z-index: 9998; animation: workflow_fadeIn 0.2s ease-out; } @keyframes workflow_fadeIn { from { opacity: 0; } to { opacity: 1; } } .workflow_ResultModal { background: var(--background-primary); border-radius: 8px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); max-width: 600px; width: 90%; animation: workflow_slideUp 0.3s ease-out; } @keyframes workflow_slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .workflow_ResultHeader { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--background-modifier-border); } .workflow_ResultWarning { color: var(--text-warning); font-size: 14px; font-weight: 500; display: flex; align-items: center; gap: 8px; } .workflow_ResultCloseBtn { background: none; border: none; color: var(--text-muted); font-size: 24px; line-height: 1; cursor: pointer; padding: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; transition: color 0.2s; } .workflow_ResultCloseBtn:hover { color: var(--text-normal); } .workflow_ResultContent { padding: 24px 20px; } .workflow_ResultLabel { font-size: 14px; font-weight: 500; color: var(--text-normal); margin-bottom: 12px; } .workflow_ResultToken { background: var(--background-secondary); border: 1px solid var(--background-modifier-border); border-radius: 6px; padding: 16px; font-family: "Courier New", monospace; font-size: 13px; color: var(--text-normal); word-break: break-all; line-height: 1.6; max-height: 200px; overflow-y: auto; user-select: text; } .workflow_ConfirmMessage { margin-top: 12px; font-size: 13px; color: var(--text-muted); } .workflow_ResultActions { display: flex; gap: 12px; padding: 16px 20px; border-top: 1px solid var(--background-modifier-border); justify-content: flex-end; } .workflow_CopyButton { padding: 10px 20px; background: var(--interactive-accent); color: var(--text-on-accent); border: none; border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; transition: opacity 0.2s; } .workflow_CopyButton:hover { opacity: 0.9; } .workflow_CloseButton { padding: 10px 20px; background: var(--background-secondary); color: var(--text-normal); border: 1px solid var(--background-modifier-border); border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; transition: background 0.2s; } .workflow_CloseButton:hover { background: var(--background-modifier-hover); } /* src/ui/pubview.module.css */ .pubview_Header { display: flex; height: 44px; } .pubview_Message { font-size: 22px; line-height: 44px; } .pubview_Content { height: 240px; overflow-y: auto; margin: 20px 0; background-color: white; } .pubview_Footer { display: flex; justify-content: space-between; align-items: center; } /* src/styles.css */ .note-preview { min-height: 100%; width: 100%; height: 100%; background-color: #fff; display: flex; flex-direction: column; } .render-div { flex: 1; overflow-y: auto; padding: 10px; } .preview-toolbar { position: relative; min-height: 100px; border-bottom: #e4e4e4 1px solid; background-color: var(--background-primary); } .toolbar-line { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; margin: 10px 10px; } .copy-button { margin-right: 10px; } .refresh-button { margin-right: 10px; } .upload-input { margin-left: 10px; visibility: hidden; width: 0px; } .style-label { margin-right: 10px; } .style-select { margin-right: 10px; width: 120px; } .msg-view { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--background-primary); display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 18px; z-index: 9999; display: none; } .msg-title { margin-bottom: 20px; max-width: 90%; } .loading-wrapper { display: flex; width: 100%; min-height: 50vh; height: 100%; align-items: center; justify-content: center; } .loading-spinner { width: 50px; height: 50px; border: 4px solid #fcd6ff; border-top: 4px solid #bb0cdf; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }