Files
plainleaf/client/styles/plainleaf_workspace.scss
T
wushenghua ea716b2628
CI / config (push) Canceled after 0s
CI / test-frontend (push) Canceled after 0s
CI / test-rust (push) Canceled after 0s
CI / test-e2e (push) Canceled after 0s
CI / test-e2e-release (push) Canceled after 0s
CI / build (push) Canceled after 0s
CI / release (push) Canceled after 0s
CI / docker (push) Canceled after 0s
CI / docker-website (push) Canceled after 0s
feat: localize config and fix mobile viewport
2026-08-12 18:43:33 +08:00

1496 lines
27 KiB
SCSS

#pl-workspace-shell {
--pl-sidebar: #f0f2ef;
--pl-surface: #ffffff;
--pl-canvas: #f6f7f5;
--pl-text: #242824;
--pl-muted: #687168;
--pl-faint: #929a92;
--pl-border: #dde2dc;
--pl-border-strong: #cbd3cb;
--pl-green: #3f7658;
--pl-green-dark: #335f48;
--pl-green-soft: #ddebe2;
--pl-coral: #c96c5c;
--pl-coral-soft: #f6e4e0;
--pl-blue: #4c7591;
--pl-blue-soft: #e1ebf1;
--pl-yellow: #e7c96f;
--pl-danger: #b94a4a;
--pl-sidebar-width: clamp(260px, 20vw, 300px);
display: grid;
grid-template-columns: var(--pl-sidebar-width) minmax(0, 1fr);
width: 100%;
height: 100%;
min-height: 0;
color: var(--pl-text);
background: var(--pl-canvas);
font-family: var(--ui-font);
letter-spacing: 0;
overflow: hidden;
}
html[data-theme="dark"] #pl-workspace-shell {
--pl-sidebar: #202521;
--pl-surface: #1e221f;
--pl-canvas: #171a18;
--pl-text: #e8ece8;
--pl-muted: #9ba69d;
--pl-faint: #727c74;
--pl-border: #343b35;
--pl-border-strong: #465048;
--pl-green: #75b18d;
--pl-green-dark: #88c09e;
--pl-green-soft: #283c30;
--pl-coral: #dc7d7d;
--pl-coral-soft: #432d2b;
--pl-blue: #75a8c2;
--pl-blue-soft: #263842;
--pl-yellow: #dfa84f;
}
#pl-workspace-shell button,
#pl-workspace-shell input,
#pl-workspace-shell select {
box-sizing: border-box;
color: inherit;
font: inherit;
letter-spacing: 0;
}
#pl-workspace-shell button:focus-visible,
#pl-workspace-shell input:focus-visible,
#pl-workspace-shell select:focus-visible {
outline: 2px solid var(--pl-green);
outline-offset: 1px;
}
.pl-sidebar {
z-index: 30;
display: flex;
min-width: 0;
min-height: 0;
flex-direction: column;
border-right: 1px solid var(--pl-border);
color: var(--pl-text);
background: var(--pl-sidebar);
overflow: hidden;
}
.pl-brand-row {
display: flex;
align-items: center;
justify-content: space-between;
flex: 0 0 58px;
padding: 8px 12px 5px 14px;
}
.pl-brand {
display: flex;
align-items: center;
gap: 10px;
height: 38px;
padding: 0 4px;
border: 0;
color: var(--pl-text);
background: transparent;
cursor: pointer;
font-size: 16px;
font-weight: 700;
}
.pl-brand-mark {
display: grid;
place-items: center;
width: 30px;
height: 30px;
border: 1px solid color-mix(in srgb, var(--pl-green) 25%, var(--pl-border));
border-radius: 8px 3px 8px 3px;
color: var(--pl-green-dark);
background: color-mix(in srgb, var(--pl-green-soft) 75%, var(--pl-surface));
}
.pl-close-mobile {
display: none;
place-items: center;
width: 32px;
height: 32px;
padding: 0;
border: 0;
border-radius: 6px;
color: var(--pl-muted);
background: transparent;
}
.pl-create-button {
display: flex;
align-items: center;
justify-content: center;
gap: 7px;
flex: 0 0 34px;
height: 34px;
margin: 3px 12px 12px;
padding: 0;
border: 0;
border-radius: 6px;
color: white;
background: #3f7658;
cursor: pointer;
font-size: 13px;
font-weight: 650;
transition: background 120ms ease;
}
.pl-create-button:hover {
background: #335f48;
}
.pl-create-button:disabled,
.pl-mobile-create:disabled {
opacity: 0.48;
cursor: not-allowed;
}
.pl-primary-nav {
display: grid;
gap: 2px;
padding: 0 8px;
}
.pl-primary-nav-item,
.pl-sidebar-footer button,
.pl-note-shortcuts button,
.pl-more-links button {
display: flex;
align-items: center;
gap: 10px;
width: 100%;
height: 34px;
padding: 0 10px;
border: 0;
border-radius: 6px;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
font-size: 13px;
text-align: left;
}
.pl-primary-nav-item:hover,
.pl-primary-nav-item.is-active,
.pl-sidebar-footer button:hover,
.pl-sidebar-footer button.is-active,
.pl-note-shortcuts button:hover,
.pl-note-shortcuts button.is-active,
.pl-more-links button:hover {
color: var(--pl-text);
background: var(--pl-green-soft);
}
.pl-primary-nav-item.is-active,
.pl-sidebar-footer button.is-active,
.pl-note-shortcuts button.is-active {
font-weight: 650;
}
.pl-primary-nav-item > svg,
.pl-sidebar-footer button > svg,
.pl-note-shortcuts button > svg,
.pl-more-links button > svg {
flex: 0 0 16px;
}
.pl-nav-count {
margin-left: auto;
color: var(--pl-coral);
font-size: 11px;
}
.pl-sidebar-divider {
flex: 0 0 1px;
margin: 12px 12px 0;
background: var(--pl-border);
}
.pl-sidebar-scroll {
flex: 1;
min-height: 0;
padding: 10px 8px 16px;
overflow: auto;
}
.pl-sidebar-footer {
flex: 0 0 47px;
padding: 6px 8px;
border-top: 1px solid var(--pl-border);
}
.pl-sidebar-heading {
display: flex;
align-items: center;
justify-content: space-between;
height: 30px;
padding: 0 8px;
}
.pl-sidebar-heading strong {
color: var(--pl-text);
font-size: 15px;
font-weight: 650;
}
.pl-sidebar-heading span {
color: var(--pl-faint);
font-size: 10px;
}
.pl-note-shortcuts {
display: grid;
gap: 1px;
}
.pl-note-shortcuts small {
margin-left: auto;
color: var(--pl-faint);
font-size: 10px;
font-weight: 400;
}
.pl-files-section {
margin-top: 16px;
}
.pl-files-section > header {
display: flex;
align-items: center;
height: 26px;
padding: 0 8px;
color: var(--pl-faint);
font-size: 10px;
font-weight: 700;
}
.pl-tree-row {
display: flex;
align-items: center;
width: 100%;
min-width: 0;
height: 32px;
padding: 0 7px;
border: 0;
border-radius: 6px;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
font-size: 13px;
text-align: left;
}
.pl-tree-row:hover,
.pl-tree-row.is-active {
color: var(--pl-text);
background: var(--pl-green-soft);
}
.pl-tree-row.is-active {
font-weight: 650;
}
.pl-tree-row > svg {
flex: 0 0 15px;
margin-right: 7px;
}
.pl-tree-disclosure {
display: grid;
place-items: center;
flex: 0 0 17px;
width: 17px;
height: 20px;
margin-right: 1px;
}
.pl-tree-label {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pl-tree-count {
flex: 0 0 auto;
margin-left: 7px;
color: var(--pl-faint);
font-size: 10px;
}
.pl-search-field {
display: grid;
grid-template-columns: 24px minmax(0, 1fr) 26px;
align-items: center;
height: 36px;
margin: 3px 4px 10px;
padding: 0 4px 0 7px;
border: 1px solid var(--pl-border-strong);
border-radius: 6px;
color: var(--pl-faint);
background: var(--pl-surface);
}
.pl-search-field input {
width: 100%;
height: 34px;
padding: 0 3px;
border: 0;
outline: 0;
color: var(--pl-text);
background: transparent;
font-size: 13px;
}
.pl-search-field button {
display: grid;
place-items: center;
width: 26px;
height: 26px;
padding: 0;
border: 0;
border-radius: 4px;
color: var(--pl-faint);
background: transparent;
cursor: pointer;
}
.pl-search-scopes {
display: grid;
grid-template-columns: repeat(3, 1fr);
height: 32px;
margin: 0 4px 14px;
padding: 2px;
border: 1px solid var(--pl-border);
border-radius: 6px;
background: color-mix(in srgb, var(--pl-canvas) 72%, var(--pl-sidebar));
}
.pl-search-scopes button {
padding: 0;
border: 0;
border-radius: 4px;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
font-size: 11px;
}
.pl-search-scopes button.is-active {
color: var(--pl-text);
background: var(--pl-surface);
box-shadow: 0 1px 2px rgb(27 35 29 / 10%);
font-weight: 650;
}
.pl-result-list {
display: grid;
gap: 3px;
}
.pl-search-result {
display: block;
width: 100%;
padding: 10px 9px;
border: 0;
border-radius: 6px;
color: var(--pl-text);
background: transparent;
cursor: pointer;
text-align: left;
}
.pl-search-result:hover {
background: var(--pl-green-soft);
}
.pl-search-result-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.pl-search-result-heading strong {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 13px;
}
.pl-search-result-heading time,
.pl-search-path {
color: var(--pl-faint);
font-size: 10px;
}
.pl-search-excerpt {
display: -webkit-box;
margin: 5px 0 6px;
overflow: hidden;
color: var(--pl-muted);
font-size: 11px;
line-height: 17px;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.pl-search-path {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pl-task-list {
margin-top: 4px;
}
.pl-task-row {
display: grid;
grid-template-columns: 28px minmax(0, 1fr);
min-height: 50px;
padding: 6px 5px;
border-radius: 6px;
}
.pl-task-row:hover {
background: var(--pl-green-soft);
}
.pl-task-check {
display: grid;
place-items: center;
width: 26px;
height: 26px;
padding: 0;
border: 0;
color: var(--pl-faint);
background: transparent;
cursor: pointer;
}
.pl-task-check:hover {
color: var(--pl-green);
}
.pl-task-copy {
display: block;
min-width: 0;
padding: 2px 0;
border: 0;
color: var(--pl-text);
background: transparent;
cursor: pointer;
text-align: left;
}
.pl-task-copy strong,
.pl-task-copy small {
display: block;
}
.pl-task-copy strong {
overflow: hidden;
font-size: 12px;
font-weight: 500;
line-height: 18px;
text-overflow: ellipsis;
}
.pl-task-copy small {
margin-top: 2px;
overflow: hidden;
color: var(--pl-faint);
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.pl-tag-list {
display: grid;
gap: 1px;
}
.pl-tag-list > button {
display: flex;
align-items: center;
width: 100%;
height: 32px;
padding: 0 8px;
border: 0;
border-radius: 6px;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
font-size: 13px;
text-align: left;
}
.pl-tag-list > button:hover,
.pl-tag-list > button.is-active {
color: var(--pl-text);
background: var(--pl-green-soft);
}
.pl-tag-list small {
margin-left: auto;
color: var(--pl-faint);
font-size: 10px;
}
.pl-tag-dot {
width: 8px;
height: 8px;
margin-right: 10px;
border-radius: 50%;
background: var(--pl-green);
}
.pl-tag-dot.color-1 { background: var(--pl-coral); }
.pl-tag-dot.color-2 { background: var(--pl-blue); }
.pl-tag-dot.color-3 { background: var(--pl-yellow); }
.pl-tag-results {
margin-top: 17px;
}
.pl-tag-results h2,
.pl-settings-section h2 {
height: 28px;
margin: 0;
padding: 6px 8px;
color: var(--pl-faint);
font-size: 10px;
font-weight: 700;
}
.pl-tag-results > button {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
height: 32px;
padding: 0 8px;
border: 0;
border-radius: 6px;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
text-align: left;
}
.pl-tag-results > button:hover {
color: var(--pl-text);
background: var(--pl-green-soft);
}
.pl-tag-results > button span {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pl-tag-results > button small {
color: var(--pl-faint);
font-size: 10px;
}
.pl-empty-state {
display: flex;
min-height: 176px;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 7px;
padding: 24px 18px;
color: var(--pl-muted);
text-align: center;
}
.pl-empty-state > svg {
margin-bottom: 4px;
color: var(--pl-green);
}
.pl-empty-state strong {
color: var(--pl-text);
font-size: 13px;
}
.pl-empty-state span,
.pl-loading-state {
color: var(--pl-faint);
font-size: 11px;
line-height: 18px;
}
.pl-empty-state button {
display: inline-flex;
align-items: center;
gap: 5px;
height: 31px;
margin-top: 7px;
padding: 0 10px;
border: 0;
border-radius: 6px;
color: white;
background: #3f7658;
cursor: pointer;
font-size: 11px;
}
.pl-loading-state {
padding: 24px 8px;
text-align: center;
}
.pl-more-links {
display: grid;
gap: 2px;
margin-bottom: 14px;
}
.pl-settings-section + .pl-settings-section {
margin-top: 15px;
}
.pl-setting-row {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
min-height: 48px;
padding: 7px 8px;
border: 0;
border-bottom: 1px solid var(--pl-border);
color: var(--pl-text);
background: transparent;
text-align: left;
}
button.pl-setting-row {
cursor: pointer;
}
button.pl-setting-row:hover {
background: var(--pl-green-soft);
}
.pl-setting-row strong,
.pl-setting-row small,
.pl-advanced-tools strong,
.pl-advanced-tools small {
display: block;
}
.pl-setting-row strong,
.pl-advanced-tools strong {
color: var(--pl-text);
font-size: 12px;
font-weight: 650;
}
.pl-setting-row small,
.pl-advanced-tools small {
margin-top: 2px;
color: var(--pl-faint);
font-size: 10px;
line-height: 15px;
}
.pl-switch {
display: inline-flex;
align-items: center;
width: 34px;
height: 20px;
padding: 2px;
border: 1px solid var(--pl-border-strong);
border-radius: 10px;
background: var(--pl-sidebar);
transition:
background-color 140ms ease,
border-color 140ms ease;
}
.pl-switch > span {
width: 14px;
height: 14px;
border-radius: 50%;
background: var(--pl-surface);
box-shadow: 0 1px 3px rgb(31 45 36 / 18%);
transition: transform 140ms ease;
}
.pl-switch.is-on {
border-color: var(--pl-green);
background: var(--pl-green);
}
.pl-switch.is-on > span {
transform: translateX(14px);
}
.pl-advanced-tools {
display: grid;
gap: 2px;
}
.pl-advanced-tools > button {
display: grid;
grid-template-columns: 28px minmax(0, 1fr) 14px;
align-items: center;
gap: 7px;
width: 100%;
min-height: 52px;
padding: 6px 8px;
border: 0;
border-radius: 6px;
color: var(--pl-text);
background: transparent;
cursor: pointer;
text-align: left;
}
.pl-advanced-tools > button:hover {
background: var(--pl-green-soft);
}
.pl-advanced-icon {
display: grid;
place-items: center;
width: 28px;
height: 28px;
border-radius: 6px;
color: var(--pl-muted);
background: var(--pl-canvas);
}
.pl-editor-workspace {
display: grid;
position: relative;
min-width: 0;
min-height: 0;
background: var(--root-background-color);
overflow: hidden;
}
.pl-editor-layer {
display: flex;
min-width: 0;
min-height: 0;
flex-direction: column;
grid-area: 1 / 1;
}
.pl-editor-layer.is-hidden > #sb-top,
.pl-editor-layer.is-hidden > #sb-main {
visibility: hidden;
opacity: 0;
pointer-events: none;
}
.pl-editor-layer > #sb-top {
flex: 0 0 48px;
height: 48px;
border-bottom: 1px solid var(--pl-border);
color: var(--pl-text);
background: var(--pl-surface);
}
.pl-editor-layer > #sb-top .main .inner {
padding-block: 8px;
font-size: 20px;
}
.pl-editor-layer > #sb-top .main .inner .wrapper {
padding-inline: 20px;
}
.pl-editor-layer > #sb-top .sb-page-name-editor {
font-weight: 600;
}
.pl-editor-layer > #sb-main {
min-height: 0;
}
.pl-mobile-menu-button {
display: none;
}
.pl-home-surface,
.pl-settings-surface {
z-index: 5;
grid-area: 1 / 1;
min-width: 0;
min-height: 0;
color: var(--pl-text);
background: var(--pl-surface);
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
-webkit-overflow-scrolling: touch;
}
.pl-home-inner {
box-sizing: border-box;
width: min(100%, 920px);
max-width: 100%;
margin: 0 auto;
padding: 48px 80px 90px;
}
.pl-home-date {
margin: 0 0 6px;
color: var(--pl-muted);
font-size: 12px;
}
.pl-home-inner > h1,
.pl-settings-inner > h1 {
margin: 0;
color: var(--pl-text);
font-size: 30px;
font-weight: 650;
line-height: 39px;
}
.pl-home-subtitle {
margin: 7px 0 26px;
color: var(--pl-muted);
font-size: 14px;
line-height: 22px;
}
.pl-home-actions {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
margin-bottom: 38px;
}
.pl-home-actions > button {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
height: 58px;
padding: 0 13px;
border: 1px solid var(--pl-border);
border-radius: 8px;
color: var(--pl-text);
background: var(--pl-surface);
cursor: pointer;
text-align: left;
}
.pl-home-actions > button:hover {
border-color: var(--pl-border-strong);
background: var(--pl-canvas);
}
.pl-home-actions > button > span:first-child {
display: grid;
place-items: center;
flex: 0 0 32px;
width: 32px;
height: 32px;
border-radius: 7px;
}
.pl-home-actions > button > span:last-child,
.pl-home-grid > section,
.pl-settings-main-row > span:first-child {
min-width: 0;
}
.pl-home-actions .is-green { color: var(--pl-green); background: var(--pl-green-soft); }
.pl-home-actions .is-coral { color: var(--pl-coral); background: var(--pl-coral-soft); }
.pl-home-actions .is-blue { color: var(--pl-blue); background: var(--pl-blue-soft); }
.pl-home-actions strong,
.pl-home-actions small,
.pl-home-task strong,
.pl-home-task small {
display: block;
min-width: 0;
}
.pl-home-actions strong {
overflow: hidden;
color: var(--pl-text);
font-size: 13px;
text-overflow: ellipsis;
white-space: nowrap;
}
.pl-home-actions small {
margin-top: 2px;
color: var(--pl-faint);
font-size: 10px;
}
.pl-home-grid {
display: grid;
grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
gap: 36px;
}
.pl-home-grid section > header {
display: flex;
align-items: center;
justify-content: space-between;
height: 32px;
border-bottom: 1px solid var(--pl-border);
}
.pl-home-grid section > header h2 {
margin: 0;
color: var(--pl-text);
font-size: 15px;
font-weight: 650;
}
.pl-home-grid section > header button {
border: 0;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
font-size: 11px;
}
.pl-home-recent {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 4px 12px;
width: 100%;
min-height: 54px;
padding: 9px 3px;
border: 0;
border-bottom: 1px solid var(--pl-border);
color: var(--pl-text);
background: transparent;
cursor: pointer;
text-align: left;
}
.pl-home-recent:hover strong {
color: var(--pl-green-dark);
}
.pl-home-recent strong {
min-width: 0;
overflow: hidden;
font-size: 13px;
text-overflow: ellipsis;
white-space: nowrap;
}
.pl-home-recent time,
.pl-home-recent span {
color: var(--pl-faint);
font-size: 10px;
}
.pl-home-recent span {
grid-column: 1 / -1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pl-home-task {
display: grid;
grid-template-columns: 24px minmax(0, 1fr);
min-height: 50px;
padding: 9px 0;
border-bottom: 1px solid var(--pl-border);
}
.pl-home-task > button {
padding: 0;
border: 0;
color: var(--pl-faint);
background: transparent;
cursor: pointer;
text-align: left;
}
.pl-home-task > button:first-child {
display: grid;
place-items: center;
width: 22px;
height: 22px;
}
.pl-home-task strong {
color: var(--pl-text);
font-size: 12px;
font-weight: 500;
line-height: 18px;
}
.pl-home-task small,
.pl-home-empty {
margin-top: 2px;
color: var(--pl-faint);
font-size: 10px;
}
.pl-settings-inner {
box-sizing: border-box;
width: min(100%, 820px);
max-width: 100%;
margin: 0 auto;
padding: 48px 80px 90px;
}
.pl-settings-inner > p {
margin: 6px 0 32px;
color: var(--pl-muted);
font-size: 13px;
}
.pl-settings-inner > section {
margin-bottom: 30px;
}
.pl-settings-inner > section > h2 {
margin: 0;
padding: 0 0 9px;
border-bottom: 1px solid var(--pl-border);
color: var(--pl-text);
font-size: 15px;
}
.pl-settings-main-row {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 58px;
border-bottom: 1px solid var(--pl-border);
}
.pl-settings-main-row strong,
.pl-settings-main-row small {
display: block;
}
.pl-settings-main-row strong {
color: var(--pl-text);
font-size: 13px;
}
.pl-settings-main-row small {
margin-top: 3px;
overflow: hidden;
color: var(--pl-faint);
font-size: 11px;
text-overflow: ellipsis;
}
.pl-settings-main-row > button {
height: 31px;
padding: 0 10px;
border: 1px solid var(--pl-border);
border-radius: 6px;
color: var(--pl-text);
background: var(--pl-surface);
cursor: pointer;
font-size: 11px;
}
.pl-settings-main-row > button.pl-switch-button {
display: inline-flex;
align-items: center;
gap: 8px;
height: 32px;
padding: 0 2px 0 8px;
border: 0;
background: transparent;
}
.pl-status-label {
color: var(--pl-green);
font-size: 11px;
}
.pl-online-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #a86718;
}
.pl-online-dot.is-online {
background: #4f956b;
}
.pl-settings-inner .pl-advanced-tools {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0;
border-bottom: 1px solid var(--pl-border);
}
.pl-settings-inner .pl-advanced-tools > button {
min-height: 72px;
border-bottom: 1px solid var(--pl-border);
border-radius: 0;
}
.pl-settings-inner .pl-advanced-tools > button:nth-child(odd) {
border-right: 1px solid var(--pl-border);
}
.pl-mobile-navigation,
.pl-mobile-scrim {
display: none;
}
.pl-new-note-backdrop {
display: grid;
place-items: center;
position: fixed;
z-index: 150;
inset: 0;
padding: 16px;
background: rgb(28 34 29 / 35%);
}
.pl-new-note-dialog {
box-sizing: border-box;
width: min(440px, calc(100vw - 32px));
max-width: 100%;
padding: 18px;
border: 1px solid var(--pl-border);
border-radius: 8px;
color: var(--pl-text);
background: var(--pl-surface);
box-shadow: 0 18px 60px rgb(38 48 40 / 18%);
}
.pl-new-note-dialog > header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 15px;
}
.pl-new-note-dialog h2 {
margin: 0;
color: var(--pl-text);
font-size: 18px;
}
.pl-new-note-dialog > header button {
display: grid;
place-items: center;
width: 32px;
height: 32px;
padding: 0;
border: 0;
border-radius: 6px;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
}
.pl-quick-create {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 7px;
margin-bottom: 18px;
}
.pl-quick-create button {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
min-width: 0;
height: 42px;
padding: 0 6px;
border: 1px solid var(--pl-border);
border-radius: 6px;
color: var(--pl-muted);
background: var(--pl-surface);
cursor: pointer;
font-size: 11px;
}
.pl-quick-create button:hover,
.pl-quick-create button.is-active {
border-color: color-mix(in srgb, var(--pl-green) 55%, var(--pl-border));
color: var(--pl-text);
background: color-mix(in srgb, var(--pl-green-soft) 35%, var(--pl-surface));
}
.pl-new-note-dialog > label {
display: block;
margin: 13px 0 0;
color: var(--pl-muted);
font-size: 11px;
font-weight: 650;
}
.pl-new-note-dialog input,
.pl-new-note-dialog select {
display: block;
width: 100%;
height: 38px;
margin-top: 6px;
padding: 0 10px;
border: 1px solid var(--pl-border-strong);
border-radius: 6px;
color: var(--pl-text);
background: var(--pl-surface);
font-size: 12px;
}
.pl-create-error {
margin: 8px 0 0;
color: var(--pl-danger);
font-size: 11px;
}
.pl-new-note-dialog > footer {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 22px;
}
.pl-new-note-dialog > footer button {
height: 34px;
padding: 0 13px;
border: 1px solid var(--pl-border);
border-radius: 6px;
color: var(--pl-text);
background: var(--pl-surface);
cursor: pointer;
font-size: 12px;
font-weight: 650;
}
.pl-new-note-dialog > footer button.is-primary {
border-color: #3f7658;
color: white;
background: #3f7658;
}
.pl-new-note-dialog > footer button:disabled {
opacity: 0.55;
}
@media only screen and (max-width: 980px) and (min-width: 701px) {
#pl-workspace-shell {
--pl-sidebar-width: 264px;
}
.pl-home-inner,
.pl-settings-inner {
padding-right: 46px;
padding-left: 46px;
}
.pl-home-grid {
gap: 24px;
}
}
@media only screen and (max-width: 700px) {
#pl-workspace-shell {
display: block;
box-sizing: border-box;
width: 100%;
max-width: 100vw;
height: 100vh;
height: 100dvh;
padding-bottom: 0;
overflow: hidden;
}
.pl-sidebar {
visibility: hidden;
position: fixed;
z-index: 120;
top: 0;
bottom: 0;
left: 0;
width: min(88vw, 340px);
opacity: 0;
box-shadow: 12px 0 40px rgb(29 37 31 / 18%);
transform: translateX(-16px);
transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.pl-sidebar.is-mobile-open {
visibility: visible;
opacity: 1;
transform: translateX(0);
}
.pl-close-mobile {
display: grid;
}
.pl-mobile-scrim {
display: block;
position: fixed;
z-index: 110;
inset: 0;
width: 100%;
height: 100%;
padding: 0;
border: 0;
background: rgb(28 34 29 / 30%);
}
.pl-editor-workspace {
width: 100%;
max-width: 100vw;
height: calc(100vh - 62px - env(safe-area-inset-bottom));
height: calc(100dvh - 62px - env(safe-area-inset-bottom));
overflow: hidden;
}
.pl-mobile-menu-button {
display: grid;
place-items: center;
position: absolute;
z-index: 25;
top: 7px;
left: 8px;
width: 32px;
height: 32px;
padding: 0;
border: 0;
border-radius: 6px;
color: var(--pl-muted);
background: transparent;
}
.pl-editor-layer > #sb-top .main .inner .wrapper {
padding-left: 42px;
}
.pl-home-inner,
.pl-settings-inner {
width: 100%;
max-width: 100%;
padding: 54px 22px 70px;
}
.pl-home-inner > h1,
.pl-settings-inner > h1 {
font-size: 26px;
line-height: 35px;
}
.pl-home-actions {
grid-template-columns: 1fr;
gap: 7px;
margin-bottom: 29px;
}
.pl-home-actions > button {
height: 54px;
}
.pl-home-grid {
grid-template-columns: 1fr;
gap: 28px;
}
.pl-settings-inner .pl-advanced-tools {
grid-template-columns: 1fr;
}
.pl-settings-inner .pl-advanced-tools > button:nth-child(odd) {
border-right: 0;
}
.pl-mobile-navigation {
display: grid;
grid-template-columns: repeat(5, 1fr);
position: fixed;
z-index: 100;
right: 0;
bottom: 0;
left: 0;
box-sizing: border-box;
width: 100%;
max-width: 100vw;
height: calc(62px + env(safe-area-inset-bottom));
padding: 4px 6px env(safe-area-inset-bottom);
border-top: 1px solid var(--pl-border);
background: color-mix(in srgb, var(--pl-surface) 96%, transparent);
}
.pl-mobile-navigation > button {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 2px;
min-width: 0;
height: 54px;
padding: 0;
border: 0;
color: var(--pl-muted);
background: transparent;
cursor: pointer;
font-size: 10px;
}
.pl-mobile-navigation .pl-mobile-create {
align-self: center;
justify-self: center;
width: 44px;
min-width: 44px;
height: 44px;
border-radius: 50%;
color: white;
background: #3f7658;
}
.pl-new-note-backdrop {
align-items: end;
padding: 0;
}
.pl-new-note-dialog {
width: 100%;
max-width: 100vw;
padding: 18px 18px calc(18px + env(safe-area-inset-bottom));
border-right: 0;
border-bottom: 0;
border-left: 0;
border-radius: 8px 8px 0 0;
}
.pl-quick-create button {
flex-direction: column;
height: 64px;
}
}
@media (prefers-reduced-motion: reduce) {
#pl-workspace-shell *,
#pl-workspace-shell *::before,
#pl-workspace-shell *::after {
transition-duration: 0.01ms !important;
}
}