html,body{height:100%;overflow:hidden!important;scroll-behavior:auto!important}
.page-shell{width:min(1480px,100%)!important;max-width:1480px!important;margin:0 auto!important;height:100dvh!important;min-height:0!important;max-height:100dvh;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;padding:0 clamp(24px,4vw,64px)!important}
.site-header{position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:auto!important;min-height:64px;flex-shrink:0}
.site-header::before{display:none!important}
.site-header .brand{order:1}.site-header .page-navigation{order:2;margin:0 auto}.site-header .header-actions{order:3;gap:12px}
.site-pages{position:relative;min-height:0;height:100%;overflow:hidden;border-radius:0}
.page-section{position:absolute;inset:0;min-height:0!important;height:100%;overflow:auto;overscroll-behavior:contain;padding:8px 4px;scroll-behavior:auto;scrollbar-gutter:auto;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;flex-direction:column;gap:0!important}
.page-section[hidden]{display:none!important}.page-section.is-active{display:flex}
.page-section::-webkit-scrollbar,.page-navigation::-webkit-scrollbar{display:none;width:0;height:0}
.page-section.page-enter{animation:page-enter .24s ease-out}@keyframes page-enter{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.page-heading{padding:4px 12px;flex:0 0 auto}.page-heading h2{font-size:28px;line-height:1.3;margin:4px 0}.page-heading>p{margin:4px 0;line-height:1.55}.page-heading:empty{display:none}
.site-pages .landing.flexible-cards{grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;gap:var(--layout-gap,12px);padding:0!important;margin:0!important;align-items:stretch;flex:1 0 auto}
.site-pages .flex-card{display:block;padding:20px;min-height:0;min-width:0;border-radius:18px;background:var(--surface);color:var(--ink)}
.card-content{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(12px,auto);gap:var(--item-gap,8px);min-width:0;align-content:start}
.content-block{min-width:0;position:relative;overflow-wrap:anywhere;align-self:stretch;line-height:var(--content-line,1.7);display:flex;flex-direction:column;justify-content:center}
.content-block>*{max-width:100%;min-width:0}.content-block p,.content-block h2{font-size:inherit;color:inherit;line-height:inherit;margin:0;white-space:pre-line}
.content-block.block-title{font-size:calc(var(--content-font,15px) * 1.75);font-weight:700;line-height:1.3}.content-block.block-english{font-size:11px;letter-spacing:1.5px;color:var(--blue);font-weight:700}.content-block.block-tag,.content-block.block-note{font-size:var(--content-font,13px)}
.content-block.block-text{font-size:var(--content-font,15px);color:var(--muted)}.block-rich{white-space:pre-wrap}.block-rich p,.block-rich div{margin:0 0 6px}.block-rich ul,.block-rich ol{padding-left:24px}.block-rich blockquote{margin:6px 0 6px 20px;padding-left:12px;border-left:3px solid var(--mint)}
.content-tag{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:inherit;background:var(--block-bg,var(--blue-soft));font-size:inherit}.content-tag small{display:block;font-size:.85em;opacity:.75}
.content-button{display:flex;flex:1;align-items:center;justify-content:var(--block-justify,center);padding:10px 12px;background:var(--block-bg,var(--button,var(--blue)));color:var(--block-color,var(--button-text,#fff));border-radius:inherit;min-height:40px;text-decoration:none;text-align:inherit;font-size:inherit}
.content-note{padding-left:10px;border-left:3px solid var(--mint);font-size:inherit}.content-block img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.block-link{color:inherit;text-decoration:none;display:block}
.site-footer{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:auto!important;min-height:0!important;padding:10px 0!important;gap:10px;font-size:12px}
.site-footer>div{gap:7px}.site-footer small{font-size:10px}.footer-jump{display:none!important}
.site-header .brand,.site-header .header-link,.site-footer span,.site-footer a{font-size:inherit}.site-header .status{font-size:.8em}.site-footer span{color:inherit}
.page-turn{padding:4px 0!important;flex:0 0 auto}.page-turn:empty{display:none}.page-turn a{padding:4px 12px!important}.page-navigation{scrollbar-width:none}.page-navigation a{white-space:nowrap}.page-navigation a[aria-current=page]{background:var(--blue-soft);color:var(--blue)}
@media(max-width:820px){.page-shell{padding:0 12px!important}.site-header{gap:6px;min-height:60px!important;padding:8px 0!important}.site-header .brand{font-size:14px}.site-header .status{font-size:10px}.site-header .header-actions{font-size:11px}.site-header .page-navigation{width:100%;order:4!important;overflow:auto;flex-wrap:nowrap;justify-content:center;margin:0!important}.page-navigation a{padding:4px 10px!important;font-size:12px}.site-pages .landing.flexible-cards{grid-template-columns:1fr!important;grid-auto-rows:auto!important}.site-pages .flex-card{grid-column:auto!important;grid-row:auto!important;padding:18px}.card-content{grid-template-columns:1fr;grid-auto-rows:auto}.content-block{grid-column:auto!important;grid-row:auto!important;min-height:0}.content-block.block-title{font-size:25px}.site-footer{flex-wrap:wrap!important;justify-content:center!important;font-size:10px}.site-footer small{display:none}.site-footer a{padding:3px 5px!important}}
@media(prefers-reduced-motion:reduce){.page-enter{animation:none!important}}
@media(max-width:820px){.site-pages .landing.flexible-cards{flex:0 0 auto;align-content:start}}

.content-block.block-button,.content-block.block-tag{border-radius:10px}
@media(max-width:820px){.site-header .header-button{grid-column:var(--header-column)!important;grid-row:var(--header-row)!important}}

/* The outer canvas belongs to the active page, including the browser gutters. */
html{background:transparent!important}
.page-shell,.site-pages,.page-section,.site-header,.site-footer{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-pages,.page-section{outline:none}
body[data-canvas-mode]{background:var(--canvas-bg,var(--page))!important}
body[data-canvas-paint="glow"],body[data-canvas-effect="glow"]:not([data-canvas-paint]){background:radial-gradient(circle at 9% 6%,color-mix(in srgb,var(--canvas-accent,var(--blue)) 12%,transparent),transparent 25rem),radial-gradient(circle at 92% 92%,color-mix(in srgb,var(--canvas-secondary,var(--mint)) 10%,transparent),transparent 25rem),var(--canvas-bg,var(--page))!important}
body[data-canvas-paint="tint"]{background:linear-gradient(145deg,var(--canvas-bg,var(--page)),color-mix(in srgb,var(--canvas-accent,var(--blue)) 9%,var(--canvas-bg,var(--page))))!important}
.page-navigation[hidden]{display:none!important}
.site-header .header-button-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(12px,auto);align-content:center;gap:6px;width:clamp(220px,28vw,420px);max-width:100%;flex-shrink:0}
.site-header .header-button-grid:empty{display:none}
.header-button .content-button{font-size:inherit;border:1px solid var(--line);background:var(--block-bg,var(--blue-soft));color:var(--block-color,var(--blue));padding:6px 12px;min-height:36px;font-weight:600}
.site-header .navigation-button-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(12px,auto);width:clamp(160px,22vw,360px);gap:var(--nav-gap,6px);align-content:center}
.navigation-button-grid:empty{display:none}.navigation-button .content-button{background:var(--block-bg,transparent);color:var(--block-color,var(--muted));min-height:32px;padding:4px 8px;border-radius:inherit;font-size:inherit;text-align:inherit}
.navigation-button .content-button[aria-current="page"]{background:var(--block-bg,var(--blue-soft));color:var(--block-color,var(--blue))}
@media(max-width:820px){.site-header .navigation-button-grid{width:100%;gap:4px}.site-header .navigation-button{grid-column:var(--header-column)!important;grid-row:var(--header-row)!important}.navigation-button .content-button{font-size:12px;min-height:30px}}
.block-title h2{white-space:pre-line}.content-block.block-note{color:var(--muted)}
@media(max-width:820px){.site-header .header-button-grid{width:220px;max-width:55%;gap:4px}.header-button{grid-column:auto;grid-row:auto}.header-button .content-button{padding:4px 6px;min-height:30px;font-size:11px}.content-block.block-title[style*="font-size"]{font-size:min(32px,var(--template-title,32px))}}

/* One measured layout, scaled as a whole. The browser alone paints the background. */
body[data-layout-engine="passive"] .page-shell{position:absolute!important;left:50%;top:50%;display:flex!important;flex-direction:column;align-items:center;max-width:none!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0!important;transform-origin:center center}
body[data-preview-device] .page-shell{left:0;top:0;transform-origin:top left}
body[data-layout-engine="passive"] .site-header,body[data-layout-engine="passive"] .site-footer{flex:0 0 auto;display:flex!important;flex-wrap:wrap!important;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:0!important;border-radius:0!important}
body[data-layout-engine="passive"] .site-header{gap:12px!important;font-size:16px}
body[data-layout-engine="passive"] .site-header .brand{font-size:inherit!important}
body[data-layout-engine="passive"] .site-header .header-button-grid{width:320px;max-width:45%;gap:6px}
body[data-layout-engine="passive"] .site-header .page-navigation{order:2!important;margin:0 auto!important;flex-wrap:wrap!important;max-width:100%}
body[data-layout-engine="passive"] .site-header .header-actions{order:3!important}
body[data-layout-engine="passive"] .site-footer{font-size:12px;gap:12px}
body[data-layout-engine="passive"] .site-footer a{padding:5px 8px!important}
body[data-layout-engine="passive"] .site-footer small{display:block!important}
body[data-layout-engine="passive"] .site-pages{flex:0 0 auto;overflow:visible;min-height:0;height:auto;max-width:none;box-sizing:border-box}
body[data-layout-engine="passive"] .page-section{position:relative!important;inset:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;display:flex;box-sizing:border-box}
body[data-layout-engine="passive"] .page-section[hidden]{display:none!important}
body[data-layout-engine="passive"] .site-pages .landing.flexible-cards{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:minmax(24px,max-content)!important;flex:0 0 auto!important;align-content:start;row-gap:var(--layout-gap,12px)!important;column-gap:var(--layout-gap,12px);width:100%;padding:0!important;margin:0!important;height:auto!important}
body[data-layout-engine="passive"] .site-pages .flex-card{grid-column:var(--canvas-column)!important;grid-row:var(--canvas-row)!important;min-height:0;box-sizing:border-box}
body[data-layout-engine="passive"] .card-content{grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:minmax(12px,auto);align-content:start}
body[data-layout-engine="passive"] .content-block{grid-column:var(--canvas-column)!important;grid-row:var(--canvas-row)!important;min-height:0}
body[data-layout-engine="passive"] .content-block.block-title{font-size:26px}
body[data-layout-engine="passive"] .content-block.block-title[style*="font-size"]{font-size:inherit}
body[data-layout-engine="passive"][data-render-device="mobile"] .site-header{font-size:14px;gap:6px!important}
body[data-layout-engine="passive"][data-render-device="mobile"] .site-header .page-navigation{order:4!important;width:100%}
body[data-layout-engine="passive"][data-render-device="mobile"] .site-header .header-button-grid{width:180px;max-width:50%}
body[data-layout-engine="passive"][data-render-device="mobile"] .site-footer{font-size:10px;justify-content:center}
body[data-layout-engine="passive"][data-render-device="mobile"] .site-footer small{display:none!important}
body[data-layout-engine="passive"][data-render-device="mobile"] .site-pages{overflow:hidden;flex:1 1 auto;min-height:0}
body[data-layout-engine="passive"][data-render-device="mobile"] .page-section{position:absolute!important;inset:0!important;height:100%!important;overflow:auto!important;scrollbar-width:none;overscroll-behavior:contain}
body[data-layout-engine="passive"][data-render-device="mobile"] .site-pages .landing.flexible-cards{row-gap:2px!important}
body[data-layout-engine="passive"][data-render-device="desktop"] .site-header .status{font-size:.8em}
body[data-layout-engine="passive"][data-render-device="desktop"] .site-header .header-button .content-button{font-size:inherit}
body[data-layout-engine="passive"][data-render-device="desktop"] .page-navigation a{font-size:inherit}

/* Shared chrome and one shared content viewport; content pages only switch inside it. */
body[data-layout-engine="passive"] .site-pages{position:relative;overflow:hidden!important;flex:0 0 auto!important}
body[data-layout-engine="passive"] .page-section{position:absolute!important;inset:0!important;height:100%!important;overflow:auto!important;scrollbar-width:none}
body[data-layout-engine="passive"] .site-header .header-button-grid,body[data-layout-engine="passive"] .site-footer .footer-button-grid{display:grid;grid-template-columns:repeat(48,minmax(0,1fr));max-width:none!important;flex:0 0 auto;align-content:start;order:3}
.footer-button-grid:empty{display:none!important}
body[data-layout-engine="passive"] .site-footer .footer-button .content-button{background:var(--block-bg,var(--blue-soft));color:var(--block-color,var(--blue));border:1px solid var(--line);padding:6px 12px!important;min-height:32px;font-size:inherit}
body[data-layout-engine="passive"] .site-header .header-button .content-button[data-nav-page][aria-current="page"],body[data-layout-engine="passive"] .site-footer .footer-button .content-button[data-nav-page][aria-current="page"]{box-shadow:inset 0 -3px 0 var(--blue);font-weight:700}
body[data-layout-engine="passive"] .site-footer>small{order:4;width:100%;text-align:center}
.page-turn a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;border:1px solid var(--line);font:18px system-ui;border-radius:8px}
body[data-layout-engine="passive"] .site-header .header-button-grid{flex:1 1 240px!important;min-width:0}
/* Grid tracks have fixed heights. Overflow stays inside the edited rectangle. */
body[data-layout-engine="passive"] .flex-card,body[data-layout-engine="passive"] .content-block{min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}
body[data-layout-engine="passive"] .content-block{justify-content:safe center}
body[data-layout-engine="passive"] .flex-card::-webkit-scrollbar,body[data-layout-engine="passive"] .content-block::-webkit-scrollbar{display:none;width:0;height:0}
body[data-layout-engine="passive"] .page-turn a{width:28px;height:24px;padding:0!important;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:0;border-radius:0}
body[data-layout-engine="passive"] .page-turn a:hover,body[data-layout-engine="passive"] .page-turn a:focus-visible{color:var(--blue)}
.page-turn-triangle{display:block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}
.page-turn a[data-direction="prev"] .page-turn-triangle{border-bottom:7px solid currentColor}
.page-turn a[data-direction="next"] .page-turn-triangle{border-top:7px solid currentColor}

body[data-layout-engine="passive"] .site-footer .footer-note{font-size:inherit;color:var(--muted)}
body[data-layout-engine="passive"] .footer-note .block-rich{font-size:inherit;color:inherit}

/* Alignment belongs to the individual content item, including header/footer buttons. */
body[data-layout-engine="passive"] .content-block{justify-content:var(--block-vertical,safe center)}
body[data-layout-engine="passive"] .content-block.block-button{overflow:hidden;display:block;padding:0!important}
body[data-layout-engine="passive"] .content-block.block-button>.content-button{width:100%;height:100%;min-height:0!important;box-sizing:border-box;align-items:var(--block-vertical,safe center);white-space:pre-wrap;overflow-wrap:anywhere;padding:var(--block-padding,6px 10px)!important;overflow:auto;scrollbar-width:none;font-weight:inherit}
body[data-layout-engine="passive"] .content-button::-webkit-scrollbar{display:none}

body[data-layout-engine="passive"] .header-text{display:flex;align-items:var(--block-vertical,center);justify-content:var(--block-justify,flex-start);white-space:pre-wrap}
body[data-layout-engine="passive"] .header-text a{color:inherit;background:none;border:0;text-decoration:none}

/* Header, footer and card contents share the same editable element renderer. */
body[data-layout-engine="passive"] .site-header .header-button-grid{flex:1 1 100%!important;width:100%;max-width:none!important}
body[data-layout-engine="passive"] .content-block .element-link{display:flex;flex-direction:column;justify-content:var(--block-vertical,safe center);flex:1;min-height:0;width:100%;color:inherit!important;background:transparent!important;border:0!important;padding:0!important;font:inherit;text-decoration:none}
body[data-layout-engine="passive"] .element-link>.block-rich{width:100%}
body[data-layout-engine="passive"] .element-copy{cursor:pointer}
body[data-layout-engine="passive"] .element-link:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.element-action-toast{position:fixed;z-index:10000;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:10px 18px;border-radius:12px;background:#172033;color:#fff;font:14px/1.5 system-ui,sans-serif;box-shadow:0 8px 24px #0003;pointer-events:none}
.element-copy-buffer{position:fixed;left:-9999px;top:0;font-size:16px}
.element-copy-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;margin:auto;padding:24px;border:1px solid var(--line,#dce3ec);border-radius:16px;background:var(--surface,#fff);color:var(--ink,#172033);font:15px/1.5 system-ui,sans-serif;box-shadow:0 16px 48px #0003}
.element-copy-dialog::backdrop{background:#0006}
.element-copy-dialog h2{margin:0 0 8px;font-size:18px}
.element-copy-dialog p{margin:0 0 12px}
.element-copy-dialog textarea{display:block;box-sizing:border-box;width:100%;height:110px;margin:0 0 16px;padding:10px;border:1px solid var(--line,#dce3ec);border-radius:8px;font:16px/1.5 system-ui,sans-serif;background:var(--surface,#fff);color:inherit;resize:vertical}
.element-copy-dialog button{padding:8px 18px;border:0;border-radius:8px;background:var(--button,#2458d3);color:var(--button-text,#fff);font:inherit;cursor:pointer}
body[data-layout-engine="passive"] .block-element{font-size:var(--content-font,15px);color:var(--ink);border-radius:inherit}
body[data-layout-engine="passive"] .block-element .element-image{flex:1;min-height:0;object-fit:contain}
body[data-layout-engine="passive"] .header-element,.footer-element{font-size:inherit}
body[data-layout-engine="passive"] .content-block[data-header-button-id] .content-button[data-nav-page][aria-current="page"],body[data-layout-engine="passive"] .content-block[data-footer-button-id] .content-button[data-nav-page][aria-current="page"]{box-shadow:inset 0 -3px 0 var(--blue);font-weight:700}
body[data-layout-engine="passive"] .element-link[data-nav-page][aria-current="page"]{box-shadow:inset 0 -2px 0 var(--blue)}

body[data-layout-engine="passive"] .content-button>.block-rich{min-width:0;max-width:100%;white-space:pre-wrap}

/* Legacy appearance defaults are overridable; all items use one content/link/image structure. */
body[data-layout-engine="passive"] .block-element .block-rich{width:100%}
body[data-layout-engine="passive"] .source-title{font-size:calc(var(--content-font,15px)*1.75);font-weight:700;line-height:1.3}
body[data-layout-engine="passive"] .source-english{font-size:11px;letter-spacing:1.5px;color:var(--blue);font-weight:700}
body[data-layout-engine="passive"] .source-text{font-size:var(--content-font,15px);color:var(--muted)}
body[data-layout-engine="passive"] .source-note{font-size:var(--content-font,13px);color:var(--muted);border-left:3px solid var(--mint);padding-left:10px}
body[data-layout-engine="passive"] .source-tag{font-size:13px;background:var(--block-bg,var(--blue-soft));padding:8px 10px;border:1px solid var(--line);border-radius:10px}
body[data-layout-engine="passive"] .source-button{background:var(--block-bg,var(--button,var(--blue)));color:var(--block-color,var(--button-text,#fff));border-radius:10px;padding:var(--block-padding,6px 10px)}
body[data-layout-engine="passive"] .element-note{display:block;font-size:11px;line-height:1.5;color:var(--muted)}
body[data-layout-engine="passive"] .element-image{min-height:0;object-fit:contain}

.source-button{text-align:center}
