Files
probably-rendering-one-more…/apps/waterfall-wiki/src/styles/guidance.module.css
T
codex-bot 88d68f3d3c
creative workspace review checks / verify-deployed-canvas (pull_request) Successful in 54s
creative workspace review checks / verify (pull_request) Has been cancelled
feat(auth): introduce immersive split-screen login design
2026-11-01 23:19:23 +08:00

2290 lines
41 KiB
CSS

.site {
--bg: var(--background);
--panel: var(--surface);
--ink: var(--foreground);
--faint: var(--muted-foreground);
--line: var(--border);
--strong-line: var(--input);
--tint: var(--selection);
min-height: 100dvh;
background: var(--bg);
color: var(--ink);
font:
14px/1.5 Inter,
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
"PingFang SC",
"Microsoft YaHei",
sans-serif;
}
.site * {
box-sizing: border-box;
}
.site button,
.site input,
.site textarea,
.site select {
font: inherit;
}
.site a {
text-decoration: none;
color: inherit;
}
.site button {
cursor: pointer;
}
.site button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.site :is(button, a, input, textarea, select):focus-visible {
outline: 2px solid var(--primary);
outline-offset: 3px;
}
.site h1,
.site h2,
.site h3,
.site p {
margin: 0;
}
.site svg {
flex-shrink: 0;
}
.srOnly {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.skipLink {
position: fixed;
z-index: 100;
top: 8px;
left: 250px;
transform: translateY(-200%);
background: var(--primary);
color: var(--primary-foreground) !important;
padding: 10px 16px;
border-radius: 8px;
}
.skipLink:focus {
transform: translateY(0);
}
.sidebar {
position: fixed;
inset: 0 auto 0 0;
width: 232px;
background: var(--selection);
border-right: 1px solid var(--line);
display: flex;
flex-direction: column;
padding: 28px 16px 16px;
z-index: 30;
overflow: auto;
}
.brand {
display: flex;
align-items: center;
gap: 11px;
padding: 0 10px;
font-size: 23px;
letter-spacing: -0.8px;
font-weight: 700;
line-height: 1.2;
}
.brand small {
display: block;
font-size: 9px;
font-weight: 600;
letter-spacing: 1.15px;
color: var(--faint);
margin-top: 7px;
}
.brandMark {
display: grid;
place-items: center;
background: var(--primary);
color:var(--primary-foreground);
border-radius: 10px;
width: 36px;
height: 36px;
box-shadow: 0 2px 3px var(--shadow);
}
.workspaceLabel {
display: flex;
align-items: center;
gap: 8px;
margin: 31px 5px 22px;
padding: 11px 9px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--surface);
font-size: 12px;
font-weight: 500;
}
.workspaceLabel > svg {
color: var(--muted-foreground);
}
.workspaceTag {
margin-left: auto;
color: var(--faint);
font:
11px ui-monospace,
monospace;
}
.navLabel {
font-size: 11px;
letter-spacing: 0.5px;
color: var(--faint);
padding: 0 13px;
margin: 12px 0 8px !important;
font-weight: 600;
}
.navigation {
display: grid;
gap: 4px;
margin-bottom: 21px;
}
.navigation > a {
display: flex;
align-items: center;
gap: 11px;
padding: 10px 13px;
min-height: 40px;
color: var(--muted-foreground);
font-size: 13px;
border-radius: 7px;
font-weight: 500;
transition:
background 0.15s,
color 0.15s;
}
.navigation > a:hover {
background: var(--selection);
color: var(--ink);
}
.navigation > a.navActive {
background: var(--tint);
color: var(--primary);
font-weight: 600;
}
.navExternal {
margin-left: auto;
opacity: 0.7;
}
.sidebarBottom {
margin-top: auto;
padding-top: 44px;
}
.sidebarHelp {
margin: 0 6px 24px;
padding: 14px 12px;
background: var(--selection);
border: 1px solid var(--selection-border);
border-radius: 9px;
}
.smallLabel {
font-size: 12px;
font-weight: 600;
color: var(--foreground);
}
.sidebarHelp p {
font-size: 11px;
line-height: 1.8;
color: var(--muted-foreground);
margin: 7px 0 12px;
}
.sidebarHelp a {
display: flex;
align-items: center;
gap: 5px;
font-size: 11px;
color: var(--muted-foreground);
font-weight: 500;
}
.userArea {
display: flex;
align-items: center;
gap: 9px;
border-top: 1px solid var(--line);
padding: 16px 5px 0;
}
.avatar {
width: 32px;
height: 32px;
border: 1px solid var(--selection-border);
background: var(--selection);
color: var(--muted-foreground);
border-radius: 50%;
display: grid;
place-items: center;
font-size: 12px;
font-weight: 600;
flex-shrink: 0;
}
.userInfo {
min-width: 0;
flex: 1;
}
.userInfo strong {
display: block;
font-size: 11px;
font-weight: 600;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.userInfo small {
display: block;
font-size: 11px;
color: var(--faint);
margin-top: 3px;
}
.userArea > svg {
color: var(--faint);
}
.workspace {
margin-left: 232px;
min-height: 100dvh;
display: flex;
flex-direction: column;
}
.topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 67px;
padding: 14px 32px;
border-bottom: 1px solid var(--line);
background: var(--surface);
position: sticky;
top: 0;
z-index: 20;
backdrop-filter: blur(12px);
}
.breadcrumb {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
font-size: 12px;
color: var(--faint);
}
.breadcrumb strong {
font-weight: 500;
color: var(--foreground);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.topbarActions {
display: flex;
align-items: center;
gap: 20px;
flex-shrink: 0;
}
.topbarProtocol {
display: flex;
align-items: center;
gap: 7px;
color: var(--muted-foreground) !important;
font-size: 11px;
}
.statusDot {
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--surface-muted);
}
.topbarLogin {
display: flex;
gap: 6px;
align-items: center;
font-size: 12px;
color: var(--muted-foreground) !important;
}
.content {
width: 100%;
max-width: 1360px;
padding: 34px 40px 60px;
margin: 0 auto;
flex: 1;
min-width: 0;
}
.workspaceFooter {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 18px 40px;
border-top: 1px solid var(--line);
font-size: 11px;
color: var(--faint);
background: var(--selection);
}
.workspaceFooter a {
display: flex;
align-items: center;
gap: 5px;
}
.mobileMenu,
.mobileClose {
display: none;
}
.mobileDialog {
border: 0;
padding: 28px 16px 16px;
background: var(--selection);
color: var(--ink);
width: 280px;
max-width: 90vw;
height: 100dvh;
max-height: 100dvh;
margin: 0;
border-radius: 0;
overflow-y: auto;
}
.mobileDialog::backdrop {
background: var(--scrim);
}
.mobileDialog[open] {
display: flex;
flex-direction: column;
}
.mobileDialog .sidebarBottom {
padding-top: 30px;
}
.mobileClose {
position: absolute;
right: 12px;
top: 13px;
color: var(--muted-foreground);
padding: 5px;
}
.primaryButton,
.secondaryButton,
.quietButton,
.dangerButton {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 7px;
min-height: 36px;
border: 1px solid transparent;
border-radius: 7px;
padding: 8px 13px;
font-size: 12px !important;
font-weight: 500;
white-space: nowrap;
line-height: 1.25;
text-decoration: none !important;
transition:
background 0.15s,
border-color 0.15s;
}
.primaryButton {
background: var(--primary);
color: var(--primary-foreground) !important;
border-color: var(--primary);
box-shadow: 0 1px 2px var(--shadow);
}
.primaryButton:hover {
background: var(--primary-hover);
border-color: var(--primary-hover);
}
.secondaryButton {
background: var(--surface);
border-color: var(--strong-line);
color: var(--foreground) !important;
box-shadow: 0 1px 2px var(--shadow);
}
.secondaryButton:hover {
background: var(--selection);
border-color: var(--border);
}
.quietButton {
background: transparent;
color: var(--muted-foreground) !important;
padding: 7px 9px;
}
.quietButton:hover {
background: var(--selection);
color: var(--ink) !important;
}
.dangerButton {
background: var(--danger-background);
border-color: var(--danger);
color: var(--danger) !important;
}
.dangerButton:hover {
background: var(--danger-background);
}
.iconButton {
width: 31px;
height: 31px;
display: grid;
place-items: center;
border: 1px solid var(--line);
border-radius: 6px;
color: var(--muted-foreground);
background: var(--surface);
}
.iconButton:hover {
background: var(--selection);
}
.copyControl {
display: inline-flex;
flex-direction: column;
gap: 5px;
max-width: 100%;
}
.copyError {
font-size: 11px;
color: var(--danger);
}
.buttonRow {
display: flex;
gap: 10px;
align-items: center;
flex-wrap: wrap;
}
.textLink {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--primary) !important;
font-size: 12px;
font-weight: 500;
}
.textLink:hover {
text-decoration: underline !important;
text-underline-offset: 3px;
}
.pageHeading {
display: flex;
justify-content: space-between;
align-items: center;
gap: 24px;
margin-bottom: 28px;
}
.pageHeading h1 {
font-size: 28px;
line-height: 1.35;
letter-spacing: -0.8px;
font-weight: 650;
}
.pageHeading p {
margin-top: 9px;
color: var(--muted-foreground);
font-size: 13px;
line-height: 1.8;
}
.eyebrow {
display: block;
font-size: 11px;
font-weight: 600;
letter-spacing: 1px;
color: var(--primary);
margin-bottom: 10px;
}
.headingActions {
display: flex;
gap: 8px;
align-items: center;
flex-shrink: 0;
}
.panel {
background: var(--surface);
border: 1px solid var(--line);
border-radius: 12px;
box-shadow: 0 1px 3px var(--shadow);
min-width: 0;
}
.panelHeader {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 20px 24px;
border-bottom: 1px solid var(--line);
}
.panelHeader h2 {
font-size: 15px;
font-weight: 600;
}
.panelHeader p {
font-size: 12px;
color: var(--muted-foreground);
margin-top: 5px;
}
.panelBody {
padding: 24px;
}
.notice {
display: flex;
align-items: flex-start;
gap: 10px;
border: 1px solid;
border-radius: 8px;
padding: 13px 15px;
font-size: 12px;
line-height: 1.7;
margin: 16px 0;
}
.notice > svg {
margin-top: 1px;
}
.noticeinfo {
background: var(--success-background);
border-color: var(--success);
color: var(--success);
}
.noticesuccess {
background: var(--success-background);
border-color: var(--success);
color: var(--success);
}
.noticeerror {
background: var(--danger-background);
border-color: var(--danger);
color: var(--danger);
}
.noticewarning {
background: var(--success-background);
border-color: var(--success);
color: var(--success);
}
.notice a {
text-decoration: underline !important;
}
.emptyState {
padding: 56px 24px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
}
.emptyIcon {
display: grid;
place-items: center;
width: 48px;
height: 48px;
border: 1px solid var(--line);
background: var(--selection);
border-radius: 12px;
color: var(--muted-foreground);
box-shadow: 0 2px 4px var(--shadow);
margin-bottom: 18px;
}
.emptyState h3 {
font-size: 15px;
font-weight: 600;
}
.emptyState p {
max-width: 360px;
font-size: 12px;
color: var(--muted-foreground);
line-height: 1.8;
margin: 8px 0 20px;
}
.kindBadge {
display: inline-flex;
align-items: center;
gap: 5px;
padding: 3px 7px;
border-radius: 5px;
border: 1px solid;
font-size: 11px;
font-weight: 500;
white-space: nowrap;
}
.guide {
background: var(--selection);
border-color: var(--selection-border);
color: var(--muted-foreground);
}
.context {
background: var(--selection);
border-color: var(--selection-border);
color: var(--primary);
}
.evidence {
background: var(--selection);
border-color: var(--selection-border);
color: var(--primary);
}
.neutralBadge {
display: inline-flex;
align-items: center;
padding: 3px 7px;
background: var(--selection);
border: 1px solid var(--line);
border-radius: 5px;
color: var(--muted-foreground);
font-size: 11px;
font-weight: 500;
white-space: nowrap;
}
.tabs {
display: flex;
align-items: center;
gap: 24px;
border-bottom: 1px solid var(--line);
padding: 0 24px;
overflow: auto;
scrollbar-width: none;
}
.tabs button {
display: flex;
gap: 7px;
align-items: center;
background: transparent;
border: 0;
border-bottom: 2px solid transparent;
color: var(--muted-foreground);
padding: 16px 0 13px;
white-space: nowrap;
font-size: 12px;
font-weight: 500;
}
.tabs button[aria-selected="true"] {
color: var(--primary);
border-bottom-color: var(--primary);
}
.tabs button > span {
background: var(--selection);
border-radius: 5px;
padding: 1px 5px;
font-size: 11px;
color: var(--muted-foreground);
}
.tabs button[aria-selected="true"] > span {
background: var(--tint);
color: var(--primary);
}
.introCard {
display: flex;
align-items: center;
gap: 18px;
padding: 23px 26px;
margin-bottom: 28px;
background: var(--surface);
border: 1px solid var(--line);
border-radius: 12px;
position: relative;
overflow: hidden;
}
.introIcon {
width: 46px;
height: 46px;
display: grid;
place-items: center;
background: var(--selection);
color: var(--primary);
border: 1px solid var(--selection-border);
border-radius: 12px;
flex-shrink: 0;
}
.introCard h2 {
font-size: 15px;
font-weight: 600;
letter-spacing: -0.2px;
}
.introCard p {
font-size: 12px;
color: var(--muted-foreground);
margin-top: 6px;
line-height: 1.75;
}
.introCard > a {
margin-left: auto;
flex-shrink: 0;
}
.introDiagram {
display: flex;
align-items: center;
gap: 8px;
color: var(--muted-foreground);
margin-left: auto;
padding: 0 28px;
}
.introDiagram span {
border: 1px solid var(--selection-border);
border-radius: 7px;
display: flex;
align-items: center;
gap: 5px;
padding: 9px 11px;
font-size: 11px;
color: var(--muted-foreground);
background: var(--selection);
}
.introDiagram span:first-child {
border-color: var(--selection-border);
background: var(--selection);
color: var(--primary);
}
.catalogToolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 18px 24px;
border-bottom: 1px solid var(--line);
}
.catalogSearch {
display: flex;
align-items: center;
gap: 9px;
max-width: 380px;
width: 100%;
height: 36px;
padding: 0 11px;
border: 1px solid var(--strong-line);
border-radius: 7px;
color: var(--faint);
background: var(--surface);
}
.catalogSearch:focus-within {
outline: 2px solid var(--ring);
border-color: var(--selection-border);
}
.catalogSearch input {
width: 100%;
min-width: 0;
border: 0;
background: transparent;
outline: none !important;
color: var(--ink);
font-size: 12px;
}
.catalogSearch input::placeholder {
color: var(--muted-foreground);
}
.catalogSearch button {
display: grid;
place-items: center;
color: var(--muted-foreground);
padding: 3px;
}
.catalogTools {
display: flex;
gap: 9px;
align-items: center;
flex-shrink: 0;
}
.catalogTools select {
border: 1px solid var(--strong-line);
border-radius: 7px;
background: var(--surface);
color: var(--foreground);
font-size: 11px;
min-height: 36px;
padding: 7px 25px 7px 10px;
max-width: 150px;
}
.catalogStatus {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 12px 24px;
color: var(--faint);
font-size: 11px;
border-bottom: 1px solid var(--line);
background: var(--selection);
}
.catalogStatus p {
display: flex;
gap: 7px;
align-items: center;
}
.catalogStatus button {
font-size: 11px;
color: var(--muted-foreground);
}
.catalogStatus button:hover {
color: var(--primary);
}
.tableHeader,
.documentRow {
display: grid;
grid-template-columns: minmax(0, 1fr) 108px 74px 100px 18px;
gap: 20px;
align-items: center;
}
.tableHeader {
padding: 11px 24px;
font-size: 11px;
font-weight: 500;
color: var(--faint);
background: var(--selection);
border-bottom: 1px solid var(--line);
}
.documentRow {
padding: 22px 24px;
border-bottom: 1px solid var(--line);
transition: background 0.15s;
}
.documentRow:last-child {
border-bottom: 0;
}
.documentRow:hover {
background: var(--selection);
}
.documentPrimary {
display: flex;
align-items: flex-start;
gap: 13px;
min-width: 0;
}
.documentIcon {
width: 36px;
height: 40px;
display: grid;
place-items: center;
border: 1px solid var(--selection-border);
background: var(--selection);
color: var(--muted-foreground);
border-radius: 7px;
flex-shrink: 0;
}
.documentTitle {
font-size: 14px;
font-weight: 600;
line-height: 1.6;
letter-spacing: -0.1px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.documentSummary {
font-size: 12px;
color: var(--muted-foreground);
margin-top: 5px !important;
line-height: 1.7;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.documentDetails {
min-width: 0;
}
.documentId {
font:
11px/1.6 ui-monospace,
SFMono-Regular,
Consolas,
monospace;
color: var(--muted-foreground);
margin-top: 8px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 480px;
}
.documentVersion {
color: var(--muted-foreground);
font:
11px ui-monospace,
monospace;
}
.documentSource {
font-size: 11px;
color: var(--muted-foreground);
}
.documentArrow {
color: var(--muted-foreground);
}
.documentMobileMeta {
display: none;
}
.catalogFootnote {
display: flex;
justify-content: space-between;
gap: 20px;
align-items: center;
color: var(--faint);
font-size: 11px;
margin-top: 18px;
}
.catalogFootnote a {
color: var(--muted-foreground);
display: flex;
gap: 5px;
align-items: center;
}
.topics {
display: flex;
align-items: center;
gap: 9px;
margin-bottom: 20px;
color: var(--faint);
font-size: 11px;
flex-wrap: wrap;
}
.topics button {
border: 1px solid var(--selection-border);
border-radius: 5px;
padding: 3px 8px;
background: var(--surface);
color: var(--muted-foreground);
font-size: 11px;
}
.topics button:hover {
border-color: var(--selection-border);
color: var(--primary);
}
.skeletonRow {
height: 102px;
padding: 24px;
border-bottom: 1px solid var(--line);
display: flex;
gap: 14px;
align-items: center;
}
.skeletonBox,
.skeletonLine {
background: var(--selection);
border-radius: 5px;
}
.skeletonBox {
width: 36px;
height: 40px;
}
.skeletonLines {
width: 60%;
display: grid;
gap: 10px;
}
.skeletonLine {
height: 10px;
width: 100%;
}
.skeletonLine:first-child {
width: 42%;
}
.skeletonLine:last-child {
width: 76%;
}
.readingHeader {
margin-bottom: 24px;
}
.backLink {
display: inline-flex;
gap: 6px;
align-items: center;
font-size: 11px;
color: var(--muted-foreground) !important;
margin-bottom: 24px;
}
.documentBadges {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 13px;
}
.readingHeader h1 {
font-size: 30px;
line-height: 1.5;
letter-spacing: -0.8px;
font-weight: 650;
}
.readingSummary {
font-size: 14px;
color: var(--muted-foreground);
line-height: 1.9;
margin-top: 11px !important;
max-width: 760px;
}
.readingMeta {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
color: var(--faint);
font-size: 11px;
margin-top: 16px !important;
}
.readingMeta span {
display: flex;
align-items: center;
gap: 5px;
}
.readingActions {
display: flex;
gap: 9px;
flex-wrap: wrap;
margin-top: 23px;
}
.readingLayout {
display: grid;
grid-template-columns: minmax(0, 1fr) 240px;
gap: 24px;
align-items: start;
}
.readingArticle {
padding: 28px 30px 36px;
min-height: 400px;
}
.proseSection {
scroll-margin-top: 90px;
margin-bottom: 30px;
}
.proseSection:last-child {
margin-bottom: 0;
}
.proseSection h2 {
display: flex;
gap: 8px;
align-items: center;
font-size: 15px;
font-weight: 600;
color: var(--foreground);
margin-bottom: 13px;
}
.proseSection h2 > svg {
color: var(--muted-foreground);
}
.proseBody {
font-size: 15px;
line-height: 1.95;
color: var(--foreground);
white-space: pre-wrap;
overflow-wrap: anywhere;
}
.appliesCard {
background: var(--selection);
border: 1px solid var(--selection-border);
border-radius: 8px;
padding: 18px 20px;
}
.appliesCard h2 {
font-size: 12px;
color: var(--primary);
margin-bottom: 9px;
}
.appliesCard p {
font-size: 13px;
line-height: 1.85;
color: var(--primary);
}
.stepList {
display: grid;
gap: 14px;
list-style: none;
padding: 0;
margin: 0;
counter-reset: step;
}
.stepList li {
display: flex;
gap: 12px;
font-size: 13px;
line-height: 1.8;
color: var(--foreground);
counter-increment: step;
}
.stepList li:before {
content: counter(step);
width: 24px;
height: 24px;
background: var(--selection);
border: 1px solid var(--selection-border);
border-radius: 6px;
color: var(--muted-foreground);
font-size: 11px;
font-weight: 600;
display: grid;
place-items: center;
flex-shrink: 0;
margin-top: 1px;
}
.checkList {
padding-left: 18px;
margin: 0;
display: grid;
gap: 9px;
color: var(--foreground);
font-size: 13px;
line-height: 1.8;
list-style: disc;
}
.relationCard {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 14px;
padding: 16px 18px;
border: 1px solid var(--line);
border-radius: 8px;
margin-top: 10px;
background: var(--surface);
}
.relationCard:hover {
border-color: var(--selection-border);
background: var(--selection);
}
.relationCard strong {
display: block;
font-size: 13px;
font-weight: 600;
color: var(--foreground);
margin-bottom: 7px;
}
.relationCard p {
font-size: 11px;
line-height: 1.8;
color: var(--muted-foreground);
}
.relationCard small {
display: flex;
gap: 7px;
align-items: center;
margin-top: 9px;
font-size: 11px;
color: var(--faint);
}
.relationCard > svg {
color: var(--muted-foreground);
margin-top: 2px;
}
.unresolved {
background: var(--selection);
border-color: var(--selection-border);
}
.readingSidebar {
display: grid;
gap: 16px;
position: sticky;
top: 92px;
}
.sideCard {
padding: 20px;
background: var(--surface);
border: 1px solid var(--line);
border-radius: 10px;
}
.sideCard h3 {
font-size: 12px;
font-weight: 600;
margin-bottom: 15px;
}
.metadataList {
display: grid;
gap: 12px;
margin: 0;
font-size: 11px;
}
.metadataList > div {
display: flex;
justify-content: space-between;
align-items: center;
gap: 10px;
}
.metadataList dt {
color: var(--muted-foreground);
}
.metadataList dd {
margin: 0;
text-align: right;
color: var(--foreground);
}
.metadataList select {
font-size: 11px;
background: var(--surface);
border: 1px solid var(--line);
border-radius: 5px;
padding: 4px 6px;
color: var(--foreground);
}
.machineAddress {
display: block;
font:
11px/1.8 ui-monospace,
SFMono-Regular,
Consolas,
monospace;
overflow-wrap: anywhere;
color: var(--muted-foreground);
background: var(--selection);
border: 1px solid var(--selection-border);
border-radius: 6px;
padding: 10px;
margin: 12px 0;
}
.sideCard p {
font-size: 11px;
line-height: 1.8;
color: var(--muted-foreground);
}
.sideCard .copyControl,
.sideCard .copyControl > button {
width: 100%;
}
.toc {
display: grid;
gap: 9px;
}
.toc a {
font-size: 11px;
color: var(--muted-foreground);
padding-left: 10px;
border-left: 2px solid var(--border);
}
.toc a:hover {
color: var(--primary);
border-color: var(--primary);
}
.sideLinks {
display: grid;
gap: 10px;
}
.sideLinks a {
font-size: 11px;
color: var(--muted-foreground);
line-height: 1.7;
}
.sideLinks a:hover {
color: var(--primary);
}
.authorActions {
display: grid;
gap: 9px;
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid var(--line);
}
.xmlToolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 17px 24px;
border-bottom: 1px solid var(--line);
font:
11px ui-monospace,
monospace;
color: var(--muted-foreground);
}
.codeBlock {
margin: 0;
white-space: pre-wrap;
overflow-wrap: anywhere;
font:
11px/1.9 ui-monospace,
SFMono-Regular,
Consolas,
monospace;
padding: 24px;
color: var(--foreground);
background: var(--surface-muted);
border-radius: 0 0 12px 12px;
max-height: 720px;
overflow: auto;
tab-size: 2;
}
.versionsList {
padding: 10px 24px;
}
.versionRow {
display: flex;
justify-content: space-between;
gap: 16px;
align-items: center;
padding: 20px 0;
border-bottom: 1px solid var(--line);
font-size: 12px;
}
.versionRow:last-child {
border: 0;
}
.versionRow strong {
font-weight: 600;
}
.versionRow p {
font-size: 11px;
color: var(--muted-foreground);
margin-top: 5px;
}
.modal {
border: 1px solid var(--line);
padding: 0;
border-radius: 14px;
background: var(--surface);
color: var(--ink);
width: 460px;
max-width: calc(100vw - 32px);
box-shadow: 0 20px 60px var(--shadow);
}
.modal::backdrop {
background: var(--scrim);
}
.modalBody {
padding: 26px;
}
.modalBody h2 {
font-size: 18px;
font-weight: 600;
margin-bottom: 12px;
}
.modalBody p {
font-size: 13px;
line-height: 1.9;
color: var(--muted-foreground);
}
.modalActions {
padding: 18px 26px;
border-top: 1px solid var(--line);
display: flex;
justify-content: flex-end;
gap: 9px;
background: var(--selection);
}
.largeModal {
width: 800px;
max-height: 85dvh;
}
.previewBody {
max-height: 58dvh;
overflow: auto;
padding: 26px;
}
.readableWidth {
max-width: 880px;
}
.protocolLayout {
display: grid;
grid-template-columns: minmax(0, 1fr) 220px;
gap: 24px;
align-items: start;
}
.protocolArticle {
padding: 30px 32px;
}
.protocolArticle .codeBlock {
border-radius: 8px;
margin: 18px 0;
}
.protocolArticle p {
font-size: 13px;
line-height: 1.95;
color: var(--muted-foreground);
}
.protocolArticle ol {
font-size: 13px;
line-height: 1.95;
color: var(--muted-foreground);
margin: 12px 0 0;
padding-left: 20px;
list-style: decimal;
}
.protocolArticle li {
padding-left: 4px;
margin: 8px 0;
}
.relationGrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
margin-top: 18px;
}
.relationGrid > div {
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
}
.relationGrid p {
font-size: 11px;
line-height: 1.8;
margin-top: 10px;
}
.protocolCallout {
padding: 17px 20px;
border: 1px solid var(--selection-border);
border-radius: 8px;
background: var(--selection);
margin-top: 20px;
}
.protocolCallout p {
color: var(--primary);
font-size: 12px;
}
.formGrid {
display: grid;
grid-template-columns: minmax(0, 1fr) 264px;
gap: 24px;
align-items: start;
}
.formSections {
display: grid;
gap: 20px;
min-width: 0;
}
.formPanel {
padding: 24px;
}
.formSectionTitle {
display: flex;
align-items: center;
gap: 9px;
font-size: 14px;
font-weight: 600;
margin-bottom: 7px !important;
}
.formSectionTitle svg {
color: var(--muted-foreground);
}
.formDescription {
font-size: 11px;
line-height: 1.8;
color: var(--muted-foreground);
margin-bottom: 22px !important;
}
.formField {
display: flex;
flex-direction: column;
gap: 7px;
margin-bottom: 19px;
}
.formField:last-child {
margin-bottom: 0;
}
.formField > label,
.fieldLabel {
font-size: 12px;
font-weight: 500;
color: var(--foreground);
}
.required {
color: var(--muted-foreground);
margin-left: 3px;
}
.fieldHint {
font-size: 11px;
line-height: 1.75;
color: var(--muted-foreground);
}
.input,
.textarea,
.select {
width: 100%;
min-width: 0;
border: 1px solid var(--strong-line);
border-radius: 7px;
color: var(--foreground);
background: var(--surface);
padding: 9px 11px;
line-height: 1.6;
font-size: 12px !important;
box-shadow: 0 1px 2px var(--shadow);
outline: none;
}
.input:focus,
.textarea:focus,
.select:focus {
border-color: var(--selection-border);
box-shadow: 0 0 0 3px var(--shadow);
outline: none !important;
}
.input:disabled {
background: var(--selection);
color: var(--muted-foreground);
}
.textarea {
resize: vertical;
min-height: 90px;
display: block;
}
.bodyInput {
min-height: 250px;
line-height: 1.9;
}
.xmlInput {
font:
11px/1.9 ui-monospace,
SFMono-Regular,
Consolas,
monospace !important;
min-height: 480px;
background: var(--selection);
tab-size: 2;
}
.fieldColumns {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.fieldColumns .formField {
margin-bottom: 0;
}
.linkEditor {
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
margin-top: 14px;
background: var(--selection);
}
.linkEditorHeader {
display: flex;
justify-content: space-between;
gap: 10px;
align-items: center;
margin-bottom: 16px;
font-size: 11px;
font-weight: 500;
color: var(--muted-foreground);
}
.linkEditor .fieldColumns {
margin-bottom: 16px;
}
.linkEditor .formField {
margin-bottom: 14px;
}
.linkEmpty {
padding: 20px;
border: 1px dashed var(--selection-border);
background: var(--selection);
border-radius: 8px;
font-size: 12px;
color: var(--muted-foreground);
line-height: 1.8;
margin-bottom: 15px;
}
.editorTabs {
display: flex;
gap: 4px;
background: var(--selection);
padding: 4px;
border-radius: 8px;
width: max-content;
margin-bottom: 22px;
}
.editorTabs button {
padding: 7px 14px;
border-radius: 5px;
font-size: 11px;
color: var(--muted-foreground);
}
.editorTabs button[aria-pressed="true"] {
background: var(--surface);
color: var(--foreground);
box-shadow: 0 1px 3px var(--shadow);
}
.publishSidebar {
position: sticky;
top: 92px;
display: grid;
gap: 16px;
}
.publishSidebar .primaryButton,
.publishSidebar .secondaryButton {
width: 100%;
}
.publishSidebar h3 {
display: flex;
align-items: center;
gap: 7px;
}
.publishChecklist {
display: grid;
gap: 13px;
margin: 18px 0;
padding: 0;
list-style: none;
font-size: 11px;
color: var(--muted-foreground);
}
.publishChecklist li {
display: flex;
align-items: center;
gap: 8px;
}
.publishChecklist .completed {
color: var(--muted-foreground);
}
.publishChecklist svg {
color: var(--muted-foreground);
}
.publishChecklist .completed svg {
color: var(--primary);
}
.publishMeta {
display: flex;
align-items: center;
gap: 7px;
padding-bottom: 16px;
margin-bottom: 16px;
border-bottom: 1px solid var(--line);
font-size: 11px;
color: var(--muted-foreground);
}
.publishButtons {
display: grid;
gap: 9px;
margin-top: 20px;
}
.publishGate {
max-width: 660px;
margin: 40px auto;
}
.publishGate .emptyState {
padding: 55px 30px;
}
.loadRow {
display: flex;
gap: 10px;
align-items: center;
margin-bottom: 22px;
}
.loadRow select {
max-width: 340px;
}
.successActions {
display: flex;
gap: 12px;
align-items: center;
flex-wrap: wrap;
margin-top: 8px;
}
.successActions a {
font-weight: 600;
}
.passwordField {
position: relative;
}
.passwordField .input {
padding-right: 42px;
}
.passwordField button {
position: absolute;
top: 4px;
right: 5px;
display: grid;
place-items: center;
width: 31px;
height: 31px;
color: var(--muted-foreground);
}
.authCard {
padding: 28px;
border: 1px solid var(--line);
border-radius: 12px;
background: var(--surface);
box-shadow: 0 4px 16px var(--shadow);
}
.authCard h2 {
font-size: 20px;
font-weight: 600;
letter-spacing: -0.4px;
}
.authCard > .authDescription {
font-size: 12px;
line-height: 1.8;
color: var(--muted-foreground);
margin-top: 9px;
margin-bottom: 23px;
}
.authTabs {
display: flex;
gap: 3px;
background: var(--selection);
border-radius: 7px;
padding: 4px;
margin-bottom: 23px;
}
.authTabs button {
padding: 8px;
flex: 1;
font-size: 12px;
color: var(--muted-foreground);
border-radius: 5px;
}
.authTabs button[aria-pressed="true"] {
background: var(--surface);
color: var(--foreground);
box-shadow: 0 1px 3px var(--shadow);
font-weight: 500;
}
.authCard .primaryButton {
width: 100%;
min-height: 39px;
margin-top: 5px;
}
.authCard .formField {
margin-bottom: 18px;
}
.authFootnote {
border-top: 1px solid var(--line);
padding-top: 18px;
margin-top: 23px !important;
font-size: 11px;
line-height: 1.8;
color: var(--muted-foreground);
text-align: center;
}
.authSecondary {
display: flex;
justify-content: center;
margin-top: 16px;
font-size: 11px;
color: var(--muted-foreground);
}
.authSecondary button {
font-size: 11px;
color: var(--muted-foreground);
text-decoration: underline;
text-underline-offset: 3px;
}
.verificationCard {
padding: 17px;
border: 1px solid var(--selection-border);
background: var(--selection);
border-radius: 8px;
margin: 18px 0;
}
.verificationCard h3 {
display: flex;
align-items: center;
gap: 7px;
font-size: 13px;
font-weight: 600;
color: var(--primary);
}
.verificationCard p {
font-size: 11px;
line-height: 1.8;
color: var(--muted-foreground);
margin-top: 9px;
margin-bottom: 13px;
}
.verificationCard .primaryButton {
font-size: 11px !important;
}
.loggedUser {
display: flex;
align-items: center;
gap: 12px;
margin: 24px 0;
}
.loggedUser .avatar {
width: 44px;
height: 44px;
font-size: 17px;
background: var(--selection);
color: var(--primary);
border-color: var(--selection-border);
}
.loggedUser strong {
font-size: 13px;
display: block;
overflow-wrap: anywhere;
}
.verifiedBadge {
display: inline-flex;
gap: 5px;
align-items: center;
color: var(--success);
font-size: 11px;
margin-top: 5px;
}
.accountInfo {
padding: 17px;
background: var(--selection);
border: 1px solid var(--line);
border-radius: 8px;
margin-bottom: 20px;
}
.accountInfo p {
font-size: 11px;
line-height: 1.85;
color: var(--muted-foreground);
}
.accountInfo strong {
font-weight: 500;
color: var(--foreground);
}
.authCard .notice {
font-size: 11px;
}
.accountLoading {
padding: 35px 0;
text-align: center;
font-size: 12px;
color: var(--muted-foreground);
}
@media (min-width: 1650px) {
.content {
padding-top: 45px;
}
}
@media (max-width: 1250px) {
.sidebar {
width: 214px;
}
.workspace {
margin-left: 214px;
}
.content {
padding: 30px 28px 50px;
}
.topbar {
padding: 14px 28px;
}
.introDiagram {
display: none;
}
.tableHeader,
.documentRow {
grid-template-columns: minmax(0, 1fr) 100px 62px 80px 16px;
gap: 12px;
}
.readingLayout {
grid-template-columns: minmax(0, 1fr) 215px;
gap: 20px;
}
.readingArticle {
padding: 25px;
}
.formGrid {
grid-template-columns: minmax(0, 1fr) 230px;
gap: 20px;
}
.protocolLayout {
grid-template-columns: minmax(0, 1fr) 190px;
}
.topbarActions {
gap: 14px;
}
}
@media (max-width: 1000px) {
.tableHeader,
.documentRow {
grid-template-columns: minmax(0, 1fr) 96px 55px 16px;
}
.documentSource,
.tableSource {
display: none;
}
.readingLayout {
grid-template-columns: minmax(0, 1fr);
}
.readingSidebar {
position: static;
grid-template-columns: 1fr 1fr;
}
.readingSidebar .sideCard:last-child {
grid-column: 1/-1;
}
.formGrid {
grid-template-columns: minmax(0, 1fr);
}
.publishSidebar {
position: static;
grid-template-columns: 1fr 1fr;
}
.protocolLayout {
grid-template-columns: minmax(0, 1fr);
}
.protocolLayout > aside {
display: none;
}
.topbarProtocol {
display: none;
}
.relationGrid {
grid-template-columns: 1fr;
}
.relationGrid > div {
padding: 15px;
}
}
@media (max-width: 760px) {
.sidebar {
display: none;
}
.workspace {
margin-left: 0;
}
.topbar {
padding: 12px 20px;
min-height: 61px;
}
.topbarActions {
gap: 12px;
}
.topbarActions .primaryButton {
font-size: 11px !important;
min-height: 33px;
padding: 7px 10px;
}
.topbarLogin span {
display: none;
}
.breadcrumb {
gap: 8px;
font-size: 11px;
}
.breadcrumbSpace,
.breadcrumb > svg {
display: none;
}
.mobileMenu {
display: grid;
place-items: center;
padding: 4px;
color: var(--muted-foreground);
margin-right: 1px;
}
.mobileClose {
display: grid;
place-items: center;
}
.content {
padding: 26px 20px 40px;
}
.pageHeading {
align-items: flex-start;
gap: 15px;
margin-bottom: 23px;
}
.pageHeading h1 {
font-size: 25px;
}
.pageHeading p {
font-size: 12px;
}
.pageHeading .headingActions {
display: none;
}
.introCard {
padding: 18px;
margin-bottom: 23px;
gap: 13px;
}
.introCard h2 {
font-size: 13px;
}
.introCard p {
font-size: 11px;
line-height: 1.8;
}
.introIcon {
width: 36px;
height: 39px;
border-radius: 8px;
}
.introCard > a {
display: none;
}
.topics {
font-size: 11px;
gap: 7px;
margin-bottom: 16px;
}
.tabs {
padding: 0 18px;
gap: 20px;
}
.tabs button {
font-size: 11px;
padding-top: 14px;
padding-bottom: 11px;
}
.catalogToolbar {
padding: 15px 18px;
align-items: stretch;
flex-direction: column;
gap: 10px;
}
.catalogSearch {
max-width: none;
height: 37px;
}
.catalogTools {
gap: 8px;
justify-content: space-between;
}
.catalogTools select {
max-width: none;
flex: 1;
font-size: 11px;
min-height: 33px;
}
.catalogTools .quietButton {
font-size: 11px !important;
min-height: 33px;
}
.catalogStatus {
padding: 11px 18px;
font-size: 11px;
}
.tableHeader {
display: none;
}
.documentRow {
grid-template-columns: minmax(0, 1fr) 16px;
gap: 10px;
padding: 20px 18px;
}
.documentPrimary {
gap: 11px;
}
.documentIcon {
width: 31px;
height: 35px;
border-radius: 6px;
}
.documentTitle {
font-size: 13px;
white-space: normal;
}
.documentSummary {
font-size: 11px;
-webkit-line-clamp: 2;
}
.documentId {
display: none;
}
.documentRow > .documentKind,
.documentRow > .documentVersion {
display: none;
}
.documentMobileMeta {
display: flex;
gap: 8px;
align-items: center;
margin-top: 10px;
color: var(--muted-foreground);
font-size: 11px;
}
.documentMobileMeta .kindBadge {
font-size: 10px;
padding: 2px 5px;
}
.catalogFootnote {
font-size: 10px;
line-height: 1.8;
align-items: flex-start;
gap: 15px;
}
.catalogFootnote a {
white-space: nowrap;
}
.workspaceFooter {
padding: 17px 20px;
font-size: 10px;
}
.readingHeader h1 {
font-size: 25px;
}
.readingSummary {
font-size: 12px;
line-height: 1.9;
}
.readingMeta {
font-size: 11px;
gap: 12px;
}
.readingActions {
gap: 8px;
}
.readingActions .secondaryButton {
font-size: 11px !important;
min-height: 34px;
padding: 7px 10px;
}
.readingArticle {
padding: 22px 20px 28px;
}
.proseBody {
font-size: 13px;
}
.proseSection h2 {
font-size: 14px;
}
.appliesCard {
padding: 15px;
}
.appliesCard p {
font-size: 12px;
}
.stepList li,
.checkList {
font-size: 12px;
}
.relationCard {
padding: 14px;
}
.relationCard strong {
font-size: 12px;
}
.readingSidebar {
grid-template-columns: 1fr;
gap: 14px;
}
.readingSidebar .sideCard:last-child {
grid-column: auto;
}
.sideCard {
padding: 18px;
}
.readingSidebar .toc {
display: none;
}
.readingSidebar .tocCard {
display: none;
}
.xmlToolbar {
padding: 14px 18px;
align-items: flex-start;
}
.xmlToolbar > span {
max-width: 50%;
overflow-wrap: anywhere;
}
.xmlToolbar .secondaryButton {
font-size: 11px !important;
}
.codeBlock {
font-size: 11px;
line-height: 1.85;
padding: 20px;
}
.protocolArticle {
padding: 23px 20px;
}
.protocolArticle p,
.protocolArticle ol {
font-size: 12px;
}
.fieldColumns {
grid-template-columns: 1fr;
gap: 16px;
}
.formPanel {
padding: 20px;
}
.formGrid {
gap: 18px;
}
.formSectionTitle {
font-size: 13px;
}
.formDescription {
margin-bottom: 19px !important;
}
.publishSidebar {
grid-template-columns: 1fr;
}
.formField > label {
font-size: 11px;
}
.loadRow {
align-items: stretch;
flex-direction: column;
}
.loadRow select {
max-width: none;
}
.editorTabs {
margin-bottom: 19px;
}
.linkEditor {
padding: 15px;
}
.linkEditor .fieldColumns {
gap: 13px;
}
.authCard {
padding: 24px;
}
.modalBody {
padding: 23px;
}
.modalBody h2 {
font-size: 16px;
}
.modalActions {
padding: 16px 23px;
}
.panelHeader {
padding: 18px 20px;
}
.panelBody {
padding: 20px;
}
.skipLink {
left: 20px;
}
.pageHeading .eyebrow {
font-size: 10px;
}
}
@media (prefers-reduced-motion: reduce) {
.site * {
scroll-behavior: auto !important;
transition: none !important;
animation: none !important;
}
}
.formFieldset {
border: 0;
padding: 0;
margin: 0;
min-width: 0;
}
.authSecondary button {
display: inline-flex;
align-items: center;
gap: 5px;
}
.sideCard h3 {
display: flex;
align-items: center;
gap: 6px;
}
.previewTitle {
font-size: 23px;
font-weight: 600;
margin: 16px 0 10px !important;
}
.previewBody > .proseBody,
.previewBody > .stepList,
.previewBody > .checkList {
margin-top: 22px;
}
.formPanel > .fieldColumns {
margin-bottom: 20px;
}
.brand{background:transparent;color:var(--foreground-strong)}
.primaryButton,.primaryButton:hover{color:var(--primary-foreground);background:var(--primary)}
.primaryButton:hover{background:var(--primary-hover)}
.primaryButton:disabled{background:var(--disabled-background);color:var(--disabled-foreground)}