
Style.pudu
Pudu321 lines26.3 KB
1/** @Docgen.Theme.Style — the default site stylesheet with light, dark, and print modes */2module PuduLangDocgen.Theme.Style345const LINES: Array[Str] = [6 ":root \{",7 " --font: \"Segoe UI Variable Text\", \"Segoe UI\", -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif;",8 " --font-mono: \"Cascadia Code\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, monospace;",9 " --header-height: 54px;",10 " --sidebar-width: 290px;",11 " --affix-width: 240px;",12 " --content-width: 880px;",13 " --radius: 4px;",14 " --bg: #ffffff;",15 " --bg-subtle: #f8f8f8;",16 " --bg-muted: #f2f2f2;",17 " --bg-hover: #ebebeb;",18 " --text: #161616;",19 " --text-muted: #505050;",20 " --text-subtle: #6e6e6e;",21 " --border: #e0e0e0;",22 " --border-strong: #c8c8c8;",23 " --accent: #0065b3;",24 " --accent-hover: #004f8c;",25 " --accent-soft: #eaf3fb;",26 " --focus: #0078d4;",27 " --code-bg: #f5f5f5;",28 " --header-bg: #ffffff;",29 " --hero-bg: linear-gradient(115deg, #17264d 0%, #263f86 58%, #496cd0 100%);",30 " --shadow: 0 1.6px 3.6px rgba(0, 0, 0, .13), 0 .3px .9px rgba(0, 0, 0, .11);",31 " --note: #0065b3; --note-bg: #eaf3fb;",32 " --tip: #107c10; --tip-bg: #eaf5ea;",33 " --important: #6b2fbb; --important-bg: #f2ecfa;",34 " --caution: #a4262c; --caution-bg: #fbeaea;",35 " --warning: #8a5a00; --warning-bg: #fdf4e3;",36 " --hl-k: #0000c8; --hl-s: #a31515; --hl-c: #008000; --hl-n: #098658; --hl-l: #0000c8; --hl-t: #267f99;",37 "\}",38 ":root[data-theme=\"dark\"] \{",39 " --bg: #1b1b1b; --bg-subtle: #212121; --bg-muted: #262626; --bg-hover: #303030;",40 " --text: #f2f2f2; --text-muted: #c8c8c8; --text-subtle: #a0a0a0;",41 " --border: #3a3a3a; --border-strong: #505050;",42 " --accent: #75b6e7; --accent-hover: #9ccbef; --accent-soft: #1f3345;",43 " --focus: #75b6e7; --code-bg: #262626; --header-bg: #202020;",44 " --shadow: 0 1.6px 3.6px rgba(0, 0, 0, .5), 0 .3px .9px rgba(0, 0, 0, .4);",45 " --note: #75b6e7; --note-bg: #1c2a36; --tip: #6ccb5f; --tip-bg: #1d2b1c; --important: #b69ee8; --important-bg: #2a2336;",46 " --caution: #f1707b; --caution-bg: #3a2124; --warning: #f3c65b; --warning-bg: #33291a;",47 " --hl-k: #569cd6; --hl-s: #ce9178; --hl-c: #6a9955; --hl-n: #b5cea8; --hl-l: #569cd6; --hl-t: #4ec9b0;",48 "\}",49 "@media (prefers-color-scheme: dark) \{",50 " :root[data-theme=\"auto\"] \{",51 " --bg: #1b1b1b; --bg-subtle: #212121; --bg-muted: #262626; --bg-hover: #303030;",52 " --text: #f2f2f2; --text-muted: #c8c8c8; --text-subtle: #a0a0a0;",53 " --border: #3a3a3a; --border-strong: #505050;",54 " --accent: #75b6e7; --accent-hover: #9ccbef; --accent-soft: #1f3345;",55 " --focus: #75b6e7; --code-bg: #262626; --header-bg: #202020;",56 " --shadow: 0 1.6px 3.6px rgba(0, 0, 0, .5), 0 .3px .9px rgba(0, 0, 0, .4);",57 " --note: #75b6e7; --note-bg: #1c2a36; --tip: #6ccb5f; --tip-bg: #1d2b1c; --important: #b69ee8; --important-bg: #2a2336;",58 " --caution: #f1707b; --caution-bg: #3a2124; --warning: #f3c65b; --warning-bg: #33291a;",59 " --hl-k: #569cd6; --hl-s: #ce9178; --hl-c: #6a9955; --hl-n: #b5cea8; --hl-l: #569cd6; --hl-t: #4ec9b0;",60 " \}",61 "\}",62 "*, *::before, *::after \{ box-sizing: border-box; \}",63 "html \{ scroll-padding-top: calc(var(--header-height) + 16px); -webkit-text-size-adjust: 100%; \}",64 "body \{ margin: 0; background: var(--bg); color: var(--text); font: 16px/1.6 var(--font); \}",65 "a \{ color: var(--accent); text-decoration: none; \}",66 "a:hover \{ color: var(--accent-hover); text-decoration: underline; \}",67 ":focus-visible \{ outline: 2px solid var(--focus); outline-offset: 2px; \}",68 "svg \{ width: 16px; height: 16px; fill: currentColor; flex: none; \}",69 ".skip-link \{ position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 8px 16px; background: var(--bg); border: 1px solid var(--border); \}",70 ".skip-link:focus \{ left: 8px; \}",71 ".site-header \{ position: sticky; top: 0; z-index: 30; height: var(--header-height); background: var(--header-bg); border-bottom: 1px solid var(--border); box-shadow: var(--shadow); \}",72 ".header-inner \{ display: flex; align-items: center; gap: 24px; height: 100%; max-width: 1920px; margin: 0 auto; padding: 0 24px; \}",73 ".brand \{ display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 600; font-size: 17px; white-space: nowrap; \}",74 ".brand:hover \{ color: var(--text); text-decoration: none; \}",75 ".brand-logo \{ width: 24px; height: 24px; \}",76 ".navbar \{ flex: 1; min-width: 0; overflow-x: auto; \}",77 ".navbar ul \{ display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; \}",78 ".navbar a \{ display: block; padding: 14px 10px 12px; color: var(--text-muted); font-size: 14px; border-bottom: 2px solid transparent; white-space: nowrap; \}",79 ".navbar a:hover \{ color: var(--text); text-decoration: none; border-bottom-color: var(--border-strong); \}",80 ".navbar a.active \{ color: var(--text); border-bottom-color: var(--accent); font-weight: 600; \}",81 ".header-tools \{ display: flex; align-items: center; gap: 8px; margin-left: auto; \}",82 ".icon-button \{ display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid transparent; border-radius: var(--radius); background: transparent; color: var(--text-muted); cursor: pointer; \}",83 ".icon-button:hover \{ background: var(--bg-hover); color: var(--text); \}",84 ".menu-toggle, .nav-toggle \{ display: none; \}",85 ".search \{ position: relative; \}",86 ".search-icon \{ position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--text-subtle); pointer-events: none; \}",87 ".search input \{ width: 260px; height: 34px; padding: 0 12px 0 32px; border: 1px solid var(--border-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); font: 14px var(--font); \}",88 ".search input:focus \{ border-color: var(--accent); outline: none; box-shadow: 0 0 0 1px var(--accent); \}",89 ".search-results \{ position: absolute; right: 0; top: calc(100% + 6px); width: min(520px, 92vw); max-height: 70vh; overflow-y: auto; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 6.4px 14.4px rgba(0, 0, 0, .13), 0 1.2px 3.6px rgba(0, 0, 0, .11); \}",90 ".search-result \{ display: block; padding: 10px 14px; border-bottom: 1px solid var(--border); color: var(--text); \}",91 ".search-result:last-child \{ border-bottom: 0; \}",92 ".search-result:hover, .search-result[aria-selected=\"true\"] \{ background: var(--accent-soft); text-decoration: none; color: var(--text); \}",93 ".search-result strong \{ display: block; color: var(--accent); font-weight: 600; \}",94 ".search-result span \{ display: block; color: var(--text-muted); font-size: 13px; line-height: 1.45; \}",95 ".search-result mark \{ background: transparent; color: inherit; font-weight: 700; \}",96 ".search-empty \{ padding: 12px 14px; color: var(--text-muted); font-size: 14px; \}",97 ".page \{ display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr) var(--affix-width); max-width: 1920px; margin: 0 auto; \}",98 ".page:not(:has(.sidebar)) \{ grid-template-columns: minmax(0, 1fr) var(--affix-width); \}",99 ".page:not(:has(.affix)) \{ grid-template-columns: var(--sidebar-width) minmax(0, 1fr); \}",100 ".page:not(:has(.sidebar)):not(:has(.affix)) \{ grid-template-columns: minmax(0, 1fr); \}",101 ".sidebar \{ position: sticky; top: var(--header-height); height: calc(100vh - var(--header-height)); border-right: 1px solid var(--border); background: var(--bg); \}",102 ".sidebar-inner \{ height: 100%; overflow-y: auto; padding: 20px 12px 32px 20px; \}",103 ".toc-filter input \{ width: 100%; height: 32px; margin-bottom: 12px; padding: 0 10px; border: 1px solid var(--border-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); font: 14px var(--font); \}",104 ".toc ul \{ margin: 0; padding: 0; list-style: none; \}",105 ".toc ul ul \{ padding-left: 14px; \}",106 ".toc li \{ margin: 0; \}",107 ".toc a, .toc .toc-group \{ display: flex; align-items: flex-start; gap: 4px; width: 100%; padding: 5px 8px; border: 0; border-left: 2px solid transparent; background: none; color: var(--text); font: 14px/1.4 var(--font); text-align: left; cursor: pointer; \}",108 ".toc a:hover, .toc .toc-group:hover \{ background: var(--bg-hover); text-decoration: none; color: var(--text); \}",109 ".toc a.active \{ border-left-color: var(--accent); background: var(--accent-soft); font-weight: 600; \}",110 ".toc .toc-group::before, .toc .has-children > a::before \{ content: \"\"; flex: none; width: 6px; height: 6px; margin: 6px 4px 0 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); transition: transform .15s; \}",111 ".toc .expanded > .toc-group::before, .toc .expanded.has-children > a::before \{ transform: rotate(45deg); \}",112 ".toc li:not(.has-children) > a \{ padding-left: 22px; \}",113 ".toc li > ul \{ display: none; \}",114 ".toc li.expanded > ul \{ display: block; \}",115 ".toc .filtered-out \{ display: none; \}",116 ".main \{ min-width: 0; padding: 24px 48px 64px; \}",117 ".main > * \{ max-width: var(--content-width); \}",118 ".breadcrumb ol \{ display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 12px; padding: 0; list-style: none; font-size: 14px; \}",119 ".breadcrumb li:not(:last-child)::after \{ content: \"/\"; margin-left: 4px; color: var(--text-subtle); \}",120 ".breadcrumb span \{ color: var(--text-muted); \}",121 ".page-actions \{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 8px; color: var(--text-muted); font-size: 14px; \}",122 ".page-action \{ display: inline-flex; align-items: center; gap: 6px; \}",123 ".content \{ overflow-wrap: break-word; \}",124 ".content h1 \{ margin: 8px 0 16px; font-size: 40px; line-height: 1.25; font-weight: 600; letter-spacing: -.01em; \}",125 ".content h2 \{ margin: 40px 0 12px; font-size: 28px; line-height: 1.3; font-weight: 600; \}",126 ".content h3 \{ margin: 32px 0 10px; font-size: 22px; line-height: 1.35; font-weight: 600; \}",127 ".content h4, .content h5, .content h6 \{ margin: 24px 0 8px; font-size: 18px; font-weight: 600; \}",128 ".content .anchor \{ margin-left: 8px; opacity: 0; font-weight: 400; \}",129 ".content .anchor::before \{ content: \"#\"; \}",130 ".content :is(h2, h3, h4):hover .anchor, .content .anchor:focus \{ opacity: .6; text-decoration: none; \}",131 ".content p, .content ul, .content ol, .content dl, .content blockquote, .content .table-wrapper, .content .code-block, .content figure \{ margin: 0 0 16px; \}",132 ".content ul, .content ol \{ padding-left: 28px; \}",133 ".content li + li \{ margin-top: 4px; \}",134 ".content ul.tasks \{ padding-left: 4px; list-style: none; \}",135 ".content img \{ max-width: 100%; height: auto; \}",136 ".content hr \{ margin: 32px 0; border: 0; border-top: 1px solid var(--border); \}",137 ".content blockquote \{ padding: 4px 16px; border-left: 4px solid var(--border-strong); color: var(--text-muted); \}",138 ".content code \{ padding: 1px 5px; border-radius: 3px; background: var(--code-bg); font: .875em var(--font-mono); \}",139 ".content kbd \{ padding: 1px 6px; border: 1px solid var(--border-strong); border-bottom-width: 2px; border-radius: 3px; background: var(--bg-subtle); font: .85em var(--font-mono); \}",140 ".table-wrapper \{ overflow-x: auto; \}",141 ".content table \{ width: 100%; border-collapse: collapse; font-size: 15px; \}",142 ".content th, .content td \{ padding: 8px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; \}",143 ".content th \{ border-bottom: 2px solid var(--border-strong); font-weight: 600; \}",144 ".content .align-center \{ text-align: center; \}",145 ".content .align-right \{ text-align: right; \}",146 ".content td > .api-doc p \{ margin: 0; \}",147 ".code-block \{ border: 1px solid var(--border); border-radius: var(--radius); background: var(--code-bg); overflow: hidden; \}",148 ".code-header \{ display: flex; align-items: center; justify-content: space-between; padding: 4px 8px 4px 14px; border-bottom: 1px solid var(--border); background: var(--bg-muted); color: var(--text-muted); font-size: 13px; \}",149 ".copy \{ padding: 3px 10px; border: 1px solid transparent; border-radius: var(--radius); background: none; color: var(--text-muted); font: 13px var(--font); cursor: pointer; \}",150 ".copy:hover \{ background: var(--bg-hover); color: var(--text); \}",151 ".code-block pre, .api-signature pre \{ margin: 0; padding: 14px 16px; overflow-x: auto; font: 14px/1.55 var(--font-mono); tab-size: 4; \}",152 ".code-block pre code, .api-signature code \{ padding: 0; background: none; font: inherit; \}",153 ".line.highlight \{ display: inline-block; min-width: 100%; margin: 0 -16px; padding: 0 16px; background: var(--accent-soft); box-shadow: inset 3px 0 var(--accent); \}",154 ".hl-k \{ color: var(--hl-k); \} .hl-s \{ color: var(--hl-s); \} .hl-c \{ color: var(--hl-c); font-style: italic; \} .hl-n \{ color: var(--hl-n); \} .hl-l \{ color: var(--hl-l); \} .hl-t \{ color: var(--hl-t); \}",155 ".mermaid \{ margin: 0 0 16px; text-align: center; background: none; \}",156 ".alert \{ margin: 0 0 16px; padding: 12px 16px; border-left: 4px solid var(--note); border-radius: var(--radius); background: var(--note-bg); \}",157 ".alert > :last-child \{ margin-bottom: 0; \}",158 ".alert-title \{ margin: 0 0 4px; color: var(--note); font-weight: 600; \}",159 ".alert-tip \{ border-color: var(--tip); background: var(--tip-bg); \} .alert-tip .alert-title \{ color: var(--tip); \}",160 ".alert-important \{ border-color: var(--important); background: var(--important-bg); \} .alert-important .alert-title \{ color: var(--important); \}",161 ".alert-caution \{ border-color: var(--caution); background: var(--caution-bg); \} .alert-caution .alert-title \{ color: var(--caution); \}",162 ".alert-warning \{ border-color: var(--warning); background: var(--warning-bg); \} .alert-warning .alert-title \{ color: var(--warning); \}",163 ".tabs \{ margin: 0 0 16px; \}",164 ".tab-list \{ display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--border); \}",165 ".tab-list button \{ padding: 8px 14px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--text-muted); font: 15px var(--font); cursor: pointer; \}",166 ".tab-list button:hover \{ color: var(--text); background: var(--bg-hover); \}",167 ".tab-list button[aria-selected=\"true\"] \{ border-bottom-color: var(--accent); color: var(--text); font-weight: 600; \}",168 ".tab-panel \{ padding-top: 16px; \}",169 ".video \{ position: relative; margin: 0 0 16px; padding-top: 56.25%; \}",170 ".video iframe \{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; \}",171 ".row \{ display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 16px; \}",172 ".column \{ flex-basis: 0; min-width: 220px; \}",173 ".image-icon img \{ width: 48px; \}",174 ".content figcaption \{ margin-top: 6px; color: var(--text-muted); font-size: 14px; \}",175 ".xref.unresolved \{ border-bottom: 1px dotted var(--caution); \}",176 ".api-heading \{ margin-bottom: 8px; \}",177 ".api-kind \{ margin: 0; color: var(--text-muted); font-size: 14px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; \}",178 ".api-heading h1 \{ margin-top: 0; \}",179 ".api-namespace, .api-source \{ color: var(--text-muted); font-size: 14px; \}",180 ".api-signature \{ margin: 0 0 16px; border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: var(--radius); background: var(--code-bg); \}",181 ".api-member \{ margin-top: 24px; padding-top: 8px; border-top: 1px solid var(--border); \}",182 ".api-parameters dt \{ margin-top: 8px; \}",183 ".api-parameters dd \{ margin: 2px 0 0 20px; color: var(--text-muted); \}",184 ".api-list \{ padding-left: 24px; \}",185 ".api-table td:first-child \{ white-space: nowrap; \}",186 ".rest-version \{ margin-left: 12px; padding: 2px 8px; border-radius: 12px; background: var(--bg-muted); color: var(--text-muted); font-size: 14px; font-weight: 400; vertical-align: middle; \}",187 ".rest-endpoint \{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; \}",188 ".rest-endpoint code \{ font-size: 15px; \}",189 ".method \{ display: inline-block; min-width: 64px; padding: 2px 8px; border-radius: 3px; color: #fff; font: 600 12px var(--font-mono); text-align: center; background: #505050; \}",190 ".method-get \{ background: #0065b3; \} .method-post \{ background: #107c10; \} .method-put \{ background: #8a5a00; \} .method-patch \{ background: #6b2fbb; \} .method-delete \{ background: #a4262c; \}",191 ".status \{ font-family: var(--font-mono); font-weight: 600; \} .status-2xx \{ color: var(--tip); \} .status-4xx, .status-5xx \{ color: var(--caution); \}",192 ".badge \{ display: inline-block; padding: 1px 8px; border-radius: 10px; background: var(--bg-muted); color: var(--text-muted); font-size: 12px; font-weight: 600; \}",193 ".badge.deprecated \{ background: var(--caution-bg); color: var(--caution); \}",194 ".pager \{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border); \}",195 ".pager-link \{ display: block; padding: 12px 16px; border: 1px solid var(--border); border-radius: var(--radius); color: var(--text); \}",196 ".pager-link:hover \{ border-color: var(--accent); text-decoration: none; color: var(--text); \}",197 ".pager-link.next \{ grid-column: 2; text-align: right; \}",198 ".pager-label \{ display: block; color: var(--text-muted); font-size: 13px; \}",199 ".pager-title \{ display: block; color: var(--accent); font-weight: 600; \}",200 ".affix \{ position: sticky; top: var(--header-height); height: calc(100vh - var(--header-height)); \}",201 ".affix-inner \{ height: 100%; overflow-y: auto; padding: 28px 20px 32px 8px; \}",202 ".affix-title \{ margin: 0 0 10px; font-size: 14px; font-weight: 600; \}",203 ".affix ul \{ margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--border); \}",204 ".affix a \{ display: block; margin-left: -1px; padding: 4px 12px; border-left: 2px solid transparent; color: var(--text-muted); font-size: 13px; line-height: 1.4; \}",205 ".affix .level-3 a \{ padding-left: 24px; \}",206 ".affix a:hover \{ color: var(--text); text-decoration: none; \}",207 ".affix a.active \{ border-left-color: var(--accent); color: var(--text); font-weight: 600; \}",208 ".site-footer \{ border-top: 1px solid var(--border); background: var(--bg-subtle); color: var(--text-muted); font-size: 14px; \}",209 ".footer-inner \{ max-width: 1920px; margin: 0 auto; padding: 20px 24px; \}",210 ".redirect \{ padding: 48px 24px; text-align: center; \}",211 "@media (max-width: 1200px) \{",212 " .page, .page:not(:has(.affix)) \{ grid-template-columns: var(--sidebar-width) minmax(0, 1fr); \}",213 " .page:not(:has(.sidebar)) \{ grid-template-columns: minmax(0, 1fr); \}",214 " .affix \{ display: none; \}",215 "\}",216 "@media (max-width: 1024px) \{",217 " .page, .page:not(:has(.affix)), .page:not(:has(.sidebar)) \{ grid-template-columns: minmax(0, 1fr); \}",218 " .menu-toggle \{ display: inline-flex; \}",219 " .sidebar \{ position: fixed; top: var(--header-height); left: 0; z-index: 20; width: min(var(--sidebar-width), 86vw); transform: translateX(-100%); transition: transform .2s; box-shadow: var(--shadow); \}",220 " .sidebar.open \{ transform: none; \}",221 " .nav-toggle \{ display: inline-flex; \}",222 " .navbar \{ display: none; position: absolute; top: var(--header-height); left: 0; right: 0; flex: none; background: var(--header-bg); border-bottom: 1px solid var(--border); box-shadow: var(--shadow); \}",223 " .navbar.open \{ display: block; \}",224 " .navbar ul \{ flex-direction: column; padding: 8px 12px; \}",225 " .navbar a \{ padding: 10px 8px; border-bottom: 0; border-left: 2px solid transparent; \}",226 " .navbar a.active \{ border-left-color: var(--accent); \}",227 " .main \{ padding: 20px 24px 48px; \}",228 " .search input \{ width: 180px; \}",229 "\}",230 "@media (max-width: 640px) \{",231 " .header-inner \{ gap: 12px; padding: 0 12px; \}",232 " .brand \{ min-width: 0; \}",233 " .brand-name \{ overflow: hidden; text-overflow: ellipsis; \}",234 " .search input \{ width: 110px; \}",235 " .content h1 \{ font-size: 30px; \}",236 " .content h2 \{ font-size: 24px; \}",237 " .main \{ padding: 16px 16px 40px; \}",238 " .pager \{ grid-template-columns: 1fr; \}",239 " .pager-link.next \{ grid-column: 1; \}",240 "\}",241 "@media print \{",242 " .site-header, .sidebar, .affix, .page-actions, .pager, .site-footer, .copy, .anchor, .skip-link \{ display: none !important; \}",243 " .page \{ display: block; \}",244 " .main \{ padding: 0; \}",245 " .main > * \{ max-width: none; \}",246 " body \{ font-size: 11pt; color: #000; background: #fff; \}",247 " a \{ color: #000; text-decoration: underline; \}",248 " .code-block, .api-signature \{ break-inside: avoid; \}",249 " .tab-panel[hidden] \{ display: block !important; \}",250 " .print-section \{ break-before: page; \}",251 " .print-cover \{ display: flex; flex-direction: column; justify-content: center; min-height: 90vh; \}",252 "\}",253 "@media (prefers-reduced-motion: reduce) \{ * \{ transition: none !important; \} \}",254 ".layout-landing .main > * \{ max-width: none; \}",255 ".layout-landing .content h1 \{ font-size: 48px; \}",256 ".kind-landing .main \{ padding: 0 0 48px; \}",257 ".kind-landing .content \{ max-width: none; \}",258 ".landing-inner \{ max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; \}",259 ".landing-hero \{ position: relative; isolation: isolate; overflow: hidden; margin: 0 0 32px; padding: 46px 0 40px; color: #fff; background: var(--hero-bg); \}",260 ".landing-hero::before \{ content: \"\"; position: absolute; z-index: -1; inset: 0; background: linear-gradient(125deg, transparent 60%, rgba(255, 255, 255, .08) 60.2%, transparent 60.5%), linear-gradient(125deg, transparent 72%, rgba(255, 255, 255, .08) 72.2%, transparent 72.5%); \}",261 ".landing-hero::after \{ content: \"\"; position: absolute; z-index: -1; right: -45px; top: -65px; width: 250px; height: 310px; border-radius: 54px; transform: rotate(24deg); background: linear-gradient(155deg, rgba(251, 201, 117, .78), rgba(246, 122, 149, .45) 54%, rgba(132, 177, 255, .12) 55%); opacity: .65; \}",262 ".content .landing-hero h1 \{ max-width: 820px; margin: 0 0 12px; color: #fff; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1.06; letter-spacing: -.035em; \}",263 ".landing-summary \{ max-width: 680px; margin: 0; color: #e6edff; font-size: 1.06rem; line-height: 1.6; \}",264 ".content .landing-highlights \{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 40px; margin: 8px auto 56px; list-style: none; \}",265 ".content .landing-highlight \{ margin: 0; border-top: 1px solid var(--border); \}",266 ".landing-highlight a \{ display: flex; flex-direction: column; gap: 4px; padding: 14px 0 18px; color: var(--text); \}",267 ".landing-highlight a:hover \{ text-decoration: none; \}",268 ".landing-highlight a:hover .landing-link \{ color: var(--accent); text-decoration: underline; \}",269 ".landing-kind \{ color: var(--text-subtle); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; \}",270 ".landing-link \{ font-size: 17px; font-weight: 600; \}",271 ".landing-topics, .landing-related \{ margin-bottom: 56px; \}",272 ".content .landing-inner > h2 \{ margin: 0 0 20px; padding: 0; border: 0; font-size: 22px; \}",273 ".landing-cards \{ display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 32px; \}",274 ".landing-card \{ padding-top: 14px; border-top: 2px solid var(--text); \}",275 ".content .landing-card h3 \{ margin: 0 0 10px; font-size: 15px; \}",276 ".content .landing-card ul \{ margin: 0; padding: 0; list-style: none; \}",277 ".content .landing-card li \{ margin: 0 0 6px; font-size: 15px; \}",278 ".landing-card p \{ margin: 4px 0 0; color: var(--text-muted); font-size: 14px; \}",279 ".landing-related .landing-card \{ border-top-width: 1px; border-top-color: var(--border); \}",280 ".content .landing-more \{ margin: 10px 0 0; font-size: 14px; \}",281 ".footer-bar \{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; \}",282 ".footer-name \{ color: var(--text); font-weight: 600; \}",283 ".footer-links ul \{ display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; \}",284 ".footer-links a, .footer-copyright \{ color: var(--text-muted); \}",285 ".footer-copyright \{ margin: 0 0 0 auto; \}",286 "@media (max-width: 640px) \{",287 " .landing-hero \{ padding: 30px 0 26px; \}",288 " .landing-hero::after \{ opacity: .35; \}",289 " .content .landing-hero h1 \{ font-size: clamp(1.85rem, 7vw, 2.8rem); \}",290 " .landing-inner \{ padding-left: 16px; padding-right: 16px; \}",291 "\}",292 ".layout-chromeless .main \{ padding-top: 32px; \}",293 ".content sub, .content sup \{ line-height: 0; \}",294 ".content mark \{ padding: 0 2px; background: #fff4b3; color: inherit; \}",295 ":root[data-theme=\"dark\"] .content mark \{ background: #5c4d00; \}",296 ".content ins \{ text-decoration-color: var(--tip); \}",297 ".footnote-ref a \{ padding: 0 2px; font-size: .8em; \}",298 ".footnotes \{ margin-top: 40px; color: var(--text-muted); font-size: 14px; \}",299 ".footnotes hr \{ margin: 0 0 16px; \}",300 ".footnote-back \{ margin-left: 4px; \}",301 ".diagram \{ text-align: center; \}",302 ".content video \{ max-width: 100%; \}",303 ".page-action.pdf \{ margin-left: auto; \}",304 ".toc .toc-heading \{ display: block; margin: 14px 0 4px; padding: 0 8px; color: var(--text-subtle); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; \}",305 ".toc li:first-child > .toc-heading \{ margin-top: 0; \}",306 ".gallery \{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; margin: 24px 0; \}",307 ".card \{ display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); box-shadow: var(--shadow); \}",308 ".card-image \{ width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-bottom: 1px solid var(--border); background: var(--bg-muted); \}",309 ".card-body \{ display: flex; flex-direction: column; gap: 8px; padding: 16px; \}",310 ".content .card-title \{ margin: 0; font-size: 18px; \}",311 ".card-meta \{ margin: 0; color: var(--text-muted); font-size: 13px; \}",312 ".card-body p \{ margin: 0; \}",313 ".card-usage \{ margin: 0; font-size: 13px; \}",314 ".card-usage dt \{ margin-top: 6px; color: var(--text-muted); font-weight: 600; \}",315 ".card-usage dd \{ margin: 2px 0 0; overflow-x: auto; \}",316 ".card-links \{ margin-top: auto; font-size: 14px; \}"317]318319320export fn stylesheet() -> Str { LINES.join("\n") + "\n" }321