/* ===== 基础重置 ===== */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } /* ===== 基础排版 ===== */ html, body { height: 100%; } body { font-family: var(--wolai-font-sans); color: var(--wolai-text-primary); background: var(--wolai-bg); line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } a { color: var(--wolai-accent); text-decoration: none; cursor: pointer; } a:hover { color: var(--wolai-accent-hover); } [hidden] { display: none !important; } .mnote-symbol { width: 18px; height: 18px; display: inline-flex; flex: 0 0 auto; color: currentColor; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; vertical-align: -0.18em; } .mnote-symbol[data-icon="home"] { stroke-width: 2; } .mnote-symbol--document { width: 56px; height: 56px; stroke-width: 1.35; } .material-symbols-outlined { font-family: var(--wolai-font-sans); font-weight: normal; font-style: normal; font-size: 20px; line-height: 1; letter-spacing: 0; text-transform: none; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: "liga"; -webkit-font-smoothing: antialiased; font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; } .material-symbols-outlined::before { content: ""; display: block; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--mnote-icon-mask) center / contain no-repeat; mask: var(--mnote-icon-mask) center / contain no-repeat; } .material-symbols-outlined[data-icon="search"]::before { content: "⌕"; } .material-symbols-outlined[data-icon="account_tree"]::before { content: "⌘"; } .material-symbols-outlined[data-icon="bolt"]::before { content: "ϟ"; } .material-symbols-outlined[data-icon="help"]::before { content: "?"; } .material-symbols-outlined[data-icon="inventory_2"]::before { content: "▣"; } .material-symbols-outlined[data-icon="more_horiz"]::before { content: "…"; } .material-symbols-outlined[data-icon="menu"]::before { content: "☰"; } .material-symbols-outlined[data-icon="home"]::before { content: "⌂"; } .material-symbols-outlined[data-icon="star"]::before { content: "☆"; } .material-symbols-outlined[data-icon="history"]::before { content: "◷"; } .material-symbols-outlined[data-icon="auto_awesome"]::before { content: "✦"; } .material-symbols-outlined[data-icon="folder_open"]::before, .material-symbols-outlined[data-icon="drive_file_move"]::before { content: "▱"; } .material-symbols-outlined[data-icon="delete"]::before { content: "⌫"; } .material-symbols-outlined[data-icon="right_panel_open"]::before, .material-symbols-outlined[data-icon="open_in_new"]::before { content: "↗"; } .material-symbols-outlined[data-icon="arrow_outward"]::before { content: "↗"; } .material-symbols-outlined[data-icon="share"]::before { content: "⇪"; } .material-symbols-outlined[data-icon="link"]::before { content: "∞"; } .material-symbols-outlined[data-icon="content_copy"]::before, .material-symbols-outlined[data-icon="file_copy"]::before { content: "⧉"; } .material-symbols-outlined[data-icon="tag"]::before { content: "#"; } .material-symbols-outlined[data-icon="edit"]::before { content: "✎"; } .material-symbols-outlined[data-icon="add"]::before { content: "+"; } .material-symbols-outlined[data-icon="autorenew"]::before, .material-symbols-outlined[data-icon="sync"]::before { content: "↻"; } .material-symbols-outlined[data-icon="chevron_right"]::before { content: "›"; } .material-symbols-outlined[data-icon="chevron_left"]::before { content: "‹"; } .material-symbols-outlined[data-icon="chat"]::before, .material-symbols-outlined[data-icon="comment"]::before, .material-symbols-outlined[data-icon="mode_comment"]::before { content: "▢"; } .material-symbols-outlined[data-icon="palette"]::before { content: "◐"; } .material-symbols-outlined[data-icon="format_align_center"]::before { content: "≡"; } .material-symbols-outlined[data-icon="translate"]::before { content: "文"; } .material-symbols-outlined[data-icon="dashboard"]::before { content: "▦"; } .material-symbols-outlined[data-icon="description"]::before, .material-symbols-outlined[data-icon="article"]::before, .material-symbols-outlined[data-icon="notes"]::before { content: "▤"; } .material-symbols-outlined[data-icon="format_list_bulleted"]::before { content: "☷"; } .material-symbols-outlined[data-icon="checklist"]::before { content: "☑"; } .material-symbols-outlined[data-icon="text_fields"]::before { content: "T"; } .material-symbols-outlined[data-icon="function"]::before { content: "ƒ"; } .material-symbols-outlined[data-icon="looks_one"]::before { content: "1"; } .material-symbols-outlined[data-icon="looks_two"]::before { content: "2"; } .material-symbols-outlined[data-icon="looks_3"]::before { content: "3"; } .material-symbols-outlined[data-icon="looks_4"]::before { content: "4"; } .material-symbols-outlined[data-icon="check"]::before { content: "✓"; } .material-symbols-outlined[data-icon="manage_search"]::before { content: "⌕"; } .material-symbols-outlined[data-icon="subdirectory_arrow_right"]::before { content: "↳"; } .material-symbols-filled { font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24; } /* 本地 SVG mask 图标,避免 Google Material Symbols 字体未加载时露出英文图标名。 */ .material-symbols-outlined[data-icon]::before { content: ""; } .material-symbols-outlined[data-icon="search"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.8 18a7.2 7.2 0 1 1 0-14.4 7.2 7.2 0 0 1 0 14.4Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='m16 16 4.2 4.2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="manage_search"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 17.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='m15.5 15.5 4 4M8 8.5h5M8 11h5M8 13.5h3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="account_tree"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6h4v4H6zM14 4h4v4h-4zM14 16h4v4h-4z' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M10 8h2a2 2 0 0 0 2-2M10 8h2a2 2 0 0 1 2 2v8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="bolt"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 2 4.5 13h6L9 22l10.5-13h-6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="help"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9.8 9a2.4 2.4 0 0 1 4.6 1.1c0 1.7-1.7 2-2.2 3.1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17' r='1.1' fill='black'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="inventory_2"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5.5h16v4H4zM6 9.5h12V19H6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M9.5 13.5h5' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="more_horiz"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='5' cy='12' r='2' fill='black'/%3E%3Ccircle cx='12' cy='12' r='2' fill='black'/%3E%3Ccircle cx='19' cy='12' r='2' fill='black'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="menu"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="home"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 11 12 4l8 7v9H5v-9Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M9.5 20v-6h5v6' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="star"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 3 2.7 5.4 6 .9-4.4 4.3 1 6-5.3-2.8-5.3 2.8 1-6-4.4-4.3 6-.9z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="history"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 12a8 8 0 1 0 2.3-5.7L4 8.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 4v4.5h4.5M12 8v5l3.5 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="auto_awesome"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 3 1.6 5.2L19 10l-5.4 1.8L12 17l-1.6-5.2L5 10l5.4-1.8zM5.5 15.5l.8 2.2 2.2.8-2.2.8-.8 2.2-.8-2.2-2.2-.8 2.2-.8zM18.5 2.5l.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z' fill='black'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="folder_open"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 7.5h6l2 2H21v8.5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-9a1.5 1.5 0 0 1 1.5-1.5Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M4 18 7 11h14l-3 7' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="drive_file_move"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h6l2 2h8v10H4z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='m13 12 3 3-3 3M8 15h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="delete"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 6h14M9 6V4h6v2M8 6l1 14h6l1-14M10.5 10v6M13.5 10v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="right_panel_open"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h16v14H4zM14 5v14M8 12h6M11 9l3 3-3 3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="autorenew"], .material-symbols-outlined[data-icon="sync"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 8a7 7 0 0 0-11.8-2.8L5 7.5M5 4v3.5h3.5M5 16a7 7 0 0 0 11.8 2.8L19 16.5M19 20v-3.5h-3.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="chevron_right"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="chevron_left"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m15 5-7 7 7 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="preview"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='2.8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="download"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 4v10M8.5 11.5 12 15l3.5-3.5M5 19h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="notes"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 5h12v14H6zM9 9h6M9 12h6M9 15h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="arrow_outward"], .material-symbols-outlined[data-icon="open_in_new"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 6H5v13h13v-3M12 5h7v7M10 14 19 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="share"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='18' cy='5' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='6' cy='12' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='18' cy='19' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m8.7 10.7 6.6-4.4M8.7 13.3l6.6 4.4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="comment"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 5h14v10H9l-4 4V5Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="chat"], .material-symbols-outlined[data-icon="mode_comment"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 5h14v10H9l-4 4V5Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="person_add"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='8' r='3.2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M3.5 20a5.5 5.5 0 0 1 11 0M18 8v6M15 11h6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="slideshow"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h16v12H4z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='m10 9 5 2-5 2zM9 21h6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="travel_explore"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4 11h14M11 4a10 10 0 0 1 0 14M11 4a10 10 0 0 0 0 14M16.5 16.5 21 21' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M7.5 8.5h2.5l1 1.5 2.5-.5 1 2-2 1 .5 2.5h-3l-1.5-2-2 .5' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="document_scanner"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 3H5a2 2 0 0 0-2 2v2M17 3h2a2 2 0 0 1 2 2v2M7 21H5a2 2 0 0 1-2-2v-2M17 21h2a2 2 0 0 0 2-2v-2M7 8h10M7 12h10M7 16h7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="article"], .material-symbols-outlined[data-icon="description"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 4h12v16H6zM9 8h6M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="sync"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6v5h-5M4 18v-5h5M7.5 9A6 6 0 0 1 18 6M16.5 15A6 6 0 0 1 6 18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="drive_file_rename_outline"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m4 17-.5 3.5L7 20l11-11-3-3zM13 8l3 3M5 6h7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="format_paint"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7h10l2 3-2 3H5l-2-3zM9 13v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="link"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.5 14.5 14.5 9.5M10.8 6.2l1.1-1.1a4 4 0 0 1 5.7 5.7l-1.6 1.6M13.2 17.8l-1.1 1.1a4 4 0 0 1-5.7-5.7L8 11.6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="content_copy"], .material-symbols-outlined[data-icon="file_copy"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 8h10v12H8zM6 16H4V4h10v2' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="tag"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 4 5 20M19 4l-4 16M4 9h16M3 15h16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="edit"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m4 17-.5 3.5L7 20l11-11-3-3zM13 8l3 3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="add"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="subdirectory_arrow_right"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 4v7a3 3 0 0 0 3 3h8M14 10l4 4-4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="account_circle"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='9' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M6.8 19a5.4 5.4 0 0 1 10.4 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="admin_panel_settings"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3 5 6v5c0 4.5 2.9 8 7 10 4.1-2 7-5.5 7-10V6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='m9 12 2 2 4-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="close"] { --mnote-icon-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6 18 18M18 6 6 18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); } .material-symbols-outlined[data-icon="backspace"]::before, .material-symbols-outlined[data-icon="check"]::before, .material-symbols-outlined[data-icon="checklist"]::before, .material-symbols-outlined[data-icon="code"]::before, .material-symbols-outlined[data-icon="dashboard"]::before, .material-symbols-outlined[data-icon="format_align_center"]::before, .material-symbols-outlined[data-icon="format_bold"]::before, .material-symbols-outlined[data-icon="format_list_bulleted"]::before, .material-symbols-outlined[data-icon="format_list_numbered"]::before, .material-symbols-outlined[data-icon="format_quote"]::before, .material-symbols-outlined[data-icon="function"]::before, .material-symbols-outlined[data-icon="horizontal_rule"]::before, .material-symbols-outlined[data-icon="image"]::before, .material-symbols-outlined[data-icon="looks_one"]::before, .material-symbols-outlined[data-icon="looks_two"]::before, .material-symbols-outlined[data-icon="looks_3"]::before, .material-symbols-outlined[data-icon="looks_4"]::before, .material-symbols-outlined[data-icon="lock"]::before, .material-symbols-outlined[data-icon="lock_open"]::before, .material-symbols-outlined[data-icon="palette"]::before, .material-symbols-outlined[data-icon="playlist_add"]::before, .material-symbols-outlined[data-icon="redo"]::before, .material-symbols-outlined[data-icon="remove"]::before, .material-symbols-outlined[data-icon="settings"]::before, .material-symbols-outlined[data-icon="table_chart"]::before, .material-symbols-outlined[data-icon="text_fields"]::before, .material-symbols-outlined[data-icon="toc"]::before, .material-symbols-outlined[data-icon="translate"]::before, .material-symbols-outlined[data-icon="upload_file"]::before, .material-symbols-outlined[data-icon="view_column"]::before { width: auto; height: auto; background: transparent; -webkit-mask: none; mask: none; } .material-symbols-outlined[data-icon="backspace"]::before { content: "⌫"; } .material-symbols-outlined[data-icon="check"]::before { content: "✓"; } .material-symbols-outlined[data-icon="checklist"]::before { content: "☑"; } .material-symbols-outlined[data-icon="code"]::before { content: "{}"; } .material-symbols-outlined[data-icon="dashboard"]::before { content: "▦"; } .material-symbols-outlined[data-icon="format_align_center"]::before { content: "≡"; } .material-symbols-outlined[data-icon="format_bold"]::before { content: "B"; } .material-symbols-outlined[data-icon="format_list_bulleted"]::before { content: "☷"; } .material-symbols-outlined[data-icon="format_list_numbered"]::before { content: "1."; } .material-symbols-outlined[data-icon="format_quote"]::before { content: "“"; } .material-symbols-outlined[data-icon="function"]::before { content: "ƒ"; } .material-symbols-outlined[data-icon="horizontal_rule"]::before { content: "─"; } .material-symbols-outlined[data-icon="image"]::before { content: "▧"; } .material-symbols-outlined[data-icon="looks_one"]::before { content: "1"; } .material-symbols-outlined[data-icon="looks_two"]::before { content: "2"; } .material-symbols-outlined[data-icon="looks_3"]::before { content: "3"; } .material-symbols-outlined[data-icon="looks_4"]::before { content: "4"; } .material-symbols-outlined[data-icon="lock"]::before { content: "▣"; } .material-symbols-outlined[data-icon="lock_open"]::before { content: "▢"; } .material-symbols-outlined[data-icon="palette"]::before { content: "◐"; } .material-symbols-outlined[data-icon="playlist_add"]::before { content: "☰+"; } .material-symbols-outlined[data-icon="redo"]::before { content: "↷"; } .material-symbols-outlined[data-icon="remove"]::before { content: "−"; } .material-symbols-outlined[data-icon="settings"]::before { content: "⚙"; } .material-symbols-outlined[data-icon="table_chart"]::before { content: "▦"; } .material-symbols-outlined[data-icon="text_fields"]::before { content: "T"; } .material-symbols-outlined[data-icon="toc"]::before { content: "☰"; } .material-symbols-outlined[data-icon="translate"]::before { content: "文"; } .material-symbols-outlined[data-icon="upload_file"]::before { content: "⇧"; } .material-symbols-outlined[data-icon="view_column"]::before { content: "▥"; } .material-symbols-outlined[data-icon="radio_button_unchecked"]::before { width: .78em; height: .78em; background: transparent; border: 2px solid currentColor; border-radius: 999px; -webkit-mask: none; mask: none; } /* ===== 滚动条(悬停时显示) ===== */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: transparent; border-radius: 4px; } :hover::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.1); } /* ===== 页面布局:侧栏 + 内容 ===== */ .mnote-shell { display: flex; height: 100vh; width: 100%; overflow: hidden; background: var(--wolai-bg); } .mnote-shell[data-mnote-sidebar-collapsed="true"] .mnote-sidebar, .mnote-shell[data-mnote-sidebar-collapsed="true"] .wolai-sidebar, .mnote-shell[data-mnote-sidebar-collapsed="true"] .mnote-sidebar-resizer { display: none; } .wolai-workspace-shell { --wolai-bg-sidebar: #F7F7F6; --wolai-bg-selected: #F8E6E7; --wolai-accent-red: #E0525B; --mnote-sidebar-width: 288px; } .wolai-sidebar { width: var(--mnote-sidebar-width); background: var(--wolai-bg-sidebar); } .mnote-sidebar-resizer { display: block; width: 6px; min-height: 100vh; cursor: col-resize; position: relative; flex: 0 0 auto; overscroll-behavior: none; } .mnote-sidebar-resizer::before { content: ""; position: absolute; left: 2px; top: 0; bottom: 0; width: 2px; background: rgba(27, 28, 28, 0.08); } .mnote-sidebar-resizer:hover::before, html[data-mnote-sidebar-resizing="true"] .mnote-sidebar-resizer::before { background: rgba(37, 99, 235, 0.42); } .wolai-sidebar-header { height: 52px; gap: 10px; padding: 12px 16px 8px; justify-content: flex-start; position: relative; } .wolai-avatar { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; background: #D6545D; color: #fff; font-size: 15px; font-weight: 700; flex: 0 0 auto; } .wolai-sidebar-header .sidebar-workspace-name { max-width: 190px; color: #202124; font-size: 16px; font-weight: 650; } .mnote-workspace-source-trigger { min-width: 0; flex: 1 1 auto; display: inline-flex; align-items: center; gap: 4px; border: 0; background: transparent; padding: 2px 4px; border-radius: 4px; cursor: pointer; } .mnote-workspace-source-trigger:hover, .mnote-workspace-source-trigger[aria-expanded="true"] { background: var(--wolai-bg-hover); } .wolai-sidebar-chevron { margin-left: auto; color: var(--wolai-text-secondary); font-size: 16px; } .mnote-workspace-source-menu { position: absolute; inset-inline-start: 0; top: calc(100% + 6px); z-index: var(--wolai-z-dropdown); width: 250px; max-width: calc(100vw - 24px); padding: 6px; border: 1px solid rgba(27, 28, 28, 0.12); border-radius: 8px; background: #fff; box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18); } .mnote-workspace-source-menu__label { padding: 8px 8px 4px; color: var(--wolai-text-secondary); font-size: 12px; } .mnote-workspace-source-menu__item { width: 100%; display: block; border: 0; border-radius: 6px; background: transparent; padding: 8px; color: var(--wolai-text-primary); font-size: 13px; line-height: 1.35; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .mnote-workspace-source-menu__item:hover { background: var(--wolai-bg-hover); } .mnote-workspace-source-menu__item--primary { color: #1D4ED8; } .mnote-local-folder-dialog__recent { display: grid; gap: 6px; min-width: 0; } .mnote-local-folder-dialog__recent button { min-width: 0; max-width: 100%; border: 1px solid rgba(27, 28, 28, 0.12); border-radius: 6px; background: #fff; padding: 7px 9px; color: var(--wolai-text-primary); font-size: 13px; line-height: 1.4; text-align: left; cursor: pointer; white-space: normal; overflow-wrap: anywhere; word-break: break-word; } .mnote-local-folder-dialog__recent button:hover { background: var(--wolai-bg-hover); } .mnote-account-menu{inset-inline-start:auto;right:8px;top:calc(100% - 10px);width:194px}.mnote-account-menu__item{display:flex;align-items:center;gap:10px}.mnote-account-menu__logout{color:#C2410C}.mnote-account-menu__logout:hover{background:#FFF7ED}.mnote-account-menu__error{padding:6px 8px 2px;color:#B91C1C;font-size:12px}.mnote-profile-dialog{position:fixed;inset:0;z-index:var(--wolai-z-modal);display:grid;place-items:center}.mnote-profile-dialog__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.22)}.mnote-profile-dialog__panel{position:relative;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--wolai-border);border-radius:8px;background:#fff;box-shadow:0 18px 54px rgba(15,23,42,.18);padding:20px}.mnote-profile-dialog__header,.mnote-profile-dialog__identity,.mnote-profile-dialog__list>div,.mnote-profile-dialog__list dd{display:flex;align-items:center}.mnote-profile-dialog__header{justify-content:space-between;margin-bottom:18px}.mnote-profile-dialog__eyebrow,.mnote-profile-dialog__identity span,.mnote-profile-dialog__list dt{color:var(--wolai-text-secondary);font-size:13px}.mnote-profile-dialog__header h2{font-size:20px}.mnote-profile-dialog__close,.mnote-profile-dialog__list button{border:0;border-radius:6px;background:transparent;color:var(--wolai-text-secondary);cursor:pointer}.mnote-profile-dialog__close{width:32px;height:32px}.mnote-profile-dialog__identity{gap:12px;padding:12px;border-radius:8px;background:var(--wolai-bg-sidebar)}.mnote-profile-dialog__avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:#D6545D;color:#fff;font-weight:650}.mnote-profile-dialog__list{margin-top:16px}.mnote-profile-dialog__list>div{justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--wolai-border)}.mnote-profile-dialog__list dd{min-width:0;gap:8px;max-width:280px;font-size:13px;text-align:right;overflow-wrap:anywhere}.mnote-profile-dialog__list code{font-family:"JetBrains Mono","SFMono-Regular",Consolas,monospace;font-size:12px;white-space:normal} .wolai-quick-actions { flex: 0 0 auto; display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; padding: 8px 12px 18px; position: relative; } .wolai-quick-actions a, .wolai-quick-actions button { height: 28px; justify-content: center; padding: 0; margin: 0; color: #4B4B4B; border: 0; background: transparent; cursor: pointer; } .wolai-quick-actions a .nav-icon, .wolai-quick-actions button .nav-icon { margin: 0; } .wolai-sidebar-section { padding: 4px 8px 14px; } .wolai-section-title { height: 28px; display: flex; align-items: center; gap: 4px; color: #B5B5B2; font-size: 14px; padding: 0 8px; } .wolai-section-icon { color: #FFB33F; } .wolai-section-caret { color: #B5B5B2; } .wolai-section-add { margin-left: auto; width: 24px; height: 24px; border: 0; border-radius: 6px; background: transparent; color: #B5B5B2; font-size: 22px; line-height: 1; cursor: pointer; } .wolai-section-add:hover { background: var(--wolai-bg-hover); color: #555; } .wolai-page-row { min-height: 38px; display: flex; align-items: center; gap: 8px; border-radius: 6px; padding: 0 12px; color: #535353; font-size: 17px; line-height: 1.2; } .wolai-page-row:hover { background: var(--wolai-bg-hover); color: #202124; } .wolai-muted-row { color: #747471; } .wolai-active-row { background: var(--wolai-bg-selected); color: var(--wolai-accent-red); } .wolai-row-icon { width: 22px; color: #111; text-align: center; flex: 0 0 auto; } .wolai-sidebar-footer { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--wolai-border); background: #FBFBFA; } .wolai-footer-entry { height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #6D6D69; font-size: 15px; } .wolai-footer-entry + .wolai-footer-entry { border-left: 1px solid var(--wolai-border); } .wolai-topbar { height: 46px; display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; padding: 0 18px; color: #222; font-size: 17px; } .wolai-topbar-left, .wolai-topbar-actions { display: flex; align-items: center; gap: 12px; } .wolai-topbar-actions { color: #222; font-size: 20px; } .wolai-menu-icon { color: #4A4A4A; font-size: 22px; } .wolai-home-icon { color: #000; font-size: 24px; font-weight: 700; } .wolai-floating-actions { position: fixed; right: 24px; bottom: 24px; display: flex; flex-direction: column; gap: 16px; z-index: var(--wolai-z-dock); } .wolai-floating-button { width: 50px; height: 50px; border: 1px solid #ECECF1; border-radius: 50%; background: #fff; color: #222; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); font-size: 18px; cursor: pointer; } /* 侧栏导航 */ .mnote-sidebar { width: 288px; flex-shrink: 0; background: var(--wolai-bg-sidebar); border-right: 1px solid var(--wolai-border); display: flex; flex-direction: column; overflow-y: auto; user-select: none; } .mnote-sidebar-header { padding: 14px 16px 10px; display: flex; align-items: center; justify-content: space-between; } .mnote-sidebar-brand { font-size: 15px; font-weight: 600; color: var(--wolai-text-primary); text-decoration: none; } .mnote-sidebar-brand:hover { color: var(--wolai-text-primary); } .mnote-sidebar-nav { flex: 1; padding: 4px 8px; } .mnote-sidebar-nav.wolai-quick-actions { flex: 0 0 auto; } .wolai-sidebar-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; overflow: hidden; } .mnote-sidebar-nav a, .mnote-sidebar-nav button { display: flex; align-items: center; height: 30px; padding: 4px 8px; margin-bottom: 2px; border-radius: var(--wolai-radius); font-size: 14px; line-height: 1.4; color: var(--wolai-text-primary); text-decoration: none; transition: none; } .mnote-sidebar-nav a:hover, .mnote-sidebar-nav button:hover { background: var(--wolai-bg-hover); } .mnote-sidebar-nav a.active { background: var(--wolai-bg-active); } .mnote-sidebar-nav a .nav-icon, .mnote-sidebar-nav button .nav-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 5px; font-size: 18px; flex-shrink: 0; } /* 工作区名称 */ .sidebar-workspace-name { font-size: 12px; color: var(--wolai-text-secondary); max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* 侧栏页面树区 */ .sidebar-tree-section { border-top: 1px solid var(--wolai-border); margin-top: 4px; padding-top: 4px; } .sidebar-tree-divider { display: none; } .sidebar-tree { padding: 2px 0; } .sidebar-tree .tree-root { list-style: none; padding: 0; margin: 0; } .sidebar-tree .tree-empty { padding: 6px 8px 8px; color: var(--wolai-text-secondary); font-size: 13px; line-height: 1.5; } .sidebar-tree .tree-node { list-style: none; padding: 0; margin: 0; } .sidebar-tree .tree-row { display: flex; align-items: center; height: 30px; padding: 0 8px; border-radius: var(--wolai-radius); cursor: pointer; font-size: 14px; color: var(--wolai-text-primary); gap: 2px; } .sidebar-tree .tree-row:hover { background: var(--wolai-bg-hover); } .sidebar-tree .tree-row[data-active="true"] { background: var(--wolai-bg-active); } .sidebar-tree .tree-row[data-active="true"] .tree-link-title { font-weight: 500; } .sidebar-tree .tree-toggle { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex-shrink: 0; border: none; background: none; cursor: pointer; font-size: 12px; color: var(--wolai-text-secondary); padding: 0; border-radius: 3px; } .sidebar-tree .tree-toggle:hover { background: var(--wolai-bg-hover); } .sidebar-tree .tree-spacer { display: inline-flex; width: 20px; height: 20px; flex-shrink: 0; } .sidebar-tree .tree-kind-badge { display: none; } .sidebar-tree .tree-link { flex: 1; display: flex; align-items: center; border: none; background: none; cursor: pointer; padding: 0 4px; font-size: 14px; color: var(--wolai-text-primary); overflow: hidden; min-width: 0; } .sidebar-tree .tree-link-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .sidebar-tree .tree-actions { display: none; gap: 2px; flex-shrink: 0; } .sidebar-tree .tree-row:hover .tree-actions { display: flex; } .sidebar-tree .tree-action { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: none; background: none; cursor: pointer; font-size: 14px; color: var(--wolai-text-secondary); border-radius: 3px; padding: 0; } .sidebar-tree .tree-action:hover { background: var(--wolai-bg-hover); } .sidebar-tree .tree-children { list-style: none; padding: 0; margin: 0; } .sidebar-tree .tree-children--collapsed { display: none; } /* 树行缩进 — 通过嵌套深度自动偏移 */ .sidebar-tree .tree-node .tree-children .tree-row { padding-left: 28px; } .sidebar-tree .tree-node .tree-children .tree-children .tree-row { padding-left: 48px; } .sidebar-tree .tree-node .tree-children .tree-children .tree-children .tree-row { padding-left: 68px; } .sidebar-tree .tree-node .tree-children .tree-children .tree-children .tree-children .tree-row { padding-left: 88px; } /* 内容区域 */ .mnote-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; background: var(--wolai-bg); } .mnote-content { flex: 1; min-height: 0; overflow-y: auto; padding: 0; } .mnote-content:has(.document-workspace) { overflow: hidden; } /* dialog/modal 状态 */ .mnote-profile-dialog[data-state="open"], .ui-debug-dialog-overlay[data-state="open"], .wolai-search-overlay[data-state="open"] { display: grid; } .mnote-profile-dialog[data-state="closed"], .ui-debug-dialog-overlay[data-state="closed"], .wolai-search-overlay[data-state="closed"] { display: none !important; } /* popover/dropdown 状态 */ .wolai-page-settings-popover[data-state="open"], .mnote-workspace-source-menu[data-state="open"], .ui-debug-popover[data-state="open"] { display: block; } .wolai-page-settings-popover[data-state="closed"], .mnote-workspace-source-menu[data-state="closed"], .ui-debug-popover[data-state="closed"] { display: none !important; } /* context menu 状态 */ .mnote-tree-context-menu[data-state="open"] { display: block; } .mnote-tree-context-menu[data-state="closed"] { display: none !important; } /* drawer 状态 */ .wolai-page-history-drawer[data-state="open"], .wolai-page-ai-drawer[data-state="open"] { display: block; } .wolai-page-history-drawer[data-state="closed"], .wolai-page-ai-drawer[data-state="closed"] { display: none !important; } /* aria-expanded 通用规则 */ [aria-expanded="true"] > .material-symbols-outlined.nav-icon[data-icon] { color: var(--wolai-accent); } /* ===== data-variant 通用按钮规则 ===== */ /* primary */ .mnote-btn[data-variant="primary"], [data-variant="primary"].mnote-btn { background: var(--mnote-btn-primary-bg); color: var(--mnote-btn-primary-color); } .mnote-btn[data-variant="primary"]:hover, [data-variant="primary"].mnote-btn:hover { background: var(--mnote-btn-primary-hover-bg); } .mnote-btn[data-variant="primary"]:active, [data-variant="primary"].mnote-btn:active { background: var(--mnote-btn-primary-active-bg); } .mnote-btn[data-variant="primary"]:disabled, [data-variant="primary"].mnote-btn:disabled { opacity: var(--mnote-btn-primary-disabled-opacity); cursor: not-allowed; } /* secondary */ .mnote-btn[data-variant="secondary"], [data-variant="secondary"].mnote-btn { background: var(--mnote-btn-secondary-bg); color: var(--mnote-btn-secondary-color); } .mnote-btn[data-variant="secondary"]:hover, [data-variant="secondary"].mnote-btn:hover { background: var(--mnote-btn-secondary-hover-bg); } .mnote-btn[data-variant="secondary"]:disabled, [data-variant="secondary"].mnote-btn:disabled { opacity: var(--mnote-btn-secondary-disabled-opacity); cursor: not-allowed; } /* outline */ .mnote-btn[data-variant="outline"], [data-variant="outline"].mnote-btn { background: var(--mnote-btn-outline-bg); color: var(--mnote-btn-outline-color); border-color: var(--mnote-btn-outline-border); } .mnote-btn[data-variant="outline"]:hover, [data-variant="outline"].mnote-btn:hover { background: var(--mnote-btn-outline-hover-bg); } .mnote-btn[data-variant="outline"]:active, [data-variant="outline"].mnote-btn:active { background: var(--mnote-btn-outline-active-bg); } .mnote-btn[data-variant="outline"]:disabled, [data-variant="outline"].mnote-btn:disabled { opacity: var(--mnote-btn-outline-disabled-opacity); cursor: not-allowed; } /* ghost */ .mnote-btn[data-variant="ghost"], [data-variant="ghost"].mnote-btn { background: var(--mnote-btn-ghost-bg); color: var(--mnote-btn-ghost-color); } .mnote-btn[data-variant="ghost"]:hover, [data-variant="ghost"].mnote-btn:hover { background: var(--mnote-btn-ghost-hover-bg); } .mnote-btn[data-variant="ghost"]:active, [data-variant="ghost"].mnote-btn:active { background: var(--mnote-btn-ghost-active-bg); } .mnote-btn[data-variant="ghost"]:disabled, [data-variant="ghost"].mnote-btn:disabled { opacity: var(--mnote-btn-ghost-disabled-opacity); cursor: not-allowed; } /* danger */ .mnote-btn[data-variant="danger"], [data-variant="danger"].mnote-btn { background: var(--mnote-btn-danger-bg); color: var(--mnote-btn-danger-color); } .mnote-btn[data-variant="danger"]:hover, [data-variant="danger"].mnote-btn:hover { background: var(--mnote-btn-danger-hover-bg); } .mnote-btn[data-variant="danger"]:disabled, [data-variant="danger"].mnote-btn:disabled { opacity: var(--mnote-btn-danger-disabled-opacity); cursor: not-allowed; } /* ===== data-size 通用按钮规则 ===== */ .mnote-btn[data-size="sm"], [data-size="sm"].mnote-btn { height: var(--mnote-btn-sm-height); padding: var(--mnote-btn-sm-padding); font-size: var(--mnote-btn-sm-font-size); } .mnote-btn[data-size="md"], [data-size="md"].mnote-btn { height: var(--mnote-btn-md-height); padding: var(--mnote-btn-md-padding); font-size: var(--mnote-btn-md-font-size); } .mnote-btn[data-size="lg"], [data-size="lg"].mnote-btn { height: var(--mnote-btn-lg-height); padding: var(--mnote-btn-lg-padding); font-size: var(--mnote-btn-lg-font-size); } /* ===== data-state 按钮通用规则 ===== */ .mnote-btn[data-state="hover"] { filter: brightness(1.08); } .mnote-btn[data-state="active"] { filter: brightness(0.88); } .mnote-btn[data-state="disabled"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }