Files
StudyDiary/.obsidian/plugins/note-to-mp/styles.css
T
2026-07-23 20:36:13 +08:00

2275 lines
51 KiB
CSS
Executable File

/* 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);
}
}