efficient-storefront-blocks 0.13.0 → 0.14.0

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +11 -6
  3. package/dist/chunks/EditorPreviewCheckout-B2WE4PQG.js +4 -0
  4. package/dist/chunks/{PreviewFooter-WL76Z4NK.js → PreviewFooter-WMJGEJ4V.js} +1 -1
  5. package/dist/chunks/SectionEditorShell-CS47KTY2.js +1 -0
  6. package/dist/chunks/SiteEditorProvider-SL2RMYRJ.js +1 -0
  7. package/dist/chunks/chunk-7LORPJCG.js +230 -0
  8. package/dist/chunks/chunk-AVM4NCES.js +16 -0
  9. package/dist/chunks/{chunk-I5J42GI3.js.LEGAL.txt → chunk-AVM4NCES.js.LEGAL.txt} +1 -1
  10. package/dist/chunks/chunk-F3PA63EP.js +1 -0
  11. package/dist/chunks/chunk-HHGLC5XH.js +153 -0
  12. package/dist/chunks/chunk-HHGLC5XH.js.LEGAL.txt +5 -0
  13. package/dist/chunks/chunk-MWOOPV76.js +1 -0
  14. package/dist/chunks/{chunk-QL3UVEEM.js → chunk-TCRMUJVM.js} +1 -1
  15. package/dist/chunks/chunk-Y2YO7JHE.js +1 -0
  16. package/dist/chunks/{fitment-data-3PTG4BJX.js → fitment-data-XD2SVBL7.js} +1 -1
  17. package/dist/chunks/render-client-LEJJONKA.js +1 -0
  18. package/dist/contract.js +1 -1
  19. package/dist/editor.css +1 -1
  20. package/dist/index.js +28 -215
  21. package/dist/links.js +1 -1
  22. package/package.json +5 -5
  23. package/dist/chunks/EditorPreviewCheckout-D2J57RZY.js +0 -4
  24. package/dist/chunks/SectionEditorShell-U3CXCPYO.js +0 -1
  25. package/dist/chunks/SiteEditorProvider-5HGJJCOZ.js +0 -1
  26. package/dist/chunks/chunk-BAXOL3AI.js +0 -1
  27. package/dist/chunks/chunk-I5J42GI3.js +0 -16
  28. package/dist/chunks/chunk-MSHAAJSK.js +0 -230
  29. package/dist/chunks/chunk-NQIIJI3Z.js +0 -1
  30. package/dist/chunks/chunk-R2JQPRJX.js +0 -1
  31. package/dist/chunks/chunk-XNYKOAQ3.js +0 -153
  32. package/dist/chunks/chunk-XNYKOAQ3.js.LEGAL.txt +0 -4
  33. package/dist/chunks/render-client-DYF6CWVJ.js +0 -1
  34. /package/dist/chunks/{gallery-builds-data-SWA6XKFF.js → gallery-builds-data-VVHHVNYW.js} +0 -0
  35. /package/dist/chunks/{headers-VF4VTX37.js → headers-UYHEZDAT.js} +0 -0
