edgepress 2026.10.12 → 2026.10.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -2
- package/config.yml +171 -171
- package/content/assets/edgepress/brand/sources/export-manifest.json +181 -181
- package/content/assets/edgepress-markdown-guide.svg +21 -21
- package/content/guides/markdown-media.md +38 -0
- package/content/guides/product-demos.md +30 -30
- package/content/pages/deployment/en.json +1 -1
- package/content/posts/2026-09-24-edgepress-release-2026-9-1/en.md +1 -1
- package/content/posts/2026-09-24-edgepress-release-2026-9-1/zh-cn.md +1 -1
- package/languages/base/en.json +98 -98
- package/languages/packs/zh-CN.json +98 -98
- package/package.json +90 -90
- package/src/assets.js +187 -186
- package/src/browser-audit.js +158 -158
- package/src/build.js +293 -291
- package/src/cli.js +364 -364
- package/src/content.js +233 -233
- package/src/data-saver.js +3 -3
- package/src/generators.js +414 -420
- package/src/i18n.js +86 -86
- package/src/markdown.js +195 -160
- package/src/page-check.js +1 -1
- package/src/plugin-api.js +77 -77
- package/src/report-visuals.js +642 -642
- package/src/revision-cards.js +30 -30
- package/src/rss.js +100 -0
- package/src/theme.js +4 -4
- package/src/video-metadata.js +36 -0
- package/static/edgepress/fonts/faces.css +2217 -2217
- package/static/edgepress/media-viewer.js +67 -10
- package/static/edgepress/project-demo.js +83 -83
- package/static/edgepress/search.js +84 -84
- package/tests/assets-runtime.test.mjs +26 -26
- package/tests/audit.test.mjs +142 -142
- package/tests/brand-regression.test.mjs +110 -110
- package/tests/document-package.test.mjs +2 -2
- package/tests/embed-syntax.test.mjs +68 -68
- package/tests/image-viewer.test.mjs +36 -36
- package/tests/markdown-media.test.mjs +119 -0
- package/tests/oembed-layout.test.mjs +6 -1
- package/tests/project-demo.test.mjs +73 -73
- package/tests/release-version.test.mjs +28 -0
- package/tests/rss.test.mjs +54 -0
- package/tests/video-metadata.test.mjs +28 -0
- package/tests/writing.test.mjs +83 -83
- package/themes/atelier/assets/style.css +340 -340
- package/themes/default/assets/style.css +371 -371
- package/themes/default/layouts/partials/head.html +1 -1
- package/themes/folio/assets/style.css +515 -515
- package/themes/folio/theme.json +5 -5
- package/themes/signal/assets/style.css +332 -332
- package/tools/README.md +10 -10
- package/tools/assets/generate-brand-assets.py +160 -160
- package/tools/assets/video-preview.mjs +15 -0
- package/tools/recordings/demo-workbench.mjs +53 -53
- package/tools/recordings/desktop-recording.mjs +70 -70
- package/tools/recordings/vm-desktop.mjs +59 -59
|
@@ -1,340 +1,340 @@
|
|
|
1
|
-
:root{color-scheme:light;--paper:#f3eee4;--panel:#fcfaf5;--ink:#29271f;--muted:#777064;--line:#d7cdbb;--accent:#93542f;font:16px/1.8 var(--edgepress-font-serif)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:var(--accent);text-underline-offset:.2em}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:16px;top:16px;padding:10px;background:var(--panel);outline:3px solid var(--accent);z-index:2}.atelier-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,760px);gap:clamp(32px,7vw,100px);max-width:1240px;margin:0 auto;padding:56px 34px}.atelier-rail{position:sticky;top:40px;align-self:start;min-height:75vh;display:flex;flex-direction:column}.brand{font:700 1.5rem/1.2 var(--edgepress-font-sans);color:var(--ink);text-decoration:none}.atelier-rail>p{color:var(--muted)}nav{display:flex;flex-direction:column;gap:8px;margin-top:22px}nav a{text-decoration:none;padding:5px 0}.locale-nav{border-top:1px solid var(--line);padding-top:16px}.atelier-rail footer{margin-top:auto;padding-top:32px;color:var(--muted);font-size:.9rem}.atelier-shell main{min-width:0;padding:12px 0}.intro{padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:3px;margin-bottom:36px}.intro h1,.post h1,.page h1,.atelier-shell main>section>h1{font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.08;letter-spacing:-.04em}.post-card{padding:24px 0;border-top:1px solid var(--line)}.post-card h2{margin:0;font:600 1.5rem/1.35 var(--edgepress-font-serif)}.meta,.tags{color:var(--muted);font-size:.9rem}.post-content img{max-width:100%;height:auto}.post-content pre{overflow:auto;padding:18px;background:#e9e1d3}.post-content code{font-family:var(--edgepress-font-mono)}.post-content blockquote{margin-left:0;padding-left:20px;border-left:3px solid var(--accent);color:var(--muted)}.pagination{display:flex;justify-content:space-between;margin-top:32px}a:focus-visible{outline:3px solid #32745b;outline-offset:3px}@media(max-width:760px){.atelier-shell{display:block;padding:26px 19px}.atelier-rail{position:static;min-height:0;border-bottom:1px solid var(--line);padding-bottom:20px}.atelier-rail nav{flex-direction:row;flex-wrap:wrap;gap:14px}.atelier-rail footer{margin-top:12px;padding-top:0}.atelier-shell main{padding-top:26px}}
|
|
2
|
-
|
|
3
|
-
/* The shell and content column expand so the footer remains at the bottom. */
|
|
4
|
-
body{display:flex;flex-direction:column;min-height:100vh}
|
|
5
|
-
.atelier-shell{flex:1;width:100%}
|
|
6
|
-
.atelier-shell main{min-height:0}
|
|
7
|
-
.site-footer{width:min(calc(100% - 68px),1240px);margin:0 auto;padding:22px 0;border-top:1px solid var(--line);color:var(--muted)}
|
|
8
|
-
.hero-block,.cta-block{padding:clamp(24px,5vw,56px);background:var(--panel);border:1px solid var(--line);border-radius:4px;margin:0 0 32px}
|
|
9
|
-
.hero-block h1,.hero-block h2{font-size:clamp(2.2rem,7vw,4.2rem);line-height:1.08;letter-spacing:-.04em;margin:.2em 0}
|
|
10
|
-
.eyebrow{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
|
|
11
|
-
.hero-copy{font-size:1.15rem;max-width:60ch;color:var(--muted)}
|
|
12
|
-
.button{display:inline-block;padding:10px 18px;border-radius:4px;background:var(--accent);color:white;text-decoration:none;font-weight:700}
|
|
13
|
-
.block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;margin:30px 0}
|
|
14
|
-
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
|
|
15
|
-
.feature-card,.faq-block details,.quote-block,.ad-slot,.captcha-block{padding:20px;border:1px solid var(--line);background:var(--panel)}
|
|
16
|
-
.image-block img{max-width:100%;height:auto}.image-block figcaption,.quote-block figcaption{color:var(--muted);font-size:.9rem}
|
|
17
|
-
.faq-block details{margin:12px 0}.faq-block summary{cursor:pointer;font-weight:700}
|
|
18
|
-
.ad-slot:empty{min-height:90px}.captcha-block{min-height:65px}
|
|
19
|
-
@media(max-width:760px){.site-footer{width:calc(100% - 38px)}}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.privacy-manager{position:fixed;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-end:max(12px,env(safe-area-inset-bottom));z-index:1000;display:grid;align-content:end;gap:7px;box-sizing:border-box;width:min(28rem,calc(100vw - 24px));max-height:calc(100dvh - 24px);color:var(--ink,#1d2824);font:14px/1.45 var(--edgepress-font-sans);pointer-events:none;isolation:isolate}
|
|
23
|
-
.privacy-manager *{box-sizing:border-box}
|
|
24
|
-
.privacy-manager>*{min-width:0;pointer-events:auto}
|
|
25
|
-
.privacy-manager .privacy-settings-button,.privacy-manager .privacy-panel button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;max-width:100%;padding:9px 13px;border:1px solid var(--line,#c7d0c9);border-radius:999px;background:var(--paper,#fff);color:var(--ink,#1d2824);font:inherit;font-weight:700;line-height:1.25;text-align:center;overflow-wrap:anywhere;cursor:pointer}
|
|
26
|
-
.privacy-manager .privacy-settings-button{order:1;justify-self:end;box-shadow:0 4px 18px #0002}
|
|
27
|
-
.privacy-manager .privacy-panel{position:relative;order:0;display:grid;gap:9px;width:100%;max-height:min(66vh,40rem);max-height:min(66dvh,40rem);overflow:auto;overscroll-behavior:contain;padding:15px;border:1px solid var(--line,#c7d0c9);border-radius:14px;background:var(--paper,#fff);color:var(--ink,#1d2824);box-shadow:0 12px 40px #0003}
|
|
28
|
-
.privacy-manager .privacy-panel[hidden]{display:none}
|
|
29
|
-
.privacy-manager .privacy-panel h2{margin:0;padding-inline-end:44px;font-size:1.08rem;line-height:1.3}
|
|
30
|
-
.privacy-manager .privacy-panel p{margin:0;overflow-wrap:anywhere}
|
|
31
|
-
.privacy-manager .privacy-panel .privacy-close{position:absolute;inset-block-start:6px;inset-inline-end:6px;width:44px;min-width:44px;min-height:44px;padding:8px;border-radius:50%}
|
|
32
|
-
.privacy-manager .privacy-panel .privacy-close .icon-library{width:20px;height:20px}
|
|
33
|
-
.privacy-manager .icon-library{width:18px;height:18px;flex:none}
|
|
34
|
-
.privacy-manager .privacy-intro,.privacy-manager .privacy-essential,.privacy-manager .privacy-controller{color:var(--muted,#536159)}
|
|
35
|
-
.privacy-manager .privacy-service-settings{display:grid;gap:7px;min-width:0}
|
|
36
|
-
.privacy-manager .privacy-service-setting{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid var(--line,#c7d0c9);border-radius:10px;background:var(--panel,#fff)}
|
|
37
|
-
.privacy-manager .privacy-service-toggle{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;min-width:0;cursor:pointer}
|
|
38
|
-
.privacy-manager .privacy-service-toggle input{position:relative;grid-column:2;grid-row:1;width:42px;height:24px;margin:0;appearance:none;border:1px solid var(--line,#748079);border-radius:999px;background:var(--line,#748079);cursor:pointer}
|
|
39
|
-
.privacy-manager .privacy-service-toggle input::before{position:absolute;inset-block-start:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:var(--paper,#fff);content:"";transition:transform .16s ease}
|
|
40
|
-
.privacy-manager .privacy-service-toggle input:checked{border-color:var(--accent,#315e49);background:var(--accent,#315e49)}
|
|
41
|
-
.privacy-manager .privacy-service-toggle input:checked::before{transform:translateX(18px)}
|
|
42
|
-
.privacy-manager .privacy-service-toggle input:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
|
|
43
|
-
.privacy-manager .privacy-service-toggle-text{grid-column:1;grid-row:1;display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
|
|
44
|
-
.privacy-manager .privacy-service-toggle-text strong{font-size:.94rem}
|
|
45
|
-
.privacy-manager .privacy-service-purpose{color:var(--muted,#536159);font-size:.86rem;line-height:1.4}
|
|
46
|
-
.privacy-manager .privacy-details{min-width:0;margin:0;border-top:1px solid var(--line,#c7d0c9)}
|
|
47
|
-
.privacy-manager .privacy-details>summary{padding:7px 1px 0;font-size:.86rem;font-weight:700;cursor:pointer}
|
|
48
|
-
.privacy-manager .privacy-details>summary:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
|
|
49
|
-
.privacy-manager .privacy-service-disclosures{display:grid;gap:5px;margin:8px 0 0;font-size:.82rem;line-height:1.4}
|
|
50
|
-
.privacy-manager .privacy-service-disclosures>div{display:grid;grid-template-columns:minmax(5.2rem,.38fr) minmax(0,1fr);gap:8px;min-width:0}
|
|
51
|
-
.privacy-manager .privacy-service-disclosures dt{color:var(--muted,#536159);font-weight:650}
|
|
52
|
-
.privacy-manager .privacy-service-disclosures dd{min-width:0;margin:0;overflow-wrap:anywhere}
|
|
53
|
-
.privacy-manager .privacy-service-disclosures a,.privacy-manager .privacy-policy-link{overflow-wrap:anywhere}
|
|
54
|
-
.privacy-manager .privacy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
|
|
55
|
-
.privacy-manager .privacy-panel .privacy-accept,.privacy-manager .privacy-panel .privacy-reject{border-color:var(--accent,#315e49);background:var(--accent,#315e49);color:var(--paper,#fff)}
|
|
56
|
-
.privacy-manager .privacy-panel .privacy-accept:hover:not(:disabled),.privacy-manager .privacy-panel .privacy-reject:hover:not(:disabled){filter:brightness(.92)}
|
|
57
|
-
.privacy-manager .privacy-panel .privacy-save{grid-column:1/-1;background:transparent}
|
|
58
|
-
.privacy-manager .privacy-panel button:disabled{opacity:.55;cursor:not-allowed}
|
|
59
|
-
.privacy-manager .privacy-footer{display:grid;gap:5px;padding-block-start:8px;border-top:1px solid var(--line,#c7d0c9);font-size:.82rem}
|
|
60
|
-
.privacy-manager .privacy-controller{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px}
|
|
61
|
-
.privacy-manager .privacy-controller a{overflow-wrap:anywhere}
|
|
62
|
-
.privacy-manager .privacy-policy-link{width:fit-content;max-width:100%;font-size:.86rem}
|
|
63
|
-
.privacy-manager .privacy-policy-link:focus-visible,.privacy-manager .privacy-settings-button:focus-visible,.privacy-manager .privacy-panel button:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
|
|
64
|
-
.privacy-manager .privacy-empty{padding:9px;border:1px dashed var(--line,#c7d0c9);border-radius:8px;color:var(--muted,#536159)}
|
|
65
|
-
@media(max-width:560px){.privacy-manager{inset-inline-start:max(12px,env(safe-area-inset-left));width:auto;max-width:none}.privacy-manager .privacy-panel{max-height:min(66vh,40rem);max-height:min(66dvh,40rem);padding:13px}.privacy-manager .privacy-actions{gap:6px}}
|
|
66
|
-
.page-builder{display:grid;gap:24px}
|
|
67
|
-
.page-title h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.1;letter-spacing:-.04em}
|
|
68
|
-
.hero-block{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.8fr);gap:28px;padding:clamp(26px,5vw,54px);background:var(--panel);border:1px solid var(--line);margin:0 0 24px}
|
|
69
|
-
.hero-block:not(.hero-block--split){display:block}
|
|
70
|
-
.hero-highlights{display:grid;gap:10px;list-style:none;padding:0}
|
|
71
|
-
.hero-highlights li,.feature-card,.steps-widget li,.privacy-service-list li,.link-list li{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:4px}
|
|
72
|
-
.page-section{padding:clamp(20px,4vw,34px);margin:0}
|
|
73
|
-
.page-section--soft{background:var(--panel)}.page-section--accent{background:#eee0cf}.page-section--dark{background:#342f26;color:#fff}.page-section--dark a{color:#fff}
|
|
74
|
-
.section-inner{max-width:760px;margin-inline:auto}.section-inner--wide{max-width:none}.section-inner--narrow{max-width:620px}
|
|
75
|
-
.section-inner>h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2}
|
|
76
|
-
.feature-section{margin:22px 0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px}
|
|
77
|
-
.link-list ul,.steps-widget ol,.privacy-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;padding:0;list-style:none}
|
|
78
|
-
.link-list li>a{font-weight:700}.steps-widget h4{margin-top:0}.steps-widget li{counter-increment:step}.steps-widget ol{counter-reset:step}.steps-widget li:before{content:counter(step,decimal-leading-zero);color:var(--accent);font-weight:700}
|
|
79
|
-
.steps-widget pre,.code-widget pre{overflow:auto;padding:16px;background:#29271f;color:#fff;border-radius:4px}.code-widget figcaption{font-weight:700}
|
|
80
|
-
.table-widget{overflow-x:auto}.table-widget table{border-collapse:collapse;min-width:520px;width:100%;background:var(--panel)}.table-widget th,.table-widget td{border:1px solid var(--line);padding:9px 12px;text-align:left}.table-widget th{background:#eee8dc}
|
|
81
|
-
.notice-widget{padding:16px 20px;border-left:4px solid var(--accent);background:var(--panel)}.notice-widget--warning{border-color:#a76120;background:#f8ead6}.notice-widget--success{border-color:#327550;background:#e5f0e8}
|
|
82
|
-
.footer-navigation{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px}.site-header--hidden,.brand--hidden,.primary-navigation--hidden,.locale-nav--hidden,.site-footer--hidden,.footer-copy--hidden,.footer-navigation--hidden{display:none!important}
|
|
83
|
-
.error-page{max-width:620px;margin:6vh auto;padding:clamp(28px,6vw,64px);text-align:center;background:var(--panel);border:1px solid var(--line)}.error-code{margin:0;color:var(--accent);font-size:clamp(4rem,14vw,8rem);font-weight:700;line-height:1}
|
|
84
|
-
@media(max-width:760px){.hero-block{grid-template-columns:1fr}.atelier-header{padding:0;border:0}}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
/* Page files define row column counts and then element types inside each column. */
|
|
88
|
-
.page-builder-row{display:grid;gap:clamp(16px,2.5vw,30px);align-items:start}
|
|
89
|
-
.page-builder-row[data-columns="1"]{grid-template-columns:minmax(0,1fr)}
|
|
90
|
-
.page-builder-row[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
91
|
-
.page-builder-row[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
|
|
92
|
-
.page-builder-row[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
|
|
93
|
-
.page-builder-cell{min-width:0}
|
|
94
|
-
.page-builder-cell>.hero-block,.page-builder-cell>.page-section,.page-builder-cell>.feature-section,.page-builder-cell>.cta-block,.page-builder-cell>.faq-block,.page-builder-cell>.latest-posts{margin:0}
|
|
95
|
-
.display-text{font-size:clamp(1.8rem,5vw,4rem);line-height:1.08;letter-spacing:-.045em}
|
|
96
|
-
.display-text--serif{font-family:var(--edgepress-font-serif);font-weight:500}
|
|
97
|
-
.display-text--mono{font-family:var(--edgepress-font-mono);letter-spacing:-.06em}
|
|
98
|
-
.display-text--accent{color:var(--accent)}
|
|
99
|
-
.display-text--outline{-webkit-text-stroke:1px currentColor;color:transparent}
|
|
100
|
-
.media-text-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,48px)}
|
|
101
|
-
.media-text-block--right figure{order:2}
|
|
102
|
-
.media-text-block figure{min-width:0;margin:0}
|
|
103
|
-
.media-text-block img,.media-text-block video{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;border-radius:var(--media-radius,14px)}
|
|
104
|
-
.media-text-block figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}
|
|
105
|
-
.media-text-copy{max-width:62ch}
|
|
106
|
-
.media-text-copy h2{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2}
|
|
107
|
-
.privacy-controller-inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;margin:0}
|
|
108
|
-
.privacy-controller-inline span{min-width:0;overflow-wrap:anywhere}
|
|
109
|
-
.privacy-controller-separator{color:var(--muted)}
|
|
110
|
-
.privacy-vendor-link{display:inline-block;margin-block-start:4px}
|
|
111
|
-
.privacy-controller-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
|
|
112
|
-
.privacy-controller-details>div{padding:14px;border:1px solid var(--line);border-radius:10px}
|
|
113
|
-
.privacy-controller-details dt{font-size:.85rem;color:var(--muted);font-weight:700}
|
|
114
|
-
.privacy-controller-details dd{margin:4px 0 0;overflow-wrap:anywhere}
|
|
115
|
-
@media(max-width:760px){.page-builder-row[data-columns="2"],.page-builder-row[data-columns="3"],.page-builder-row[data-columns="4"]{grid-template-columns:minmax(0,1fr)}.media-text-block{grid-template-columns:1fr}.media-text-block--right figure{order:0}}
|
|
116
|
-
|
|
117
|
-
.page-builder,.page-builder-row,.page-builder-cell,.hero-block,.hero-main,.hero-highlights{min-width:0}
|
|
118
|
-
.page-builder-row{width:100%}
|
|
119
|
-
.media-text-block,.media-text-block>*{min-width:0}
|
|
120
|
-
@media(max-width:760px){html,body{max-width:100%}.site-header,main,.site-footer{max-width:100%;min-width:0}.hero-block{grid-template-columns:minmax(0,1fr)}.hero-highlights{grid-template-columns:minmax(0,1fr)}}
|
|
121
|
-
|
|
122
|
-
/* Keep long article content and generated page widgets inside narrow viewports. */
|
|
123
|
-
html,body{width:100%;min-width:0;max-width:100%}
|
|
124
|
-
main,.page-builder,.page-builder-row,.page-builder-cell,.post,.post-content,.post-content>*{min-width:0;max-width:100%}
|
|
125
|
-
.post-content,.page-builder{overflow-wrap:anywhere}
|
|
126
|
-
.post-content img,.post-content video,.post-content iframe,.page-builder img,.page-builder video{max-width:100%;height:auto}
|
|
127
|
-
.post-content pre,.code-widget pre,.steps-widget pre{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
|
|
128
|
-
.post-content table{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
|
|
129
|
-
.post-content th,.post-content td{overflow-wrap:anywhere}
|
|
130
|
-
.post-content blockquote{margin-inline:clamp(8px,3vw,32px)}
|
|
131
|
-
.post-content a,.post-content code,.meta,.tags{overflow-wrap:anywhere}
|
|
132
|
-
.site-header,.site-header nav,.locale-nav,.site-footer,.footer-navigation{min-width:0;max-width:100%;flex-wrap:wrap}
|
|
133
|
-
.site-header nav,.footer-navigation{row-gap:10px}
|
|
134
|
-
.local-search-page{max-width:760px;margin-inline:auto}
|
|
135
|
-
.local-search-form label{display:block;font-weight:700;margin-bottom:8px}
|
|
136
|
-
.local-search-controls{display:flex;gap:10px;min-width:0}
|
|
137
|
-
.local-search-controls input{flex:1 1 auto;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
|
|
138
|
-
.local-search-controls button{flex:0 0 auto;padding:10px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}
|
|
139
|
-
.local-search-form :focus-visible{outline:3px solid #cb774d;outline-offset:3px}
|
|
140
|
-
.local-search-results{padding-inline-start:1.5rem}
|
|
141
|
-
.local-search-results>li{padding:14px 0;border-top:1px solid var(--line)}
|
|
142
|
-
.local-search-results h2{margin:0;font-size:1.25rem}
|
|
143
|
-
.local-search-results time{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}
|
|
144
|
-
.local-search-results p{margin:8px 0 0}
|
|
145
|
-
.markdown-task-status{display:inline-block;min-width:1.35em;font-weight:800}
|
|
146
|
-
@media(max-width:620px){.local-search-controls{align-items:stretch;flex-direction:column}.local-search-controls button{min-height:44px}.post-content pre,.code-widget pre,.steps-widget pre{padding:12px}}
|
|
147
|
-
.locale-nav select{max-width:min(100%,13rem);padding:7px 30px 7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
|
|
148
|
-
.locale-nav select:focus-visible{outline:3px solid #cb774d;outline-offset:3px}
|
|
149
|
-
@media(max-width:620px){.locale-nav select{min-height:42px;max-width:100%}}
|
|
150
|
-
|
|
151
|
-
/* Article contents and code tools use theme styling and wrap on narrow screens. */
|
|
152
|
-
.post-toc-widget{position:fixed;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-start:50%;z-index:950;max-width:calc(100vw - 24px);transform:translateY(-50%);color:var(--ink);font:14px/1.5 var(--edgepress-font-sans)}
|
|
153
|
-
.post-toc-widget[hidden]{display:none}
|
|
154
|
-
.post-toc-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-weight:700;box-shadow:0 4px 18px #0002;cursor:pointer}
|
|
155
|
-
.post-toc-toggle .icon-library{width:18px;height:18px;flex:none}
|
|
156
|
-
.post-toc-toggle:focus-visible,.post-toc-close:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
|
|
157
|
-
.post-toc-panel{position:absolute;inset-inline-end:0;inset-block-end:calc(100% + 8px);display:grid;gap:8px;width:min(22rem,calc(100vw - 24px));max-height:min(60vh,32rem);overflow:auto;overscroll-behavior:contain;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 12px 36px #0003}
|
|
158
|
-
.post-toc-panel[hidden]{display:none}
|
|
159
|
-
.post-toc-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
|
|
160
|
-
.post-toc-heading h2{margin:0;font-size:1rem;letter-spacing:0}
|
|
161
|
-
.post-toc-close{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font:inherit;font-size:1.35rem;line-height:1;cursor:pointer}
|
|
162
|
-
.post-toc-panel ol{margin:0;padding-inline-start:0;list-style:none}
|
|
163
|
-
.post-toc-panel li{padding:3px 0;overflow-wrap:anywhere}
|
|
164
|
-
.post-toc-panel .post-toc-level-3{padding-inline-start:1rem}
|
|
165
|
-
.post-toc-panel .post-toc-level-4,.post-toc-panel .post-toc-level-5,.post-toc-panel .post-toc-level-6{padding-inline-start:2rem}
|
|
166
|
-
@media(max-width:620px){.post-toc-widget{inset-inline-start:max(12px,env(safe-area-inset-left));inset-inline-end:auto;inset-block-start:auto;inset-block-end:max(12px,env(safe-area-inset-bottom));transform:none}.post-toc-panel{inset-inline-start:0;inset-inline-end:auto;max-height:min(58vh,30rem)}.post-toc-toggle{min-height:44px}}
|
|
167
|
-
.post-content h2[id],.post-content h3[id],.post-content h4[id],.post-content h5[id],.post-content h6[id]{scroll-margin-top:1rem}
|
|
168
|
-
.code-copy-block{max-width:100%;margin:1.25em 0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#29271f}
|
|
169
|
-
.code-copy-block pre{margin:0;border-radius:0}
|
|
170
|
-
.code-copy-toolbar{display:flex;justify-content:flex-end;padding:7px 10px;background:var(--ink)}
|
|
171
|
-
.code-copy-button{min-height:36px;padding:5px 12px;border:1px solid currentColor;border-radius:3px;background:transparent;color:var(--paper);font:600 .88rem/1.3 var(--edgepress-font-sans);cursor:pointer}
|
|
172
|
-
.code-copy-button:hover{background:var(--accent)}
|
|
173
|
-
.code-copy-button:focus-visible{outline:3px solid #32745b;outline-offset:2px}
|
|
174
|
-
.code-copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
|
175
|
-
.post-content pre,.code-widget pre,.steps-widget pre{max-width:100%;overflow-x:hidden;overflow-y:visible;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;overscroll-behavior-inline:auto}
|
|
176
|
-
.post-content pre code,.code-widget pre code,.steps-widget pre code{white-space:inherit;overflow-wrap:inherit;word-break:inherit}
|
|
177
|
-
.pagination{flex-wrap:wrap;gap:12px}
|
|
178
|
-
@media(max-width:620px){.code-copy-button{min-height:44px}.post-content pre,.code-widget pre,.steps-widget pre{padding:12px}}
|
|
179
|
-
|
|
180
|
-
/* A contemporary studio palette: porcelain, berry, and apricot. */
|
|
181
|
-
:root{--paper:#fff8f4;--panel:#fffdfb;--ink:#30202e;--muted:#705b6b;--line:#ead7df;--accent:#a12f50;--warm:#a85a0b}
|
|
182
|
-
body{background:radial-gradient(ellipse at 88% 2%,#ffe5df 0,transparent 32%),var(--paper)}
|
|
183
|
-
.intro,.hero-block,.cta-block{background:linear-gradient(125deg,#fffdfb 0%,#ffebe4 100%)}
|
|
184
|
-
.page-section--soft,.error-page{background:#fff0ed}
|
|
185
|
-
.page-section--accent{background:#ffe8d1}
|
|
186
|
-
.page-section--dark{background:#352539}
|
|
187
|
-
.steps-widget pre,.code-widget pre,.code-copy-block{background:#30202e}
|
|
188
|
-
.table-widget th{background:#fae7e5}
|
|
189
|
-
.notice-widget{background:#fff0ed}
|
|
190
|
-
.notice-widget--warning{background:#fff0d7}
|
|
191
|
-
.notice-widget--success{background:#eaf5ec}
|
|
192
|
-
.code-copy-block pre{background:#30202e;color:#fff8f4}
|
|
193
|
-
.code-copy-button:focus-visible{outline-color:var(--warm)}
|
|
194
|
-
|
|
195
|
-
/* Shared EdgePress marks and bitmap icons keep common navigation recognizable across themes. */
|
|
196
|
-
.brand{display:inline-flex;align-items:center;gap:10px}
|
|
197
|
-
.brand-mark{display:block;width:36px;height:36px;flex:0 0 auto;object-fit:contain}
|
|
198
|
-
.primary-navigation a,.site-header nav a,.footer-navigation a{display:inline-flex;align-items:center;gap:.42em}
|
|
199
|
-
.navigation-icon{display:block;width:1.05em;height:1.05em;flex:0 0 auto;}
|
|
200
|
-
.hero-aside{display:grid;align-content:center;justify-items:center;gap:16px;min-width:0}
|
|
201
|
-
.hero-mascot{display:block;width:min(100%,230px);height:auto;max-height:220px;object-fit:contain;filter:drop-shadow(0 9px 13px #315e4922)}
|
|
202
|
-
.hero-aside .hero-highlights{width:100%;align-self:stretch}
|
|
203
|
-
.feature-icon{display:block;width:34px;height:34px;margin:0 0 10px;color:var(--accent);}
|
|
204
|
-
.latest-posts-pagination{justify-content:flex-start;gap:16px;margin-top:18px}
|
|
205
|
-
.latest-posts-pagination a:last-child{margin-left:auto}
|
|
206
|
-
.hero-mascot-picture{display:block;width:min(100%,230px)}
|
|
207
|
-
.post-excerpt{max-width:72ch;color:var(--muted);font-size:.95rem;line-height:1.6}
|
|
208
|
-
.post-excerpt p{margin:.35rem 0 0}
|
|
209
|
-
.post-excerpt p:first-child{margin-top:0}
|
|
210
|
-
.post-excerpt a{color:inherit}
|
|
211
|
-
.post-content .markdown-video{margin:1.5rem 0}
|
|
212
|
-
.post-content .markdown-video video{display:block;width:100%;max-width:100%;height:auto;border-radius:10px;background:#101410}
|
|
213
|
-
.post-content .markdown-video figcaption{margin-top:.5rem;color:var(--muted);font-size:.9rem}
|
|
214
|
-
.post-tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
|
|
215
|
-
.post-tags ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
|
|
216
|
-
.post-tags a{display:inline-block;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--accent);font-weight:600;text-decoration:none}
|
|
217
|
-
.post-tags a:hover{background:var(--line)}
|
|
218
|
-
|
|
219
|
-
/* Raster artwork and predictable spacing for generated page elements. */
|
|
220
|
-
.icon-library{display:inline-block;width:24px;height:24px;flex:none;object-fit:contain;vertical-align:middle}
|
|
221
|
-
.navigation-icon{width:20px;height:20px}
|
|
222
|
-
.feature-icon{width:32px;height:32px}
|
|
223
|
-
.post-toc-toggle .icon-library,.privacy-manager .icon-library{width:20px;height:20px}
|
|
224
|
-
.privacy-manager .privacy-accept .icon-library,.privacy-manager .privacy-reject .icon-library{filter:brightness(0) invert(1)}
|
|
225
|
-
.page-builder-cell{display:grid;align-content:start;gap:clamp(16px,2.5vw,28px)}
|
|
226
|
-
.page-builder-cell>*,.section-inner>*{min-width:0;margin-block:0}
|
|
227
|
-
.section-inner{display:grid;gap:16px}
|
|
228
|
-
.post-list{display:grid;gap:clamp(16px,2.5vw,24px)}
|
|
229
|
-
.archive-post-list{margin-block:24px}
|
|
230
|
-
.post-list>.post-card{margin:0}
|
|
231
|
-
.post-card .meta{margin-block:8px;line-height:1.6}
|
|
232
|
-
.latest-posts>h2,.feature-section>h2{margin-block:0 16px}
|
|
233
|
-
.pagination:not(.latest-posts-pagination){align-items:center;justify-content:center;gap:12px}
|
|
234
|
-
.pagination-pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
|
|
235
|
-
.pagination-pages a,.pagination-current{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel,var(--paper,var(--surface)));color:var(--ink);font-weight:600;text-decoration:none}
|
|
236
|
-
.pagination-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:800}
|
|
237
|
-
.pagination-ellipsis{padding-inline:4px;color:var(--muted)}
|
|
238
|
-
.hero-block--banner{grid-template-columns:minmax(0,1fr);gap:24px}
|
|
239
|
-
.hero-banner{display:block;width:min(100%,680px);height:auto;max-height:460px;margin:0 auto;object-fit:contain}
|
|
240
|
-
.hero-block--banner .hero-aside{max-width:100%}
|
|
241
|
-
|
|
242
|
-
.page-section--dark .icon-library{filter:brightness(0) invert(1)}
|
|
243
|
-
|
|
244
|
-
.brand-mark{width:36px;height:36px;object-fit:contain;border-radius:50%;background:#f8efdc;padding:2px}
|
|
245
|
-
.hero-mascot,.hero-mascot-picture{width:min(100%,320px);max-height:240px}
|
|
246
|
-
.hero-banner-picture{display:block;margin-top:24px}
|
|
247
|
-
|
|
248
|
-
/* Journal metadata and accessible project navigation. */
|
|
249
|
-
.navigation-select[hidden] { display: none; }
|
|
250
|
-
.navigation-select { display: inline-flex; align-items: center; gap: .42em; max-width: 100%; color: var(--accent); }
|
|
251
|
-
.navigation-select select { font: inherit; color: inherit; background: transparent; border: 0; border-radius: 0; padding: .25rem 0; min-height: 44px; max-width: 100%; field-sizing: content; cursor: pointer; }
|
|
252
|
-
.primary-navigation a { min-height: 44px; }
|
|
253
|
-
.navigation-select option { color: CanvasText; background: Canvas; }
|
|
254
|
-
.navigation-select select:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
|
|
255
|
-
.post-byline { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem 1.2rem; margin-block: 1rem; }
|
|
256
|
-
.post-byline .post-author { display: inline-flex; align-items: center; gap: .55rem; }
|
|
257
|
-
.author-avatar { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; object-fit: cover; }
|
|
258
|
-
.post-tags { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin-block: 1rem 1.5rem; }
|
|
259
|
-
.post-tag { display: inline-block; max-width: 100%; overflow-wrap: anywhere; border: 1px solid currentColor; border-radius: 1rem; padding: .15rem .6rem; font-size: .85em; }
|
|
260
|
-
|
|
261
|
-
.post-changes{margin:1.5rem 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--ink)}
|
|
262
|
-
.post-changes summary{cursor:pointer;font-weight:650;padding:1rem;min-height:44px;background:var(--surface,var(--panel,var(--paper,transparent)))}
|
|
263
|
-
.post-changes summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
|
|
264
|
-
.post-changes-list{display:grid;gap:1rem;padding:1rem}
|
|
265
|
-
.post-change-passage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
|
|
266
|
-
.post-change-side{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--surface,var(--panel,var(--paper,transparent)))}
|
|
267
|
-
.post-change-after{border-inline-start:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
|
|
268
|
-
.post-change-label{font-weight:650;margin:0 0 .75rem;font-size:.9rem;color:var(--muted,var(--ink))}
|
|
269
|
-
.post-change-content{overflow-wrap:anywhere;font-size:.95rem;line-height:1.7}
|
|
270
|
-
.post-change-content>:first-child{margin-top:0}.post-change-content>:last-child{margin-bottom:0}
|
|
271
|
-
.post-change-heading{font-weight:650;font-size:1.1rem;margin:.5rem 0}
|
|
272
|
-
.post-change-content img{max-width:100%;height:auto}.post-change-content pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
273
|
-
|
|
274
|
-
/* Media blocks inherit their page cell width, including mixed-column layouts. */
|
|
275
|
-
|
|
276
|
-
/* Align shared block geometry with Lumen while retaining this theme's palette. */
|
|
277
|
-
.site-header{display:block}
|
|
278
|
-
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;width:100%;min-width:0}
|
|
279
|
-
.header-inner>*{min-width:0}.brand{max-width:100%;overflow-wrap:anywhere}
|
|
280
|
-
.site-header .primary-navigation{align-items:center;justify-content:flex-end;column-gap:18px}
|
|
281
|
-
.locale-nav{padding:0}.locale-nav select{max-width:150px;min-height:44px}
|
|
282
|
-
.page-builder{display:grid;gap:clamp(24px,4vw,40px)}
|
|
283
|
-
.page-builder-row{align-items:stretch}
|
|
284
|
-
.page-builder-cell{display:grid;align-content:start;gap:clamp(16px,2.5vw,28px)}
|
|
285
|
-
.page-builder-cell>*{min-width:0;margin-block:0}
|
|
286
|
-
.image-block,.code-widget,.post-content figure{min-width:0;margin-inline:0}
|
|
287
|
-
.image-block img,.media-text-block img,.media-text-block video,.hero-mascot,.hero-banner{display:block;height:auto;max-height:none;max-width:100%;object-fit:contain}
|
|
288
|
-
.image-block figcaption,.media-text-block figcaption{font-size:.9rem;line-height:1.65;overflow-wrap:anywhere}
|
|
289
|
-
.hero-banner-picture,.hero-mascot-picture{display:block;min-width:0;max-width:100%}
|
|
290
|
-
.hero-block.hero-block--banner{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
|
|
291
|
-
.hero-banner-picture{margin-top:0}.hero-block--banner .hero-aside{max-width:100%}
|
|
292
|
-
.local-search-controls input{background:var(--paper,var(--panel));color:var(--ink)}
|
|
293
|
-
.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}
|
|
294
|
-
.site-footer>p{margin:0}.footer-navigation{align-items:center}
|
|
295
|
-
.post-toc-widget{inset-inline-start:auto;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-start:auto;inset-block-end:calc(max(12px,env(safe-area-inset-bottom)) + 56px);transform:none}
|
|
296
|
-
.post-toc-panel{inset-inline-start:auto;inset-inline-end:0}
|
|
297
|
-
@media(max-width:880px){.header-inner{grid-template-columns:minmax(0,1fr) auto}.primary-navigation{grid-column:1/-1;grid-row:2}.site-header .primary-navigation{justify-content:flex-start}.locale-nav{grid-column:2;grid-row:1}.brand{font-size:1.15rem}.locale-nav select{max-width:125px}.page-builder-row[data-columns="3"],.page-builder-row[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
|
|
298
|
-
@media(max-width:760px){.page-builder-row[data-columns="2"],.page-builder-row[data-columns="3"],.page-builder-row[data-columns="4"]{grid-template-columns:minmax(0,1fr)}.site-header .primary-navigation{gap:6px 16px}.site-footer{align-items:flex-start;flex-direction:column}.hero-block{grid-template-columns:minmax(0,1fr)}}
|
|
299
|
-
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
|
|
300
|
-
|
|
301
|
-
/* The Atelier rail keeps its vertical navigation on wide screens. */
|
|
302
|
-
.atelier-rail .header-inner{grid-template-columns:minmax(0,1fr);gap:16px}
|
|
303
|
-
.atelier-rail .primary-navigation,.atelier-rail .locale-nav{grid-column:auto;grid-row:auto;justify-content:flex-start}
|
|
304
|
-
.atelier-rail .primary-navigation{flex-direction:column;align-items:flex-start;margin-top:0}
|
|
305
|
-
.atelier-rail .brand{font-size:1.5rem}.atelier-rail .locale-nav{border-top:1px solid var(--line);padding-top:16px}
|
|
306
|
-
@media(max-width:760px){.atelier-rail .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px}.atelier-rail .primary-navigation{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center}.atelier-rail .locale-nav{grid-column:2;grid-row:1;border:0;padding:0}.atelier-rail .brand{font-size:1.15rem}}
|
|
307
|
-
|
|
308
|
-
.post-content a{text-decoration:underline;text-underline-offset:.18em}.post-byline time{font-variant-numeric:tabular-nums}
|
|
309
|
-
@media(max-width:600px){.post-byline>time,.post-byline .post-updated{flex-basis:100%;min-width:0}.post-byline time[data-date-only="false"],.post-updated{min-block-size:3.2em;line-height:1.6}}
|
|
310
|
-
|
|
311
|
-
/* Embed consent, status and controls inherit the surrounding website palette. */
|
|
312
|
-
.edgepress-oembed{width:100%;min-width:0;margin:1.5rem 0;padding:clamp(14px,3vw,24px);border:1px solid var(--line);border-radius:16px;background:var(--surface,var(--panel,var(--paper,transparent)));color:var(--ink);overflow-wrap:anywhere}
|
|
313
|
-
.edgepress-oembed>figcaption{font:inherit;font-weight:650;margin:0 0 .75rem}
|
|
314
|
-
.edgepress-oembed [data-oembed-notice]{color:var(--muted,var(--ink));font-size:.9rem;line-height:1.6;margin:.5rem 0 1rem}
|
|
315
|
-
.edgepress-oembed [data-oembed-load]{appearance:none;font:inherit;font-weight:650;min-height:44px;padding:10px 18px;margin:0 12px 12px 0;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:var(--paper);cursor:pointer;transition:filter .15s,transform .15s}
|
|
316
|
-
.edgepress-oembed [data-oembed-load]:hover{filter:brightness(1.1);transform:translateY(-1px)}
|
|
317
|
-
.edgepress-oembed [data-oembed-load]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
|
|
318
|
-
.edgepress-oembed[aria-busy=true] [data-oembed-load]{pointer-events:none;opacity:.6}
|
|
319
|
-
.edgepress-oembed>a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:.9rem}
|
|
320
|
-
.edgepress-oembed [data-oembed-status],.oembed-content{min-width:0;max-width:100%}
|
|
321
|
-
.edgepress-oembed [data-oembed-status]{min-height:clamp(160px,calc((100vw - 48px)*.75),480px);position:relative}
|
|
322
|
-
.edgepress-oembed .oembed-placeholder{aspect-ratio:var(--oembed-ratio,4/3);min-height:160px;border-radius:10px;background:linear-gradient(110deg,color-mix(in srgb,var(--surface,var(--paper,#fff)) 78%,var(--accent) 22%),color-mix(in srgb,var(--surface,var(--paper,#fff)) 92%,var(--accent) 8%),color-mix(in srgb,var(--surface,var(--paper,#fff)) 78%,var(--accent) 22%));background-size:200% 100%}
|
|
323
|
-
.edgepress-oembed.is-loading .oembed-placeholder{animation:edgepress-oembed-shimmer 1.4s linear infinite}
|
|
324
|
-
.edgepress-oembed[data-loaded=true] [data-oembed-status]{min-height:0}.edgepress-oembed[data-loaded=true] .oembed-placeholder{display:none}
|
|
325
|
-
@keyframes edgepress-oembed-shimmer{to{background-position:-200% 0}}
|
|
326
|
-
.edgepress-oembed iframe,.edgepress-oembed img,.edgepress-oembed blockquote{max-width:100%;margin-inline:auto;border-radius:10px}
|
|
327
|
-
.edgepress-oembed[data-loaded=true]>[data-oembed-notice]{margin-bottom:.25rem}
|
|
328
|
-
.oembed-caption{white-space:pre-wrap}
|
|
329
|
-
.post-change-content img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:var(--surface,var(--panel,var(--paper,transparent)));border-radius:8px}
|
|
330
|
-
@media(prefers-reduced-motion:reduce){.edgepress-oembed [data-oembed-load]{transition:none}}
|
|
331
|
-
@media(prefers-reduced-motion:reduce){.edgepress-oembed.is-loading .oembed-placeholder{animation:none}}
|
|
332
|
-
|
|
333
|
-
.project-demo{position:relative;min-width:0}.project-demo img{display:block;width:100%;height:auto;border-radius:12px}.project-demo-media{position:relative}.project-demo-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:12px}.project-demo-media.is-ready img{visibility:hidden}.project-demo [hidden]{display:none!important}.project-demo button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;padding:10px 18px;border:1px solid var(--accent);border-radius:999px;background:var(--surface,var(--panel,var(--paper,transparent)));color:var(--ink);font:inherit;font-weight:650;cursor:pointer}.project-demo button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.project-demo button:disabled{cursor:wait;opacity:.7}.project-demo-status{display:block;min-height:1.4em;color:var(--ink);font-size:.9rem;margin-top:6px}
|
|
334
|
-
|
|
335
|
-
.table-widget:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
|
|
336
|
-
|
|
337
|
-
.project-demo-seek{display:block;width:100%;min-height:44px;margin:4px 0;accent-color:var(--accent);cursor:pointer}.project-demo-seek:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.project-demo-time{display:block;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.5}.project-demo-seek:disabled{cursor:wait;opacity:.5}
|
|
338
|
-
|
|
339
|
-
/* Vertical touch gestures scroll the page; seeking requires horizontal intent. */
|
|
340
|
-
.project-demo-seek{touch-action:pan-y;user-select:none}
|
|
1
|
+
:root{color-scheme:light;--paper:#f3eee4;--panel:#fcfaf5;--ink:#29271f;--muted:#777064;--line:#d7cdbb;--accent:#93542f;font:16px/1.8 var(--edgepress-font-serif)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:var(--accent);text-underline-offset:.2em}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:16px;top:16px;padding:10px;background:var(--panel);outline:3px solid var(--accent);z-index:2}.atelier-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,760px);gap:clamp(32px,7vw,100px);max-width:1240px;margin:0 auto;padding:56px 34px}.atelier-rail{position:sticky;top:40px;align-self:start;min-height:75vh;display:flex;flex-direction:column}.brand{font:700 1.5rem/1.2 var(--edgepress-font-sans);color:var(--ink);text-decoration:none}.atelier-rail>p{color:var(--muted)}nav{display:flex;flex-direction:column;gap:8px;margin-top:22px}nav a{text-decoration:none;padding:5px 0}.locale-nav{border-top:1px solid var(--line);padding-top:16px}.atelier-rail footer{margin-top:auto;padding-top:32px;color:var(--muted);font-size:.9rem}.atelier-shell main{min-width:0;padding:12px 0}.intro{padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:3px;margin-bottom:36px}.intro h1,.post h1,.page h1,.atelier-shell main>section>h1{font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.08;letter-spacing:-.04em}.post-card{padding:24px 0;border-top:1px solid var(--line)}.post-card h2{margin:0;font:600 1.5rem/1.35 var(--edgepress-font-serif)}.meta,.tags{color:var(--muted);font-size:.9rem}.post-content img{max-width:100%;height:auto}.post-content pre{overflow:auto;padding:18px;background:#e9e1d3}.post-content code{font-family:var(--edgepress-font-mono)}.post-content blockquote{margin-left:0;padding-left:20px;border-left:3px solid var(--accent);color:var(--muted)}.pagination{display:flex;justify-content:space-between;margin-top:32px}a:focus-visible{outline:3px solid #32745b;outline-offset:3px}@media(max-width:760px){.atelier-shell{display:block;padding:26px 19px}.atelier-rail{position:static;min-height:0;border-bottom:1px solid var(--line);padding-bottom:20px}.atelier-rail nav{flex-direction:row;flex-wrap:wrap;gap:14px}.atelier-rail footer{margin-top:12px;padding-top:0}.atelier-shell main{padding-top:26px}}
|
|
2
|
+
|
|
3
|
+
/* The shell and content column expand so the footer remains at the bottom. */
|
|
4
|
+
body{display:flex;flex-direction:column;min-height:100vh}
|
|
5
|
+
.atelier-shell{flex:1;width:100%}
|
|
6
|
+
.atelier-shell main{min-height:0}
|
|
7
|
+
.site-footer{width:min(calc(100% - 68px),1240px);margin:0 auto;padding:22px 0;border-top:1px solid var(--line);color:var(--muted)}
|
|
8
|
+
.hero-block,.cta-block{padding:clamp(24px,5vw,56px);background:var(--panel);border:1px solid var(--line);border-radius:4px;margin:0 0 32px}
|
|
9
|
+
.hero-block h1,.hero-block h2{font-size:clamp(2.2rem,7vw,4.2rem);line-height:1.08;letter-spacing:-.04em;margin:.2em 0}
|
|
10
|
+
.eyebrow{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
|
|
11
|
+
.hero-copy{font-size:1.15rem;max-width:60ch;color:var(--muted)}
|
|
12
|
+
.button{display:inline-block;padding:10px 18px;border-radius:4px;background:var(--accent);color:white;text-decoration:none;font-weight:700}
|
|
13
|
+
.block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;margin:30px 0}
|
|
14
|
+
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
|
|
15
|
+
.feature-card,.faq-block details,.quote-block,.ad-slot,.captcha-block{padding:20px;border:1px solid var(--line);background:var(--panel)}
|
|
16
|
+
.image-block img{max-width:100%;height:auto}.image-block figcaption,.quote-block figcaption{color:var(--muted);font-size:.9rem}
|
|
17
|
+
.faq-block details{margin:12px 0}.faq-block summary{cursor:pointer;font-weight:700}
|
|
18
|
+
.ad-slot:empty{min-height:90px}.captcha-block{min-height:65px}
|
|
19
|
+
@media(max-width:760px){.site-footer{width:calc(100% - 38px)}}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
.privacy-manager{position:fixed;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-end:max(12px,env(safe-area-inset-bottom));z-index:1000;display:grid;align-content:end;gap:7px;box-sizing:border-box;width:min(28rem,calc(100vw - 24px));max-height:calc(100dvh - 24px);color:var(--ink,#1d2824);font:14px/1.45 var(--edgepress-font-sans);pointer-events:none;isolation:isolate}
|
|
23
|
+
.privacy-manager *{box-sizing:border-box}
|
|
24
|
+
.privacy-manager>*{min-width:0;pointer-events:auto}
|
|
25
|
+
.privacy-manager .privacy-settings-button,.privacy-manager .privacy-panel button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;max-width:100%;padding:9px 13px;border:1px solid var(--line,#c7d0c9);border-radius:999px;background:var(--paper,#fff);color:var(--ink,#1d2824);font:inherit;font-weight:700;line-height:1.25;text-align:center;overflow-wrap:anywhere;cursor:pointer}
|
|
26
|
+
.privacy-manager .privacy-settings-button{order:1;justify-self:end;box-shadow:0 4px 18px #0002}
|
|
27
|
+
.privacy-manager .privacy-panel{position:relative;order:0;display:grid;gap:9px;width:100%;max-height:min(66vh,40rem);max-height:min(66dvh,40rem);overflow:auto;overscroll-behavior:contain;padding:15px;border:1px solid var(--line,#c7d0c9);border-radius:14px;background:var(--paper,#fff);color:var(--ink,#1d2824);box-shadow:0 12px 40px #0003}
|
|
28
|
+
.privacy-manager .privacy-panel[hidden]{display:none}
|
|
29
|
+
.privacy-manager .privacy-panel h2{margin:0;padding-inline-end:44px;font-size:1.08rem;line-height:1.3}
|
|
30
|
+
.privacy-manager .privacy-panel p{margin:0;overflow-wrap:anywhere}
|
|
31
|
+
.privacy-manager .privacy-panel .privacy-close{position:absolute;inset-block-start:6px;inset-inline-end:6px;width:44px;min-width:44px;min-height:44px;padding:8px;border-radius:50%}
|
|
32
|
+
.privacy-manager .privacy-panel .privacy-close .icon-library{width:20px;height:20px}
|
|
33
|
+
.privacy-manager .icon-library{width:18px;height:18px;flex:none}
|
|
34
|
+
.privacy-manager .privacy-intro,.privacy-manager .privacy-essential,.privacy-manager .privacy-controller{color:var(--muted,#536159)}
|
|
35
|
+
.privacy-manager .privacy-service-settings{display:grid;gap:7px;min-width:0}
|
|
36
|
+
.privacy-manager .privacy-service-setting{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid var(--line,#c7d0c9);border-radius:10px;background:var(--panel,#fff)}
|
|
37
|
+
.privacy-manager .privacy-service-toggle{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;min-width:0;cursor:pointer}
|
|
38
|
+
.privacy-manager .privacy-service-toggle input{position:relative;grid-column:2;grid-row:1;width:42px;height:24px;margin:0;appearance:none;border:1px solid var(--line,#748079);border-radius:999px;background:var(--line,#748079);cursor:pointer}
|
|
39
|
+
.privacy-manager .privacy-service-toggle input::before{position:absolute;inset-block-start:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:var(--paper,#fff);content:"";transition:transform .16s ease}
|
|
40
|
+
.privacy-manager .privacy-service-toggle input:checked{border-color:var(--accent,#315e49);background:var(--accent,#315e49)}
|
|
41
|
+
.privacy-manager .privacy-service-toggle input:checked::before{transform:translateX(18px)}
|
|
42
|
+
.privacy-manager .privacy-service-toggle input:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
|
|
43
|
+
.privacy-manager .privacy-service-toggle-text{grid-column:1;grid-row:1;display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
|
|
44
|
+
.privacy-manager .privacy-service-toggle-text strong{font-size:.94rem}
|
|
45
|
+
.privacy-manager .privacy-service-purpose{color:var(--muted,#536159);font-size:.86rem;line-height:1.4}
|
|
46
|
+
.privacy-manager .privacy-details{min-width:0;margin:0;border-top:1px solid var(--line,#c7d0c9)}
|
|
47
|
+
.privacy-manager .privacy-details>summary{padding:7px 1px 0;font-size:.86rem;font-weight:700;cursor:pointer}
|
|
48
|
+
.privacy-manager .privacy-details>summary:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
|
|
49
|
+
.privacy-manager .privacy-service-disclosures{display:grid;gap:5px;margin:8px 0 0;font-size:.82rem;line-height:1.4}
|
|
50
|
+
.privacy-manager .privacy-service-disclosures>div{display:grid;grid-template-columns:minmax(5.2rem,.38fr) minmax(0,1fr);gap:8px;min-width:0}
|
|
51
|
+
.privacy-manager .privacy-service-disclosures dt{color:var(--muted,#536159);font-weight:650}
|
|
52
|
+
.privacy-manager .privacy-service-disclosures dd{min-width:0;margin:0;overflow-wrap:anywhere}
|
|
53
|
+
.privacy-manager .privacy-service-disclosures a,.privacy-manager .privacy-policy-link{overflow-wrap:anywhere}
|
|
54
|
+
.privacy-manager .privacy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
|
|
55
|
+
.privacy-manager .privacy-panel .privacy-accept,.privacy-manager .privacy-panel .privacy-reject{border-color:var(--accent,#315e49);background:var(--accent,#315e49);color:var(--paper,#fff)}
|
|
56
|
+
.privacy-manager .privacy-panel .privacy-accept:hover:not(:disabled),.privacy-manager .privacy-panel .privacy-reject:hover:not(:disabled){filter:brightness(.92)}
|
|
57
|
+
.privacy-manager .privacy-panel .privacy-save{grid-column:1/-1;background:transparent}
|
|
58
|
+
.privacy-manager .privacy-panel button:disabled{opacity:.55;cursor:not-allowed}
|
|
59
|
+
.privacy-manager .privacy-footer{display:grid;gap:5px;padding-block-start:8px;border-top:1px solid var(--line,#c7d0c9);font-size:.82rem}
|
|
60
|
+
.privacy-manager .privacy-controller{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px}
|
|
61
|
+
.privacy-manager .privacy-controller a{overflow-wrap:anywhere}
|
|
62
|
+
.privacy-manager .privacy-policy-link{width:fit-content;max-width:100%;font-size:.86rem}
|
|
63
|
+
.privacy-manager .privacy-policy-link:focus-visible,.privacy-manager .privacy-settings-button:focus-visible,.privacy-manager .privacy-panel button:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
|
|
64
|
+
.privacy-manager .privacy-empty{padding:9px;border:1px dashed var(--line,#c7d0c9);border-radius:8px;color:var(--muted,#536159)}
|
|
65
|
+
@media(max-width:560px){.privacy-manager{inset-inline-start:max(12px,env(safe-area-inset-left));width:auto;max-width:none}.privacy-manager .privacy-panel{max-height:min(66vh,40rem);max-height:min(66dvh,40rem);padding:13px}.privacy-manager .privacy-actions{gap:6px}}
|
|
66
|
+
.page-builder{display:grid;gap:24px}
|
|
67
|
+
.page-title h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.1;letter-spacing:-.04em}
|
|
68
|
+
.hero-block{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.8fr);gap:28px;padding:clamp(26px,5vw,54px);background:var(--panel);border:1px solid var(--line);margin:0 0 24px}
|
|
69
|
+
.hero-block:not(.hero-block--split){display:block}
|
|
70
|
+
.hero-highlights{display:grid;gap:10px;list-style:none;padding:0}
|
|
71
|
+
.hero-highlights li,.feature-card,.steps-widget li,.privacy-service-list li,.link-list li{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:4px}
|
|
72
|
+
.page-section{padding:clamp(20px,4vw,34px);margin:0}
|
|
73
|
+
.page-section--soft{background:var(--panel)}.page-section--accent{background:#eee0cf}.page-section--dark{background:#342f26;color:#fff}.page-section--dark a{color:#fff}
|
|
74
|
+
.section-inner{max-width:760px;margin-inline:auto}.section-inner--wide{max-width:none}.section-inner--narrow{max-width:620px}
|
|
75
|
+
.section-inner>h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2}
|
|
76
|
+
.feature-section{margin:22px 0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px}
|
|
77
|
+
.link-list ul,.steps-widget ol,.privacy-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;padding:0;list-style:none}
|
|
78
|
+
.link-list li>a{font-weight:700}.steps-widget h4{margin-top:0}.steps-widget li{counter-increment:step}.steps-widget ol{counter-reset:step}.steps-widget li:before{content:counter(step,decimal-leading-zero);color:var(--accent);font-weight:700}
|
|
79
|
+
.steps-widget pre,.code-widget pre{overflow:auto;padding:16px;background:#29271f;color:#fff;border-radius:4px}.code-widget figcaption{font-weight:700}
|
|
80
|
+
.table-widget{overflow-x:auto}.table-widget table{border-collapse:collapse;min-width:520px;width:100%;background:var(--panel)}.table-widget th,.table-widget td{border:1px solid var(--line);padding:9px 12px;text-align:left}.table-widget th{background:#eee8dc}
|
|
81
|
+
.notice-widget{padding:16px 20px;border-left:4px solid var(--accent);background:var(--panel)}.notice-widget--warning{border-color:#a76120;background:#f8ead6}.notice-widget--success{border-color:#327550;background:#e5f0e8}
|
|
82
|
+
.footer-navigation{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px}.site-header--hidden,.brand--hidden,.primary-navigation--hidden,.locale-nav--hidden,.site-footer--hidden,.footer-copy--hidden,.footer-navigation--hidden{display:none!important}
|
|
83
|
+
.error-page{max-width:620px;margin:6vh auto;padding:clamp(28px,6vw,64px);text-align:center;background:var(--panel);border:1px solid var(--line)}.error-code{margin:0;color:var(--accent);font-size:clamp(4rem,14vw,8rem);font-weight:700;line-height:1}
|
|
84
|
+
@media(max-width:760px){.hero-block{grid-template-columns:1fr}.atelier-header{padding:0;border:0}}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
/* Page files define row column counts and then element types inside each column. */
|
|
88
|
+
.page-builder-row{display:grid;gap:clamp(16px,2.5vw,30px);align-items:start}
|
|
89
|
+
.page-builder-row[data-columns="1"]{grid-template-columns:minmax(0,1fr)}
|
|
90
|
+
.page-builder-row[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
91
|
+
.page-builder-row[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
|
|
92
|
+
.page-builder-row[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
|
|
93
|
+
.page-builder-cell{min-width:0}
|
|
94
|
+
.page-builder-cell>.hero-block,.page-builder-cell>.page-section,.page-builder-cell>.feature-section,.page-builder-cell>.cta-block,.page-builder-cell>.faq-block,.page-builder-cell>.latest-posts{margin:0}
|
|
95
|
+
.display-text{font-size:clamp(1.8rem,5vw,4rem);line-height:1.08;letter-spacing:-.045em}
|
|
96
|
+
.display-text--serif{font-family:var(--edgepress-font-serif);font-weight:500}
|
|
97
|
+
.display-text--mono{font-family:var(--edgepress-font-mono);letter-spacing:-.06em}
|
|
98
|
+
.display-text--accent{color:var(--accent)}
|
|
99
|
+
.display-text--outline{-webkit-text-stroke:1px currentColor;color:transparent}
|
|
100
|
+
.media-text-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,48px)}
|
|
101
|
+
.media-text-block--right figure{order:2}
|
|
102
|
+
.media-text-block figure{min-width:0;margin:0}
|
|
103
|
+
.media-text-block img,.media-text-block video{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;border-radius:var(--media-radius,14px)}
|
|
104
|
+
.media-text-block figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}
|
|
105
|
+
.media-text-copy{max-width:62ch}
|
|
106
|
+
.media-text-copy h2{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2}
|
|
107
|
+
.privacy-controller-inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;margin:0}
|
|
108
|
+
.privacy-controller-inline span{min-width:0;overflow-wrap:anywhere}
|
|
109
|
+
.privacy-controller-separator{color:var(--muted)}
|
|
110
|
+
.privacy-vendor-link{display:inline-block;margin-block-start:4px}
|
|
111
|
+
.privacy-controller-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
|
|
112
|
+
.privacy-controller-details>div{padding:14px;border:1px solid var(--line);border-radius:10px}
|
|
113
|
+
.privacy-controller-details dt{font-size:.85rem;color:var(--muted);font-weight:700}
|
|
114
|
+
.privacy-controller-details dd{margin:4px 0 0;overflow-wrap:anywhere}
|
|
115
|
+
@media(max-width:760px){.page-builder-row[data-columns="2"],.page-builder-row[data-columns="3"],.page-builder-row[data-columns="4"]{grid-template-columns:minmax(0,1fr)}.media-text-block{grid-template-columns:1fr}.media-text-block--right figure{order:0}}
|
|
116
|
+
|
|
117
|
+
.page-builder,.page-builder-row,.page-builder-cell,.hero-block,.hero-main,.hero-highlights{min-width:0}
|
|
118
|
+
.page-builder-row{width:100%}
|
|
119
|
+
.media-text-block,.media-text-block>*{min-width:0}
|
|
120
|
+
@media(max-width:760px){html,body{max-width:100%}.site-header,main,.site-footer{max-width:100%;min-width:0}.hero-block{grid-template-columns:minmax(0,1fr)}.hero-highlights{grid-template-columns:minmax(0,1fr)}}
|
|
121
|
+
|
|
122
|
+
/* Keep long article content and generated page widgets inside narrow viewports. */
|
|
123
|
+
html,body{width:100%;min-width:0;max-width:100%}
|
|
124
|
+
main,.page-builder,.page-builder-row,.page-builder-cell,.post,.post-content,.post-content>*{min-width:0;max-width:100%}
|
|
125
|
+
.post-content,.page-builder{overflow-wrap:anywhere}
|
|
126
|
+
.post-content img,.post-content video,.post-content iframe,.page-builder img,.page-builder video{max-width:100%;height:auto}
|
|
127
|
+
.post-content pre,.code-widget pre,.steps-widget pre{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
|
|
128
|
+
.post-content table{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
|
|
129
|
+
.post-content th,.post-content td{overflow-wrap:anywhere}
|
|
130
|
+
.post-content blockquote{margin-inline:clamp(8px,3vw,32px)}
|
|
131
|
+
.post-content a,.post-content code,.meta,.tags{overflow-wrap:anywhere}
|
|
132
|
+
.site-header,.site-header nav,.locale-nav,.site-footer,.footer-navigation{min-width:0;max-width:100%;flex-wrap:wrap}
|
|
133
|
+
.site-header nav,.footer-navigation{row-gap:10px}
|
|
134
|
+
.local-search-page{max-width:760px;margin-inline:auto}
|
|
135
|
+
.local-search-form label{display:block;font-weight:700;margin-bottom:8px}
|
|
136
|
+
.local-search-controls{display:flex;gap:10px;min-width:0}
|
|
137
|
+
.local-search-controls input{flex:1 1 auto;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
|
|
138
|
+
.local-search-controls button{flex:0 0 auto;padding:10px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}
|
|
139
|
+
.local-search-form :focus-visible{outline:3px solid #cb774d;outline-offset:3px}
|
|
140
|
+
.local-search-results{padding-inline-start:1.5rem}
|
|
141
|
+
.local-search-results>li{padding:14px 0;border-top:1px solid var(--line)}
|
|
142
|
+
.local-search-results h2{margin:0;font-size:1.25rem}
|
|
143
|
+
.local-search-results time{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}
|
|
144
|
+
.local-search-results p{margin:8px 0 0}
|
|
145
|
+
.markdown-task-status{display:inline-block;min-width:1.35em;font-weight:800}
|
|
146
|
+
@media(max-width:620px){.local-search-controls{align-items:stretch;flex-direction:column}.local-search-controls button{min-height:44px}.post-content pre,.code-widget pre,.steps-widget pre{padding:12px}}
|
|
147
|
+
.locale-nav select{max-width:min(100%,13rem);padding:7px 30px 7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
|
|
148
|
+
.locale-nav select:focus-visible{outline:3px solid #cb774d;outline-offset:3px}
|
|
149
|
+
@media(max-width:620px){.locale-nav select{min-height:42px;max-width:100%}}
|
|
150
|
+
|
|
151
|
+
/* Article contents and code tools use theme styling and wrap on narrow screens. */
|
|
152
|
+
.post-toc-widget{position:fixed;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-start:50%;z-index:950;max-width:calc(100vw - 24px);transform:translateY(-50%);color:var(--ink);font:14px/1.5 var(--edgepress-font-sans)}
|
|
153
|
+
.post-toc-widget[hidden]{display:none}
|
|
154
|
+
.post-toc-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-weight:700;box-shadow:0 4px 18px #0002;cursor:pointer}
|
|
155
|
+
.post-toc-toggle .icon-library{width:18px;height:18px;flex:none}
|
|
156
|
+
.post-toc-toggle:focus-visible,.post-toc-close:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
|
|
157
|
+
.post-toc-panel{position:absolute;inset-inline-end:0;inset-block-end:calc(100% + 8px);display:grid;gap:8px;width:min(22rem,calc(100vw - 24px));max-height:min(60vh,32rem);overflow:auto;overscroll-behavior:contain;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 12px 36px #0003}
|
|
158
|
+
.post-toc-panel[hidden]{display:none}
|
|
159
|
+
.post-toc-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
|
|
160
|
+
.post-toc-heading h2{margin:0;font-size:1rem;letter-spacing:0}
|
|
161
|
+
.post-toc-close{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font:inherit;font-size:1.35rem;line-height:1;cursor:pointer}
|
|
162
|
+
.post-toc-panel ol{margin:0;padding-inline-start:0;list-style:none}
|
|
163
|
+
.post-toc-panel li{padding:3px 0;overflow-wrap:anywhere}
|
|
164
|
+
.post-toc-panel .post-toc-level-3{padding-inline-start:1rem}
|
|
165
|
+
.post-toc-panel .post-toc-level-4,.post-toc-panel .post-toc-level-5,.post-toc-panel .post-toc-level-6{padding-inline-start:2rem}
|
|
166
|
+
@media(max-width:620px){.post-toc-widget{inset-inline-start:max(12px,env(safe-area-inset-left));inset-inline-end:auto;inset-block-start:auto;inset-block-end:max(12px,env(safe-area-inset-bottom));transform:none}.post-toc-panel{inset-inline-start:0;inset-inline-end:auto;max-height:min(58vh,30rem)}.post-toc-toggle{min-height:44px}}
|
|
167
|
+
.post-content h2[id],.post-content h3[id],.post-content h4[id],.post-content h5[id],.post-content h6[id]{scroll-margin-top:1rem}
|
|
168
|
+
.code-copy-block{max-width:100%;margin:1.25em 0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#29271f}
|
|
169
|
+
.code-copy-block pre{margin:0;border-radius:0}
|
|
170
|
+
.code-copy-toolbar{display:flex;justify-content:flex-end;padding:7px 10px;background:var(--ink)}
|
|
171
|
+
.code-copy-button{min-height:36px;padding:5px 12px;border:1px solid currentColor;border-radius:3px;background:transparent;color:var(--paper);font:600 .88rem/1.3 var(--edgepress-font-sans);cursor:pointer}
|
|
172
|
+
.code-copy-button:hover{background:var(--accent)}
|
|
173
|
+
.code-copy-button:focus-visible{outline:3px solid #32745b;outline-offset:2px}
|
|
174
|
+
.code-copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
|
175
|
+
.post-content pre,.code-widget pre,.steps-widget pre{max-width:100%;overflow-x:hidden;overflow-y:visible;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;overscroll-behavior-inline:auto}
|
|
176
|
+
.post-content pre code,.code-widget pre code,.steps-widget pre code{white-space:inherit;overflow-wrap:inherit;word-break:inherit}
|
|
177
|
+
.pagination{flex-wrap:wrap;gap:12px}
|
|
178
|
+
@media(max-width:620px){.code-copy-button{min-height:44px}.post-content pre,.code-widget pre,.steps-widget pre{padding:12px}}
|
|
179
|
+
|
|
180
|
+
/* A contemporary studio palette: porcelain, berry, and apricot. */
|
|
181
|
+
:root{--paper:#fff8f4;--panel:#fffdfb;--ink:#30202e;--muted:#705b6b;--line:#ead7df;--accent:#a12f50;--warm:#a85a0b}
|
|
182
|
+
body{background:radial-gradient(ellipse at 88% 2%,#ffe5df 0,transparent 32%),var(--paper)}
|
|
183
|
+
.intro,.hero-block,.cta-block{background:linear-gradient(125deg,#fffdfb 0%,#ffebe4 100%)}
|
|
184
|
+
.page-section--soft,.error-page{background:#fff0ed}
|
|
185
|
+
.page-section--accent{background:#ffe8d1}
|
|
186
|
+
.page-section--dark{background:#352539}
|
|
187
|
+
.steps-widget pre,.code-widget pre,.code-copy-block{background:#30202e}
|
|
188
|
+
.table-widget th{background:#fae7e5}
|
|
189
|
+
.notice-widget{background:#fff0ed}
|
|
190
|
+
.notice-widget--warning{background:#fff0d7}
|
|
191
|
+
.notice-widget--success{background:#eaf5ec}
|
|
192
|
+
.code-copy-block pre{background:#30202e;color:#fff8f4}
|
|
193
|
+
.code-copy-button:focus-visible{outline-color:var(--warm)}
|
|
194
|
+
|
|
195
|
+
/* Shared EdgePress marks and bitmap icons keep common navigation recognizable across themes. */
|
|
196
|
+
.brand{display:inline-flex;align-items:center;gap:10px}
|
|
197
|
+
.brand-mark{display:block;width:36px;height:36px;flex:0 0 auto;object-fit:contain}
|
|
198
|
+
.primary-navigation a,.site-header nav a,.footer-navigation a{display:inline-flex;align-items:center;gap:.42em}
|
|
199
|
+
.navigation-icon{display:block;width:1.05em;height:1.05em;flex:0 0 auto;}
|
|
200
|
+
.hero-aside{display:grid;align-content:center;justify-items:center;gap:16px;min-width:0}
|
|
201
|
+
.hero-mascot{display:block;width:min(100%,230px);height:auto;max-height:220px;object-fit:contain;filter:drop-shadow(0 9px 13px #315e4922)}
|
|
202
|
+
.hero-aside .hero-highlights{width:100%;align-self:stretch}
|
|
203
|
+
.feature-icon{display:block;width:34px;height:34px;margin:0 0 10px;color:var(--accent);}
|
|
204
|
+
.latest-posts-pagination{justify-content:flex-start;gap:16px;margin-top:18px}
|
|
205
|
+
.latest-posts-pagination a:last-child{margin-left:auto}
|
|
206
|
+
.hero-mascot-picture{display:block;width:min(100%,230px)}
|
|
207
|
+
.post-excerpt{max-width:72ch;color:var(--muted);font-size:.95rem;line-height:1.6}
|
|
208
|
+
.post-excerpt p{margin:.35rem 0 0}
|
|
209
|
+
.post-excerpt p:first-child{margin-top:0}
|
|
210
|
+
.post-excerpt a{color:inherit}
|
|
211
|
+
.post-content .markdown-video{margin:1.5rem 0}
|
|
212
|
+
.post-content .markdown-video video{display:block;width:100%;max-width:100%;height:auto;border-radius:10px;background:#101410}
|
|
213
|
+
.post-content .markdown-video figcaption{margin-top:.5rem;color:var(--muted);font-size:.9rem}
|
|
214
|
+
.post-tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
|
|
215
|
+
.post-tags ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
|
|
216
|
+
.post-tags a{display:inline-block;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--accent);font-weight:600;text-decoration:none}
|
|
217
|
+
.post-tags a:hover{background:var(--line)}
|
|
218
|
+
|
|
219
|
+
/* Raster artwork and predictable spacing for generated page elements. */
|
|
220
|
+
.icon-library{display:inline-block;width:24px;height:24px;flex:none;object-fit:contain;vertical-align:middle}
|
|
221
|
+
.navigation-icon{width:20px;height:20px}
|
|
222
|
+
.feature-icon{width:32px;height:32px}
|
|
223
|
+
.post-toc-toggle .icon-library,.privacy-manager .icon-library{width:20px;height:20px}
|
|
224
|
+
.privacy-manager .privacy-accept .icon-library,.privacy-manager .privacy-reject .icon-library{filter:brightness(0) invert(1)}
|
|
225
|
+
.page-builder-cell{display:grid;align-content:start;gap:clamp(16px,2.5vw,28px)}
|
|
226
|
+
.page-builder-cell>*,.section-inner>*{min-width:0;margin-block:0}
|
|
227
|
+
.section-inner{display:grid;gap:16px}
|
|
228
|
+
.post-list{display:grid;gap:clamp(16px,2.5vw,24px)}
|
|
229
|
+
.archive-post-list{margin-block:24px}
|
|
230
|
+
.post-list>.post-card{margin:0}
|
|
231
|
+
.post-card .meta{margin-block:8px;line-height:1.6}
|
|
232
|
+
.latest-posts>h2,.feature-section>h2{margin-block:0 16px}
|
|
233
|
+
.pagination:not(.latest-posts-pagination){align-items:center;justify-content:center;gap:12px}
|
|
234
|
+
.pagination-pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
|
|
235
|
+
.pagination-pages a,.pagination-current{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel,var(--paper,var(--surface)));color:var(--ink);font-weight:600;text-decoration:none}
|
|
236
|
+
.pagination-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:800}
|
|
237
|
+
.pagination-ellipsis{padding-inline:4px;color:var(--muted)}
|
|
238
|
+
.hero-block--banner{grid-template-columns:minmax(0,1fr);gap:24px}
|
|
239
|
+
.hero-banner{display:block;width:min(100%,680px);height:auto;max-height:460px;margin:0 auto;object-fit:contain}
|
|
240
|
+
.hero-block--banner .hero-aside{max-width:100%}
|
|
241
|
+
|
|
242
|
+
.page-section--dark .icon-library{filter:brightness(0) invert(1)}
|
|
243
|
+
|
|
244
|
+
.brand-mark{width:36px;height:36px;object-fit:contain;border-radius:50%;background:#f8efdc;padding:2px}
|
|
245
|
+
.hero-mascot,.hero-mascot-picture{width:min(100%,320px);max-height:240px}
|
|
246
|
+
.hero-banner-picture{display:block;margin-top:24px}
|
|
247
|
+
|
|
248
|
+
/* Journal metadata and accessible project navigation. */
|
|
249
|
+
.navigation-select[hidden] { display: none; }
|
|
250
|
+
.navigation-select { display: inline-flex; align-items: center; gap: .42em; max-width: 100%; color: var(--accent); }
|
|
251
|
+
.navigation-select select { font: inherit; color: inherit; background: transparent; border: 0; border-radius: 0; padding: .25rem 0; min-height: 44px; max-width: 100%; field-sizing: content; cursor: pointer; }
|
|
252
|
+
.primary-navigation a { min-height: 44px; }
|
|
253
|
+
.navigation-select option { color: CanvasText; background: Canvas; }
|
|
254
|
+
.navigation-select select:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
|
|
255
|
+
.post-byline { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem 1.2rem; margin-block: 1rem; }
|
|
256
|
+
.post-byline .post-author { display: inline-flex; align-items: center; gap: .55rem; }
|
|
257
|
+
.author-avatar { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; object-fit: cover; }
|
|
258
|
+
.post-tags { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin-block: 1rem 1.5rem; }
|
|
259
|
+
.post-tag { display: inline-block; max-width: 100%; overflow-wrap: anywhere; border: 1px solid currentColor; border-radius: 1rem; padding: .15rem .6rem; font-size: .85em; }
|
|
260
|
+
|
|
261
|
+
.post-changes{margin:1.5rem 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--ink)}
|
|
262
|
+
.post-changes summary{cursor:pointer;font-weight:650;padding:1rem;min-height:44px;background:var(--surface,var(--panel,var(--paper,transparent)))}
|
|
263
|
+
.post-changes summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
|
|
264
|
+
.post-changes-list{display:grid;gap:1rem;padding:1rem}
|
|
265
|
+
.post-change-passage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
|
|
266
|
+
.post-change-side{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--surface,var(--panel,var(--paper,transparent)))}
|
|
267
|
+
.post-change-after{border-inline-start:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
|
|
268
|
+
.post-change-label{font-weight:650;margin:0 0 .75rem;font-size:.9rem;color:var(--muted,var(--ink))}
|
|
269
|
+
.post-change-content{overflow-wrap:anywhere;font-size:.95rem;line-height:1.7}
|
|
270
|
+
.post-change-content>:first-child{margin-top:0}.post-change-content>:last-child{margin-bottom:0}
|
|
271
|
+
.post-change-heading{font-weight:650;font-size:1.1rem;margin:.5rem 0}
|
|
272
|
+
.post-change-content img{max-width:100%;height:auto}.post-change-content pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
273
|
+
|
|
274
|
+
/* Media blocks inherit their page cell width, including mixed-column layouts. */
|
|
275
|
+
|
|
276
|
+
/* Align shared block geometry with Lumen while retaining this theme's palette. */
|
|
277
|
+
.site-header{display:block}
|
|
278
|
+
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;width:100%;min-width:0}
|
|
279
|
+
.header-inner>*{min-width:0}.brand{max-width:100%;overflow-wrap:anywhere}
|
|
280
|
+
.site-header .primary-navigation{align-items:center;justify-content:flex-end;column-gap:18px}
|
|
281
|
+
.locale-nav{padding:0}.locale-nav select{max-width:150px;min-height:44px}
|
|
282
|
+
.page-builder{display:grid;gap:clamp(24px,4vw,40px)}
|
|
283
|
+
.page-builder-row{align-items:stretch}
|
|
284
|
+
.page-builder-cell{display:grid;align-content:start;gap:clamp(16px,2.5vw,28px)}
|
|
285
|
+
.page-builder-cell>*{min-width:0;margin-block:0}
|
|
286
|
+
.image-block,.code-widget,.post-content figure{min-width:0;margin-inline:0}
|
|
287
|
+
.image-block img,.media-text-block img,.media-text-block video,.hero-mascot,.hero-banner{display:block;height:auto;max-height:none;max-width:100%;object-fit:contain}
|
|
288
|
+
.image-block figcaption,.media-text-block figcaption{font-size:.9rem;line-height:1.65;overflow-wrap:anywhere}
|
|
289
|
+
.hero-banner-picture,.hero-mascot-picture{display:block;min-width:0;max-width:100%}
|
|
290
|
+
.hero-block.hero-block--banner{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
|
|
291
|
+
.hero-banner-picture{margin-top:0}.hero-block--banner .hero-aside{max-width:100%}
|
|
292
|
+
.local-search-controls input{background:var(--paper,var(--panel));color:var(--ink)}
|
|
293
|
+
.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}
|
|
294
|
+
.site-footer>p{margin:0}.footer-navigation{align-items:center}
|
|
295
|
+
.post-toc-widget{inset-inline-start:auto;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-start:auto;inset-block-end:calc(max(12px,env(safe-area-inset-bottom)) + 56px);transform:none}
|
|
296
|
+
.post-toc-panel{inset-inline-start:auto;inset-inline-end:0}
|
|
297
|
+
@media(max-width:880px){.header-inner{grid-template-columns:minmax(0,1fr) auto}.primary-navigation{grid-column:1/-1;grid-row:2}.site-header .primary-navigation{justify-content:flex-start}.locale-nav{grid-column:2;grid-row:1}.brand{font-size:1.15rem}.locale-nav select{max-width:125px}.page-builder-row[data-columns="3"],.page-builder-row[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
|
|
298
|
+
@media(max-width:760px){.page-builder-row[data-columns="2"],.page-builder-row[data-columns="3"],.page-builder-row[data-columns="4"]{grid-template-columns:minmax(0,1fr)}.site-header .primary-navigation{gap:6px 16px}.site-footer{align-items:flex-start;flex-direction:column}.hero-block{grid-template-columns:minmax(0,1fr)}}
|
|
299
|
+
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
|
|
300
|
+
|
|
301
|
+
/* The Atelier rail keeps its vertical navigation on wide screens. */
|
|
302
|
+
.atelier-rail .header-inner{grid-template-columns:minmax(0,1fr);gap:16px}
|
|
303
|
+
.atelier-rail .primary-navigation,.atelier-rail .locale-nav{grid-column:auto;grid-row:auto;justify-content:flex-start}
|
|
304
|
+
.atelier-rail .primary-navigation{flex-direction:column;align-items:flex-start;margin-top:0}
|
|
305
|
+
.atelier-rail .brand{font-size:1.5rem}.atelier-rail .locale-nav{border-top:1px solid var(--line);padding-top:16px}
|
|
306
|
+
@media(max-width:760px){.atelier-rail .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px}.atelier-rail .primary-navigation{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center}.atelier-rail .locale-nav{grid-column:2;grid-row:1;border:0;padding:0}.atelier-rail .brand{font-size:1.15rem}}
|
|
307
|
+
|
|
308
|
+
.post-content a{text-decoration:underline;text-underline-offset:.18em}.post-byline time{font-variant-numeric:tabular-nums}
|
|
309
|
+
@media(max-width:600px){.post-byline>time,.post-byline .post-updated{flex-basis:100%;min-width:0}.post-byline time[data-date-only="false"],.post-updated{min-block-size:3.2em;line-height:1.6}}
|
|
310
|
+
|
|
311
|
+
/* Embed consent, status and controls inherit the surrounding website palette. */
|
|
312
|
+
.edgepress-oembed{width:100%;min-width:0;margin:1.5rem 0;padding:clamp(14px,3vw,24px);border:1px solid var(--line);border-radius:16px;background:var(--surface,var(--panel,var(--paper,transparent)));color:var(--ink);overflow-wrap:anywhere}
|
|
313
|
+
.edgepress-oembed>figcaption{font:inherit;font-weight:650;margin:0 0 .75rem}
|
|
314
|
+
.edgepress-oembed [data-oembed-notice]{color:var(--muted,var(--ink));font-size:.9rem;line-height:1.6;margin:.5rem 0 1rem}
|
|
315
|
+
.edgepress-oembed [data-oembed-load]{appearance:none;font:inherit;font-weight:650;min-height:44px;padding:10px 18px;margin:0 12px 12px 0;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:var(--paper);cursor:pointer;transition:filter .15s,transform .15s}
|
|
316
|
+
.edgepress-oembed [data-oembed-load]:hover{filter:brightness(1.1);transform:translateY(-1px)}
|
|
317
|
+
.edgepress-oembed [data-oembed-load]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
|
|
318
|
+
.edgepress-oembed[aria-busy=true] [data-oembed-load]{pointer-events:none;opacity:.6}
|
|
319
|
+
.edgepress-oembed>a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:.9rem}
|
|
320
|
+
.edgepress-oembed [data-oembed-status],.oembed-content{min-width:0;max-width:100%}
|
|
321
|
+
.edgepress-oembed [data-oembed-status]{min-height:clamp(160px,calc((100vw - 48px)*.75),480px);position:relative}
|
|
322
|
+
.edgepress-oembed .oembed-placeholder{aspect-ratio:var(--oembed-ratio,4/3);min-height:160px;border-radius:10px;background:linear-gradient(110deg,color-mix(in srgb,var(--surface,var(--paper,#fff)) 78%,var(--accent) 22%),color-mix(in srgb,var(--surface,var(--paper,#fff)) 92%,var(--accent) 8%),color-mix(in srgb,var(--surface,var(--paper,#fff)) 78%,var(--accent) 22%));background-size:200% 100%}
|
|
323
|
+
.edgepress-oembed.is-loading .oembed-placeholder{animation:edgepress-oembed-shimmer 1.4s linear infinite}
|
|
324
|
+
.edgepress-oembed[data-loaded=true] [data-oembed-status]{min-height:0}.edgepress-oembed[data-loaded=true] .oembed-placeholder{display:none}
|
|
325
|
+
@keyframes edgepress-oembed-shimmer{to{background-position:-200% 0}}
|
|
326
|
+
.edgepress-oembed iframe,.edgepress-oembed img,.edgepress-oembed blockquote{max-width:100%;margin-inline:auto;border-radius:10px}
|
|
327
|
+
.edgepress-oembed[data-loaded=true]>[data-oembed-notice]{margin-bottom:.25rem}
|
|
328
|
+
.oembed-caption{white-space:pre-wrap}
|
|
329
|
+
.post-change-content img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:var(--surface,var(--panel,var(--paper,transparent)));border-radius:8px}
|
|
330
|
+
@media(prefers-reduced-motion:reduce){.edgepress-oembed [data-oembed-load]{transition:none}}
|
|
331
|
+
@media(prefers-reduced-motion:reduce){.edgepress-oembed.is-loading .oembed-placeholder{animation:none}}
|
|
332
|
+
|
|
333
|
+
.project-demo{position:relative;min-width:0}.project-demo img{display:block;width:100%;height:auto;border-radius:12px}.project-demo-media{position:relative}.project-demo-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:12px}.project-demo-media.is-ready img{visibility:hidden}.project-demo [hidden]{display:none!important}.project-demo button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;padding:10px 18px;border:1px solid var(--accent);border-radius:999px;background:var(--surface,var(--panel,var(--paper,transparent)));color:var(--ink);font:inherit;font-weight:650;cursor:pointer}.project-demo button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.project-demo button:disabled{cursor:wait;opacity:.7}.project-demo-status{display:block;min-height:1.4em;color:var(--ink);font-size:.9rem;margin-top:6px}
|
|
334
|
+
|
|
335
|
+
.table-widget:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
|
|
336
|
+
|
|
337
|
+
.project-demo-seek{display:block;width:100%;min-height:44px;margin:4px 0;accent-color:var(--accent);cursor:pointer}.project-demo-seek:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.project-demo-time{display:block;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.5}.project-demo-seek:disabled{cursor:wait;opacity:.5}
|
|
338
|
+
|
|
339
|
+
/* Vertical touch gestures scroll the page; seeking requires horizontal intent. */
|
|
340
|
+
.project-demo-seek{touch-action:pan-y;user-select:none}
|