package/dist/contract.js CHANGED
@@ -1 +1 @@
1
- var y=["general","commerce","service"],l=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero Slideshow",set:"general"},{type:"HeroSingle",label:"Hero",set:"general"},{type:"IntroBleed",label:"Scroll-Over Text",set:"general"}]},{key:"shop",title:"Shop & galleries",templateable:!0,sections:[{type:"Collections",label:"Collections",set:"commerce"},{type:"BrandStrip",label:"Brand Strip",set:"commerce"},{type:"AlloyWheelsListing",label:"List",set:"commerce"},{type:"CatalogFilterBar",label:"Catalog Filter Bar",set:"commerce"},{type:"ProductGrid",label:"Product Grid",set:"commerce"},{type:"FitmentFinder",label:"Fitment Form",set:"commerce"},{type:"Gallery",label:"Tabbed Gallery",set:"commerce"},{type:"GalleryB",label:"Customer Photo Grid",set:"commerce"},{type:"SpecStrip",label:"Spec Strip",set:"general"}]},{key:"product",title:"Product page",templateable:!0,sections:[{type:"ProductHero",label:"Product Hero",set:"commerce"},{type:"SpecTable",label:"Spec Table",set:"commerce"},{type:"ProcessSteps",label:"Image & Text Columns",set:"general"},{type:"DetailRows",label:"Feature Rows",set:"commerce"},{type:"FitmentTable",label:"Fitment Table",set:"commerce"},{type:"TyreSizes",label:"Tyre Sizes",set:"commerce"},{type:"TyreFitment",label:"Tyre Fitment Form",set:"commerce"},{type:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"},{type:"RelatedProducts",label:"Related Products",set:"commerce"},{type:"BundleOffer",label:"Bundle Products",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"DeliveryOptions",label:"Delivery Options",set:"commerce"},{type:"PaymentBadges",label:"Payment Methods",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{type:"Manifesto",label:"Brand Text",set:"general"},{type:"Timeline",label:"Story Timeline",set:"general"},{type:"TimelineTrack",label:"Milestone Timeline",set:"general"},{type:"Footprint",label:"Locations Map",set:"general"}]},{key:"content",title:"Text & content",templateable:!0,sections:[{type:"Prose",label:"Editorial Text",set:"general"},{type:"ParagraphsA",label:"Lead Text",set:"general"},{type:"Split",label:"Image & Text Split",set:"general"},{type:"Cards",label:"Cards",set:"general"},{type:"KeyFeatures",label:"Key Features",set:"general"}]},{key:"proof",title:"Stats & social proof",templateable:!0,sections:[{type:"Stats",label:"Stats",set:"general"},{type:"StatsParagraph",label:"Stats with Text",set:"general"},{type:"Chart",label:"Chart",set:"general"},{type:"Mockup",label:"Mockup Card",set:"general"},{type:"Testimonials",label:"Testimonials",set:"general"},{type:"Reviews",label:"Reviews",set:"service"},{type:"Logos",label:"Logos",set:"general"}]},{key:"promo",title:"Promotions & sign-ups",templateable:!0,sections:[{type:"Banner",label:"Banner",set:"general"},{type:"TitleWithButtons",label:"Call-to-Action Heading",set:"general"},{type:"Ticker",label:"Scrolling Bar",set:"general"},{type:"Subscribe",label:"Signup Form",set:"service"}]},{key:"blog",title:"Blog & journal",templateable:!0,sections:[{type:"Masthead",label:"Issue Header",set:"general"},{type:"FeaturedCover",label:"Feature Banner",set:"general"},{type:"LongRead",label:"Article Text",set:"general"},{type:"Series",label:"Recurring Columns",set:"general"},{type:"Events",label:"Latest Posts",set:"service"}]},{key:"navigation",title:"Navigation & wayfinding",templateable:!0,sections:[{type:"Breadcrumb",label:"Breadcrumb",set:"general"},{type:"CategoryBar",label:"Category Bar",set:"general"},{type:"DocTabs",label:"Document Tabs",set:"general"}]},{key:"legal",title:"Legal & documents",templateable:!0,sections:[{type:"DocMasthead",label:"Document Header",set:"general"},{type:"DocBody",label:"Document Text",set:"general"},{type:"DocMetaCards",label:"Document Detail Cards",set:"general"}]},{key:"contact",title:"Contact, FAQ & forms",templateable:!0,sections:[{type:"FAQ",label:"Q&A",set:"general"},{type:"ContactRouting",label:"Contact Form",set:"service"},{type:"ContactLocations",label:"Contact / Locations",set:"general"},{type:"SubmitBuild",label:"Photo Submission Form",set:"service"},{type:"ReviewForm",label:"Review Form",set:"service"},{type:"Form",label:"Form",set:"service"},{type:"AppointmentBooking",label:"Booking Form",set:"service"}]},{key:"structure",title:"Layout, structure & embeds",templateable:!1,sections:[{type:"SectionHeader",label:"Section Header",set:"general"},{type:"Flex",label:"Box",set:"general"},{type:"Spacer",label:"Spacer",set:"general"},{type:"Divider",label:"Divider",set:"general"},{type:"CustomHTML",label:"Custom HTML",set:"general"}]}];var m={Grid:'Lewis, 2026-09-14: Box and Grid duplicate each other and it feels confusing. 2026-09-15 he chose the order: give Box uneven widths FIRST, then merge Grid into Box. Shown three ways to pick the widths (mockup "Uneven Box Widths"), he chose A \u2014 shape pictures on the Box\'s `Block widths` row, the same "a row is a shape, pick a picture of it" rule he set for the photo wall on 2026-09-07.\n\nWHAT REPLACES IT: a Box set to One row, with `Block widths` at Equal or a shape (Big left, Big right, Bigger left, Bigger right) and its own `Columns on phone`. Measured on PRODUCTION 2026-09-16 ~09:28 AEST (database `efficient-system`, all 10 tenant schemas, 128 storefront pages, both `layout` and `published_layout` \u2014 256 documents): 2 Grid nodes, and they are ONE Grid counted twice \u2014 the 9DIEM homepage on 9diem.com (`xtreme_mudder` schema), once as draft and once as published. It is top-level, holds three `ImageBlock`s at `columns` 3 \u2014 equal thirds \u2014 and NO block sets `Positions`. A Box draws that with `Block widths` at Equal.\n\n\u26A0\uFE0F THE COUNT MOVES; THE RULE MUST NOT DEPEND ON IT. This entry has already carried three different readings. A local-clone snapshot said no Grid used `Positions`. A PRODUCTION reading on 2026-09-15 ~13:15 AEST found 6 nodes on two sites, 4 of them spanned \u2014 hartesmetal.com.au homepage and about, 4 columns, spans 1 + 3. That one was TRUE when it was taken and stopped being true the same day: those two pages were rebuilt on Box (`Block widths: Bigger right`), and on 2026-09-16 they hold zero Grid nodes and are built from `Flex`. \u26D4 So the rule is NOT "there are still N spanned Grids". NEVER delete the Grid component or its `gridSpan` handling, whatever a census says \u2014 Grid still renders, still edits, still drags, and a merchant may rebuild a page either way on any day. Re-run the census on production before anyone PROPOSES deleting either, and read any number written here as the reading of its own day, not as the state of the world.\n\nWHAT A MERCHANT LOSES: a new Grid, and with it a fixed "N per row" that wraps by itself past three across, and the per-block `Positions` number. Box wraps with `Wrap`, but by content width, not by a fixed count.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Grid still renders through it and can still be edited, dragged and added to; no document is rewritten and NO MIGRATION RUNS \u2014 the owner redoes live sections himself.\n\n\u26A0\uFE0F AND IT STAYS DROPPABLE WHERE IT LIVES. The drop rule in lib/puck/config.tsx read the nestable containers off the catalogue\'s `structure` row, so leaving the catalogue would have made every open slot \u2014 a Box included \u2014 refuse a Grid already stored inside one. `scripts/test-retired-grid-stays-editable.tsx` \xA73 pins it.',CompatibleTyres:'Lewis, 2026-09-09: "Do not bother counting. Delete Compatible Tyres and use the new one. The new one needs complete settings \u2014 it must have every setting our cards have." Shown three ways to finish it, he chose C: retire from the menu now, and take styling the card text as its own card.\n\nWHAT REPLACES IT: `RelatedProducts` with its `Show` dropdown set to "Tyres that fit this product". That block is the GENERIC relationship section from card 1128 \u2014 it knows nothing about wheels or tyres, it asks the registry for a relationship by name. The two have rendered through the SAME renderer (`DynamicRelatedProducts`) since that card; this one is the pre-registry one-off that was never removed.\n\n\u26A0\uFE0F THE SWAP WAS NOT SAFE UNTIL #1305, AND SAYING SO IS THE POINT. The first old-versus-new table put in front of the owner was WRONG. `DynamicRelatedProducts` returns EARLY on a tyre answer and draws this component, so the seven card settings, the head split and the Width control all stopped at that call \u2014 nine settings, measured NO EFFECT, on precisely the relationship that replaces this block. #1283 gave the new block the card settings, #1299 the head split and its own Width, #1305 carried all of it onto the tyre branch. Only then was the claim true.\n\nWHAT WAS MEASURED BEFORE RETIRING, four ways, because the premise decides the card:\n \u2022 settable text kinds (SECTION_TEXT_KINDS): both blocks ABSENT \u2014 the map holds only TimelineTrack and Footprint, both AUTHORED lists\n \u2022 read-only text regions: neither `components/CompatibleTyres` nor `components/TyreCard` stamps one\n \u2022 panel rows through resolveFields: this block 31, `RelatedProducts` 42. This block\'s only style-ish key is `_sStyle`, the bucket HEADER, not a control\n \u2022 head text (num/title/description) is authored on both, so `_partStyles` reaches it identically\nSo on the CARD runs the two are zero against zero \u2014 neither can style them \u2014 and everywhere else the new block is ahead. Styling those runs needs a section-level prop family and a paint path for DERIVED text, which no section has yet: a part is anchored by matching an AUTHORED prop\'s string against the DOM, and `lib/puck/source-bound-parts` keeps hydrated copy unreachable on purpose so a merchant cannot type into a copy of a product name and lose it at the next sync. That is its own card, and `lib/sections/text-regions` is the read-only half that already ships.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT, the same contract Subscribe, Split and SubscribeBlogs have. Every page holding a `CompatibleTyres` still renders through it, no published document is rewritten, and NO MIGRATION RUNS \u2014 the owner\'s standing ruling of 2026-09-05: he redoes live sections himself and deletes the old ones when he does. He also said explicitly not to count them first.\n\n\u26A0\uFE0F AND THIS COMPONENT IS LOAD-BEARING FOR ITS OWN REPLACEMENT: `DynamicRelatedProducts` draws it for EVERY tyre answer. Deleting it would blank the block that replaces it, not just the pages still holding this one.',SubscribeBlogs:"card 66396 \u2014 folded into `Subscribe`, which now chooses its rail's content with a `Type` control (the newsletter's own issues, or live blog posts). The two shared 21 of their fields and rendered THE SAME BYTES from equivalent rows, so offering both asked a merchant to choose between two names for one section. The type key stays because it is stored on published pages, and the component stays because those pages still render through it."};var f=Array.from(new Set([...l.flatMap(e=>e.sections.map(t=>t.type)),...Object.keys(m)])),w=Object.fromEntries(l.flatMap(e=>e.sections.map(t=>[t.type,t.label]))),u={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",ButtonBlock:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",CollectionCard:"commerce",GalleryItem:"commerce",ProductRef:"commerce",CompatibleTyres:"commerce",Header:"commerce",SearchBlock:"commerce",CartBlock:"commerce",CountrySwitchBlock:"commerce",SubmitBox:"service",BookingBox:"service",SubscribeBlogs:"service",Footer:"service",FooterLogo:"service",FooterMenu:"service",FooterDivider:"service",FooterGroup:"service",FooterText:"service",FooterEmailSignup:"service",FooterSocial:"service",MenuBlock:"service",EmailFormBlock:"service",SocialLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},s={...u,...Object.fromEntries(l.flatMap(e=>e.sections.map(t=>[t.type,t.set])))};function b(e){return Object.prototype.hasOwnProperty.call(s,e)?s[e]:void 0}function i(e){return Object.keys(s).filter(t=>s[t]===e).sort()}var g=i("general"),S=i("commerce"),T=i("service");var E="Box",B=`${E}es`;var a=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function c(e){return a(e)&&typeof e.type=="string"&&e.type!==""&&a(e.props)}function h(e,t,o){if(Array.isArray(e))for(let r of e)c(r)?d(r,t,o):a(r)&&typeof r.type=="string"&&r.type!==""&&t.add(r.type)}function n(e,t,o){if(Array.isArray(e)){if(o.has(e))return;o.add(e);for(let r of e)c(r)?d(r,t,o):n(r,t,o)}else if(a(e)&&!o.has(e)){o.add(e);for(let r of Object.values(e))n(r,t,o)}}function d(e,t,o){if(!o.has(e)){o.add(e),t.add(e.type);for(let r of Object.values(e.props))n(r,t,o)}}function p(e){let t=new Set,o=new Set;if(c(e))d(e,t,o);else if(a(e)){if(h(e.content,t,o),a(e.zones))for(let r of Object.values(e.zones))h(r,t,o);a(e.root)&&n(e.root,t,o)}return[...t].sort()}export{y as BLOCK_SETS,S as COMMERCE_BLOCKS,g as GENERAL_BLOCKS,T as SERVICE_BLOCKS,b as blockSetOf,p as blockTypesIn};
1
+ var y=["general","commerce","service"],l=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero Slideshow",set:"general"},{type:"HeroSingle",label:"Hero",set:"general"},{type:"IntroBleed",label:"Scroll-Over Text",set:"general"}]},{key:"shop",title:"Shop & galleries",templateable:!0,sections:[{type:"Collections",label:"Collections",set:"commerce"},{type:"BrandStrip",label:"Brand Strip",set:"commerce"},{type:"AlloyWheelsListing",label:"List",set:"commerce"},{type:"CatalogFilterBar",label:"Catalog Filter Bar",set:"commerce"},{type:"ProductGrid",label:"Product Grid",set:"commerce"},{type:"FitmentFinder",label:"Fitment Form",set:"commerce"},{type:"Gallery",label:"Tabbed Gallery",set:"commerce"},{type:"GalleryB",label:"Customer Photo Grid",set:"commerce"},{type:"SpecStrip",label:"Spec Strip",set:"general"}]},{key:"product",title:"Product page",templateable:!0,sections:[{type:"ProductHero",label:"Product Hero",set:"commerce"},{type:"SpecTable",label:"Spec Table",set:"commerce"},{type:"ProcessSteps",label:"Image & Text Columns",set:"general"},{type:"DetailRows",label:"Feature Rows",set:"commerce"},{type:"FitmentTable",label:"Fitment Table",set:"commerce"},{type:"TyreSizes",label:"Tyre Sizes",set:"commerce"},{type:"TyreFitment",label:"Tyre Fitment Form",set:"commerce"},{type:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"},{type:"RelatedProducts",label:"Related Products",set:"commerce"},{type:"BundleOffer",label:"Bundle Products",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"DeliveryOptions",label:"Delivery Options",set:"commerce"},{type:"PaymentBadges",label:"Payment Methods",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{type:"Manifesto",label:"Brand Text",set:"general"},{type:"Timeline",label:"Story Timeline",set:"general"},{type:"TimelineTrack",label:"Milestone Timeline",set:"general"},{type:"Footprint",label:"Locations Map",set:"general"}]},{key:"content",title:"Text & content",templateable:!0,sections:[{type:"Prose",label:"Editorial Text",set:"general"},{type:"ParagraphsA",label:"Lead Text",set:"general"},{type:"Split",label:"Image & Text Split",set:"general"},{type:"Cards",label:"Cards",set:"general"},{type:"KeyFeatures",label:"Key Features",set:"general"}]},{key:"proof",title:"Stats & social proof",templateable:!0,sections:[{type:"Stats",label:"Stats",set:"general"},{type:"StatsParagraph",label:"Stats with Text",set:"general"},{type:"Chart",label:"Chart",set:"general"},{type:"Mockup",label:"Mockup Card",set:"general"},{type:"Testimonials",label:"Testimonials",set:"general"},{type:"Reviews",label:"Reviews",set:"service"},{type:"Logos",label:"Logos",set:"general"}]},{key:"promo",title:"Promotions & sign-ups",templateable:!0,sections:[{type:"Banner",label:"Banner",set:"general"},{type:"TitleWithButtons",label:"Call-to-Action Heading",set:"general"},{type:"Ticker",label:"Scrolling Bar",set:"general"},{type:"Subscribe",label:"Signup Form",set:"service"}]},{key:"blog",title:"Blog & journal",templateable:!0,sections:[{type:"Masthead",label:"Issue Header",set:"general"},{type:"FeaturedCover",label:"Feature Banner",set:"general"},{type:"LongRead",label:"Article Text",set:"general"},{type:"Series",label:"Recurring Columns",set:"general"},{type:"Events",label:"Latest Posts",set:"service"}]},{key:"navigation",title:"Navigation & wayfinding",templateable:!0,sections:[{type:"Breadcrumb",label:"Breadcrumb",set:"general"},{type:"CategoryBar",label:"Category Bar",set:"general"},{type:"DocTabs",label:"Document Tabs",set:"general"}]},{key:"legal",title:"Legal & documents",templateable:!0,sections:[{type:"DocMasthead",label:"Document Header",set:"general"},{type:"DocBody",label:"Document Text",set:"general"},{type:"DocMetaCards",label:"Document Detail Cards",set:"general"}]},{key:"contact",title:"Contact, FAQ & forms",templateable:!0,sections:[{type:"FAQ",label:"Q&A",set:"general"},{type:"ContactRouting",label:"Contact Form",set:"service"},{type:"ContactLocations",label:"Contact / Locations",set:"general"},{type:"SubmitBuild",label:"Photo Submission Form",set:"service"},{type:"ReviewForm",label:"Review Form",set:"service"},{type:"Form",label:"Form",set:"service"},{type:"AppointmentBooking",label:"Booking Form",set:"service"}]},{key:"structure",title:"Layout, structure & embeds",templateable:!1,sections:[{type:"SectionHeader",label:"Section Header",set:"general"},{type:"Flex",label:"Box",set:"general"},{type:"Spacer",label:"Spacer",set:"general"},{type:"Divider",label:"Divider",set:"general"},{type:"CustomHTML",label:"Custom HTML",set:"general"}]}];var m={Grid:'Lewis, 2026-09-14: Box and Grid duplicate each other and it feels confusing. 2026-09-15 he chose the order: give Box uneven widths FIRST, then merge Grid into Box. Shown three ways to pick the widths (mockup "Uneven Box Widths"), he chose A \u2014 shape pictures on the Box\'s `Block widths` row, the same "a row is a shape, pick a picture of it" rule he set for the photo wall on 2026-09-07.\n\nWHAT REPLACES IT: a Box set to One row, with `Block widths` at Equal or a shape (Big left, Big right, Bigger left, Bigger right) and its own `Columns on phone`. Measured on PRODUCTION 2026-09-16 ~09:28 AEST (database `efficient-system`, all 10 tenant schemas, 128 storefront pages, both `layout` and `published_layout` \u2014 256 documents): 2 Grid nodes, and they are ONE Grid counted twice \u2014 the 9DIEM homepage on 9diem.com (`xtreme_mudder` schema), once as draft and once as published. It is top-level, holds three `ImageBlock`s at `columns` 3 \u2014 equal thirds \u2014 and NO block sets `Positions`. A Box draws that with `Block widths` at Equal.\n\n\u26A0\uFE0F THE COUNT MOVES; THE RULE MUST NOT DEPEND ON IT. This entry has already carried three different readings. A local-clone snapshot said no Grid used `Positions`. A PRODUCTION reading on 2026-09-15 ~13:15 AEST found 6 nodes on two sites, 4 of them spanned \u2014 hartesmetal.com.au homepage and about, 4 columns, spans 1 + 3. That one was TRUE when it was taken and stopped being true the same day: those two pages were rebuilt on Box (`Block widths: Bigger right`), and on 2026-09-16 they hold zero Grid nodes and are built from `Flex`. \u26D4 So the rule is NOT "there are still N spanned Grids". NEVER delete the Grid component or its `gridSpan` handling, whatever a census says \u2014 Grid still renders, still edits, still drags, and a merchant may rebuild a page either way on any day. Re-run the census on production before anyone PROPOSES deleting either, and read any number written here as the reading of its own day, not as the state of the world.\n\nWHAT A MERCHANT LOSES: a new Grid, and with it a fixed "N per row" that wraps by itself past three across, and the per-block `Positions` number. Box wraps with `Wrap`, but by content width, not by a fixed count.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Grid still renders through it and can still be edited, dragged and added to; no document is rewritten and NO MIGRATION RUNS \u2014 the owner redoes live sections himself.\n\n\u26A0\uFE0F AND IT STAYS DROPPABLE WHERE IT LIVES. The drop rule in lib/puck/config.tsx read the nestable containers off the catalogue\'s `structure` row, so leaving the catalogue would have made every open slot \u2014 a Box included \u2014 refuse a Grid already stored inside one. `scripts/test-retired-grid-stays-editable.tsx` \xA73 pins it.',CompatibleTyres:'Lewis, 2026-09-09: "Do not bother counting. Delete Compatible Tyres and use the new one. The new one needs complete settings \u2014 it must have every setting our cards have." Shown three ways to finish it, he chose C: retire from the menu now, and take styling the card text as its own card.\n\nWHAT REPLACES IT: `RelatedProducts` with its `Show` dropdown set to "Tyres that fit this product". That block is the GENERIC relationship section from card 1128 \u2014 it knows nothing about wheels or tyres, it asks the registry for a relationship by name. The two have rendered through the SAME renderer (`DynamicRelatedProducts`) since that card; this one is the pre-registry one-off that was never removed.\n\n\u26A0\uFE0F THE SWAP WAS NOT SAFE UNTIL #1305, AND SAYING SO IS THE POINT. The first old-versus-new table put in front of the owner was WRONG. `DynamicRelatedProducts` returns EARLY on a tyre answer and draws this component, so the seven card settings, the head split and the Width control all stopped at that call \u2014 nine settings, measured NO EFFECT, on precisely the relationship that replaces this block. #1283 gave the new block the card settings, #1299 the head split and its own Width, #1305 carried all of it onto the tyre branch. Only then was the claim true.\n\nWHAT WAS MEASURED BEFORE RETIRING, four ways, because the premise decides the card:\n \u2022 settable text kinds (SECTION_TEXT_KINDS): both blocks ABSENT \u2014 the map holds only TimelineTrack and Footprint, both AUTHORED lists\n \u2022 read-only text regions: neither `components/CompatibleTyres` nor `components/TyreCard` stamps one\n \u2022 panel rows through resolveFields: this block 31, `RelatedProducts` 42. This block\'s only style-ish key is `_sStyle`, the bucket HEADER, not a control\n \u2022 head text (num/title/description) is authored on both, so `_partStyles` reaches it identically\nSo on the CARD runs the two are zero against zero \u2014 neither can style them \u2014 and everywhere else the new block is ahead. Styling those runs needs a section-level prop family and a paint path for DERIVED text, which no section has yet: a part is anchored by matching an AUTHORED prop\'s string against the DOM, and `lib/puck/source-bound-parts` keeps hydrated copy unreachable on purpose so a merchant cannot type into a copy of a product name and lose it at the next sync. That is its own card, and `lib/sections/text-regions` is the read-only half that already ships.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT, the same contract Subscribe, Split and SubscribeBlogs have. Every page holding a `CompatibleTyres` still renders through it, no published document is rewritten, and NO MIGRATION RUNS \u2014 the owner\'s standing ruling of 2026-09-05: he redoes live sections himself and deletes the old ones when he does. He also said explicitly not to count them first.\n\n\u26A0\uFE0F AND THIS COMPONENT IS LOAD-BEARING FOR ITS OWN REPLACEMENT: `DynamicRelatedProducts` draws it for EVERY tyre answer. Deleting it would blank the block that replaces it, not just the pages still holding this one.',SubscribeBlogs:"card 66396 \u2014 folded into `Subscribe`, which now chooses its rail's content with a `Type` control (the newsletter's own issues, or live blog posts). The two shared 21 of their fields and rendered THE SAME BYTES from equivalent rows, so offering both asked a merchant to choose between two names for one section. The type key stays because it is stored on published pages, and the component stays because those pages still render through it."};var f=Array.from(new Set([...l.flatMap(e=>e.sections.map(t=>t.type)),...Object.keys(m)])),w=Object.fromEntries(l.flatMap(e=>e.sections.map(t=>[t.type,t.label]))),b={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",ButtonBlock:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",CollectionCard:"commerce",GalleryItem:"commerce",ProductRef:"commerce",CompatibleTyres:"commerce",Header:"commerce",SearchBlock:"commerce",CartBlock:"commerce",CountrySwitchBlock:"commerce",SubmitBox:"service",BookingBox:"service",SubscribeBlogs:"service",Footer:"service",FooterLogo:"service",FooterMenu:"service",FooterDivider:"service",FooterGroup:"service",FooterText:"service",FooterEmailSignup:"service",FooterSocial:"service",MenuBlock:"service",EmailFormBlock:"service",SocialLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},r={...b,...Object.fromEntries(l.flatMap(e=>e.sections.map(t=>[t.type,t.set])))};function u(e){return Object.prototype.hasOwnProperty.call(r,e)?r[e]:void 0}function i(e){return Object.keys(r).filter(t=>r[t]===e).sort()}var g=i("general"),T=i("commerce"),S=i("service");var E="Box",B=`${E}es`;var s=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function c(e){return s(e)&&typeof e.type=="string"&&e.type!==""&&s(e.props)}function h(e,t,a){if(Array.isArray(e))for(let o of e)c(o)?d(o,t,a):s(o)&&typeof o.type=="string"&&o.type!==""&&t.add(o.type)}function n(e,t,a){if(Array.isArray(e)){if(a.has(e))return;a.add(e);for(let o of e)c(o)?d(o,t,a):n(o,t,a)}else if(s(e)&&!a.has(e)){a.add(e);for(let o of Object.values(e))n(o,t,a)}}function d(e,t,a){if(!a.has(e)){a.add(e),t.add(e.type);for(let o of Object.values(e.props))n(o,t,a)}}function p(e){let t=new Set,a=new Set;if(c(e))d(e,t,a);else if(s(e)){if(h(e.content,t,a),s(e.zones))for(let o of Object.values(e.zones))h(o,t,a);s(e.root)&&n(e.root,t,a)}return[...t].sort()}export{y as BLOCK_SETS,T as COMMERCE_BLOCKS,g as GENERAL_BLOCKS,S as SERVICE_BLOCKS,u as blockSetOf,p as blockTypesIn};
package/dist/editor.css CHANGED
@@ -1 +1 @@
1
- .sf-embedded{height:100%;min-height:0}.sf-embedded .sf-editor{height:100%}.sf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sf-actions-slot>button{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--sf-btn-border);background:var(--sf-panel);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--sf-btn-text)}.sf-actions-slot>button:hover{background:var(--sf-hover)}.sf-panel-heading{display:flex;align-items:baseline;gap:6px;min-width:0}.sf-panel-site{margin:0;min-width:0;overflow:hidden;font-size:11px;font-weight:500;color:var(--sf-muted);white-space:nowrap;text-overflow:ellipsis}.sf-panel-site:before{content:"\b7";margin-right:6px}.sf-x{width:24px;height:24px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;font-size:14px}.sf-x:hover{background:var(--sf-hover)}.sf-tree>.sf-row+.sf-row,.sf-tree>.sf-subtree+.sf-row{margin-top:var(--es-rhythm-between)}.sf-row{display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:var(--sf-row-radius);cursor:pointer;transition:background .12s;position:relative;--sf-row-scrim: var(--sf-panel)}.sf-row:hover{--sf-row-scrim: var(--sf-hover);background:var(--sf-row-scrim)}.sf-row.is-selected{--sf-row-scrim: var(--sf-accent-tint);background:var(--sf-row-scrim);box-shadow:inset 2px 0 0 var(--sf-accent)}.sf-row.is-selected .sf-chip{background:var(--sf-raised);color:var(--sf-accent)}.sf-row.is-selected .sf-row-name{color:var(--sf-accent-text);font-weight:600}.sf-gap{position:relative;display:block;width:100%;height:9px;margin:-2px 0;padding:0;border:0;background:transparent;cursor:pointer;z-index:1}.sf-gap-line{position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);border-radius:2px;background:var(--sf-accent);opacity:0;transition:opacity .12s}.sf-gap-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:18px;height:18px;border-radius:50%;background:var(--sf-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;box-shadow:0 0 0 2px var(--sf-panel);opacity:0;transition:opacity .12s,transform .12s}.sf-gap:hover .sf-gap-line,.sf-gap:focus-visible .sf-gap-line{opacity:1}.sf-gap:hover .sf-gap-plus,.sf-gap:focus-visible .sf-gap-plus{opacity:1;transform:translate(-50%,-50%) scale(1)}.sf-subtree{margin:var(--es-rhythm-between) 0 var(--es-rhythm-between) 16px;padding-left:9px;border-left:1px solid var(--sf-line);display:flex;flex-direction:column;gap:var(--es-rhythm-between)}.sf-addside-sitewide{display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px;border:1px solid var(--sf-divider);border-radius:10px}.sf-addside-sitewide-glyph{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--sf-hover);color:var(--sf-muted)}.sf-addside-sitewide-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;font:600 12.5px/1.3 var(--sf-font);color:var(--sf-text);text-align:left;cursor:pointer}.sf-addside-sitewide-name:hover{color:var(--sf-accent)}.sf-addside-sitewide-desc{font-weight:400;font-size:11.5px;color:var(--sf-muted)}.sf-box-footer-switch{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:18px 0 6px;padding:12px;border:1px solid var(--sf-divider);border-radius:10px}.sf-box-footer-switch-text{margin:0;font-size:12px;line-height:1.45;color:var(--sf-muted)}.sf-box-footer-switch-row{display:flex;gap:8px}.sf-thumb{--sf-thumb-card: #ffffff;--sf-thumb-thumb-bg: #fcfdff;--sf-thumb-thumb-border: #edeff4;--sf-thumb-block: #e9ebf0;--sf-thumb-bar-light: #dde1e8;--sf-thumb-bar-dark: #c3c9d3;--sf-thumb-hatch1: #e2e5ec;--sf-thumb-hatch2: #edeff4;--sf-thumb-accent: #2f6bed;--sf-thumb-accent-tint: #e6edfd;--sf-thumb-border: #e7eaf1;--sf-thumb-ink: #1b2027;--sf-thumb-ink-2: #39434f;--sf-thumb-ink-soft: #2c3540;--sf-thumb-ink-soft-2: #4a5763;--sf-thumb-paper: #f4f1ed;--sf-thumb-paper-2: #cfc8bf;--sf-thumb-warm: #e7c26a;--sf-thumb-rust: #b4652a;--sf-thumb-on-ink: #ffffff;--sf-thumb-scene-text: #171412;--sf-thumb-scene-muted: #6b7280;--sf-thumb-scene-rule: #eceef1;--sf-thumb-mark-1: #c8ccd1;--sf-thumb-mark-2: #8e9aa6;--sf-thumb-scrim: rgba(0, 0, 0, .55)}@keyframes sf-thumb-marquee{0%{transform:translate(0)}to{transform:translate(-33.34%)}}.sf-cleardlg-veil{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--sf-addcard-veil)}.sf-cleardlg{width:100%;max-width:360px;box-sizing:border-box;padding:20px;border:1px solid var(--sf-line);border-radius:9px;background:var(--sf-panel);color:var(--sf-text);box-shadow:0 20px 50px var(--sf-accent-shadow)}.sf-cleardlg-title{margin:0;font-size:15px;font-weight:600;color:var(--sf-text)}.sf-cleardlg-body{margin:8px 0 0;font-size:13px;line-height:1.6;color:var(--sf-muted)}.sf-cleardlg-final{margin:8px 0 0;font-size:13px;line-height:1.6;font-weight:500;color:var(--sf-text)}.sf-cleardlg-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.sf-cleardlg-btn{font-family:var(--sf-font);font-size:13px;padding:7px 14px;border-radius:var(--sf-field-radius);border:1px solid var(--sf-btn-border);background:var(--sf-panel);color:var(--sf-btn-text);cursor:pointer}.sf-cleardlg-btn:hover{background:var(--sf-hover)}.sf-cleardlg-btn--danger{font-weight:600;border-color:var(--sf-danger-strong);background:var(--sf-danger-strong);color:var(--sf-on-accent)}.sf-cleardlg-btn--danger:hover{filter:brightness(.94)}.sf-addcard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sf-addcard-veil);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .15s;pointer-events:none}.sf-addcard:hover .sf-addcard-overlay,.sf-addcard:focus-visible .sf-addcard-overlay{opacity:1}.sf-addcard-addbtn{display:inline-flex;align-items:center;gap:6px;background:var(--sf-accent);color:#fff;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:600;box-shadow:0 4px 12px var(--sf-accent-shadow)}.sf-addcard-plus{font-size:15px;line-height:1;margin-top:-1px}.sf-addcard-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.sf-addcard-name{font-size:12.5px;font-weight:600;color:var(--sf-text)}.sf-addcard-desc{font-size:10.5px;line-height:1.35;color:var(--sf-muted)}.sf-addempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:64px 20px;text-align:center;color:var(--sf-muted)}.sf-addempty-icon{display:flex;color:var(--sf-field-placeholder)}.sf-addempty-icon svg{width:30px;height:30px}.sf-addempty-title{font-size:14px;font-weight:600;color:var(--sf-text)}.sf-addempty-sub{font-size:12.5px}.sf-frame--tablet,.sf-frame--mobile{align-self:stretch}.sf-frame--tablet{width:800px;outline:1px solid var(--sf-device-border);outline-offset:-1px}.sf-frame--mobile{width:390px;outline:1px solid var(--sf-device-border);outline-offset:-1px}[data-puck-entry] .es-zone:empty:not(.is-area-selected):not(.is-hovering-area:not(.is-root)){outline:none}[data-puck-entry] .es-zone.is-area-selected:not(.is-root),[data-puck-entry] .es-zone.is-hovering-area:not(.is-root){outline:none}[data-puck-entry] .es-zone:empty:is(.is-area-selected,.is-hovering-area:not(.is-root)){outline:1px solid var(--es-accent-line, #bfdbfe)}[data-puck-overlay-portal]:hover{outline:1px solid var(--es-accent-tint-strong, #dbeafe);outline-offset:2px}[data-puck-overlay-portal],[data-puck-overlay-portal] *{pointer-events:auto!important}[data-puck-overlay-portal]:focus-within{outline:2px solid var(--es-accent-line, #bfdbfe);outline-offset:2px}[data-puck-overlay-portal]:hover:has([data-puck-overlay-portal]:hover){outline:none}.sf-insp-body{flex:1;overflow-y:auto;scrollbar-gutter:stable;--sf-insp-pad-x: 14px;padding:4px var(--sf-insp-pad-x) 18px;--sf-select-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c3c3c3'><polygon points='0,0 100,0 50,50'/></svg>")}@container (width < 280px){.sf-insp-body{--sf-insp-pad-x: 8px}}.sf-dupmenu-backdrop{position:fixed;inset:0;z-index:1000}.sf-dupmenu{position:fixed;z-index:1001;display:flex;flex-direction:column;gap:1px;min-width:200px;max-width:280px;max-height:60vh;overflow:auto;padding:4px;border:1px solid var(--sf-line);border-radius:8px;background:var(--sf-panel);box-shadow:0 8px 24px #0000001f}.sf-dupmenu-head{padding:6px 9px 4px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--sf-muted)}.sf-dupmenu-empty{padding:8px 9px;font-size:13px;color:var(--sf-muted)}.sf-dupmenu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;text-align:left;color:var(--sf-text)}.sf-dupmenu-item:hover:not(:disabled){background:var(--sf-accent-tint);color:var(--sf-accent)}.sf-dupmenu-item:disabled{cursor:default;opacity:.6}.sf-dupmenu-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-dupmenu-item>.sf-note{padding:0;flex:none;line-height:inherit}.sf-insp-body input[type=text],.sf-insp-body input[type=number],.sf-insp-body input:not([type]),.sf-insp-body textarea{width:100%;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;color:var(--sf-field-text);font-family:var(--sf-font)}.sf-insp-body input::placeholder,.sf-insp-body textarea::placeholder{color:var(--sf-field-placeholder);opacity:1}.sf-insp-body textarea{min-height:74px;line-height:1.45;resize:vertical}.sf-insp-body input[type=text]:focus,.sf-insp-body input:not([type]):focus,.sf-insp-body textarea:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-insp-body input[aria-invalid=true]{border-color:var(--sf-danger)}.sf-insp-body select{width:100%;border:1px solid var(--sf-input-border);background-color:var(--sf-field-bg);appearance:none;-webkit-appearance:none;background-image:var(--sf-select-arrow);background-size:12px;background-repeat:no-repeat;background-position:calc(100% - 12px) calc(50% + 3px);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;color:var(--sf-field-text);cursor:pointer}.sf-editor .sf-body .sf-panel .sf-insp-body select:hover{background-color:var(--sf-hover);background-image:var(--sf-select-arrow);border-color:var(--sf-input-border)}.sf-insp-body input[type=range]{accent-color:var(--sf-accent)}.sf-multi-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-multi-btn:focus-visible{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-multi-caret{font-size:10px;color:var(--sf-text-secondary);flex:none}.sf-multi-menu{margin:6px 0 0;padding:4px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);display:flex;flex-direction:column}.sf-secttheme-btn{display:block;width:100%}.sf-secttheme-btn:focus-within{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-secttheme-btn .sf-theme-pick:focus-visible,.sf-secttheme-btn .sf-theme-edit:focus-visible{outline:none}.sf-secttheme-caret{flex:none;border:0;background:none;padding:3px 2px 3px 6px;font:inherit;line-height:1;color:var(--sf-text-secondary);cursor:pointer}.sf-secttheme-oncard{margin:0;padding:5px 4px 7px;font-size:11px;line-height:1.4;color:var(--sf-text-secondary)}.sf-secttheme-nopreview{display:block;height:74px;background:var(--sf-field-bg);border-bottom:1px dashed var(--sf-input-border)}.sf-secttheme-chip{width:30px;height:20px;flex:none;display:flex;overflow:hidden;border-radius:4px;border:1px solid rgba(0,0,0,.14)}.sf-secttheme-chip i{display:block;height:100%;flex:1 1 auto}.sf-secttheme-chip i.sf-secttheme-chip-accent{flex:0 0 40%}.sf-secttheme-chip--none{background:var(--sf-field-bg);border-style:dashed}.sf-secttheme-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1 1 auto;min-width:0}.sf-secttheme-menu{display:flex;flex-direction:column;padding:4px;gap:8px;background:var(--sf-accent-tint)}.sf-secttheme-menu>.sf-secttheme-item{flex:none}.sf-secttheme-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 7px;border:0;background:transparent;border-radius:max(calc(var(--sf-field-radius) - 2px),2px);font-size:13px;font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-secttheme-item:hover{background:var(--sf-accent-ring)}.sf-secttheme-item.is-active{background:var(--sf-accent-ring);font-weight:600}.sf-secttheme-item:focus-visible,.sf-secttheme-done:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px;border-radius:4px}.sf-secttheme-sep{height:1px;margin:3px 0;background:var(--sf-input-border)}.sf-secttheme-sheet{margin-top:6px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);overflow:hidden}.sf-secttheme-sheet-head{display:flex;align-items:center;padding:6px 9px;background:var(--sf-field-bg);border-bottom:1px solid var(--sf-input-border);font-size:12px;font-weight:600;color:var(--sf-field-text)}.sf-secttheme-done{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--sf-text-secondary);font-size:11px;font-family:var(--sf-font);cursor:pointer}.sf-secttheme-rows{padding:0 12px 12px}.sf-secttheme-rows>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-secttheme-warn{margin:0;padding:7px 9px;border-top:1px solid var(--sf-input-border);background:var(--sf-accent-ring);font-size:11px;line-height:1.4;color:var(--sf-text-secondary)}.sf-panel--hidden{display:none}.sf-pages,.sf-styles{display:flex;flex-direction:column;min-height:0;height:100%}.sf-pages-search{flex:none;display:flex;align-items:center;gap:7px;margin:0 12px 8px;padding:7px 10px;background:var(--sf-track-bg);border-radius:8px;color:var(--sf-muted)}.sf-pages-search-input{flex:1;min-width:0;border:none;background:transparent;font-family:var(--sf-font);font-size:13px;color:var(--sf-text);outline:none}.sf-pages-search-input::placeholder{color:var(--sf-muted)}.sf-pages-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 8px}.sf-pages-list>.sf-note{padding:10px 12px}.sf-pages-list>.sf-note--error{margin:4px 4px 0}.sf-pgroup{margin-top:2px}.sf-pgroup-head{width:100%;display:flex;align-items:center;gap:7px;padding:8px 8px 6px;border:none;background:transparent;cursor:pointer;color:var(--sf-muted)}.sf-pgroup-head:hover{color:var(--sf-text)}.sf-pgroup-label{flex:1;text-align:left;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.sf-pgroup-count{flex:none;font-size:11px;font-weight:600;color:var(--sf-muted);background:var(--sf-track-bg);border-radius:999px;padding:1px 7px}.sf-pgroup-body{display:flex;flex-direction:column}.sf-prow{text-decoration:none;color:inherit}.sf-page-draft{flex:none;font-size:10px;font-weight:600;color:var(--sf-muted);text-transform:uppercase;letter-spacing:.3px}.sf-badge-dynamic,.sf-badge-lightbox{flex:none;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px}.sf-badge-dynamic{color:var(--sf-accent-text);background:var(--sf-accent-tint)}.sf-badge-lightbox{color:#047857;background:#ecfdf5}.sf-page-edit{flex:none;width:24px;height:24px;border:none;background:transparent;border-radius:6px;color:var(--sf-muted);display:none;align-items:center;justify-content:center;cursor:pointer}.sf-row:hover .sf-page-edit,.sf-row:focus-within .sf-page-edit{display:flex}.sf-page-edit:hover{background:var(--sf-hover);color:var(--sf-text)}.sf-page-edit--danger:hover{background:var(--sf-danger-tint);color:var(--sf-danger)}.sf-page-edit--danger:disabled{opacity:.5;cursor:default}.sf-badge-preview{flex:none;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px;color:var(--sf-warning);background:var(--sf-preview-tint)}.sf-pages-new{flex:none;margin:6px 10px 10px;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:1px dashed var(--sf-line);border-radius:var(--sf-row-radius);background:transparent;color:var(--sf-accent-text);font-family:var(--sf-font);font-size:13px;font-weight:600;cursor:pointer}.sf-pages-new:hover{background:var(--sf-hover)}.sf-row-del{width:22px;height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:var(--sf-danger);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;flex:none;transition:opacity .12s,background .12s,color .12s}.sf-row:hover .sf-row-del,.sf-row:focus-within .sf-row-del{opacity:.7;pointer-events:auto}.sf-row-del:hover{opacity:1;background:var(--sf-danger-tint);color:var(--sf-danger-strong)}.sf-panel-head-actions{display:flex;align-items:center;gap:2px}.sf-tree-tool{margin-top:14px;padding:10px 0 0 11px}.sf-insp-body .es-insp-tabs{padding:0;position:sticky;top:0;z-index:2;background:var(--sf-panel);box-shadow:0 -16px 0 0 var(--sf-panel)}.sf-field{margin-top:var(--es-rhythm-between)}.sf-insp-body .es-insp-row:has(.es-group-sub),.sf-theme-colours .es-group-sub,.sf-secttheme-rows .es-group-sub{border-top:1px solid var(--sf-line);margin-top:30px;padding-top:30px;margin-left:calc(var(--sf-insp-pad-x) * -1);margin-right:calc(var(--sf-insp-pad-x) * -1);padding-left:var(--sf-insp-pad-x);padding-right:var(--sf-insp-pad-x)}.sf-insp-body .es-insp-row:has(.es-group-sub) .es-group-sub{margin-top:0}.sf-insp-body .es-insp-row:nth-child(1 of:not([hidden],:empty,:has(>[data-sf-device-hidden],>[data-sf-no-control]))):has(.es-group-sub){border-top:0;margin-top:0;padding-top:var(--es-rhythm-group-first)}.sf-insp-body .es-insp-row:has(.es-group-sub)+.es-insp-row .sf-field,.sf-insp-body .es-insp-row:has(.es-group-head)+.es-insp-row .sf-field{margin-top:var(--es-rhythm-group-first)}.sf-field-label{display:block;font-size:12px;font-weight:500;color:var(--sf-text-secondary);margin-bottom:var(--es-rhythm-within)}.sf-field-label--inline{margin-bottom:0}.sf-panel--right.sf-hints-folded .es-field-hint:not(.sf-hint-keep):not(:has(.sf-hint-keep)){display:none}.es-field-hint:has(.sf-hint-while-typing){display:none}.es-field:focus-within>.es-field-hint:has(.sf-hint-while-typing){display:block}.es-insp-row:has(>[data-sf-no-control]){display:none!important}.sf-header-value[data-changed]{color:var(--sf-text)}.sf-field-readonly{border:1px solid var(--sf-input-border);background:var(--sf-chip-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;color:var(--sf-text-secondary);font-family:var(--sf-font);cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-field-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--es-rhythm-within)}.sf-field-head .sf-field-label{flex:1;min-width:0;margin-bottom:0}.sf-field-eye{flex:none;width:22px;height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;opacity:.6;transition:background .12s,color .12s,opacity .12s}.sf-field-eye:hover{background:var(--sf-hover);opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden .es-field-label{color:var(--sf-muted);text-decoration:line-through}.es-field.is-hidden .sf-field-eye{opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden input,.es-field.is-hidden textarea{opacity:.5}.sf-copybox>.es-copy-bar,.es-list-above>.es-copy-bar{display:flex;align-items:center;gap:2px;margin-bottom:0}.sf-copybox>.es-copy-bar,.es-list-above>.es-copy-bar{flex-wrap:wrap;row-gap:2px}.sf-markup-btn,.sf-copybox .es-copy-mark.has-glyph,.es-list-above .es-copy-mark.has-glyph{width:24px}.sf-copybox .es-copy-mark:not(.has-glyph),.es-list-above .es-copy-mark:not(.has-glyph){padding:0 6px;font-size:11px;line-height:1;white-space:nowrap}.sf-markup-btn,.sf-copybox .es-copy-mark,.es-list-above .es-copy-mark{height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:var(--sf-icon);display:flex;align-items:center;justify-content:center;opacity:.75;transition:background .12s,color .12s,opacity .12s}.sf-markup-btn:hover:not(:disabled),.sf-copybox .es-copy-mark:hover:not(:disabled),.es-list-above .es-copy-mark:hover:not(:disabled){background:var(--sf-hover);color:var(--sf-text-secondary);opacity:1}.sf-markup-btn:active:not(:disabled),.sf-copybox .es-copy-mark:active:not(:disabled),.es-list-above .es-copy-mark:active:not(:disabled){background:var(--sf-accent-tint);color:var(--sf-accent-text)}.sf-markup-btn:disabled,.sf-copybox .es-copy-mark:disabled,.es-list-above .es-copy-mark:disabled{color:var(--sf-disabled);cursor:default}.sf-copybox>.es-copy-bar>.es-copy-bar-split,.es-list-above>.es-copy-bar>.es-copy-bar-split{margin-left:auto;height:14px}.sf-copybox>.es-copy-bar>.sf-markup-clear,.es-list-above>.es-copy-bar>.sf-markup-clear{margin-left:auto}.sf-copybox>.es-copy-bar>.es-copy-bar-split,.es-list-above>.es-copy-bar>.es-copy-bar-split{align-self:center;margin-right:2px}.es-field.is-hidden .es-copy-bar{opacity:.5}.sf-copybox{border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);overflow:hidden}.sf-copybox:focus-within{border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-copybox>.es-copy-bar{margin-bottom:0;padding:3px 6px;border-bottom:1px solid var(--sf-input-border);background:var(--sf-hover)}.sf-copybox:not(:focus-within)>.es-copy-bar{display:none}.sf-copybox .es-copy-mark.is-active,.sf-copybox .es-copy-mark.is-active:hover:not(:disabled),.es-list-above .es-copy-mark.is-active,.es-list-above .es-copy-mark.is-active:hover:not(:disabled){background:var(--sf-accent-tint);color:var(--sf-accent-text)}.sf-copybox>input,.sf-copybox>textarea,.sf-insp-body .sf-copybox>input[type=text],.sf-insp-body .sf-copybox>input:not([type]),.sf-insp-body .sf-copybox>textarea{border:none;border-radius:0;background:transparent;display:block;width:100%}.sf-copybox>input:focus,.sf-copybox>textarea:focus,.sf-insp-body .sf-copybox>input[type=text]:focus,.sf-insp-body .sf-copybox>input:not([type]):focus,.sf-insp-body .sf-copybox>textarea:focus{box-shadow:none}.sf-swatches{display:flex;align-items:center;gap:10px}.sf-swatch{width:26px;height:26px;border-radius:7px;border:none;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #0000002e}.sf-swatch.is-active{box-shadow:0 0 0 2px var(--sf-panel),0 0 0 4px var(--sf-accent)}.sf-swatch-hex{font-size:11px;color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-left:2px}.es-field-head:has(>.es-pick-colour){flex-wrap:wrap}.es-field-head>.es-pick-colour{display:contents}.es-field-head>.es-pick-colour>.es-pick-colour-row{margin-left:auto}.es-field-head>.es-pick-colour>.es-pick-window{flex:1 0 100%;min-width:0;order:1}.sf-insp-body input[type=text].es-pick-hex{width:var(--es-pick-readout-w);border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 6px;font-size:12px;color:var(--es-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;flex:none}.sf-insp-body input[type=text].es-pick-hex:hover{border-color:var(--es-input-border)}.sf-insp-body input[type=text].es-pick-hex:focus{outline:none;border-color:var(--es-accent);box-shadow:none;background:var(--es-panel)}.sf-chooser{display:flex;width:100%;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-field-text);font-size:13px;text-align:left;cursor:pointer}.sf-chooser:hover{background:var(--sf-hover)}.sf-chooser-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-chooser-meta{flex:none;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--sf-disabled)}.sf-chooser-caret{flex:none;color:var(--sf-disabled)}.sf-chooser-menu{position:absolute;left:0;z-index:50;margin-top:4px;width:100%;overflow:hidden;padding:4px 0;border:1px solid var(--sf-divider);border-radius:var(--sf-field-radius);background:var(--sf-panel);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.sf-chooser-menu--tall{max-height:256px;overflow:hidden auto}.sf-chooser-item{display:flex;width:100%;align-items:center;gap:8px;padding:6px 10px;border:0;background:none;text-align:left;font-size:13px;color:var(--sf-text-secondary);cursor:pointer}.sf-chooser-item:hover{background:var(--sf-hover)}.sf-chooser-item.is-active{font-weight:600;color:var(--sf-text)}.sf-chooser-add{color:var(--sf-accent-text);font-weight:500}.sf-chooser-add:hover{background:var(--sf-hover)}.sf-rungs{display:flex;width:100%;gap:4px}.sf-rung{flex:1;padding:4px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text-secondary);font-size:12px;cursor:pointer}.sf-rung:hover:not(.is-active){background:var(--sf-hover)}.sf-rung.is-active{border-color:var(--sf-disabled);background:var(--sf-chip-bg);color:var(--sf-text);font-weight:600}.sf-shadow-chip{display:block;flex:none;box-sizing:border-box;width:16px;height:11px;border:1px solid var(--sf-disabled);background:var(--sf-field-bg)}.sf-hints{display:flex;margin-top:28px}.sf-hints-toggle{display:inline-flex;flex:none;align-items:center;gap:5px;color:var(--sf-muted)}.sf-hints-toggle svg{flex:none}.sf-scale-a{flex:none;font-size:11px;line-height:1;color:var(--sf-disabled)}.sf-scale-a--lg{font-size:15px;color:var(--sf-muted)}.sf-auto-reset{padding:2px 6px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);font-size:11px;color:var(--sf-text-secondary);cursor:pointer}.sf-auto-reset:hover{background:var(--sf-hover)}#sf-site-styles-tabpanel>:first-child{margin-top:var(--es-rhythm-group-first)}.sf-style-list{display:flex;flex-direction:column}.sf-style-head{display:flex;width:100%;align-items:center;gap:8px;padding:10px 0;background:none;border:0;text-align:left;cursor:pointer}.sf-style-head:hover .sf-style-sample{color:var(--sf-text)}.sf-style-caret{display:inline-flex;flex:none;align-items:center;color:var(--sf-disabled);transition:transform .12s ease}.sf-style-row.is-open .sf-style-caret{transform:rotate(90deg)}.sf-style-name{flex:none;font-size:11px;font-weight:600;color:var(--sf-muted)}.sf-style-sample{min-width:0;margin-left:auto;overflow:hidden;color:var(--sf-text);text-overflow:ellipsis;white-space:nowrap}.sf-style-slot{display:inline-flex;flex:none;width:14px;height:14px;align-items:center;justify-content:center;color:var(--sf-muted);opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.sf-style-slot.is-saved{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.sf-style-slot{transition:none}}.sf-style-body{padding:2px 0 12px}.sf-select{padding:5px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text);font-size:12px;cursor:pointer}.sf-rung--glyph{flex:0 0 34px;font-size:13px;line-height:18px;text-align:center}.sf-rung--glyph:disabled{color:var(--sf-disabled);cursor:not-allowed}.sf-rung--glyph:disabled:hover{background:var(--sf-field-bg)}.sf-theme-list{display:flex;flex-direction:column;gap:8px;margin-top:max(var(--es-row-gap),var(--es-rhythm-group-first))}.sf-theme-card,.sf-secttheme-btn{border:1px solid var(--sf-input-border);border-radius:9px;overflow:hidden;background:var(--sf-panel)}.sf-theme-card:hover,.sf-secttheme-btn:hover{border-color:var(--sf-muted)}.sf-theme-card.is-selected{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring)}.sf-theme-pick{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.sf-theme-page{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.sf-theme-eyebrow{font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}.sf-theme-headline{font-size:14px;font-weight:750;letter-spacing:-.01em;line-height:1.1}.sf-theme-body{font-size:9.5px;line-height:1.4;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-theme-row{display:flex;align-items:center;gap:7px;margin-top:1px}.sf-theme-btn{font-size:8.5px;font-weight:700;letter-spacing:.02em;padding:5px 11px;border-radius:4px;white-space:nowrap;flex:none}.sf-theme-mini{flex:1;min-width:0;height:22px;border-radius:3px;border:1px solid;display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:600;opacity:.75}.sf-theme-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px 6px 12px;background:var(--sf-hover)}.sf-theme-card.is-selected .sf-theme-foot{color:var(--sf-accent-text)}.sf-theme-name{font-size:11px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-theme-warn{flex:none;margin-left:auto;font-size:10px;font-weight:700;color:#b45309;white-space:nowrap}.sf-theme-warn+.sf-theme-edit{margin-left:8px}.sf-theme-name{margin-right:auto}.sf-theme-edit{flex:none;border:1px solid var(--sf-input-border);background:var(--sf-panel);border-radius:4px;font:inherit;font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--sf-text-secondary);padding:3px 8px;line-height:1.3;cursor:pointer}.sf-theme-edit:hover{border-color:var(--sf-muted);color:var(--sf-text)}.sf-theme-edit.is-open{background:var(--sf-accent);border-color:var(--sf-accent);color:#fff}.sf-theme-colours{padding:0 12px 12px}.sf-theme-colours[hidden]{display:none}.sf-theme-colours>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-theme-reset{width:100%;margin-top:var(--es-rhythm-between-tight);border:0;background:none;font:inherit;font-size:10.5px;font-weight:600;color:var(--sf-accent-text);padding:0;cursor:pointer;text-align:left}.sf-theme-reset:disabled{color:var(--sf-muted);cursor:default}.sf-theme-add{display:flex;align-items:center;gap:6px;margin-top:8px;border:0;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--sf-accent-text);padding:4px 0;cursor:pointer}.sf-theme-add:hover{text-decoration:underline}.sf-colour-lede{margin-top:-3px;margin-bottom:10px}.sf-colour-pair{border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius);padding:2px 11px 11px;background:var(--sf-app-bg)}.sf-colour-row{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sf-colour-mode{font-size:12px;font-weight:500;color:var(--sf-text-secondary)}.sf-colour-mode small{display:block;margin-top:1px;font-size:11px;font-weight:400;color:var(--sf-muted)}.sf-readability{margin-top:10px;padding:11px 12px 12px;border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius)}.sf-readability-head{margin-bottom:7px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-readability-row{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:12px}.sf-readability-who{flex:1;color:var(--sf-text-secondary)}.sf-readability-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--sf-disabled)}.sf-readability-val{color:var(--sf-muted)}.sf-readability-dot.is-good{background:var(--sf-muted)}.sf-readability-dot.is-large-only{background:var(--sf-warning)}.sf-readability-dot.is-hard{background:var(--sf-danger)}.sf-readability-val.is-good{color:var(--sf-text-secondary)}.sf-readability-val.is-large-only{color:var(--sf-warning)}.sf-readability-val.is-hard{color:var(--sf-danger)}.sf-readability-advice{margin-top:7px;font-size:11px;line-height:1.6;color:var(--sf-muted)}.sf-readability-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sf-readability-suggestion{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-btn-text);font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer}.sf-readability-suggestion:hover{background:var(--sf-hover)}.sf-readability-chip{width:9px;height:9px;flex:none;border-radius:2px;box-shadow:inset 0 0 0 1px #0000002e}.sf-slider{display:flex;align-items:center;gap:12px}.es-field-ctl>.sf-slider{flex:1;min-width:0}.sf-slider input[type=range]{flex:1;min-width:0;height:18px;margin:0;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}.sf-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--sf-track-bg);box-shadow:inset 0 0 0 1px var(--sf-input-border)}.sf-slider input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--sf-track-bg);box-shadow:inset 0 0 0 1px var(--sf-input-border)}.sf-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--sf-knob);border:2px solid var(--sf-accent);box-shadow:0 1px 2px #0000002e;transition:transform .12s}.sf-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sf-knob);border:2px solid var(--sf-accent);box-shadow:0 1px 2px #0000002e;transition:transform .12s}.sf-slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.sf-slider input[type=range]:hover::-moz-range-thumb{transform:scale(1.12)}.sf-slider.has-notch{position:relative}.sf-slider.has-notch:before{content:"";position:absolute;top:50%;left:calc(7px + (100% - 14px) * var(--sf-notch));width:2px;height:10px;margin-top:-5px;border-radius:1px;background:var(--sf-input-border);pointer-events:none}.sf-slider-val{font-size:12px;color:var(--sf-icon);font-variant-numeric:tabular-nums;min-width:42px;text-align:right;padding:0;border:none;background:none;font-family:inherit;line-height:inherit}button.sf-slider-val{cursor:text;border-radius:4px}button.sf-slider-val:hover{color:var(--sf-text);box-shadow:inset 0 0 0 1px var(--sf-input-border)}input.sf-slider-typed{width:42px;color:var(--sf-text);box-shadow:inset 0 0 0 1px var(--sf-accent);border-radius:4px;padding:1px 3px;touch-action:manipulation}input.sf-slider-typed:focus{outline:none}.sf-preview-pin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:9px 14px;background:var(--sf-panel)}.sf-preview-pin-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sf-preview-pin-label{font-size:13px;font-weight:500;color:var(--sf-text)}.sf-preview-pin-hint{font-size:11px;color:var(--sf-muted)}.sf-colstep{display:flex;align-items:center;gap:6px}.sf-colstep-btn{width:22px;height:22px;padding:0;border:1px solid var(--sf-line);border-radius:6px;background:transparent;color:var(--sf-text);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sf-colstep-btn:hover:not(:disabled){border-color:var(--sf-accent)}.sf-colstep-btn:disabled{opacity:.4;cursor:default}.sf-colstep-value{min-width:14px;text-align:center;font-size:13px;font-weight:500;color:var(--sf-text)}.sf-checkbox{cursor:pointer}.sf-checkbox input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--sf-accent);cursor:pointer}.sf-locked{opacity:.5;pointer-events:none}.sf-seg2 button:focus-visible,.sf-readability-suggestion:focus-visible,.sf-swatch:focus-visible,.sf-field-eye:focus-visible,.sf-slider input[type=range]:focus-visible,.sf-insp-body select:focus-visible,.sf-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf-seg2 button:focus-visible{outline-offset:-1px}.sf-seg2{display:flex;gap:3px;background:var(--sf-track-bg);border:1px solid var(--sf-input-border);border-radius:9px;padding:3px}.sf-seg2 button{flex:1;border:none;background:transparent;border-radius:6px;padding:6px 8px;font-size:12px;font-weight:500;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}@container (width < 280px){.sf-seg2 button{padding-inline:6px}}.sf-seg2 button:hover:not(.is-active){color:var(--sf-text-secondary);background:var(--sf-hover)}.sf-seg2 button.is-active{background:var(--sf-raised);color:var(--sf-text-strong);box-shadow:0 1px 2px #0000001a,0 0 0 1px #0000000a}.sf-seg2[data-disabled]{opacity:.5;cursor:not-allowed}.sf-seg2[data-disabled] button{cursor:not-allowed;color:var(--sf-disabled)}.sf-seg2[data-disabled] button.is-active{color:var(--sf-text-secondary)}.sf-seg2[data-disabled] button:hover:not(.is-active){background:transparent;color:var(--sf-disabled)}.sf-seg2 button>svg{display:block;margin:0 auto}.es-list-above>.es-copy-bar{margin-bottom:0}input.sf-list-marking{border-color:var(--sf-accent);box-shadow:0 0 0 1px var(--sf-accent-tint)}.sf-blogsource{display:flex;flex-direction:column;gap:9px}.sf-blogsource-status{margin:0;font-size:12px;color:var(--sf-text-secondary)}.sf-blogsource-status[data-state=error]{color:var(--sf-danger)}.sf-source-open{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--sf-accent-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sf-source-open:hover{color:var(--sf-accent)}.sf-source-open:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:2px}.sf-blogsource-btn{align-self:flex-start;padding:7px 14px;border:1px solid var(--sf-input-border);border-radius:8px;background:transparent;color:var(--sf-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.sf-blogsource-btn:hover:not(:disabled){border-color:var(--sf-accent);color:var(--sf-accent)}.sf-blogsource-btn:disabled{opacity:.55;cursor:default}.sf-formpicker{display:flex;flex-direction:column;gap:9px}.sf-formsummary-caption{margin-bottom:4px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--sf-text-secondary)}.sf-formsummary-fields{margin:0;padding-left:18px;font-size:12px;line-height:1.55;color:var(--sf-text-secondary)}.sf-formsummary-warn{margin:0;font-size:11.5px;line-height:1.45;color:var(--sf-danger)}.sf-formsummary-actions{display:flex;flex-wrap:wrap;gap:8px}.sf-image-btn{border:1px solid var(--sf-btn-border);background:var(--sf-panel);color:var(--sf-btn-text);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s}.sf-image-btn:hover:not(:disabled){background:var(--sf-hover)}.sf-image-btn:disabled{cursor:default;opacity:.55}.sf-image-status{margin-top:6px;font-size:11px;color:var(--sf-muted)}.sf-image-status--error{color:var(--sf-danger)}ul.sf-image-status{list-style:none;padding:0}.sf-image-status--error li{color:inherit;font-size:inherit}.sf-image-slot-inert{border:1.5px dashed var(--sf-input-border);border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.5;color:var(--sf-muted);background-image:repeating-linear-gradient(45deg,var(--sf-hatch) 0 1px,transparent 1px 12px)}.sf-focus{display:flex;flex-direction:column;gap:6px}.sf-focus-canvas{display:flex;align-items:center;justify-content:center;min-height:150px;padding:0;border:1px solid var(--sf-line);border-radius:6px;background:var(--sf-preview-bg);cursor:crosshair;touch-action:none}.sf-focus-canvas:focus-visible{outline:2px solid var(--sf-accent);outline-offset:1px}.sf-focus-pane{position:relative;display:inline-block;max-width:100%;line-height:0}.sf-focus-img{display:block;width:auto;height:auto;max-width:100%;max-height:150px;object-fit:contain}.sf-focus-cross{position:absolute;background:#ffffff73;pointer-events:none}.sf-focus-cross--h{right:0;left:0;height:1px}.sf-focus-cross--v{top:0;bottom:0;width:1px}.sf-focus-marker{position:absolute;width:18px;height:18px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1.5px #0000008c,0 1px 5px #0000007f;transform:translate(-50%,-50%);pointer-events:none}.sf-focus-bar{display:flex;align-items:center;gap:8px}.sf-focus-hint{min-width:0;flex:1;font-size:11px;color:var(--sf-muted)}.es-insp-rows:has([data-sf-focusing]) .es-pick-image-frame{display:none}.sf-note{padding:14px 16px;font-size:13px;line-height:1.5;color:var(--sf-muted)}.sf-note p+p{margin-top:8px}.sf-note strong{color:var(--sf-text);font-weight:600}.sf-note-detail{margin-top:10px;font-size:11px;color:var(--sf-muted);opacity:.75;word-break:break-all}.sf-note--error{color:var(--sf-danger);background:var(--sf-danger-tint);border-radius:6px}.sf-part-style{position:relative;margin:0 0 4px;padding:11px 13px;border:1px solid var(--sf-divider);border-radius:12px;background:var(--sf-track-bg)}.sf-part-style.has-overrides{border-color:var(--sf-accent-ring)}.sf-part-style.has-overrides:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--sf-accent);border-radius:12px 0 0 12px}.sf-part-style-caption{margin-bottom:2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-part-style-count{margin-bottom:3px;font-size:11px;font-weight:600;color:var(--sf-muted)}.sf-part-style-name{min-width:0;font-size:20px;line-height:1.15;letter-spacing:-.01em;color:var(--sf-text-strong);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-part-style-pick{position:relative}.sf-part-style-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0}.sf-part-style-trigger .sf-part-style-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-part-style-sign{margin-left:auto;width:16px;flex:none;text-align:center;color:var(--sf-muted);font-size:14px;line-height:1}.sf-part-style-trigger[aria-expanded=false] .sf-part-style-sign:before{content:"+"}.sf-part-style-trigger[aria-expanded=true] .sf-part-style-sign:before{content:"\2212"}.sf-part-style-trigger:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:3px}.sf-part-style-menu{position:absolute;z-index:30;left:0;right:0;box-shadow:0 8px 24px #0000002e}.sf-part-style-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:7px 9px;border:0;background:none;text-align:left;font-size:13px;color:var(--sf-field-text);border-radius:max(calc(var(--sf-field-radius) - 2px),2px);cursor:pointer}.sf-part-style-option:hover{background:var(--sf-accent-ring)}.sf-part-style-option:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-part-style-option.is-on{background:var(--sf-accent-ring);font-weight:600}.sf-part-style-option-name{flex:0 0 auto;white-space:nowrap}.sf-part-style-option .sf-note{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-fsel-label.sf-part-style-keep{flex:none}.sf-part-style-aside{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;color:var(--es-muted)}.sf-part-style-meta{margin-top:1px;font-size:11px;color:var(--sf-muted);font-variant-numeric:tabular-nums}.sf-part-style-top{display:flex;align-items:center;gap:9px;margin-top:8px}.sf-part-style-gap{flex:1}.sf-part-style-state{font-size:11.5px;color:var(--sf-text-secondary)}.sf-part-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;background:var(--sf-accent-tint);color:var(--sf-accent-text);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.sf-part-link{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:500;color:var(--sf-accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--sf-accent-ring)}.sf-part-link:hover{text-decoration-color:currentColor}.es-group-body>.sf-note{margin:12px 0 -4px;padding:0 0 0 2px}.sf-slot-rows>.sf-note{padding:10px 11px 12px}.sf-part-field.is-style-value>.es-field-head>.es-field-value,.sf-part-field.is-style-value>.es-field-head>.es-field-value>.sf-slider-val{color:var(--sf-muted)}.sf-part-select{width:100%;min-width:0}.sf-part-ink{display:flex;flex-direction:column;gap:8px;min-width:0}.sf-part-ink>.es-pick-colour>.es-pick-colour-row{align-self:flex-end}.sf-part-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--sf-accent);cursor:pointer}.sf-part-mark-dot{transform-origin:center;transition:transform .15s ease,opacity .15s ease}.sf-part-mark-arrow{opacity:0;transition:opacity .15s ease}.sf-part-mark:hover .sf-part-mark-dot,.sf-part-mark:focus-visible .sf-part-mark-dot{transform:scale(0);opacity:0}.sf-part-mark:hover .sf-part-mark-arrow,.sf-part-mark:focus-visible .sf-part-mark-arrow{opacity:1}@media(prefers-reduced-motion:reduce){.sf-part-mark-dot,.sf-part-mark-arrow{transition:none}}.sf-part-text{margin-top:4px;margin-bottom:4px}.sf-part-text .sf-copybox textarea{min-height:84px;line-height:1.5;resize:vertical}.sf-entries{margin-top:32px}.sf-entries-head{margin:14px 0 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-entry-eye{display:inline-flex;align-items:center;color:var(--sf-muted)}.sf-slot-rows .sf-add-card{padding:8px 11px;border-radius:0}.sf-image-drop{flex:1;min-width:0}.sf-image-drop.is-dragover .es-pick-image-slot{border-color:var(--sf-accent);background-color:var(--sf-accent-tint)}.sf-image-drop.is-dragover .es-pick-image-frame{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-gallery-filter{display:flex;gap:5px;flex-wrap:wrap}.sf-gallery-filter button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.sf-gallery-filter button:hover{background:var(--sf-hover)}.sf-gallery-filter button[aria-pressed=true]{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-on-accent)}.sf-gallery-layouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;margin-top:7px}.es-field-ctl>.sf-gallery-layouts,.es-field-ctl>.sf-gallery-filter{flex:1 1 auto;min-width:0}.sf-gallery-layouts button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:7px;padding:5px;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}.sf-gallery-layouts button:hover{background:var(--sf-hover)}.sf-gallery-layouts button[aria-pressed=true]{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring);background:var(--sf-panel)}.sf-gallery-pic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:6px;grid-auto-flow:row dense;gap:2px}.sf-gallery-pic i{display:block;background:var(--sf-track-bg);border-radius:1.5px}.sf-gallery-layouts button[aria-pressed=true] .sf-gallery-pic i{background:var(--sf-accent)}.sf-gallery-count{font-size:10.5px;color:var(--sf-disabled);margin-top:7px}.sf-locations-view{margin-top:var(--es-rhythm-between)}.sf-blogsource>.es-field-hint,.sf-formsummary .es-field-hint{margin:0}.es-field-ctl>.sf-copybox{flex:1 1 auto;min-width:0}.sf-focal-row{margin-top:var(--es-rhythm-between)}
1
+ .sf-embedded{height:100%;min-height:0}.sf-embedded .sf-editor{height:100%}.sf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sf-actions-slot>button{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--sf-btn-border);background:var(--sf-panel);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--sf-btn-text)}.sf-actions-slot>button:hover{background:var(--sf-hover)}.sf-panel-heading{display:flex;align-items:baseline;gap:6px;min-width:0}.sf-panel-site{margin:0;min-width:0;overflow:hidden;font-size:11px;font-weight:500;color:var(--sf-muted);white-space:nowrap;text-overflow:ellipsis}.sf-panel-site:before{content:"\b7";margin-right:6px}.sf-x{width:24px;height:24px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;font-size:14px}.sf-x:hover{background:var(--sf-hover)}.sf-tree>.sf-row+.sf-row,.sf-tree>.sf-subtree+.sf-row{margin-top:var(--es-rhythm-between)}.sf-row{display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:var(--sf-row-radius);cursor:pointer;transition:background .12s;position:relative;--sf-row-scrim: var(--sf-panel)}.sf-row:hover{--sf-row-scrim: var(--sf-hover);background:var(--sf-row-scrim)}.sf-row.is-selected{--sf-row-scrim: var(--sf-accent-tint);background:var(--sf-row-scrim);box-shadow:inset 2px 0 0 var(--sf-accent)}.sf-row.is-selected .sf-chip{background:var(--sf-raised);color:var(--sf-accent)}.sf-row.is-selected .sf-row-name{color:var(--sf-accent-text);font-weight:600}.sf-gap{position:relative;display:block;width:100%;height:9px;margin:-2px 0;padding:0;border:0;background:transparent;cursor:pointer;z-index:1}.sf-gap-line{position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);border-radius:2px;background:var(--sf-accent);opacity:0;transition:opacity .12s}.sf-gap-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:18px;height:18px;border-radius:50%;background:var(--sf-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;box-shadow:0 0 0 2px var(--sf-panel);opacity:0;transition:opacity .12s,transform .12s}.sf-gap:hover .sf-gap-line,.sf-gap:focus-visible .sf-gap-line{opacity:1}.sf-gap:hover .sf-gap-plus,.sf-gap:focus-visible .sf-gap-plus{opacity:1;transform:translate(-50%,-50%) scale(1)}.sf-subtree{margin:var(--es-rhythm-between) 0 var(--es-rhythm-between) 16px;padding-left:9px;border-left:1px solid var(--sf-line);display:flex;flex-direction:column;gap:var(--es-rhythm-between)}.sf-addside-sitewide{display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px;border:1px solid var(--sf-divider);border-radius:10px}.sf-addside-sitewide-glyph{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--sf-hover);color:var(--sf-muted)}.sf-addside-sitewide-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;font:600 12.5px/1.3 var(--sf-font);color:var(--sf-text);text-align:left;cursor:pointer}.sf-addside-sitewide-name:hover{color:var(--sf-accent)}.sf-addside-sitewide-desc{font-weight:400;font-size:11.5px;color:var(--sf-muted)}.sf-box-footer-switch{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:18px 0 6px;padding:12px;border:1px solid var(--sf-divider);border-radius:10px}.sf-box-footer-switch-text{margin:0;font-size:12px;line-height:1.45;color:var(--sf-muted)}.sf-box-footer-switch-row{display:flex;gap:8px}.sf-thumb{--sf-thumb-card: #ffffff;--sf-thumb-thumb-bg: #fcfdff;--sf-thumb-thumb-border: #edeff4;--sf-thumb-block: #e9ebf0;--sf-thumb-bar-light: #dde1e8;--sf-thumb-bar-dark: #c3c9d3;--sf-thumb-hatch1: #e2e5ec;--sf-thumb-hatch2: #edeff4;--sf-thumb-accent: #2f6bed;--sf-thumb-accent-tint: #e6edfd;--sf-thumb-border: #e7eaf1;--sf-thumb-ink: #1b2027;--sf-thumb-ink-2: #39434f;--sf-thumb-ink-soft: #2c3540;--sf-thumb-ink-soft-2: #4a5763;--sf-thumb-paper: #f4f1ed;--sf-thumb-paper-2: #cfc8bf;--sf-thumb-warm: #e7c26a;--sf-thumb-rust: #b4652a;--sf-thumb-on-ink: #ffffff;--sf-thumb-scene-text: #171412;--sf-thumb-scene-muted: #6b7280;--sf-thumb-scene-rule: #eceef1;--sf-thumb-mark-1: #c8ccd1;--sf-thumb-mark-2: #8e9aa6;--sf-thumb-scrim: rgba(0, 0, 0, .55)}@keyframes sf-thumb-marquee{0%{transform:translate(0)}to{transform:translate(-33.34%)}}.sf-addcard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sf-addcard-veil);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .15s;pointer-events:none}.sf-addcard:hover .sf-addcard-overlay,.sf-addcard:focus-visible .sf-addcard-overlay{opacity:1}.sf-addcard-addbtn{display:inline-flex;align-items:center;gap:6px;background:var(--sf-accent);color:#fff;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:600;box-shadow:0 4px 12px var(--sf-accent-shadow)}.sf-addcard-plus{font-size:15px;line-height:1;margin-top:-1px}.sf-addcard-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.sf-addcard-name{font-size:12.5px;font-weight:600;color:var(--sf-text)}.sf-addcard-desc{font-size:10.5px;line-height:1.35;color:var(--sf-muted)}.sf-addempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:64px 20px;text-align:center;color:var(--sf-muted)}.sf-addempty-icon{display:flex;color:var(--sf-field-placeholder)}.sf-addempty-icon svg{width:30px;height:30px}.sf-addempty-title{font-size:14px;font-weight:600;color:var(--sf-text)}.sf-addempty-sub{font-size:12.5px}.sf-frame--tablet,.sf-frame--mobile{align-self:stretch}.sf-frame--tablet{width:800px;outline:1px solid var(--sf-device-border);outline-offset:-1px}.sf-frame--mobile{width:390px;outline:1px solid var(--sf-device-border);outline-offset:-1px}[data-puck-entry] .es-zone:empty:not(.is-area-selected):not(.is-hovering-area:not(.is-root)){outline:none}[data-puck-entry] .es-zone.is-area-selected:not(.is-root),[data-puck-entry] .es-zone.is-hovering-area:not(.is-root){outline:none}[data-puck-entry] .es-zone:empty:is(.is-area-selected,.is-hovering-area:not(.is-root)){outline:1px solid var(--es-accent-line, #bfdbfe)}[data-puck-overlay-portal]:hover{outline:1px solid var(--es-accent-tint-strong, #dbeafe);outline-offset:2px}[data-puck-overlay-portal],[data-puck-overlay-portal] *{pointer-events:auto!important}[data-puck-overlay-portal]:focus-within{outline:2px solid var(--es-accent-line, #bfdbfe);outline-offset:2px}[data-puck-overlay-portal]:hover:has([data-puck-overlay-portal]:hover){outline:none}.sf-insp-body{flex:1;overflow-y:auto;scrollbar-gutter:stable;--sf-insp-pad-x: 14px;padding:4px var(--sf-insp-pad-x) 18px;--sf-select-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c3c3c3'><polygon points='0,0 100,0 50,50'/></svg>")}@container (width < 280px){.sf-insp-body{--sf-insp-pad-x: 8px}}.sf-insp-body input[type=text],.sf-insp-body input[type=number],.sf-insp-body input:not([type]),.sf-insp-body textarea{width:100%;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;color:var(--sf-field-text);font-family:var(--sf-font)}.sf-insp-body input::placeholder,.sf-insp-body textarea::placeholder{color:var(--sf-field-placeholder);opacity:1}.sf-insp-body textarea{min-height:74px;line-height:1.45;resize:vertical}.sf-insp-body input[type=text]:focus,.sf-insp-body input:not([type]):focus,.sf-insp-body textarea:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-insp-body input[aria-invalid=true]{border-color:var(--sf-danger)}.sf-insp-body select{width:100%;border:1px solid var(--sf-input-border);background-color:var(--sf-field-bg);appearance:none;-webkit-appearance:none;background-image:var(--sf-select-arrow);background-size:12px;background-repeat:no-repeat;background-position:calc(100% - 12px) calc(50% + 3px);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;color:var(--sf-field-text);cursor:pointer}.sf-editor .sf-body .sf-panel .sf-insp-body select:hover{background-color:var(--sf-hover);background-image:var(--sf-select-arrow);border-color:var(--sf-input-border)}.sf-insp-body input[type=range]{accent-color:var(--sf-accent)}.sf-multi-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-multi-btn:focus-visible{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-multi-caret{font-size:10px;color:var(--sf-text-secondary);flex:none}.sf-multi-menu{margin:6px 0 0;padding:4px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);display:flex;flex-direction:column}.sf-secttheme-btn{display:block;width:100%}.sf-secttheme-btn:focus-within{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-secttheme-btn .sf-theme-pick:focus-visible,.sf-secttheme-btn .sf-theme-edit:focus-visible{outline:none}.sf-secttheme-caret{flex:none;border:0;background:none;padding:3px 2px 3px 6px;font:inherit;line-height:1;color:var(--sf-text-secondary);cursor:pointer}.sf-secttheme-oncard{margin:0;padding:5px 4px 7px;font-size:11px;line-height:1.4;color:var(--sf-text-secondary)}.sf-secttheme-nopreview{display:block;height:74px;background:var(--sf-field-bg);border-bottom:1px dashed var(--sf-input-border)}.sf-secttheme-chip{width:30px;height:20px;flex:none;display:flex;overflow:hidden;border-radius:4px;border:1px solid rgba(0,0,0,.14)}.sf-secttheme-chip i{display:block;height:100%;flex:1 1 auto}.sf-secttheme-chip i.sf-secttheme-chip-accent{flex:0 0 40%}.sf-secttheme-chip--none{background:var(--sf-field-bg);border-style:dashed}.sf-secttheme-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1 1 auto;min-width:0}.sf-secttheme-menu{display:flex;flex-direction:column;padding:4px;gap:8px;background:var(--sf-accent-tint)}.sf-secttheme-menu>.sf-secttheme-item{flex:none}.sf-secttheme-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 7px;border:0;background:transparent;border-radius:max(calc(var(--sf-field-radius) - 2px),2px);font-size:13px;font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-secttheme-item:hover{background:var(--sf-accent-ring)}.sf-secttheme-item.is-active{background:var(--sf-accent-ring);font-weight:600}.sf-secttheme-item:focus-visible,.sf-secttheme-done:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px;border-radius:4px}.sf-secttheme-sep{height:1px;margin:3px 0;background:var(--sf-input-border)}.sf-secttheme-sheet{margin-top:6px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);overflow:hidden}.sf-secttheme-sheet-head{display:flex;align-items:center;padding:6px 9px;background:var(--sf-field-bg);border-bottom:1px solid var(--sf-input-border);font-size:12px;font-weight:600;color:var(--sf-field-text)}.sf-secttheme-done{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--sf-text-secondary);font-size:11px;font-family:var(--sf-font);cursor:pointer}.sf-secttheme-rows{padding:0 12px 12px}.sf-secttheme-rows>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-secttheme-warn{margin:0;padding:7px 9px;border-top:1px solid var(--sf-input-border);background:var(--sf-accent-ring);font-size:11px;line-height:1.4;color:var(--sf-text-secondary)}.sf-panel--hidden{display:none}.sf-pages,.sf-styles{display:flex;flex-direction:column;min-height:0;height:100%}.sf-pages-search{flex:none;display:flex;align-items:center;gap:7px;margin:0 12px 8px;padding:7px 10px;background:var(--sf-track-bg);border-radius:8px;color:var(--sf-muted)}.sf-pages-search-input{flex:1;min-width:0;border:none;background:transparent;font-family:var(--sf-font);font-size:13px;color:var(--sf-text);outline:none}.sf-pages-search-input::placeholder{color:var(--sf-muted)}.sf-pages-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 8px}.sf-pages-list>.sf-note{padding:10px 12px}.sf-pages-list>.sf-note--error{margin:4px 4px 0}.sf-pgroup{margin-top:2px}.sf-pgroup-head{width:100%;display:flex;align-items:center;gap:7px;padding:8px 8px 6px;border:none;background:transparent;cursor:pointer;color:var(--sf-muted)}.sf-pgroup-head:hover{color:var(--sf-text)}.sf-pgroup-label{flex:1;text-align:left;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.sf-pgroup-count{flex:none;font-size:11px;font-weight:600;color:var(--sf-muted);background:var(--sf-track-bg);border-radius:999px;padding:1px 7px}.sf-pgroup-body{display:flex;flex-direction:column}.sf-prow{text-decoration:none;color:inherit}.sf-page-draft{flex:none;font-size:10px;font-weight:600;color:var(--sf-muted);text-transform:uppercase;letter-spacing:.3px}.sf-badge-dynamic,.sf-badge-lightbox{flex:none;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px}.sf-badge-dynamic{color:var(--sf-accent-text);background:var(--sf-accent-tint)}.sf-badge-lightbox{color:#047857;background:#ecfdf5}.sf-page-edit{flex:none;width:24px;height:24px;border:none;background:transparent;border-radius:6px;color:var(--sf-muted);display:none;align-items:center;justify-content:center;cursor:pointer}.sf-row:hover .sf-page-edit,.sf-row:focus-within .sf-page-edit{display:flex}.sf-page-edit:hover{background:var(--sf-hover);color:var(--sf-text)}.sf-page-edit--danger:hover{background:var(--sf-danger-tint);color:var(--sf-danger)}.sf-page-edit--danger:disabled{opacity:.5;cursor:default}.sf-badge-preview{flex:none;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px;color:var(--sf-warning);background:var(--sf-preview-tint)}.sf-pages-new{flex:none;margin:6px 10px 10px;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:1px dashed var(--sf-line);border-radius:var(--sf-row-radius);background:transparent;color:var(--sf-accent-text);font-family:var(--sf-font);font-size:13px;font-weight:600;cursor:pointer}.sf-pages-new:hover{background:var(--sf-hover)}.sf-row-del{width:22px;height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:var(--sf-danger);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;flex:none;transition:opacity .12s,background .12s,color .12s}.sf-row:hover .sf-row-del,.sf-row:focus-within .sf-row-del{opacity:.7;pointer-events:auto}.sf-row-del:hover{opacity:1;background:var(--sf-danger-tint);color:var(--sf-danger-strong)}.sf-panel-head-actions{display:flex;align-items:center;gap:2px}.sf-tree-tool{margin-top:14px;padding:10px 0 0 11px}.sf-insp-body .es-insp-tabs{padding:0;position:sticky;top:0;z-index:2;background:var(--sf-panel);box-shadow:0 -16px 0 0 var(--sf-panel)}.sf-field{margin-top:var(--es-rhythm-between)}.sf-insp-body .es-insp-row:has(.es-group-sub),.sf-theme-colours .es-group-sub,.sf-secttheme-rows .es-group-sub{border-top:1px solid var(--sf-line);margin-top:30px;padding-top:30px;margin-left:calc(var(--sf-insp-pad-x) * -1);margin-right:calc(var(--sf-insp-pad-x) * -1);padding-left:var(--sf-insp-pad-x);padding-right:var(--sf-insp-pad-x)}.sf-insp-body .es-insp-row:has(.es-group-sub) .es-group-sub{margin-top:0}.sf-insp-body .es-insp-row:nth-child(1 of:not([hidden],:empty,:has(>[data-sf-device-hidden],>[data-sf-no-control]))):has(.es-group-sub){border-top:0;margin-top:0;padding-top:var(--es-rhythm-group-first)}.sf-insp-body .es-insp-row:has(.es-group-sub)+.es-insp-row .sf-field,.sf-insp-body .es-insp-row:has(.es-group-head)+.es-insp-row .sf-field{margin-top:var(--es-rhythm-group-first)}.sf-field-label{display:block;font-size:12px;font-weight:500;color:var(--sf-text-secondary);margin-bottom:var(--es-rhythm-within)}.sf-field-label--inline{margin-bottom:0}.sf-panel--right.sf-hints-folded .es-field-hint:not(.sf-hint-keep):not(:has(.sf-hint-keep)){display:none}.es-field-hint:has(.sf-hint-while-typing){display:none}.es-field:focus-within>.es-field-hint:has(.sf-hint-while-typing){display:block}.es-insp-row:has(>[data-sf-no-control]){display:none!important}.sf-header-value[data-changed]{color:var(--sf-text)}.sf-field-readonly{border:1px solid var(--sf-input-border);background:var(--sf-chip-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:13px;color:var(--sf-text-secondary);font-family:var(--sf-font);cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-field-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--es-rhythm-within)}.sf-field-head .sf-field-label{flex:1;min-width:0;margin-bottom:0}.sf-field-eye{flex:none;width:22px;height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;opacity:.6;transition:background .12s,color .12s,opacity .12s}.sf-field-eye:hover{background:var(--sf-hover);opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden .es-field-label{color:var(--sf-muted);text-decoration:line-through}.es-field.is-hidden .sf-field-eye{opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden input,.es-field.is-hidden textarea{opacity:.5}.sf-copybox>.es-copy-bar,.es-list-above>.es-copy-bar{display:flex;align-items:center;gap:2px;margin-bottom:0}.sf-copybox>.es-copy-bar,.es-list-above>.es-copy-bar{flex-wrap:wrap;row-gap:2px}.sf-copybox .es-copy-mark.has-glyph,.es-list-above .es-copy-mark.has-glyph{width:24px}.sf-copybox .es-copy-mark:not(.has-glyph),.es-list-above .es-copy-mark:not(.has-glyph){padding:0 6px;font-size:11px;line-height:1;white-space:nowrap}.sf-copybox .es-copy-mark,.es-list-above .es-copy-mark{height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:var(--sf-icon);display:flex;align-items:center;justify-content:center;opacity:.75;transition:background .12s,color .12s,opacity .12s}.sf-copybox .es-copy-mark:hover:not(:disabled),.es-list-above .es-copy-mark:hover:not(:disabled){background:var(--sf-hover);color:var(--sf-text-secondary);opacity:1}.sf-copybox .es-copy-mark:active:not(:disabled),.es-list-above .es-copy-mark:active:not(:disabled){background:var(--sf-accent-tint);color:var(--sf-accent-text)}.sf-copybox .es-copy-mark:disabled,.es-list-above .es-copy-mark:disabled{color:var(--sf-disabled);cursor:default}.sf-copybox>.es-copy-bar>.es-copy-bar-split,.es-list-above>.es-copy-bar>.es-copy-bar-split{margin-left:auto;height:14px}.sf-copybox>.es-copy-bar>.sf-markup-clear,.es-list-above>.es-copy-bar>.sf-markup-clear{margin-left:auto}.sf-copybox>.es-copy-bar>.es-copy-bar-split,.es-list-above>.es-copy-bar>.es-copy-bar-split{align-self:center;margin-right:2px}.es-field.is-hidden .es-copy-bar{opacity:.5}.sf-copybox{border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);overflow:hidden}.sf-copybox:focus-within{border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-copybox>.es-copy-bar{margin-bottom:0;padding:3px 6px;border-bottom:1px solid var(--sf-input-border);background:var(--sf-hover)}.sf-copybox:not(:focus-within)>.es-copy-bar{display:none}.sf-copybox .es-copy-mark.is-active,.sf-copybox .es-copy-mark.is-active:hover:not(:disabled),.es-list-above .es-copy-mark.is-active,.es-list-above .es-copy-mark.is-active:hover:not(:disabled){background:var(--sf-accent-tint);color:var(--sf-accent-text)}.sf-copybox>input,.sf-copybox>textarea,.sf-insp-body .sf-copybox>input[type=text],.sf-insp-body .sf-copybox>input:not([type]),.sf-insp-body .sf-copybox>textarea{border:none;border-radius:0;background:transparent;display:block;width:100%}.sf-copybox>input:focus,.sf-copybox>textarea:focus,.sf-insp-body .sf-copybox>input[type=text]:focus,.sf-insp-body .sf-copybox>input:not([type]):focus,.sf-insp-body .sf-copybox>textarea:focus{box-shadow:none}.sf-swatches{display:flex;align-items:center;gap:10px}.sf-swatch{width:26px;height:26px;border-radius:7px;border:none;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #0000002e}.sf-swatch.is-active{box-shadow:0 0 0 2px var(--sf-panel),0 0 0 4px var(--sf-accent)}.sf-swatch-hex{font-size:11px;color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-left:2px}.es-field-head:has(>.es-pick-colour){flex-wrap:wrap}.es-field-head>.es-pick-colour{display:contents}.es-field-head>.es-pick-colour>.es-pick-colour-row{margin-left:auto}.es-field-head>.es-pick-colour>.es-pick-window{flex:1 0 100%;min-width:0;order:1}.sf-insp-body input[type=text].es-pick-hex{width:var(--es-pick-readout-w);border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 6px;font-size:12px;color:var(--es-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;flex:none}.sf-insp-body input[type=text].es-pick-hex:hover{border-color:var(--es-input-border)}.sf-insp-body input[type=text].es-pick-hex:focus{outline:none;border-color:var(--es-accent);box-shadow:none;background:var(--es-panel)}.sf-chooser{display:flex;width:100%;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-field-text);font-size:13px;text-align:left;cursor:pointer}.sf-chooser:hover{background:var(--sf-hover)}.sf-chooser-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-chooser-meta{flex:none;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--sf-disabled)}.sf-chooser-caret{flex:none;color:var(--sf-disabled)}.sf-chooser-menu{position:absolute;left:0;z-index:50;margin-top:4px;width:100%;overflow:hidden;padding:4px 0;border:1px solid var(--sf-divider);border-radius:var(--sf-field-radius);background:var(--sf-panel);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.sf-chooser-menu--tall{max-height:256px;overflow:hidden auto}.sf-chooser-item{display:flex;width:100%;align-items:center;gap:8px;padding:6px 10px;border:0;background:none;text-align:left;font-size:13px;color:var(--sf-text-secondary);cursor:pointer}.sf-chooser-item:hover{background:var(--sf-hover)}.sf-chooser-item.is-active{font-weight:600;color:var(--sf-text)}.sf-chooser-add{color:var(--sf-accent-text);font-weight:500}.sf-chooser-add:hover{background:var(--sf-hover)}.sf-rungs{display:flex;width:100%;gap:4px}.sf-rung{flex:1;padding:4px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text-secondary);font-size:12px;cursor:pointer}.sf-rung:hover:not(.is-active){background:var(--sf-hover)}.sf-rung.is-active{border-color:var(--sf-disabled);background:var(--sf-chip-bg);color:var(--sf-text);font-weight:600}.sf-shadow-chip{display:block;flex:none;box-sizing:border-box;width:16px;height:11px;border:1px solid var(--sf-disabled);background:var(--sf-field-bg)}.sf-hints{display:flex;margin-top:28px}.sf-hints-toggle{display:inline-flex;flex:none;align-items:center;gap:5px;color:var(--sf-muted)}.sf-hints-toggle svg{flex:none}.sf-scale-a{flex:none;font-size:11px;line-height:1;color:var(--sf-disabled)}.sf-scale-a--lg{font-size:15px;color:var(--sf-muted)}.sf-auto-reset{padding:2px 6px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);font-size:11px;color:var(--sf-text-secondary);cursor:pointer}.sf-auto-reset:hover{background:var(--sf-hover)}#sf-site-styles-tabpanel>:first-child{margin-top:var(--es-rhythm-group-first)}.sf-style-list{display:flex;flex-direction:column}.sf-style-head{display:flex;width:100%;align-items:center;gap:8px;padding:10px 0;background:none;border:0;text-align:left;cursor:pointer}.sf-style-head:hover .sf-style-sample{color:var(--sf-text)}.sf-style-caret{display:inline-flex;flex:none;align-items:center;color:var(--sf-disabled);transition:transform .12s ease}.sf-style-row.is-open .sf-style-caret{transform:rotate(90deg)}.sf-style-name{flex:none;font-size:11px;font-weight:600;color:var(--sf-muted)}.sf-style-sample{min-width:0;margin-left:auto;overflow:hidden;color:var(--sf-text);text-overflow:ellipsis;white-space:nowrap}.sf-style-slot{display:inline-flex;flex:none;width:14px;height:14px;align-items:center;justify-content:center;color:var(--sf-muted);opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.sf-style-slot.is-saved{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.sf-style-slot{transition:none}}.sf-style-body{padding:2px 0 12px}.sf-select{padding:5px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text);font-size:12px;cursor:pointer}.sf-rung--glyph{flex:0 0 34px;font-size:13px;line-height:18px;text-align:center}.sf-rung--glyph:disabled{color:var(--sf-disabled);cursor:not-allowed}.sf-rung--glyph:disabled:hover{background:var(--sf-field-bg)}.sf-theme-list{display:flex;flex-direction:column;gap:8px;margin-top:max(var(--es-row-gap),var(--es-rhythm-group-first))}.sf-theme-card,.sf-secttheme-btn{border:1px solid var(--sf-input-border);border-radius:9px;overflow:hidden;background:var(--sf-panel)}.sf-theme-card:hover,.sf-secttheme-btn:hover{border-color:var(--sf-muted)}.sf-theme-card.is-selected{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring)}.sf-theme-pick{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.sf-theme-page{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.sf-theme-eyebrow{font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}.sf-theme-headline{font-size:14px;font-weight:750;letter-spacing:-.01em;line-height:1.1}.sf-theme-body{font-size:9.5px;line-height:1.4;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-theme-row{display:flex;align-items:center;gap:7px;margin-top:1px}.sf-theme-btn{font-size:8.5px;font-weight:700;letter-spacing:.02em;padding:5px 11px;border-radius:4px;white-space:nowrap;flex:none}.sf-theme-mini{flex:1;min-width:0;height:22px;border-radius:3px;border:1px solid;display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:600;opacity:.75}.sf-theme-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px 6px 12px;background:var(--sf-hover)}.sf-theme-card.is-selected .sf-theme-foot{color:var(--sf-accent-text)}.sf-theme-name{font-size:11px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-theme-warn{flex:none;margin-left:auto;font-size:10px;font-weight:700;color:#b45309;white-space:nowrap}.sf-theme-warn+.sf-theme-edit{margin-left:8px}.sf-theme-name{margin-right:auto}.sf-theme-edit{flex:none}.sf-theme-colours{padding:0 12px 12px}.sf-theme-colours[hidden]{display:none}.sf-theme-colours>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-theme-reset{margin-top:var(--es-rhythm-between-tight)}.sf-theme-add{display:flex;align-items:center;gap:6px;margin-top:8px;border:0;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--sf-accent-text);padding:4px 0;cursor:pointer}.sf-theme-add:hover{text-decoration:underline}.sf-colour-lede{margin-top:-3px;margin-bottom:10px}.sf-colour-pair{border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius);padding:2px 11px 11px;background:var(--sf-app-bg)}.sf-colour-row{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sf-colour-mode{font-size:12px;font-weight:500;color:var(--sf-text-secondary)}.sf-colour-mode small{display:block;margin-top:1px;font-size:11px;font-weight:400;color:var(--sf-muted)}.sf-readability{margin-top:10px;padding:11px 12px 12px;border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius)}.sf-readability-head{margin-bottom:7px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-readability-row{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:12px}.sf-readability-who{flex:1;color:var(--sf-text-secondary)}.sf-readability-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--sf-disabled)}.sf-readability-val{color:var(--sf-muted)}.sf-readability-dot.is-good{background:var(--sf-muted)}.sf-readability-dot.is-large-only{background:var(--sf-warning)}.sf-readability-dot.is-hard{background:var(--sf-danger)}.sf-readability-val.is-good{color:var(--sf-text-secondary)}.sf-readability-val.is-large-only{color:var(--sf-warning)}.sf-readability-val.is-hard{color:var(--sf-danger)}.sf-readability-advice{margin-top:7px;font-size:11px;line-height:1.6;color:var(--sf-muted)}.sf-readability-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sf-readability-suggestion{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-btn-text);font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer}.sf-readability-suggestion:hover{background:var(--sf-hover)}.sf-readability-chip{width:9px;height:9px;flex:none;border-radius:2px;box-shadow:inset 0 0 0 1px #0000002e}.sf-slider{display:flex;align-items:center;gap:12px}.es-field-ctl>.sf-slider{flex:1;min-width:0}.sf-slider input[type=range]{flex:1;min-width:0;height:18px;margin:0;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}.sf-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--sf-track-bg);box-shadow:inset 0 0 0 1px var(--sf-input-border)}.sf-slider input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--sf-track-bg);box-shadow:inset 0 0 0 1px var(--sf-input-border)}.sf-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--sf-knob);border:2px solid var(--sf-accent);box-shadow:0 1px 2px #0000002e;transition:transform .12s}.sf-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sf-knob);border:2px solid var(--sf-accent);box-shadow:0 1px 2px #0000002e;transition:transform .12s}.sf-slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.sf-slider input[type=range]:hover::-moz-range-thumb{transform:scale(1.12)}.sf-slider.has-notch{position:relative}.sf-slider.has-notch:before{content:"";position:absolute;top:50%;left:calc(7px + (100% - 14px) * var(--sf-notch));width:2px;height:10px;margin-top:-5px;border-radius:1px;background:var(--sf-input-border);pointer-events:none}.sf-slider-val{font-size:12px;color:var(--sf-icon);font-variant-numeric:tabular-nums;min-width:42px;text-align:right;padding:0;border:none;background:none;font-family:inherit;line-height:inherit}button.sf-slider-val{cursor:text;border-radius:4px}button.sf-slider-val:hover{color:var(--sf-text);box-shadow:inset 0 0 0 1px var(--sf-input-border)}input.sf-slider-typed{width:42px;color:var(--sf-text);box-shadow:inset 0 0 0 1px var(--sf-accent);border-radius:4px;padding:1px 3px;touch-action:manipulation}input.sf-slider-typed:focus{outline:none}.sf-preview-pin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:9px 14px;background:var(--sf-panel)}.sf-preview-pin-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sf-preview-pin-label{font-size:13px;font-weight:500;color:var(--sf-text)}.sf-preview-pin-hint{font-size:11px;color:var(--sf-muted)}.sf-colstep{display:flex;align-items:center;gap:6px}.sf-colstep-btn{width:22px;height:22px;padding:0;border:1px solid var(--sf-line);border-radius:6px;background:transparent;color:var(--sf-text);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sf-colstep-btn:hover:not(:disabled){border-color:var(--sf-accent)}.sf-colstep-btn:disabled{opacity:.4;cursor:default}.sf-colstep-value{min-width:14px;text-align:center;font-size:13px;font-weight:500;color:var(--sf-text)}.sf-checkbox{cursor:pointer}.sf-locked{opacity:.5;pointer-events:none}.sf-seg2 button:focus-visible,.sf-readability-suggestion:focus-visible,.sf-swatch:focus-visible,.sf-field-eye:focus-visible,.sf-slider input[type=range]:focus-visible,.sf-insp-body select:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf-seg2 button:focus-visible{outline-offset:-1px}.sf-seg2{display:flex;gap:3px;background:var(--sf-track-bg);border:1px solid var(--sf-input-border);border-radius:9px;padding:3px}.sf-seg2 button{flex:1;border:none;background:transparent;border-radius:6px;padding:6px 8px;font-size:12px;font-weight:500;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}@container (width < 280px){.sf-seg2 button{padding-inline:6px}}.sf-seg2 button:hover:not(.is-active){color:var(--sf-text-secondary);background:var(--sf-hover)}.sf-seg2 button.is-active{background:var(--sf-raised);color:var(--sf-text-strong);box-shadow:0 1px 2px #0000001a,0 0 0 1px #0000000a}.sf-seg2[data-disabled]{opacity:.5;cursor:not-allowed}.sf-seg2[data-disabled] button{cursor:not-allowed;color:var(--sf-disabled)}.sf-seg2[data-disabled] button.is-active{color:var(--sf-text-secondary)}.sf-seg2[data-disabled] button:hover:not(.is-active){background:transparent;color:var(--sf-disabled)}.sf-seg2 button>svg{display:block;margin:0 auto}.es-list-above>.es-copy-bar{margin-bottom:0}input.sf-list-marking{border-color:var(--sf-accent);box-shadow:0 0 0 1px var(--sf-accent-tint)}.sf-blogsource{display:flex;flex-direction:column;gap:9px}.sf-blogsource-action{align-self:flex-start}.sf-blogsource-status{margin:0;font-size:12px;color:var(--sf-text-secondary)}.sf-blogsource-status[data-state=error]{color:var(--sf-danger)}.sf-source-open{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--sf-accent-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sf-source-open:hover{color:var(--sf-accent)}.sf-source-open:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:2px}.sf-blogsource-btn{align-self:flex-start;padding:7px 14px;border:1px solid var(--sf-input-border);border-radius:8px;background:transparent;color:var(--sf-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.sf-blogsource-btn:hover:not(:disabled){border-color:var(--sf-accent);color:var(--sf-accent)}.sf-blogsource-btn:disabled{opacity:.55;cursor:default}.sf-formpicker{display:flex;flex-direction:column;gap:9px}.sf-formsummary-caption{margin-bottom:4px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--sf-text-secondary)}.sf-formsummary-fields{margin:0;padding-left:18px;font-size:12px;line-height:1.55;color:var(--sf-text-secondary)}.sf-formsummary-warn{margin:0;font-size:11.5px;line-height:1.45;color:var(--sf-danger)}.sf-formsummary-actions{display:flex;flex-wrap:wrap;gap:8px}.sf-image-btn{border:1px solid var(--sf-btn-border);background:var(--sf-panel);color:var(--sf-btn-text);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s}.sf-image-btn:hover:not(:disabled){background:var(--sf-hover)}.sf-image-btn:disabled{cursor:default;opacity:.55}.sf-image-status{margin-top:6px;font-size:11px;color:var(--sf-muted)}.sf-image-status--error{color:var(--sf-danger)}ul.sf-image-status{list-style:none;padding:0}.sf-image-status--error li{color:inherit;font-size:inherit}.sf-image-slot-inert{border:1.5px dashed var(--sf-input-border);border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.5;color:var(--sf-muted);background-image:repeating-linear-gradient(45deg,var(--sf-hatch) 0 1px,transparent 1px 12px)}.sf-focus{display:flex;flex-direction:column;gap:6px}.sf-focus-canvas{display:flex;align-items:center;justify-content:center;min-height:150px;padding:0;border:1px solid var(--sf-line);border-radius:6px;background:var(--sf-preview-bg);cursor:crosshair;touch-action:none}.sf-focus-canvas:focus-visible{outline:2px solid var(--sf-accent);outline-offset:1px}.sf-focus-pane{position:relative;display:inline-block;max-width:100%;line-height:0}.sf-focus-img{display:block;width:auto;height:auto;max-width:100%;max-height:150px;object-fit:contain}.sf-focus-cross{position:absolute;background:#ffffff73;pointer-events:none}.sf-focus-cross--h{right:0;left:0;height:1px}.sf-focus-cross--v{top:0;bottom:0;width:1px}.sf-focus-marker{position:absolute;width:18px;height:18px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1.5px #0000008c,0 1px 5px #0000007f;transform:translate(-50%,-50%);pointer-events:none}.sf-focus-bar{display:flex;align-items:center;gap:8px}.sf-focus-hint{min-width:0;flex:1;font-size:11px;color:var(--sf-muted)}.es-insp-rows:has([data-sf-focusing]) .es-pick-image-frame{display:none}.sf-note{padding:14px 16px;font-size:13px;line-height:1.5;color:var(--sf-muted)}.sf-note p+p{margin-top:8px}.sf-note strong{color:var(--sf-text);font-weight:600}.sf-note-detail{margin-top:10px;font-size:11px;color:var(--sf-muted);opacity:.75;word-break:break-all}.sf-note--error{color:var(--sf-danger);background:var(--sf-danger-tint);border-radius:6px}.sf-part-style{position:relative;margin:0 0 4px;padding:11px 13px;border:1px solid var(--sf-divider);border-radius:12px;background:var(--sf-track-bg)}.sf-part-style.has-overrides{border-color:var(--sf-accent-ring)}.sf-part-style.has-overrides:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--sf-accent);border-radius:12px 0 0 12px}.sf-part-style-caption{margin-bottom:2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-part-style-count{margin-bottom:3px;font-size:11px;font-weight:600;color:var(--sf-muted)}.sf-part-style-name{min-width:0;font-size:20px;line-height:1.15;letter-spacing:-.01em;color:var(--sf-text-strong);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-part-style-pick{position:relative}.sf-part-style-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0}.sf-part-style-trigger .sf-part-style-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-part-style-sign{margin-left:auto;width:16px;flex:none;text-align:center;color:var(--sf-muted);font-size:14px;line-height:1}.sf-part-style-trigger[aria-expanded=false] .sf-part-style-sign:before{content:"+"}.sf-part-style-trigger[aria-expanded=true] .sf-part-style-sign:before{content:"\2212"}.sf-part-style-trigger:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:3px}.sf-part-style-menu{position:absolute;z-index:30;left:0;right:0;box-shadow:0 8px 24px #0000002e}.sf-part-style-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:7px 9px;border:0;background:none;text-align:left;font-size:13px;color:var(--sf-field-text);border-radius:max(calc(var(--sf-field-radius) - 2px),2px);cursor:pointer}.sf-part-style-option:hover{background:var(--sf-accent-ring)}.sf-part-style-option:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-part-style-option.is-on{background:var(--sf-accent-ring);font-weight:600}.sf-part-style-option-name{flex:0 0 auto;white-space:nowrap}.sf-part-style-option .sf-note{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-fsel-label.sf-part-style-keep{flex:none}.sf-part-style-aside{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;color:var(--es-muted)}.sf-part-style-meta{margin-top:1px;font-size:11px;color:var(--sf-muted);font-variant-numeric:tabular-nums}.sf-part-style-top{display:flex;align-items:center;gap:9px;margin-top:8px}.sf-part-style-gap{flex:1}.sf-part-style-state{font-size:11.5px;color:var(--sf-text-secondary)}.sf-part-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;background:var(--sf-accent-tint);color:var(--sf-accent-text);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.sf-part-link{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:500;color:var(--sf-accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--sf-accent-ring)}.sf-part-link:hover{text-decoration-color:currentColor}.es-group-body>.sf-note{margin:12px 0 -4px;padding:0 0 0 2px}.sf-slot-rows>.sf-note{padding:10px 11px 12px}.sf-part-field.is-style-value>.es-field-head>.es-field-value,.sf-part-field.is-style-value>.es-field-head>.es-field-value>.sf-slider-val{color:var(--sf-muted)}.sf-part-select{width:100%;min-width:0}.sf-part-ink{display:flex;flex-direction:column;gap:8px;min-width:0}.sf-part-ink>.es-pick-colour>.es-pick-colour-row{align-self:flex-end}.sf-part-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--sf-accent);cursor:pointer}.sf-part-mark-dot{transform-origin:center;transition:transform .15s ease,opacity .15s ease}.sf-part-mark-arrow{opacity:0;transition:opacity .15s ease}.sf-part-mark:hover .sf-part-mark-dot,.sf-part-mark:focus-visible .sf-part-mark-dot{transform:scale(0);opacity:0}.sf-part-mark:hover .sf-part-mark-arrow,.sf-part-mark:focus-visible .sf-part-mark-arrow{opacity:1}@media(prefers-reduced-motion:reduce){.sf-part-mark-dot,.sf-part-mark-arrow{transition:none}}.sf-part-text{margin-top:4px;margin-bottom:4px}.sf-part-text .sf-copybox textarea{min-height:84px;line-height:1.5;resize:vertical}.sf-entries{margin-top:32px}.sf-entries-head{margin:14px 0 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-entry-eye{display:inline-flex;align-items:center;color:var(--sf-muted)}.sf-slot-rows .sf-add-card{padding:8px 11px;border-radius:0}.sf-image-drop{flex:1;min-width:0}.sf-image-drop.is-dragover .es-pick-image-slot{border-color:var(--sf-accent);background-color:var(--sf-accent-tint)}.sf-image-drop.is-dragover .es-pick-image-frame{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-gallery-filter{display:flex;gap:5px;flex-wrap:wrap}.sf-gallery-filter button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.sf-gallery-filter button:hover{background:var(--sf-hover)}.sf-gallery-filter button[aria-pressed=true]{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-on-accent)}.sf-gallery-layouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;margin-top:7px}.es-field-ctl>.sf-gallery-layouts,.es-field-ctl>.sf-gallery-filter{flex:1 1 auto;min-width:0}.sf-gallery-layouts button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:7px;padding:5px;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}.sf-gallery-layouts button:hover{background:var(--sf-hover)}.sf-gallery-layouts button[aria-pressed=true]{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring);background:var(--sf-panel)}.sf-gallery-pic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:6px;grid-auto-flow:row dense;gap:2px}.sf-gallery-pic i{display:block;background:var(--sf-track-bg);border-radius:1.5px}.sf-gallery-layouts button[aria-pressed=true] .sf-gallery-pic i{background:var(--sf-accent)}.sf-gallery-count{font-size:10.5px;color:var(--sf-disabled);margin-top:7px}.sf-locations-view{margin-top:var(--es-rhythm-between)}.sf-blogsource>.es-field-hint,.sf-formsummary .es-field-hint{margin:0}.es-field-ctl>.sf-copybox{flex:1 1 auto;min-width:0}.sf-focal-row{margin-top:var(--es-rhythm-between)}