﻿/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 *//*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */:root{--font-size: 1rem;--ratio-golden: 1.618;--ratio-wholestep: 1.618;--ratio-silver: 1.414;--ratio-halfstep: 1.272;--ratio-quarterstep: 1.128;--ratio-eighthstep: 1.062;--font-ratio: var(--ratio-silver);--font-density: 1.2;--font-density-s: 1;--font-mobile-size: 1rem;--font-mobile-ratio: var(--ratio-halfstep);--font-mobile-density: 1;--rhythm-multiplier: 1;--rhythm-multiplier-block: 2;--body-padding-multiplier: 1;--body-mobile-padding-multiplier: 1;--scale-3xs: calc(var(--font-size) * pow(var(--font-ratio), -3));--scale-2xs: calc(var(--font-size) * pow(var(--font-ratio), -2));--scale-xs: calc(var(--font-size) * pow(var(--font-ratio), -1));--scale-s: calc(var(--font-size) * pow(var(--font-ratio), -0.5));--scale: var(--font-size);--scale-l: calc(var(--font-size) * pow(var(--font-ratio), 0.5));--scale-xl: calc(var(--font-size) * pow(var(--font-ratio), 1));--scale-2xl: calc(var(--font-size) * pow(var(--font-ratio), 2));--scale-3xl: calc(var(--font-size) * pow(var(--font-ratio), 3));--space-3xs: calc(1rlh / 5);--space-2xs: calc(1rlh / 4);--space-xs: calc(1rlh / 3);--space-s: calc(1rlh / 2);--space: 1rlh;--space-l: calc(2 * 1rlh);--space-xl: calc(3 * 1rlh);--space-2xl: calc(4 * 1rlh);--space-3xl: calc(5 * 1rlh);--hr-thickness: 1px;--border-radius: var(--space-2xs);--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-offcanvas: 1050;--z-modal: 1060;--z-popover: 1070;--z-tooltip: 1080;--z-toast: 1090;--z-image-zoom: 9999;--duration-superfast: 0.15s;--duration-fast: 0.25s;--duration-normal: 0.35s;--duration-slow: 0.5s;--motion-smooth: cubic-bezier(0.4, 0, 0.2, 1);--motion-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55)}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */:root{color-scheme:light dark;--color-light-background: white;--color-light-foreground: #262626;--color-light-red: #b14c42;--color-light-orange: #d78a5a;--color-light-yellow: #c8a840;--color-light-green: #5e9d80;--color-light-cyan: #6ba4b6;--color-light-blue: #4f81a4;--color-light-purple: #7a6c91;--color-light-pink: #b97aa0;--color-light-accent: var(--color-light-yellow);--color-light-success: var(--color-light-green);--color-light-warning: var(--color-light-orange);--color-light-error: var(--color-light-red);--color-light-info: var(--color-light-blue);--color-dark-background: #0f0f0f;--color-dark-foreground: #dbdbdb;--color-dark-red: #db6057;--color-dark-orange: #e58f5c;--color-dark-yellow: #dcb757;--color-dark-green: #74ba98;--color-dark-cyan: #7db9c8;--color-dark-blue: #6d96b8;--color-dark-purple: #a18db6;--color-dark-pink: #d49ab8;--color-dark-accent: var(--color-dark-yellow);--color-dark-success: var(--color-dark-green);--color-dark-warning: var(--color-dark-orange);--color-dark-error: var(--color-dark-red);--color-dark-info: var(--color-dark-blue);--color-background: var(--color-light-background);--color-foreground: var(--color-light-foreground);--color-header: var(--color-light-header, var(--color-foreground));--color-red: var(--color-light-red);--color-orange: var(--color-light-orange);--color-yellow: var(--color-light-yellow);--color-green: var(--color-light-green);--color-cyan: var(--color-light-cyan);--color-blue: var(--color-light-blue);--color-purple: var(--color-light-purple);--color-pink: var(--color-light-pink);--color-accent: var(--color-light-accent);--color-success: var(--color-light-success);--color-warning: var(--color-light-warning);--color-error: var(--color-light-error);--color-info: var(--color-light-info);--color-muted: color-mix(in srgb, var(--color-foreground) 60%, transparent);--color-subtle: color-mix( in srgb, var(--color-foreground) 40%, transparent );--color-border: color-mix( in srgb, var(--color-foreground) 10%, transparent );--color-background-secondary: color-mix( in srgb, var(--color-foreground) 3%, var(--color-background) );--color-hover: color-mix(in srgb, var(--color-accent) 35%, transparent);--color-active: color-mix(in srgb, var(--color-accent) 20%, transparent);--shadow-color: color-mix(in srgb, var(--color-foreground) 7%, transparent);--shadow: 0 0 var(--space-2xs) var(--shadow-color);--border: 1px solid var(--color-border);--border-accent: 2px solid var(--color-accent);transition:background-color .2s ease,color .2s ease,border-color .2s ease}@media(prefers-color-scheme: dark){:root{--color-background: var(--color-dark-background);--color-foreground: var(--color-dark-foreground);--color-header: var(--color-dark-header), var(--color-foreground);--color-red: var(--color-dark-red);--color-orange: var(--color-dark-orange);--color-yellow: var(--color-dark-yellow);--color-green: var(--color-dark-green);--color-cyan: var(--color-dark-cyan);--color-blue: var(--color-dark-blue);--color-purple: var(--color-dark-purple);--color-pink: var(--color-dark-pink);--color-accent: var(--color-dark-accent);--color-success: var(--color-dark-success);--color-warning: var(--color-dark-warning);--color-error: var(--color-dark-error);--color-info: var(--color-dark-info);--color-muted: color-mix( in srgb, var(--color-foreground) 65%, transparent );--color-subtle: color-mix( in srgb, var(--color-foreground) 45%, transparent );--color-border: color-mix( in srgb, var(--color-foreground) 10%, transparent );--color-background-secondary: color-mix( in srgb, var(--color-foreground) 5%, var(--color-background) );--shadow-color: color-mix(in srgb, #000 20%, transparent);--shadow: 0 2px 4px var(--shadow-color);--shadow-l: 0 8px 16px var(--shadow-color);--shadow-xl: 0 12px 32px var(--shadow-color)}}@media(prefers-contrast: high){:root{--color-border: var(--color-foreground);--color-muted: var(--color-foreground);--color-subtle: var(--color-foreground)}}@media(prefers-reduced-motion: reduce){:root{transition:none}*{transition:none !important;animation:none !important}}@media(forced-colors: active){:root{--color-background: Canvas;--color-foreground: CanvasText;--color-accent: Highlight;--color-border: CanvasText;--color-muted: GrayText}}html{color:var(--color-foreground);background:var(--color-background);transition:background-color .2s ease,color .2s ease}body{background:var(--color-background);color:var(--color-foreground)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.token.keyword,.token.module,.token.class-name{color:var(--color-red)}.token.string,.token.attr-value{color:var(--color-green)}.token.number,.token.boolean{color:var(--color-cyan)}.token.function,.token.tag,.token.builtin{color:var(--color-yellow)}.token.property,.token.attr-name,.token.selector{color:var(--color-orange)}.token.punctuation,.token.operator{color:var(--color-muted)}.token.comment{color:var(--color-subtle);font-style:italic}.token.tag>.token.punctuation{color:var(--color-muted)}.token.attr-name{color:var(--color-orange)}.token.doctype,.token.namespace{color:var(--color-purple)}.token.generics{color:var(--color-blue)}.language-yaml .token.key{color:var(--color-orange)}.language-yaml .token.literal{color:var(--color-cyan)}.language-markdown .token.italic,.language-md .token.italic,.language-markdown .token.emphasis,.language-md .token.emphasis{color:var(--color-italic);font-style:italic}.language-markdown .token.bold,.language-md .token.bold,.language-markdown .token.strong,.language-md .token.strong{color:var(--color-bold);font-weight:bold}.language-markdown .token.link,.language-md .token.link{color:var(--color-blue)}.language-markdown .token.url,.language-md .token.url{color:var(--color-cyan)}.language-markdown .token.heading,.language-md .token.heading{color:var(--color-header);font-weight:bold}.language-markdown .token.code,.language-md .token.code,.language-markdown .token.codespan,.language-md .token.codespan{color:var(--color-green)}.language-markdown .token.list,.language-md .token.list{color:var(--color-orange)}.language-markdown .token.table,.language-md .token.table{color:var(--color-blue)}.language-bash .token.function{color:var(--color-yellow)}.language-bash .token.variable{color:var(--color-cyan)}.language-bash .token.builtin{color:var(--color-red)}.language-bash .token.string{color:var(--color-green)}.language-bash .token.parameter{color:var(--color-orange)}.language-sh .token.function,.language-shell .token.function{color:var(--color-yellow)}.language-sh .token.variable,.language-shell .token.variable{color:var(--color-cyan)}.language-sh .token.builtin,.language-shell .token.builtin{color:var(--color-red)}.language-nunjucks .token.tag,.language-njk .token.tag{color:var(--color-yellow)}.language-nunjucks .token.tag>.token.punctuation,.language-njk .token.tag>.token.punctuation{color:var(--color-muted)}.language-nunjucks .token.attr-name,.language-njk .token.attr-name{color:var(--color-orange)}.language-nunjucks .token.attr-value,.language-njk .token.attr-value{color:var(--color-green)}.language-nunjucks .token.variable,.language-njk .token.variable{color:var(--color-cyan)}.language-nunjucks .token.expression,.language-njk .token.expression{color:var(--color-cyan)}.language-nunjucks .token.filter,.language-njk .token.filter{color:var(--color-orange)}::selection{background:color-mix(in srgb, var(--color-accent) 25%, transparent);color:var(--color-foreground)}blockquote{border-inline-start:calc(var(--space-2xs)*var(--rhythm-multiplier)) solid var(--color-border)}hr{height:var(--hr-thickness);background:var(--color-border);border:none}hr.plain{background:var(--color-foreground)}hr.thick{height:calc(var(--hr-thickness)*4);background:var(--color-foreground)}hr.accent{height:calc(var(--hr-thickness)*3);background:var(--color-accent)}hr.hairline{height:1px;opacity:.3}fieldset{border:var(--border);border-radius:var(--border-radius)}img,video,audio,iframe{border-radius:var(--border-radius);border:var(--border)}th,td{border:var(--border)}th{background:var(--color-background-secondary)}.callout{background:var(--color-background-secondary);border:var(--border);border-radius:var(--border-radius)}strong{color:var(--color-bold);font-weight:600}em{color:var(--color-italic);font-style:italic}hr{background:var(--color-border);border:none;block-size:1px}code:not(pre code),pre{background:var(--color-background-secondary);color:var(--color-foreground);border:var(--border);border-radius:var(--border-radius);box-shadow:inset var(--shadow)}code:not(pre code){box-shadow:unset;padding:0 var(--space-3xs)}table{border-collapse:collapse}th,td{border:var(--border)}th{background:var(--color-background-secondary);font-weight:600}blockquote{border-inline-start:var(--space-3xs) solid var(--color-muted);background:var(--color-background-secondary);color:var(--color-muted)}mark{background:color-mix(in srgb, var(--color-yellow) 30%, var(--color-background));color:var(--color-foreground)}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */:root{--font-sans: Diatype, InterVariable, system-ui, -apple-system, sans-serif;--font-serif: "Source Serif 4", serif;--font-text: var(--font-sans);--font-header: var(--font-text);--font-monospace: "IBM Plex Mono", ui-monospace, "SF Mono", "Courier New", monospace;--font-feature: "dlig", "zero";--font-variation: "";--font-header-feature: "dlig", "cv11", "cv12", "cv13";--font-header-variation: "";--font-monospace-feature: "dlig";--font-monospace-variation: "";--font-weight: 400;--bold-weight: 600;--font-letter-spacing: normal;--font-header-letter-spacing: -0.065em;--font-header-line-height: 0.75em;--font-header-weight: 900;--font-interface: var(--font-text);--font-interface-feature: "dlig", "zero";--font-interface-variation: "opsz" 32;--font-list-feature: "dlig", "tnum", "zero";--font-list-variation: "opsz" 32;--line-height: calc(var(--font-size) * var(--font-density));--font-weight-h1: var(--font-header-weight);--font-weight-h2: max( calc(var(--font-header-weight) * 0.95), var(--font-weight) );--font-weight-h3: max( calc(var(--font-header-weight) * 0.9), var(--font-weight) );--font-weight-h4: max( calc(var(--font-header-weight) * 0.85), var(--font-weight) );--font-weight-h5: max( calc(var(--font-header-weight) * 0.8), var(--font-weight) );--font-weight-h6: max( calc(var(--font-header-weight) * 0.75), var(--font-weight) );--list-indentation: var(--space)}html.dark{--font-weight: 400;--font-letter-spacing: 0.001em}html{scroll-behavior:smooth;font-family:var(--font-text),system-ui,sans-serif;font-size:var(--scale);font-weight:var(--font-weight);letter-spacing:var(--font-letter-spacing);line-height:var(--line-height);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-feature-settings:var(--font-feature);font-variation-settings:var(--font-variation);text-wrap:pretty;hyphens:none;widows:2;orphans:2}.circular{font-feature-settings:"ss05" on}.squared{font-feature-settings:"ss06" on}.inter-display{font-variation-settings:"opsz" 32}@media only screen and (max-width: 768px){:root{--font-size: var(--font-mobile-size) !important;--font-ratio: var(--font-mobile-ratio) !important;--font-density: var(--font-mobile-density) !important}}b,strong{font-weight:var(--bold-weight)}:is(h1,h2,h3,h4,h5,h6) :is(b,strong,.bold){font-weight:inherit}a,a:visited{color:inherit}textarea{resize:vertical;min-height:calc(var(--space-l)*3)}li::before{font-feature-settings:var(--font-list-feature);font-variation-settings:var(--font-list-variation)}blockquote{font-style:italic;font-size:var(--scale-s)}pre,code{font-size:var(--scale-s);line-height:var(--font-density-s);overflow-x:auto}legend{font-weight:var(--bold-weight, bold)}label{font-weight:var(--bold-weight, bold)}figcaption{font-size:var(--scale-s);font-style:italic;text-align:center}table{border-collapse:collapse}th,td{text-align:left}th{font-weight:var(--bold-weight, bold)}caption{font-weight:var(--bold-weight, bold);text-align:left}.callout-title{font-weight:var(--bold-weight, bold)}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */h1,h2,h3,h4,h5,h6{font-family:var(--font-header),system-ui,sans-serif;color:var(--color-header);text-wrap:balance;font-variant-ligatures:normal;font-feature-settings:var(--font-header-feature);font-variation-settings:var(--font-header-variation);font-style:var(--font-header-style, normal);line-height:var(--font-header-line-height);letter-spacing:var(--font-header-letter-spacing);white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;max-width:100%;box-sizing:border-box}h1{font-weight:var(--font-weight-h1);font-size:clamp(var(--scale-2xl),10vw,var(--scale-3xl))}h2{font-weight:var(--font-weight-h2);font-size:clamp(var(--scale-xl),7vw,var(--scale-2xl))}h3{font-weight:var(--font-weight-h3);font-size:var(--scale-xl)}h4{font-weight:var(--font-weight-h4);font-size:var(--scale-l);line-height:var(--line-height)}h5{font-weight:var(--font-weight-h5);font-size:var(--scale-l);line-height:var(--line-height)}h6{font-weight:var(--font-weight-h6);font-size:var(--scale-l);line-height:var(--line-height)}a,a:visited{color:inherit;text-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.15em;text-decoration-color:var(--color-subtle);transition:color .2s ease,text-decoration-color .2s ease}a:visited:hover,a:hover,a:focus{color:var(--color-accent);text-decoration-color:var(--color-accent)}a:focus-visible{outline:1px solid color-mix(in srgb, var(--color-accent) 50%, transparent);border-radius:2px}a.external-link::after{content:"↗";position:relative;text-decoration:none;top:1px;left:2px;font-size:var(--scale-xs);color:var(--color-subtle)}:is(h1,h2,h3,h4,h5,h6) a{text-decoration:none}nav li a{text-decoration:none}nav li.is-active a{text-decoration:underline}button,a.button{font-family:var(--font-interface),system-ui,sans-serif;font-size:var(--scale-s);font-weight:var(--font-weight);line-height:var(--font-density);padding:var(--space-xs) var(--space-s);border-radius:var(--border-radius);background:color-mix(in srgb, var(--color-accent) 85%, var(--color-background-secondary));color:var(--color-background);border:var(--border);border-color:var(--color-border);box-shadow:var(--shadow);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}a.button:visited,a.button{--hr-thickness: 1px;display:inline-block;width:fit-content;user-select:none;margin:0 auto;text-decoration:none;text-align:center}button:hover,a.button:hover{opacity:.9;color:var(--color-background)}button:active,a.button:active{opacity:.8;color:var(--color-background)}button:focus-visible,a.button:focus-visible{outline:1px solid color-mix(in srgb, var(--color-accent) 50%, transparent);outline-offset:2px;color:var(--color-background)}button:disabled,a.button:disabled{opacity:.5;cursor:not-allowed;color:var(--color-background)}a.button:focus-visible{outline:1px solid color-mix(in srgb, var(--color-accent) 50%, transparent);outline-offset:2px;color:var(--color-background)}input,textarea,select{font-family:var(--font-interface),system-ui,sans-serif;font-size:var(--font-size);line-height:var(--line-height);padding:var(--space-xs);border-radius:var(--border-radius);color:var(--color-foreground);background:var(--color-background-secondary);border:var(--border);transition:background-color .2s ease,border-color .2s ease,outline-color .2s ease}input:focus,textarea:focus,select:focus{outline:1px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:0px;border-color:color-mix(in srgb, var(--color-accent) 35%, transparent);background-color:color-mix(in srgb, var(--color-accent) 5%, var(--color-background))}textarea{font-family:var(--font-interface),system-ui,sans-serif;resize:vertical;min-height:6em}input[type=checkbox],input[type=radio]{width:1.25em;height:1.25em;cursor:pointer;accent-color:var(--color-accent)}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--color-accent);border-color:var(--color-accent)}input[type=checkbox]:focus,input[type=radio]:focus{outline:2px solid color-mix(in srgb, var(--color-accent) 50%, transparent);outline-offset:2px}label{display:inline-block;font-family:var(--font-interface),system-ui,sans-serif;font-size:var(--font-size);color:var(--color-foreground);cursor:pointer}b,strong,.bold{font-weight:var(--bold-weight)}:is(h1,h2,h3,h4,h5,h6) :is(b,strong,.bold){font-weight:inherit}code,pre,tt,.code,.mono,.monospace,.font-mono{font-family:var(--font-monospace),Inconsolata,Menlo,monospace;font-feature-settings:var(--font-monospace-feature);font-variation-settings:var(--font-monospace-variation);font-size:var(--scale-s)}code{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:3px;padding:.125em .25em;word-break:break-word}pre{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-s);overflow-x:auto;line-height:1.5}pre code{background:rgba(0,0,0,0);border:none;padding:0}small{font-size:var(--scale-s)}sub,sup{font-size:var(--scale-xs);line-height:0}sub{vertical-align:sub}sup{vertical-align:super}.compact{line-height:var(--font-density-s)}.font-ui,.font-interface{font-family:var(--font-interface),system-ui,sans-serif;font-variation-settings:var(--font-interface-variation);font-feature-settings:var(--font-interface-feature)}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */:where(*,*::before,*::after){box-sizing:border-box}:where(html:not(.no-rhythm)),:where(.rhythm){display:flow-root}:where(html:not(.no-rhythm))>*,:where(.rhythm)>*{margin-block-start:0;margin-block-end:calc(var(--space)*var(--rhythm-multiplier))}:where(body:not(.no-rhythm)),:where(html:not(.no-rhythm))>body{margin:0;padding:calc(var(--space)*var(--body-padding-multiplier));padding-bottom:calc(var(--space)*var(--body-padding-multiplier)*1.5)}:where(body:not(.no-rhythm)) [id],:where(html:not(.no-rhythm))>body [id]{scroll-margin-top:calc(var(--space)*var(--body-padding-multiplier))}@media(max-width: 768px){:where(body:not(.no-rhythm)),:where(html:not(.no-rhythm))>body{margin:0;padding:calc(var(--space)*var(--body-mobile-padding-multiplier));padding-bottom:calc(var(--space)*var(--body-mobile-padding-multiplier)*1.5)}:where(body:not(.no-rhythm)) [id],:where(html:not(.no-rhythm))>body [id]{scroll-margin-top:calc(var(--space)*var(--body-mobile-padding-multiplier))}}:where(html:not(.no-rhythm),.rhythm) h1,:where(html:not(.no-rhythm),.rhythm) h2,:where(html:not(.no-rhythm),.rhythm) h3,:where(html:not(.no-rhythm),.rhythm) h4,:where(html:not(.no-rhythm),.rhythm) h5,:where(html:not(.no-rhythm),.rhythm) h6,:where(html:not(.no-rhythm),.rhythm) p,:where(html:not(.no-rhythm),.rhythm) ul,:where(html:not(.no-rhythm),.rhythm) ol,:where(html:not(.no-rhythm),.rhythm) dl,:where(html:not(.no-rhythm),.rhythm) blockquote,:where(html:not(.no-rhythm),.rhythm) pre,:where(html:not(.no-rhythm),.rhythm) table,:where(html:not(.no-rhythm),.rhythm) figure,:where(html:not(.no-rhythm),.rhythm) form,:where(html:not(.no-rhythm),.rhythm) fieldset,:where(html:not(.no-rhythm),.rhythm) section,:where(html:not(.no-rhythm),.rhythm) article,:where(html:not(.no-rhythm),.rhythm) aside,:where(html:not(.no-rhythm),.rhythm) header,:where(html:not(.no-rhythm),.rhythm) footer,:where(html:not(.no-rhythm),.rhythm) main,:where(html:not(.no-rhythm),.rhythm) .flow,:where(html:not(.no-rhythm),.rhythm) .flow-2,:where(html:not(.no-rhythm),.rhythm) .flow-3,:where(html:not(.no-rhythm),.rhythm) .flow-4,:where(html:not(.no-rhythm),.rhythm) .box,:where(html:not(.no-rhythm),.rhythm) .box-inset{margin-block-start:0;margin-block-end:calc(var(--space)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) .rhythm{--rhythm-multiplier: 1}:where(html:not(.no-rhythm),.rhythm) .callout,:where(html:not(.no-rhythm),.rhythm) blockquote,:where(html:not(.no-rhythm),.rhythm) pre,:where(html:not(.no-rhythm),.rhythm) figure,:where(html:not(.no-rhythm),.rhythm) p:has(img),:where(html:not(.no-rhythm),.rhythm) fieldset,:where(html:not(.no-rhythm),.rhythm) hr,:where(html:not(.no-rhythm),.rhythm) .table-wrapper,:where(html:not(.no-rhythm),.rhythm) .container-small,:where(html:not(.no-rhythm),.rhythm) .container-accent,:where(html:not(.no-rhythm),.rhythm) .container-feature,:where(html:not(.no-rhythm),.rhythm) .container-full{margin-block-start:calc(var(--space)*max(var(--rhythm-multiplier-block),var(--rhythm-multiplier)) - var(--space)*var(--rhythm-multiplier));margin-block-end:calc(var(--space)*max(var(--rhythm-multiplier-block),var(--rhythm-multiplier)))}:where(html:not(.no-rhythm),.rhythm) *>:where(:last-child){margin-block-end:0}:where(html:not(.no-rhythm),.rhythm) .prose>[class^=grid-],:where(html:not(.no-rhythm),.rhythm) .prose>.grid{margin-block-start:calc(var(--space)*max(var(--rhythm-multiplier-block),var(--rhythm-multiplier)) - var(--space)*var(--rhythm-multiplier));margin-block-end:calc(var(--space)*max(var(--rhythm-multiplier-block),var(--rhythm-multiplier)))}:where(html:not(.no-rhythm),.rhythm) hr{--rhythm-multiplier-block: calc(var(--rhythm-multiplier) * 3)}:where(html:not(.no-rhythm),.rhythm) p:has(img)+p:has(img){margin-block-start:calc(var(--space-l)*var(--rhythm-multiplier)*-1 + var(--space)/4) !important}:where(html:not(.no-rhythm),.rhythm) blockquote>:first-child,:where(html:not(.no-rhythm),.rhythm) pre>:first-child,:where(html:not(.no-rhythm),.rhythm) figure>:first-child,:where(html:not(.no-rhythm),.rhythm) .callout .callout-content>:first-child{margin-block-start:0}:where(html:not(.no-rhythm),.rhythm) blockquote>:last-child,:where(html:not(.no-rhythm),.rhythm) pre>:last-child,:where(html:not(.no-rhythm),.rhythm) figure>:last-child,:where(html:not(.no-rhythm),.rhythm) .callout .callout-content>:last-child{margin-block-end:0}:where(html:not(.no-rhythm),.rhythm) ul,:where(html:not(.no-rhythm),.rhythm) ol{list-style:none;padding-inline-start:var(--space)}:where(html:not(.no-rhythm),.rhythm) p+ul,:where(html:not(.no-rhythm),.rhythm) p+ol{margin-block-start:calc(var(--space)*-0.5*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) ol ul,:where(html:not(.no-rhythm),.rhythm) ol ol,:where(html:not(.no-rhythm),.rhythm) ul ul,:where(html:not(.no-rhythm),.rhythm) ul ol{margin-block-start:calc(var(--space-xs)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) li>ul,:where(html:not(.no-rhythm),.rhythm) li>ol{padding-inline-start:var(--space);margin-block-end:0}:where(html:not(.no-rhythm),.rhythm) li{position:relative;margin:0;padding-inline-start:0;margin-block-end:calc(var(--space-xs)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) ul>li::before{content:"•";position:absolute;left:calc(var(--space)*-1);width:var(--space);text-align:center;color:var(--color-subtle)}:where(html:not(.no-rhythm),.rhythm) ol{counter-reset:ol-counter}:where(html:not(.no-rhythm),.rhythm) ol>li{counter-increment:ol-counter}:where(html:not(.no-rhythm),.rhythm) ol>li::before{content:counter(ol-counter) ".";position:absolute;left:calc(var(--space)*-1.75);text-align:right;line-height:inherit;color:var(--color-subtle);font-variant-numeric:tabular-nums;overflow:hidden;width:calc(var(--space)*1.5)}:where(html:not(.no-rhythm),.rhythm) ul.no-bullet,:where(html:not(.no-rhythm),.rhythm) ol.no-bullet{list-style:none;padding-inline-start:0}:where(html:not(.no-rhythm),.rhythm) ul.no-bullet li::before,:where(html:not(.no-rhythm),.rhythm) ol.no-bullet li::before{display:none}:where(html:not(.no-rhythm),.rhythm) ul:where(.display-flex,[style*="display: flex"],[style*="display:flex"]) li,:where(html:not(.no-rhythm),.rhythm) ol:where(.display-flex,[style*="display: flex"],[style*="display:flex"]) li{margin-block-end:0}:where(html:not(.no-rhythm),.rhythm) ul.compact li,:where(html:not(.no-rhythm),.rhythm) ol.compact li,:where(html:not(.no-rhythm),.rhythm) li:last-of-type{line-height:var(--line-height);margin-block-end:0}:where(html:not(.no-rhythm),.rhythm) blockquote,:where(html:not(.no-rhythm),.rhythm) pre{padding:var(--space)}:where(html:not(.no-rhythm),.rhythm) form:not(.grid *){display:grid;gap:calc(var(--space-s)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) .grid form{display:flex;flex-direction:column;gap:calc(var(--space-s)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) fieldset{padding:calc(var(--space-s)*var(--rhythm-multiplier));display:grid;gap:calc(var(--space-xs)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) legend{padding-inline:calc(var(--space-xs)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) input,:where(html:not(.no-rhythm),.rhythm) textarea,:where(html:not(.no-rhythm),.rhythm) select{margin:0}:where(html:not(.no-rhythm),.rhythm) label{margin:0}:where(html:not(.no-rhythm),.rhythm) label:has(+input[type=text]),:where(html:not(.no-rhythm),.rhythm) label:has(+input[type=email]),:where(html:not(.no-rhythm),.rhythm) label:has(+input[type=password]),:where(html:not(.no-rhythm),.rhythm) label:has(+textarea),:where(html:not(.no-rhythm),.rhythm) label:has(+select){margin-block-start:calc(var(--space-xs)*var(--rhythm-multiplier));margin-inline-start:calc(var(--space-s)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) fieldset div,:where(html:not(.no-rhythm),.rhythm) fieldset p{margin-inline-start:calc(var(--space-s)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) label+input[type=checkbox],:where(html:not(.no-rhythm),.rhythm) label+input[type=radio]{margin-inline-start:calc(var(--space-s)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) .button-group{display:flex;gap:calc(var(--space-s)*var(--rhythm-multiplier));flex-wrap:wrap}:where(html:not(.no-rhythm),.rhythm) img,:where(html:not(.no-rhythm),.rhythm) video,:where(html:not(.no-rhythm),.rhythm) audio,:where(html:not(.no-rhythm),.rhythm) iframe{max-width:100%;height:auto}:where(html:not(.no-rhythm),.rhythm) figure{display:grid;gap:calc(var(--space-xs)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) caption{margin-block-end:calc(var(--space-xs)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) table{width:100%}:where(html:not(.no-rhythm),.rhythm) td,:where(html:not(.no-rhythm),.rhythm) th{border-bottom:var(--border);font-size:var(--scale-s);padding-block:calc(var(--space-xs)*var(--rhythm-multiplier));padding-inline:calc(var(--space-s)*var(--rhythm-multiplier))}:where(html:not(.no-rhythm),.rhythm) th{text-transform:uppercase;letter-spacing:.05em}:where(html:not(.no-rhythm),.rhythm) .numeric{text-align:right;font-variant-numeric:tabular-nums}:where(html:not(.no-rhythm),.rhythm) .striped tbody tr:nth-child(even){background:color-mix(in srgb, var(--color-foreground) 3%, transparent)}:where(html:not(.no-rhythm),.rhythm) .compact th,:where(html:not(.no-rhythm),.rhythm) .compact td{padding-block:calc(var(--space-2xs)*var(--rhythm-multiplier));padding-inline-end:calc(var(--space-xs)*var(--rhythm-multiplier))}.rhythm-tight{--rhythm-multiplier: 0.5}.rhythm-loose{--rhythm-multiplier: 1.5}.rhythm-xl{--rhythm-multiplier: 2}.no-rhythm{margin:0 !important}.no-block-start{margin-block-start:0 !important}.no-block-end{margin-block-end:0 !important}.stick-next{margin-block-end:calc(var(--space-xs)*var(--rhythm-multiplier)) !important}@media(prefers-reduced-motion: reduce){.rhythm{transition:none}}@supports not (display: grid){.rhythm{display:block}.rhythm>*{margin-block-end:calc(var(--space)*var(--rhythm-multiplier))}.rhythm>:last-child{margin-block-end:0}}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */:root{--grid-cols: 12;--grid-gap: var(--space);--grid-row-gap: var(--grid-gap);--container-max: 1200px;--container-standard: var(--space)}.grid{display:grid;grid-template-columns:repeat(var(--grid-cols), 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid.tight{--grid-gap: calc(var(--space) / 4);--grid-row-gap: var(--space-s)}.grid.wide{--grid-gap: var(--space-l);--grid-row-gap: var(--space-xl)}.grid-1{display:grid;grid-template-columns:repeat(1, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-2{display:grid;grid-template-columns:repeat(2, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-3{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-4{display:grid;grid-template-columns:repeat(4, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-5{display:grid;grid-template-columns:repeat(5, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-6{display:grid;grid-template-columns:repeat(6, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-7{display:grid;grid-template-columns:repeat(7, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-8{display:grid;grid-template-columns:repeat(8, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-9{display:grid;grid-template-columns:repeat(9, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-10{display:grid;grid-template-columns:repeat(10, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-11{display:grid;grid-template-columns:repeat(11, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.grid-12{display:grid;grid-template-columns:repeat(12, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-1{grid-column:span 1;margin-block-end:0}.start-1{grid-column-start:1}.col-2{grid-column:span 2;margin-block-end:0}.start-2{grid-column-start:2}.col-3{grid-column:span 3;margin-block-end:0}.start-3{grid-column-start:3}.col-4{grid-column:span 4;margin-block-end:0}.start-4{grid-column-start:4}.col-5{grid-column:span 5;margin-block-end:0}.start-5{grid-column-start:5}.col-6{grid-column:span 6;margin-block-end:0}.start-6{grid-column-start:6}.col-7{grid-column:span 7;margin-block-end:0}.start-7{grid-column-start:7}.col-8{grid-column:span 8;margin-block-end:0}.start-8{grid-column-start:8}.col-9{grid-column:span 9;margin-block-end:0}.start-9{grid-column-start:9}.col-10{grid-column:span 10;margin-block-end:0}.start-10{grid-column-start:10}.col-11{grid-column:span 11;margin-block-end:0}.start-11{grid-column-start:11}.col-12{grid-column:span 12;margin-block-end:0}.start-12{grid-column-start:12}@media(max-width: 768px){.grid-sm-1{display:grid;grid-template-columns:repeat(1, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-1{grid-column:span 1}.start-sm-1{grid-column-start:1}.grid-sm-2{display:grid;grid-template-columns:repeat(2, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-2{grid-column:span 2}.start-sm-2{grid-column-start:2}.grid-sm-3{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-3{grid-column:span 3}.start-sm-3{grid-column-start:3}.grid-sm-4{display:grid;grid-template-columns:repeat(4, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-4{grid-column:span 4}.start-sm-4{grid-column-start:4}.grid-sm-5{display:grid;grid-template-columns:repeat(5, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-5{grid-column:span 5}.start-sm-5{grid-column-start:5}.grid-sm-6{display:grid;grid-template-columns:repeat(6, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-6{grid-column:span 6}.start-sm-6{grid-column-start:6}.grid-sm-7{display:grid;grid-template-columns:repeat(7, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-7{grid-column:span 7}.start-sm-7{grid-column-start:7}.grid-sm-8{display:grid;grid-template-columns:repeat(8, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-8{grid-column:span 8}.start-sm-8{grid-column-start:8}.grid-sm-9{display:grid;grid-template-columns:repeat(9, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-9{grid-column:span 9}.start-sm-9{grid-column-start:9}.grid-sm-10{display:grid;grid-template-columns:repeat(10, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-10{grid-column:span 10}.start-sm-10{grid-column-start:10}.grid-sm-11{display:grid;grid-template-columns:repeat(11, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-11{grid-column:span 11}.start-sm-11{grid-column-start:11}.grid-sm-12{display:grid;grid-template-columns:repeat(12, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-sm-12{grid-column:span 12}.start-sm-12{grid-column-start:12}.col-sm-row{grid-column:1/-1}}@media(min-width: 1024px){.grid-lg-1{display:grid;grid-template-columns:repeat(1, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-1{grid-column:span 1}.start-lg-1{grid-column-start:1}.grid-lg-2{display:grid;grid-template-columns:repeat(2, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-2{grid-column:span 2}.start-lg-2{grid-column-start:2}.grid-lg-3{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-3{grid-column:span 3}.start-lg-3{grid-column-start:3}.grid-lg-4{display:grid;grid-template-columns:repeat(4, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-4{grid-column:span 4}.start-lg-4{grid-column-start:4}.grid-lg-5{display:grid;grid-template-columns:repeat(5, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-5{grid-column:span 5}.start-lg-5{grid-column-start:5}.grid-lg-6{display:grid;grid-template-columns:repeat(6, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-6{grid-column:span 6}.start-lg-6{grid-column-start:6}.grid-lg-7{display:grid;grid-template-columns:repeat(7, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-7{grid-column:span 7}.start-lg-7{grid-column-start:7}.grid-lg-8{display:grid;grid-template-columns:repeat(8, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-8{grid-column:span 8}.start-lg-8{grid-column-start:8}.grid-lg-9{display:grid;grid-template-columns:repeat(9, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-9{grid-column:span 9}.start-lg-9{grid-column-start:9}.grid-lg-10{display:grid;grid-template-columns:repeat(10, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-10{grid-column:span 10}.start-lg-10{grid-column-start:10}.grid-lg-11{display:grid;grid-template-columns:repeat(11, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-11{grid-column:span 11}.start-lg-11{grid-column-start:11}.grid-lg-12{display:grid;grid-template-columns:repeat(12, 1fr);column-gap:var(--grid-gap);row-gap:var(--grid-row-gap)}.col-lg-12{grid-column:span 12}.start-lg-12{grid-column-start:12}.col-lg-row{grid-column:1/-1}}.col-row,.col-full{grid-column:1/-1;margin-block-end:0}hr.col-row{margin-block:var(--space)}.col-half{grid-column:span 6}.col-third{grid-column:span 4}.col-two3{grid-column:span 8}.col-quarter{grid-column:span 3}.grid .rhythm>*{margin-block-end:var(--space)}.free-col{--start: auto;--span: 3;grid-column:var(--start)/span var(--span)}.free-col.rhythm>*{margin-block-end:var(--space)}.span-1{--span: 1}.startv-1{--start: 1}.span-2{--span: 2}.startv-2{--start: 2}.span-3{--span: 3}.startv-3{--start: 3}.span-4{--span: 4}.startv-4{--start: 4}.span-5{--span: 5}.startv-5{--start: 5}.span-6{--span: 6}.startv-6{--start: 6}.span-7{--span: 7}.startv-7{--start: 7}.span-8{--span: 8}.startv-8{--start: 8}.span-9{--span: 9}.startv-9{--start: 9}.span-10{--span: 10}.startv-10{--start: 10}.span-11{--span: 11}.startv-11{--start: 11}.span-12{--span: 12}.startv-12{--start: 12}@media(max-width: 768px){.span-sm-1{--span: 1}.startv-sm-1{--start: 1}.span-sm-2{--span: 2}.startv-sm-2{--start: 2}.span-sm-3{--span: 3}.startv-sm-3{--start: 3}.span-sm-4{--span: 4}.startv-sm-4{--start: 4}.span-sm-5{--span: 5}.startv-sm-5{--start: 5}.span-sm-6{--span: 6}.startv-sm-6{--start: 6}.span-sm-7{--span: 7}.startv-sm-7{--start: 7}.span-sm-8{--span: 8}.startv-sm-8{--start: 8}.span-sm-9{--span: 9}.startv-sm-9{--start: 9}.span-sm-10{--span: 10}.startv-sm-10{--start: 10}.span-sm-11{--span: 11}.startv-sm-11{--start: 11}.span-sm-12{--span: 12}.startv-sm-12{--start: 12}}@media(min-width: 1024px){.span-lg-1{--span: 1}.startv-lg-1{--start: 1}.span-lg-2{--span: 2}.startv-lg-2{--start: 2}.span-lg-3{--span: 3}.startv-lg-3{--start: 3}.span-lg-4{--span: 4}.startv-lg-4{--start: 4}.span-lg-5{--span: 5}.startv-lg-5{--start: 5}.span-lg-6{--span: 6}.startv-lg-6{--start: 6}.span-lg-7{--span: 7}.startv-lg-7{--start: 7}.span-lg-8{--span: 8}.startv-lg-8{--start: 8}.span-lg-9{--span: 9}.startv-lg-9{--start: 9}.span-lg-10{--span: 10}.startv-lg-10{--start: 10}.span-lg-11{--span: 11}.startv-lg-11{--start: 11}.span-lg-12{--span: 12}.startv-lg-12{--start: 12}}@media(max-width: 767.98px){.free-col{grid-column:1/-1}}.free-col.sticky{position:sticky;inset-block-start:var(--space);align-self:start;z-index:1}.grid.no-row-gap{row-gap:0}.grid.row-gap-xs{--grid-row-gap: var(--space-xs)}.grid.row-gap-s{--grid-row-gap: var(--space-s)}.grid.row-gap-l{--grid-row-gap: var(--space-l)}.grid.row-gap-xl{--grid-row-gap: var(--space-xl)}.grid.no-col-gap{column-gap:0}.grid.col-gap-xs{--grid-gap: var(--space-xs)}.grid.col-gap-s{--grid-gap: var(--space-s)}.grid.col-gap-l{--grid-gap: var(--space-l)}.grid.col-gap-xl{--grid-gap: var(--space-xl)}.box>*,.grid>.col-1>*,.grid>.col-2>*,.grid>.col-3>*,.grid>.col-4>*,.grid>.col-5>*,.grid>.col-6>*,.grid>.col-7>*,.grid>.col-8>*,.grid>.col-9>*,.grid>.col-10>*,.grid>.col-11>*,.grid>.col-12>*,.grid>.col-half>*,.grid>.col-third>*,.grid>.col-two3>*,.grid>.col-quarter>*,.grid>.col-full>*{margin-block:0;margin-block-end:calc(var(--space)*var(--rhythm-multiplier))}.box>:last-child,.grid>.col-1>:last-child,.grid>.col-2>:last-child,.grid>.col-3>:last-child,.grid>.col-4>:last-child,.grid>.col-5>:last-child,.grid>.col-6>:last-child,.grid>.col-7>:last-child,.grid>.col-8>:last-child,.grid>.col-9>:last-child,.grid>.col-10>:last-child,.grid>.col-11>:last-child,.grid>.col-12>:last-child,.grid>.col-half>:last-child,.grid>.col-third>:last-child,.grid>.col-two3>:last-child,.grid>.col-quarter>:last-child,.grid>.col-full>:last-child{margin-block-end:0}.box>:first-child,.grid>.col-1>:first-child,.grid>.col-2>:first-child,.grid>.col-3>:first-child,.grid>.col-4>:first-child,.grid>.col-5>:first-child,.grid>.col-6>:first-child,.grid>.col-7>:first-child,.grid>.col-8>:first-child,.grid>.col-9>:first-child,.grid>.col-10>:first-child,.grid>.col-11>:first-child,.grid>.col-12>:first-child,.grid>.col-half>:first-child,.grid>.col-third>:first-child,.grid>.col-two3>:first-child,.grid>.col-quarter>:first-child,.grid>.col-full>:first-child{margin-block-start:0}[class^=grid] .container-hero,[class*=" grid"] .container-hero{margin-inline:0}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */:root{--line-width-xs: 24rem;--line-width-s: 32rem;--line-width-m: 42rem;--line-width-l: 50rem;--line-width-xl: 60rem;--line-width-full: calc( 100vw - (var(--space) * 2) );--line-width: var(--line-width-m);--gap: clamp(var(--space), 6%, var(--space-xl));--content: min(var(--line-width), 100% - var(--gap) * 2);--content-small: calc(var(--space) * var(--rhythm-multiplier-block));--content-accent: minmax(0, var(--space-l));--content-feature: minmax(0, var(--space-2xl));--content-hero: minmax(0, 1fr)}@media(max-width: 768px){:root{--gap: 0}}:where(.prose){display:grid;grid-template-columns:[hero-start] var(--content-hero) [feature-start] var(--content-feature) [accent-start] var(--content-accent) [content-start] var(--content) [content-end] var(--content-accent) [accent-end] var(--content-feature) [feature-end] var(--content-hero) [hero-end];transition:grid-template-columns .3s ease-out;position:relative;z-index:var(--z-base)}:where(.prose)>*{grid-column:content}:where(.prose) .container-small{grid-column:content;margin-inline:var(--content-small)}:where(.prose) table,:where(.prose) .table-wrapper,:where(.prose) .container-accent{grid-column:accent;margin-inline:0}:where(.prose) .container-feature{grid-column:feature;margin-inline:0}:where(.prose) .container-hero{grid-column:hero;margin-inline:calc(var(--space)*var(--body-padding-multiplier)*-1)}:where(.prose) .container-hero>*{margin-inline:0}:where(.prose):not(.no-grid) p:has(img){display:flex;gap:calc(var(--space)/4);border-radius:var(--border-radius)}:where(.prose):not(.no-grid) p:has(img)>*{flex:1 1 auto;min-width:1%;min-height:1%;object-fit:cover}:where(.prose):not(.no-grid) p:has(img) img{flex-grow:0}:where(.prose):not(.no-grid) p:has(video)>*{flex:1 1 auto;min-width:1%;min-height:1%;object-fit:cover}:where(.prose):not(.no-grid) p:has(img) img,:where(.prose):not(.no-grid) p:has(img) img:first-child,:where(.prose):not(.no-grid) p:has(img) img:last-child{margin-inline:auto}:where(.prose):not(.no-grid) p:has(img) br{display:none}:where(.prose):not(.no-grid) .callout p:has(img),:where(.prose):not(.no-grid) .callout p:has(img) br{display:block}:where(.prose) h1,:where(.prose)>h1:where(:first-child){margin-block-start:calc(var(--space-2xl)*var(--rhythm-multiplier));margin-block-end:calc(var(--space-xl)*var(--rhythm-multiplier))}:where(.prose) h2{margin-block-start:calc(var(--space-l)*var(--rhythm-multiplier));margin-block-end:calc(var(--space-l)*var(--rhythm-multiplier))}:where(.prose) h3{margin-block-start:calc(var(--space)*var(--rhythm-multiplier))}:where(.prose) h4{margin-block-start:calc(var(--space)*var(--rhythm-multiplier))}:where(.prose) h5{margin-block-start:calc(var(--space)*var(--rhythm-multiplier));margin-block-end:calc(var(--space)*var(--rhythm-multiplier))}:where(.prose) h6{margin-block-start:calc(var(--space)*var(--rhythm-multiplier));margin-block-end:calc(var(--space-xs)*var(--rhythm-multiplier))}:where(.prose) hr{margin-inline:calc(var(--space-l)*var(--rhythm-multiplier))}:where(.prose) h1+h2,:where(.prose) h2+h3,:where(.prose) h3+h4,:where(.prose) h4+h5,:where(.prose) h5+h6{margin-block-start:calc(var(--space-xs)*var(--rhythm-multiplier)*-1)}:where(.prose) hr+h2,:where(.prose) hr+h3,:where(.prose) hr+h4,:where(.prose) hr+h5,:where(.prose) hr+h6{margin-block-start:0}:where(.prose) blockquote+h2,:where(.prose) blockquote+h3,:where(.prose) blockquote+h4,:where(.prose) blockquote+h5,:where(.prose) blockquote+h6{margin-block-start:var(--space)}:where(.prose) h2+pre,:where(.prose) h3+pre,:where(.prose) h4+pre{margin-block-start:0}:where(.prose) :where(section,aside,header,footer,main,nav,blockquote,pre,figure,.box,.box-inset,.callout,.grid,.container-small,.container-accent,.container-feature,.container-hero)>:is(h1,h2,h3,h4,h5,h6):where(:first-child){margin-block-start:0}:where(.prose) img,:where(.prose) audio,:where(.prose) video{margin:0;margin-inline:auto;max-inline-size:100%;border-radius:var(--border-radius);border:var(--border)}:where(.prose) .callout,:where(.prose) blockquote,:where(.prose) pre,:where(.prose) figure,:where(.prose) p:has(img){margin-inline:var(--content-small)}@media(max-width: 600px){:where(.prose) .container-small,:where(.prose) .callout,:where(.prose) blockquote,:where(.prose) pre,:where(.prose) figure,:where(.prose) p:has(img){margin-inline:0}}:where(.prose) .mermaid{margin-block-end:var(--space);margin-inline:auto;padding:var(--space)}:where(.prose) p img{max-inline-size:100%}.width-xs{max-width:var(--line-width-xs)}.width-s{max-width:var(--line-width-s)}.width-m{max-width:var(--line-width-m)}.width-l{max-width:var(--line-width-l)}.width-xl{max-width:var(--line-width-xl)}.width-full{max-width:var(--line-width-full)}@keyframes fadeInUp{from{opacity:0;transform:translateY(0.5rem)}to{opacity:1;transform:translateY(0)}}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */img{max-inline-size:100%}:where(html:not(.no-rhythm),.rhythm) *+img,:where(html:not(.no-rhythm),.rhythm) img,:where(html:not(.no-rhythm),.rhythm) img:first-child,:where(html:not(.no-rhythm),.rhythm) img:last-child{margin:0;max-inline-size:100%;block-size:auto}:where(html:not(.no-rhythm),.rhythm) img{max-width:100%;cursor:zoom-in;transition:mix-blend-mode .2s,opacity .2s,filter .2s}:where(html:not(.no-rhythm),.rhythm) img.fx{border-radius:var(--border-radius);border:var(--border)}:where(html:not(.no-rhythm),.rhythm) img.nofx{border-radius:unset;border:unset;box-shadow:unset}:where(html:not(.no-rhythm),.rhythm) img:hover,:where(html:not(.no-rhythm),.rhythm) img.zoomed{mix-blend-mode:normal;filter:none}:where(html:not(.no-rhythm),.rhythm) img:active,:where(html:not(.no-rhythm),.rhythm) img.zoomed{cursor:zoom-out;display:block;z-index:var(--z-image-zoom);position:fixed;max-height:88vh;max-width:88vw;max-height:calc(100vh - var(--space)*2);max-width:calc(100vw - var(--space)*2);object-fit:contain;margin:0 auto;text-align:center;padding:0;top:50%;left:50%;transform:translate(-50%, -50%);user-select:none}html:not(.no-rhythm) :has(img:active)::before,html:not(.no-rhythm) :has(img.zoomed)::before,.prose :has(img:active)::before,.prose :has(img.zoomed)::before,.rhythm :has(img:active)::before,.rhythm :has(img.zoomed)::before{content:"";position:fixed;inset:0;background:var(--color-background);z-index:calc(var(--z-image-zoom) - 1);z-index:unset}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */.md .callout,.md pre,.md blockquote,.md img,.md iframe,.md .outset,.md .inset,.md .box,.md .box-inset{background:var(--color-background-secondary);border-radius:var(--border-radius);border:var(--border);box-shadow:var(--shadow)}.md pre,.md blockquote .inset,.md .box-inset{box-shadow:inset var(--shadow)}.md .box,.md .box-inset{padding:var(--space);font-size:var(--scale-s)}.md blockquote{font-size:var(--scale-s);line-height:var(--font-density-s);padding:var(--space);font-style:italic}.md .callout{line-height:var(--font-density-s);transition:var(--duration-superfast) var(--motion-smooth);padding:var(--space-2xs);--color-callout: var(--color-background-secondary);--color-border: color-mix( in srgb, var(--color-callout) 15%, transparent );background:color-mix(in srgb, var(--color-callout) 5%, var(--color-background-secondary));border:var(--border)}.md .callout .callout-title{color:color-mix(in srgb, var(--color-callout) 50%, var(--color-foreground));font-weight:bold;font-size:var(--scale-s);user-select:none;padding:var(--space-3xs) calc(var(--space) - var(--space-xs)) var(--space-3xs) calc(var(--space) - var(--space-xs))}.md .callout .callout-content{color:var(--color-foreground);background:color-mix(in srgb, var(--color-callout) 2.5%, var(--color-background));box-shadow:inset var(--shadow);font-size:var(--scale-s);overflow:hidden;border-radius:var(--border-radius);padding:var(--space-s) calc(var(--space) - var(--space-xs));margin-top:var(--space-2xs);margin-left:0;border:var(--border);text-align:left}.md .callout .callout-content p:first-child{margin-top:0}.md .callout .callout-content p:last-child{margin-bottom:0}.md .callout .callout-content ul,.md .callout .callout-content ol{padding:0 calc(var(--space)*.75)}.md .callout .callout-content pre{margin:var(--space) 0}.md .callout .callout-content>.callout{margin:calc(var(--space-xs)*-1)}.md .callout .callout-content>.callout .callout-content{padding:var(--space-s)}.md .callout .callout-content>.callout .callout-title{padding-left:var(--space-s);padding-right:var(--space-s)}.md .callout .callout-title-icon{display:none}.md .callout img{margin-left:0;margin-right:0}.md .callout[data-callout=warning i]{--color-callout: var(--color-red)}.md .callout[data-callout=important i]{--color-callout: var(--color-orange)}.md details>summary{list-style:none}.md details .callout-title::before{content:"▸";display:inline-block;transform:rotate(0deg);transition:transform .2s ease}.md details[open] .callout-title::before{transform:rotate(90deg)}.md details .callout-title-inner{display:inline}.md p:has(img)+.callout[data-callout=caption i]{padding:0;background:none;border:none;margin:0 var(--space-l);position:relative;top:calc(var(--space)*-1.75);box-shadow:none}.md p:has(img)+.callout[data-callout=caption i] .callout-title{display:none}.md p:has(img)+.callout[data-callout=caption i] .callout-content{padding:0;background:none;border:none;box-shadow:none;line-height:1;text-align:center !important;text-wrap:balance !important}@media only screen and (max-width: 768px){.md ul:not([start]),.md ol:not([start]){padding:0;padding-left:var(--space)}}.card{--card-border-color: var(--color-border);--card-border-width: 1px;--card-border-radius: var(--border-radius);--card-padding: var(--space);--card-background: var(--color-background);--card-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);background:var(--card-background);border:var(--card-border-width) solid var(--card-border-color);border-radius:var(--card-border-radius);box-shadow:var(--card-shadow);display:flex;flex-direction:column;overflow:hidden;height:100%}.card-header{padding:var(--card-padding);border-bottom:var(--card-border-width) solid var(--card-border-color)}.card-header>:first-child{margin-block-start:0}.card-header>:last-child{margin-block-end:0}.card-body{padding:var(--card-padding);flex:1}.card-body>:first-child{margin-block-start:0}.card-body>:last-child{margin-block-end:0}.card-footer{padding:var(--card-padding);border-top:var(--card-border-width) solid var(--card-border-color);background:color-mix(in srgb, var(--color-background) 97%, var(--color-text) 3%)}.card-footer>:first-child{margin-block-start:0}.card-footer>:last-child{margin-block-end:0}.card-clickable{text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.card-clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.card-clickable:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.card-clickable:active{transform:translateY(0)}.alert{--alert-padding: var(--space-s);--alert-border-width: 1px;--alert-border-radius: var(--border-radius);--alert-background: var(--color-background-secondary);--alert-color: var(--color-foreground);--alert-border-color: var(--color-border);padding:var(--alert-padding);border:var(--alert-border-width) solid var(--alert-border-color);border-radius:var(--alert-border-radius);background:var(--alert-background);color:var(--alert-color);border-left:4px solid var(--alert-border-color);margin-block-end:var(--space);font-size:var(--scale-s);line-height:var(--font-density)}.alert>:first-child{margin-block-start:0}.alert>:last-child{margin-block-end:0}.alert strong{font-weight:var(--bold-weight)}.alert-success{--alert-background: color-mix( in srgb, var(--color-success) 10%, var(--color-background) );--alert-border-color: var(--color-success)}.alert-warning{--alert-background: color-mix( in srgb, var(--color-warning) 10%, var(--color-background) );--alert-border-color: var(--color-warning)}.alert-error{--alert-background: color-mix( in srgb, var(--color-error) 10%, var(--color-background) );--alert-border-color: var(--color-error)}.alert-info{--alert-background: color-mix( in srgb, var(--color-info) 10%, var(--color-background) );--alert-border-color: var(--color-info)}.alert-action{display:inline-block;margin-inline-start:var(--space-s);color:var(--alert-border-color);text-decoration:underline;font-weight:var(--bold-weight)}.alert-action:hover{text-decoration-thickness:.15em}.skip-link{position:absolute;top:var(--space-2xs);left:var(--space-2xs);z-index:var(--z-modal);background:var(--color-accent);color:var(--color-background);padding:var(--space-xs) var(--space-s);border-radius:var(--border-radius);font-weight:var(--bold-weight);font-size:var(--scale-s);text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.3);transition:transform .2s ease,opacity .2s ease;transform:translateY(-120%);opacity:0}.skip-link:focus{transform:translateY(0);opacity:1;outline:3px solid var(--color-background);outline-offset:2px}.skip-link:hover{background:color-mix(in srgb, var(--color-accent) 90%, var(--color-background))}.skip-link:active{transform:translateY(0) scale(0.98)}.skip-links{position:absolute;top:0;left:0;z-index:var(--z-modal);display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-2xs)}.breadcrumb{margin-block-end:var(--space);font-size:var(--scale-s)}.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.breadcrumb li{display:inline-flex;align-items:center;gap:var(--space-xs);margin:0}.breadcrumb li::before{display:none}.breadcrumb li:not(:first-child)::before{content:"→";display:inline-block;color:var(--color-subtle);margin-inline-end:var(--space-xs)}.breadcrumb a{color:var(--color-foreground);text-decoration:underline;text-decoration-color:var(--color-subtle);text-underline-offset:.15em}.breadcrumb a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.breadcrumb a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.breadcrumb [aria-current=page]{color:var(--color-muted);font-weight:var(--bold-weight)}.breadcrumb-compact{font-size:var(--scale-xs)}.breadcrumb-compact ol{gap:var(--space-2xs)}.breadcrumb-compact li{gap:var(--space-2xs)}.breadcrumb-compact li:not(:first-child)::before{margin-inline-end:var(--space-2xs)}@media(max-width: 768px){.breadcrumb ol li:not(:first-child):not(:last-child){display:none}.breadcrumb ol li:last-child::before{content:"…"}}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);margin-block:var(--space-l);font-size:var(--scale-s);font-variant-numeric:tabular-nums}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.5em;height:2.5em;padding:0 var(--space-xs);border:var(--border);border-radius:var(--border-radius);text-decoration:none;color:var(--color-foreground);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.pagination a:hover{background:var(--color-background-secondary);border-color:var(--color-accent);color:var(--color-accent)}.pagination a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pagination a:active{transform:scale(0.95)}.pagination-current,.pagination [aria-current=page]{background:var(--color-accent);color:var(--color-background);border-color:var(--color-accent);font-weight:var(--bold-weight);cursor:default;pointer-events:none}.pagination-ellipsis{border:none;background:rgba(0,0,0,0);pointer-events:none;color:var(--color-subtle)}.pagination-prev,.pagination-next{min-width:auto;padding:0 var(--space-s);font-weight:var(--bold-weight)}.pagination-prev[aria-disabled=true],.pagination-next[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}@media(max-width: 768px){.pagination{font-size:var(--scale-xs)}.pagination a:not(.pagination-prev):not(.pagination-next),.pagination span:not(.pagination-current):not(.pagination-summary){display:none}.pagination .pagination-summary{display:inline-flex;border:none;background:rgba(0,0,0,0);font-weight:var(--font-weight)}}.pagination-summary{font-size:var(--scale-xs);color:var(--color-muted);border:none;background:rgba(0,0,0,0);min-width:auto}.table-wrapper{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background:linear-gradient(to right, var(--color-background) 0%, transparent 2%) 0 0,linear-gradient(to left, var(--color-background) 0%, transparent 2%) 100% 0,var(--color-background);background-repeat:no-repeat;background-size:20px 100%,20px 100%,100% 100%;background-attachment:local,local,scroll}.table-wrapper::before,.table-wrapper::after{content:"";position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:2}.table-wrapper::before{left:0;background:linear-gradient(to right, var(--color-background) 0%, transparent 100%);opacity:0;transition:opacity .2s ease}.table-wrapper::after{right:0;background:linear-gradient(to left, var(--color-background) 0%, transparent 100%)}.table-wrapper:not(:hover):not(:focus-within)::before{opacity:0}.table-wrapper table{margin-block-end:0;min-width:100%;width:max-content}.table-wrapper-sticky-header{max-height:400px;overflow-y:auto}.table-wrapper-sticky-header table thead{position:sticky;top:0;z-index:1;background:var(--color-background);box-shadow:0 2px 4px rgba(0,0,0,.1)}.table-wrapper-compact table{font-size:var(--scale-xs)}.table-wrapper-compact table td,.table-wrapper-compact table th{padding:var(--space-2xs) var(--space-xs)}.field{display:flex;flex-direction:column;gap:var(--space-2xs);margin-block-end:var(--space-s)}.field label{font-weight:var(--bold-weight);font-size:var(--scale-s);color:var(--color-foreground)}.field-helper{font-size:var(--scale-xs);color:var(--color-muted);line-height:var(--font-density-s)}.field-error input,.field-error textarea,.field-error select{border-color:var(--color-error);background:color-mix(in srgb, var(--color-error) 5%, var(--color-background))}.field-error input:focus,.field-error textarea:focus,.field-error select:focus{outline-color:var(--color-error);border-color:var(--color-error)}.field-error-message{display:flex;align-items:flex-start;gap:var(--space-2xs);font-size:var(--scale-xs);color:var(--color-error);font-weight:var(--bold-weight);line-height:var(--font-density-s)}.field-error-message::before{content:"✕";display:inline-block;flex-shrink:0}.field-success input,.field-success textarea,.field-success select{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 5%, var(--color-background))}.field-success input:focus,.field-success textarea:focus,.field-success select:focus{outline-color:var(--color-success);border-color:var(--color-success)}.field-success-message{display:flex;align-items:flex-start;gap:var(--space-2xs);font-size:var(--scale-xs);color:var(--color-success);font-weight:var(--bold-weight);line-height:var(--font-density-s)}.field-success-message::before{content:"✓";display:inline-block;flex-shrink:0}.field-warning input,.field-warning textarea,.field-warning select{border-color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 5%, var(--color-background))}.field-warning input:focus,.field-warning textarea:focus,.field-warning select:focus{outline-color:var(--color-warning);border-color:var(--color-warning)}.field-warning-message{display:flex;align-items:flex-start;gap:var(--space-2xs);font-size:var(--scale-xs);color:var(--color-warning);font-weight:var(--bold-weight);line-height:var(--font-density-s)}.field-warning-message::before{content:"⚠";display:inline-block;flex-shrink:0}.field-required label::after,.required-indicator{content:" *";color:var(--color-error);font-weight:var(--bold-weight)}.modal,dialog.modal{border:none;padding:0;max-width:90vw;max-height:90vh;width:600px;background:var(--color-background);border-radius:var(--border-radius);box-shadow:0 8px 32px rgba(0,0,0,.3);color:var(--color-foreground);position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:var(--z-modal);opacity:0;transition:opacity .2s ease,transform .2s ease}.modal[open],dialog.modal[open]{opacity:1}.modal::backdrop,dialog.modal::backdrop{background:rgba(0,0,0,.5);backdrop-filter:blur(2px);animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space);border-bottom:var(--border)}.modal-header h1,.modal-header h2,.modal-header h3{margin:0;font-size:var(--scale-l);font-weight:var(--bold-weight)}.modal-close{appearance:none;background:rgba(0,0,0,0);border:none;font-size:var(--scale-xl);line-height:1;color:var(--color-muted);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.modal-close:hover{background:var(--color-background-secondary);color:var(--color-foreground)}.modal-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal-body{padding:var(--space);overflow-y:auto;max-height:60vh}.modal-body>:first-child{margin-block-start:0}.modal-body>:last-child{margin-block-end:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-s);padding:var(--space);border-top:var(--border);background:var(--color-background-secondary)}.modal-small{width:400px}.modal-large{width:800px}.modal-fullscreen{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0}@media(max-width: 768px){.modal,dialog.modal{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0}}.tabs{margin-block-end:var(--space)}.tabs-list{display:flex;gap:var(--space-2xs);border-bottom:2px solid var(--color-border);margin-block-end:var(--space)}[role=tab]{appearance:none;background:rgba(0,0,0,0);border:none;border-bottom:3px solid rgba(0,0,0,0);padding:var(--space-xs) var(--space-s);font-size:var(--scale-s);font-weight:var(--font-weight);color:var(--color-muted);cursor:pointer;transition:color .2s ease,border-color .2s ease;position:relative;top:2px}[role=tab]:hover{color:var(--color-foreground)}[role=tab]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--border-radius)}[role=tab][aria-selected=true]{color:var(--color-foreground);font-weight:var(--bold-weight);border-bottom-color:var(--color-accent)}[role=tabpanel]{padding:var(--space)}[role=tabpanel]>:first-child{margin-block-start:0}[role=tabpanel]>:last-child{margin-block-end:0}[role=tabpanel][hidden]{display:none}.tabs-boxed [role=tabpanel]{border:var(--border);border-radius:var(--border-radius)}.tabs-boxed [role=tab][aria-selected=true]{background:var(--color-background);border-top:3px solid var(--color-accent);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);border-bottom:3px solid var(--color-background);border-radius:var(--border-radius) var(--border-radius) 0 0}.accordion{border:var(--border);border-radius:var(--border-radius);background:var(--color-background);margin-block-end:var(--space-s);overflow:hidden}.accordion::-webkit-details-marker{display:none}.accordion-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s);padding:var(--space-s);cursor:pointer;user-select:none;font-size:var(--scale-s);font-weight:var(--bold-weight);color:var(--color-foreground);list-style:none;transition:background-color .2s ease}.accordion-trigger:hover{background:var(--color-background-secondary)}.accordion-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.accordion-trigger::after{content:"▸";display:inline-block;font-size:var(--scale-l);color:var(--color-muted);transition:transform .2s ease;flex-shrink:0}.accordion[open] .accordion-trigger{border-bottom:var(--border)}.accordion[open] .accordion-trigger::after{transform:rotate(90deg)}.accordion-content{padding:var(--space)}.accordion-content>:first-child{margin-block-start:0}.accordion-content>:last-child{margin-block-end:0}.accordion-group{border:var(--border);border-radius:var(--border-radius);overflow:hidden}.accordion-group .accordion{border:none;border-radius:0;margin:0;border-bottom:var(--border)}.accordion-group .accordion:last-child{border-bottom:none}.accordion-compact .accordion-trigger,.accordion-compact .accordion-content{padding:var(--space-xs);font-size:var(--scale-xs)}.toast-container{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-xs);pointer-events:none;max-width:400px}.toast{pointer-events:auto}.toast-container-top-right{top:calc(var(--space)*1 + var(--space));right:calc(var(--space)*1)}.toast-container-top-left{top:0;left:0}.toast-container-top-center{top:0;left:50%;transform:translateX(-50%)}.toast-container-bottom-right{bottom:0;right:0;flex-direction:column-reverse}.toast-container-bottom-left{bottom:0;left:0;flex-direction:column-reverse}.toast-container-bottom-center{bottom:0;left:50%;transform:translateX(-50%);flex-direction:column-reverse}@media(max-width: 768px){.toast-container{left:0 !important;right:0 !important;bottom:0 !important;top:auto !important;transform:none !important;max-width:100%;padding:var(--space-xs);flex-direction:column-reverse}}.toast{display:flex;flex-direction:column;min-width:300px;max-width:100%;font-size:var(--scale-xs);background:var(--color-background-secondary);border:var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow);opacity:0;transform:translateX(100%);transition:opacity .3s ease,transform .3s ease;cursor:default}.toast-container-top-right .toast,.toast-container-top-left .toast,.toast-container-top-center .toast{transform:translateY(-100%)}.toast-container-top-left .toast,.toast-container-bottom-left .toast{transform:translateX(-100%)}.toast-container-bottom-right .toast,.toast-container-bottom-left .toast,.toast-container-bottom-center .toast{transform:translateY(100%)}.toast-visible{opacity:1;transform:translate(0, 0)}.toast-dismissing{opacity:0;transform:scale(0.95);transition:opacity .2s ease,transform .2s ease}@media(max-width: 768px){.toast{min-width:auto;width:100%;transform:translateY(100%)}.toast-visible{transform:translateY(0)}}.toast-content{display:flex;align-items:flex-start;gap:var(--space-xs);padding:var(--space-xs)}.toast-icon{flex-shrink:0;font-size:var(--scale-l);line-height:1;font-weight:bold}.toast-message{flex:1;font-size:var(--scale-s);line-height:var(--font-density);color:var(--color-foreground);word-break:break-word}.toast-close{flex-shrink:0;appearance:none;background:rgba(0,0,0,0);border:none;font-size:var(--scale-xl);line-height:1;color:var(--color-muted);cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.toast-close:hover{background:var(--color-background-secondary);color:var(--color-foreground)}.toast-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.toast-progress{height:4px;background:color-mix(in srgb, var(--toast-color) 30%, transparent);width:100%;border-radius:0 0 var(--border-radius) var(--border-radius);transform-origin:left;transition:width 0s linear}.toast-success{--toast-color: var(--color-success);border-left-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-success .toast-progress{background:var(--color-success)}.toast-error{--toast-color: var(--color-error);border-left-color:var(--color-error)}.toast-error .toast-icon{color:var(--color-error)}.toast-error .toast-progress{background:var(--color-error)}.toast-warning{--toast-color: var(--color-warning);border-left-color:var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-warning .toast-progress{background:var(--color-warning)}.toast-info{--toast-color: var(--color-info);border-left-color:var(--color-info)}.toast-info .toast-icon{color:var(--color-info)}.toast-info .toast-progress{background:var(--color-info)}@media(prefers-color-scheme: dark){.toast{box-shadow:0 4px 12px rgba(0,0,0,.4)}}@media(prefers-reduced-motion: reduce){.toast{transition:opacity .1s ease;transform:none !important}.toast-progress{transition:none}}@media print{.toast-container,.toast{display:none !important}}@media print{@page{margin-top:1.5cm;margin-right:1cm;margin-bottom:1.5cm;margin-left:1cm;@bottom-right{content:counter(page)}}:root{--color-foreground: black;--color-background: white;--color-background-secondary: white;--font-size: 0.925rem !important;--font-ratio: 1.125 !important;--font-density: 1.4 !important;--rhythm-multiplier: 1;--rhythm-multiplier-block: 0;--body-padding-multiplier: 0;--line-width: var(--line-width-full);--gap: 0}html .no-print,html .no-print *{display:none !important}html header,html footer,html nav,html aside{display:none !important}html *{box-shadow:none !important;text-shadow:none !important}html a[href^=http]::after{content:" (" attr(href) ")";font-size:.8em;color:#666}html pre,html blockquote,html img{break-inside:avoid}html h1,html h2,html h3,html h4,html h5,html h6{margin-block:var(--space);break-after:avoid}html hr{margin-block:var(--space-xs)}html html::before,html html::after,html body::before,html body::after{display:none}html body{border:0 !important;background:rgba(0,0,0,0) !important;max-width:100% !important}}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */.margin-top-3xs{margin-top:var(--space-3xs) !important}.margin-top-2xs{margin-top:var(--space-2xs) !important}.margin-top-xs{margin-top:var(--space-xs) !important}.margin-top-s{margin-top:var(--space-s) !important}.margin-top-base{margin-top:var(--space) !important}.margin-top-l{margin-top:var(--space-l) !important}.margin-top-xl{margin-top:var(--space-xl) !important}.margin-top-2xl{margin-top:var(--space-2xl) !important}.margin-top-3xl{margin-top:var(--space-3xl) !important}.margin-top-0{margin-top:0 !important}.margin-right-3xs{margin-right:var(--space-3xs) !important}.margin-right-2xs{margin-right:var(--space-2xs) !important}.margin-right-xs{margin-right:var(--space-xs) !important}.margin-right-s{margin-right:var(--space-s) !important}.margin-right-base{margin-right:var(--space) !important}.margin-right-l{margin-right:var(--space-l) !important}.margin-right-xl{margin-right:var(--space-xl) !important}.margin-right-2xl{margin-right:var(--space-2xl) !important}.margin-right-3xl{margin-right:var(--space-3xl) !important}.margin-right-0{margin-right:0 !important}.margin-bottom-3xs{margin-bottom:var(--space-3xs) !important}.margin-bottom-2xs{margin-bottom:var(--space-2xs) !important}.margin-bottom-xs{margin-bottom:var(--space-xs) !important}.margin-bottom-s{margin-bottom:var(--space-s) !important}.margin-bottom-base{margin-bottom:var(--space) !important}.margin-bottom-l{margin-bottom:var(--space-l) !important}.margin-bottom-xl{margin-bottom:var(--space-xl) !important}.margin-bottom-2xl{margin-bottom:var(--space-2xl) !important}.margin-bottom-3xl{margin-bottom:var(--space-3xl) !important}.margin-bottom-0{margin-bottom:0 !important}.margin-left-3xs{margin-left:var(--space-3xs) !important}.margin-left-2xs{margin-left:var(--space-2xs) !important}.margin-left-xs{margin-left:var(--space-xs) !important}.margin-left-s{margin-left:var(--space-s) !important}.margin-left-base{margin-left:var(--space) !important}.margin-left-l{margin-left:var(--space-l) !important}.margin-left-xl{margin-left:var(--space-xl) !important}.margin-left-2xl{margin-left:var(--space-2xl) !important}.margin-left-3xl{margin-left:var(--space-3xl) !important}.margin-left-0{margin-left:0 !important}.margin-block-3xs{margin-block:var(--space-3xs) !important}.margin-block-2xs{margin-block:var(--space-2xs) !important}.margin-block-xs{margin-block:var(--space-xs) !important}.margin-block-s{margin-block:var(--space-s) !important}.margin-block-base{margin-block:var(--space) !important}.margin-block-l{margin-block:var(--space-l) !important}.margin-block-xl{margin-block:var(--space-xl) !important}.margin-block-2xl{margin-block:var(--space-2xl) !important}.margin-block-3xl{margin-block:var(--space-3xl) !important}.margin-block-0{margin-block:0 !important}.margin-inline-3xs{margin-inline:var(--space-3xs) !important}.margin-inline-2xs{margin-inline:var(--space-2xs) !important}.margin-inline-xs{margin-inline:var(--space-xs) !important}.margin-inline-s{margin-inline:var(--space-s) !important}.margin-inline-base{margin-inline:var(--space) !important}.margin-inline-l{margin-inline:var(--space-l) !important}.margin-inline-xl{margin-inline:var(--space-xl) !important}.margin-inline-2xl{margin-inline:var(--space-2xl) !important}.margin-inline-3xl{margin-inline:var(--space-3xl) !important}.margin-inline-0{margin-inline:0 !important}.margin-inline-auto{margin-inline:auto !important}.margin-left-auto{margin-left:auto !important}.margin-right-auto{margin-right:auto !important}.margin-top-auto{margin-top:auto !important}.margin-bottom-auto{margin-bottom:auto !important}.margin-3xs{margin:var(--space-3xs) !important}.margin-2xs{margin:var(--space-2xs) !important}.margin-xs{margin:var(--space-xs) !important}.margin-s{margin:var(--space-s) !important}.margin-base{margin:var(--space) !important}.margin-l{margin:var(--space-l) !important}.margin-xl{margin:var(--space-xl) !important}.margin-2xl{margin:var(--space-2xl) !important}.margin-3xl{margin:var(--space-3xl) !important}.margin-0{margin:0 !important}.padding-top-3xs{padding-top:var(--space-3xs) !important}.padding-top-2xs{padding-top:var(--space-2xs) !important}.padding-top-xs{padding-top:var(--space-xs) !important}.padding-top-s{padding-top:var(--space-s) !important}.padding-top-base{padding-top:var(--space) !important}.padding-top-l{padding-top:var(--space-l) !important}.padding-top-xl{padding-top:var(--space-xl) !important}.padding-top-2xl{padding-top:var(--space-2xl) !important}.padding-top-3xl{padding-top:var(--space-3xl) !important}.padding-top-0{padding-top:0 !important}.padding-right-3xs{padding-right:var(--space-3xs) !important}.padding-right-2xs{padding-right:var(--space-2xs) !important}.padding-right-xs{padding-right:var(--space-xs) !important}.padding-right-s{padding-right:var(--space-s) !important}.padding-right-base{padding-right:var(--space) !important}.padding-right-l{padding-right:var(--space-l) !important}.padding-right-xl{padding-right:var(--space-xl) !important}.padding-right-2xl{padding-right:var(--space-2xl) !important}.padding-right-3xl{padding-right:var(--space-3xl) !important}.padding-right-0{padding-right:0 !important}.padding-bottom-3xs{padding-bottom:var(--space-3xs) !important}.padding-bottom-2xs{padding-bottom:var(--space-2xs) !important}.padding-bottom-xs{padding-bottom:var(--space-xs) !important}.padding-bottom-s{padding-bottom:var(--space-s) !important}.padding-bottom-base{padding-bottom:var(--space) !important}.padding-bottom-l{padding-bottom:var(--space-l) !important}.padding-bottom-xl{padding-bottom:var(--space-xl) !important}.padding-bottom-2xl{padding-bottom:var(--space-2xl) !important}.padding-bottom-3xl{padding-bottom:var(--space-3xl) !important}.padding-bottom-0{padding-bottom:0 !important}.padding-left-3xs{padding-left:var(--space-3xs) !important}.padding-left-2xs{padding-left:var(--space-2xs) !important}.padding-left-xs{padding-left:var(--space-xs) !important}.padding-left-s{padding-left:var(--space-s) !important}.padding-left-base{padding-left:var(--space) !important}.padding-left-l{padding-left:var(--space-l) !important}.padding-left-xl{padding-left:var(--space-xl) !important}.padding-left-2xl{padding-left:var(--space-2xl) !important}.padding-left-3xl{padding-left:var(--space-3xl) !important}.padding-left-0{padding-left:0 !important}.padding-block-3xs{padding-block:var(--space-3xs) !important}.padding-block-2xs{padding-block:var(--space-2xs) !important}.padding-block-xs{padding-block:var(--space-xs) !important}.padding-block-s{padding-block:var(--space-s) !important}.padding-block-base{padding-block:var(--space) !important}.padding-block-l{padding-block:var(--space-l) !important}.padding-block-xl{padding-block:var(--space-xl) !important}.padding-block-2xl{padding-block:var(--space-2xl) !important}.padding-block-3xl{padding-block:var(--space-3xl) !important}.padding-block-0{padding-block:0 !important}.padding-inline-3xs{padding-inline:var(--space-3xs) !important}.padding-inline-2xs{padding-inline:var(--space-2xs) !important}.padding-inline-xs{padding-inline:var(--space-xs) !important}.padding-inline-s{padding-inline:var(--space-s) !important}.padding-inline-base{padding-inline:var(--space) !important}.padding-inline-l{padding-inline:var(--space-l) !important}.padding-inline-xl{padding-inline:var(--space-xl) !important}.padding-inline-2xl{padding-inline:var(--space-2xl) !important}.padding-inline-3xl{padding-inline:var(--space-3xl) !important}.padding-inline-0{padding-inline:0 !important}.padding-3xs{padding:var(--space-3xs) !important}.padding-2xs{padding:var(--space-2xs) !important}.padding-xs{padding:var(--space-xs) !important}.padding-s{padding:var(--space-s) !important}.padding-base{padding:var(--space) !important}.padding-l{padding:var(--space-l) !important}.padding-xl{padding:var(--space-xl) !important}.padding-2xl{padding:var(--space-2xl) !important}.padding-3xl{padding:var(--space-3xl) !important}.padding-0{padding:0 !important}.gap-3xs{gap:var(--space-3xs) !important}.gap-2xs{gap:var(--space-2xs) !important}.gap-xs{gap:var(--space-xs) !important}.gap-s{gap:var(--space-s) !important}.gap-base{gap:var(--space) !important}.gap-l{gap:var(--space-l) !important}.gap-xl{gap:var(--space-xl) !important}.gap-2xl{gap:var(--space-2xl) !important}.gap-3xl{gap:var(--space-3xl) !important}.gap-0{gap:0 !important}.row-gap-3xs{row-gap:var(--space-3xs) !important}.row-gap-2xs{row-gap:var(--space-2xs) !important}.row-gap-xs{row-gap:var(--space-xs) !important}.row-gap-s{row-gap:var(--space-s) !important}.row-gap-base{row-gap:var(--space) !important}.row-gap-l{row-gap:var(--space-l) !important}.row-gap-xl{row-gap:var(--space-xl) !important}.row-gap-2xl{row-gap:var(--space-2xl) !important}.row-gap-3xl{row-gap:var(--space-3xl) !important}.row-gap-0{row-gap:0 !important}.column-gap-3xs{column-gap:var(--space-3xs) !important}.column-gap-2xs{column-gap:var(--space-2xs) !important}.column-gap-xs{column-gap:var(--space-xs) !important}.column-gap-s{column-gap:var(--space-s) !important}.column-gap-base{column-gap:var(--space) !important}.column-gap-l{column-gap:var(--space-l) !important}.column-gap-xl{column-gap:var(--space-xl) !important}.column-gap-2xl{column-gap:var(--space-2xl) !important}.column-gap-3xl{column-gap:var(--space-3xl) !important}.column-gap-0{column-gap:0 !important}.width-3xs{width:var(--space-3xs) !important}.width-2xs{width:var(--space-2xs) !important}.width-xs{width:var(--space-xs) !important}.width-s{width:var(--space-s) !important}.width-base{width:var(--space) !important}.width-l{width:var(--space-l) !important}.width-xl{width:var(--space-xl) !important}.width-2xl{width:var(--space-2xl) !important}.width-3xl{width:var(--space-3xl) !important}.width-0{width:0 !important}.width-auto{width:auto !important}.width-full{width:100% !important}.width-screen{width:100vw !important}.width-min{width:min-content !important}.width-max{width:max-content !important}.width-fit{width:fit-content !important}.min-width-3xs{min-width:var(--space-3xs) !important}.min-width-2xs{min-width:var(--space-2xs) !important}.min-width-xs{min-width:var(--space-xs) !important}.min-width-s{min-width:var(--space-s) !important}.min-width-base{min-width:var(--space) !important}.min-width-l{min-width:var(--space-l) !important}.min-width-xl{min-width:var(--space-xl) !important}.min-width-2xl{min-width:var(--space-2xl) !important}.min-width-3xl{min-width:var(--space-3xl) !important}.min-width-0{min-width:0 !important}.min-width-full{min-width:100% !important}.min-width-screen{min-width:100vw !important}.max-width-3xs{max-width:var(--space-3xs) !important}.max-width-2xs{max-width:var(--space-2xs) !important}.max-width-xs{max-width:var(--space-xs) !important}.max-width-s{max-width:var(--space-s) !important}.max-width-base{max-width:var(--space) !important}.max-width-l{max-width:var(--space-l) !important}.max-width-xl{max-width:var(--space-xl) !important}.max-width-2xl{max-width:var(--space-2xl) !important}.max-width-3xl{max-width:var(--space-3xl) !important}.max-width-none{max-width:none !important}.max-width-full{max-width:100% !important}.max-width-screen{max-width:100vw !important}.height-3xs{height:var(--space-3xs) !important}.height-2xs{height:var(--space-2xs) !important}.height-xs{height:var(--space-xs) !important}.height-s{height:var(--space-s) !important}.height-base{height:var(--space) !important}.height-l{height:var(--space-l) !important}.height-xl{height:var(--space-xl) !important}.height-2xl{height:var(--space-2xl) !important}.height-3xl{height:var(--space-3xl) !important}.height-0{height:0 !important}.height-auto{height:auto !important}.height-full{height:100% !important}.height-screen{height:100vh !important}.height-min{height:min-content !important}.height-max{height:max-content !important}.height-fit{height:fit-content !important}.min-height-3xs{min-height:var(--space-3xs) !important}.min-height-2xs{min-height:var(--space-2xs) !important}.min-height-xs{min-height:var(--space-xs) !important}.min-height-s{min-height:var(--space-s) !important}.min-height-base{min-height:var(--space) !important}.min-height-l{min-height:var(--space-l) !important}.min-height-xl{min-height:var(--space-xl) !important}.min-height-2xl{min-height:var(--space-2xl) !important}.min-height-3xl{min-height:var(--space-3xl) !important}.min-height-0{min-height:0 !important}.min-height-full{min-height:100% !important}.min-height-screen{min-height:100vh !important}.max-height-3xs{max-height:var(--space-3xs) !important}.max-height-2xs{max-height:var(--space-2xs) !important}.max-height-xs{max-height:var(--space-xs) !important}.max-height-s{max-height:var(--space-s) !important}.max-height-base{max-height:var(--space) !important}.max-height-l{max-height:var(--space-l) !important}.max-height-xl{max-height:var(--space-xl) !important}.max-height-2xl{max-height:var(--space-2xl) !important}.max-height-3xl{max-height:var(--space-3xl) !important}.max-height-none{max-height:none !important}.max-height-full{max-height:100% !important}.max-height-screen{max-height:100vh !important}.small{font-size:var(--scale-s)}.smaller{font-size:var(--scale-xs)}.micro{font-size:var(--scale-2xs)}.nano{font-size:var(--scale-3xs)}.small *,.smaller *,.micro,.nano{font-size:inherit}.compact{line-height:var(--font-density-s)}.monospace{font-family:var(--font-monospace),Inconsolata,Menlo,monospace;font-feature-settings:var(--font-monospace-feature);font-variation-settings:var(--font-monospace-variation);font-size:var(--scale-s)}.ui,.interface{font-family:var(--font-interface),system-ui,sans-serif;font-variation-settings:var(--font-interface-variation);font-feature-settings:var(--font-interface-feature)}.bold{font-weight:var(--bold-weight)}.normal{font-weight:var(--font-weight)}.tight{line-height:.85}.line-height-none{line-height:1}.compact{line-height:var(--font-density-s)}.line-height-normal{line-height:var(--font-density)}.relaxed{line-height:1.6}.left{text-align:left !important}.center{text-align:center !important}.right{text-align:right !important}.justify{text-align:justify !important}.uppercase{text-transform:uppercase;letter-spacing:.05em}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-transform-normal{text-transform:none}.no-wrap{white-space:nowrap !important}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.muted{color:var(--color-muted) !important}.subtle{color:var(--color-subtle) !important}.accent{color:var(--color-accent) !important}.background-secondary{background:var(--color-background-secondary) !important}.border{border:var(--border) !important}.border-accent{border:var(--border-accent) !important}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.display-grid{display:grid}.visibility-screen-reader-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.center-content{display:flex;align-items:center;justify-content:center}.center-horizontally{margin-left:auto;margin-right:auto}.center-vertically{display:flex;align-items:center}.rhythm-compact{--rhythm-multiplier: 0.5}.rhythm-relaxed{--rhythm-multiplier: 1.5}@supports not (display: grid){.rhythm{display:block}.rhythm>*{margin-block-end:calc(var(--space-block)*var(--rhythm-multiplier))}.rhythm>:last-child{margin-block-end:0}}.width-line-xs{max-width:var(--line-width-xs)}.width-line-s{max-width:var(--line-width-s)}.width-line{max-width:var(--line-width)}.width-line-l{max-width:var(--line-width-l)}.width-line-xl{max-width:var(--line-width-xl)}.width-line-full{max-width:var(--line-width-full)}.negate-body-padding{margin-inline:calc(var(--space)*var(--body-padding-multiplier)*-1);padding-inline:calc(var(--space)*var(--body-padding-multiplier))}@media(max-width: 768px){.negate-body-padding{margin-inline:calc(var(--space)*var(--body-mobile-padding-multiplier)*-1);padding-inline:calc(var(--space)*var(--body-mobile-padding-multiplier))}}.negate-body-padding-bottom{margin-block-end:calc(var(--space)*var(--body-padding-multiplier)*1.5*-1)}@media(max-width: 768px){.negate-body-padding-bottom{margin-block-end:calc(var(--space)*var(--body-mobile-padding-multiplier)*1.5*-1)}}.negate-body-padding-top{margin-block-start:calc(var(--space)*var(--body-padding-multiplier)*1*-1)}@media(max-width: 768px){.negate-body-padding-top{margin-block-start:calc(var(--space)*var(--body-mobile-padding-multiplier)*1*-1)}}.negate-body-padding-full{margin-inline:calc(var(--space)*var(--body-padding-multiplier)*-1);margin-block-end:calc(var(--space)*var(--body-padding-multiplier)*1.5*-1);padding-inline:calc(var(--space)*var(--body-padding-multiplier))}@media(max-width: 768px){.negate-body-padding-full{margin-inline:calc(var(--space)*var(--body-mobile-padding-multiplier)*-1);margin-block-end:calc(var(--space)*var(--body-mobile-padding-multiplier)*1.5*-1);padding-inline:calc(var(--space)*var(--body-mobile-padding-multiplier))}}@media(max-width: 768px){.sm-hidden{display:none !important}.sm-only{display:inherit !important}.md-only{display:none !important}.lg-only{display:none !important}}@media(min-width: 769px)and (max-width: 1024px){.md-hidden{display:none !important}.sm-only{display:none !important}.md-only{display:inherit !important}.lg-only{display:none !important}}@media(min-width: 1025px){.lg-hidden{display:none !important}.sm-only{display:none !important}.md-only{display:none !important}.lg-only{display:inherit !important}}.columns-2{columns:2;column-gap:var(--grid-gap)}.columns-3{columns:3;column-gap:var(--grid-gap)}.columns-4{columns:4;column-gap:var(--grid-gap)}.columns-auto{columns:auto;column-width:var(--line-width-s);column-gap:var(--grid-gap)}.columns-gap-tight{column-gap:var(--space-s)}.columns-gap-wide{column-gap:var(--space-l)}.columns-keep{break-inside:avoid;page-break-inside:avoid}.columns-rule{column-rule:var(--border)}.columns-rule-accent{column-rule:1px solid var(--color-accent)}@media(max-width: 768px){.columns-2,.columns-3,.columns-4{columns:1}}@media(min-width: 769px)and (max-width: 1024px){.columns-3,.columns-4{columns:2}}/*!
 * Standard Framework - Fine-Art Typography Management
 *
 * A comprehensive framework implementing:
 * - Classical typography rules that CSS cannot handle
 * - Progressive enhancement with zero-configuration setup
 * - Multi-locale support with automatic detection
 * - Dynamic content observation
 * - Performance-optimized batch processing
 * - Image zoom with keyboard navigation
 *
 * Based on research from:
 * - The Elements of Typographic Style (Robert Bringhurst)
 * - Ellen Lupton's typography works
 * - Classical European typography conventions
 * - Swiss typography principles
 * - Modern web accessibility standards
 *
 * Philosophy: Respect classic typography rules, but readability always wins.
 *
 * @version @VERSION_PLACEHOLDER@
 * @license MIT
 */.standard-debug{position:relative}.standard-debug::before{content:"";position:fixed;inset:0;background-image:repeating-linear-gradient(to bottom, transparent, transparent calc(var(--space) - 1px), color-mix(in srgb, var(--color-accent) 5%, transparent) calc(var(--space) - 1px), color-mix(in srgb, var(--color-accent) 5%, transparent) var(--space));pointer-events:none;z-index:var(--z-tooltip);opacity:.5}.standard-debug .grid,.standard-debug .grid-2,.standard-debug .grid-3,.standard-debug .grid-4,.standard-debug .grid-5,.standard-debug .grid-6,.standard-debug .grid-7,.standard-debug .grid-8,.standard-debug .grid-9,.standard-debug .grid-10,.standard-debug .grid-11,.standard-debug .grid-12{position:relative}.standard-debug .grid::after,.standard-debug .grid-2::after,.standard-debug .grid-3::after,.standard-debug .grid-4::after,.standard-debug .grid-5::after,.standard-debug .grid-6::after,.standard-debug .grid-7::after,.standard-debug .grid-8::after,.standard-debug .grid-9::after,.standard-debug .grid-10::after,.standard-debug .grid-11::after,.standard-debug .grid-12::after{content:"";position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--grid-cols), 1fr);column-gap:var(--grid-gap);pointer-events:none;z-index:var(--z-tooltip);background-image:repeating-linear-gradient(to right, color-mix(in srgb, var(--color-cyan) 10%, transparent) 0, color-mix(in srgb, var(--color-cyan) 10%, transparent) calc((100% - var(--grid-gap) * (var(--grid-cols) - 1)) / var(--grid-cols)), transparent calc((100% - var(--grid-gap) * (var(--grid-cols) - 1)) / var(--grid-cols)), transparent calc((100% - var(--grid-gap) * (var(--grid-cols) - 1)) / var(--grid-cols) + var(--grid-gap)))}.standard-debug.prose::after{content:"";position:absolute;inset:0;display:grid;grid-template-columns:[full-start] var(--content-full) [feature-start] var(--content-feature) [accent-start] var(--content-accent) [content-start] var(--content) [content-end] var(--content-accent) [accent-end] var(--content-feature) [feature-end] var(--content-full) [full-end];pointer-events:none;z-index:var(--z-base);opacity:.1;background:linear-gradient(to right, transparent 0, transparent var(--content-full), var(--color-purple) var(--content-full), var(--color-purple) calc(var(--content-full) + var(--content-feature)), var(--color-blue) calc(var(--content-full) + var(--content-feature)), var(--color-blue) calc(var(--content-full) + var(--content-feature) + var(--content-accent)), var(--color-accent) calc(var(--content-full) + var(--content-feature) + var(--content-accent)), var(--color-accent) calc(100% - var(--content-full) - var(--content-feature) - var(--content-accent)), var(--color-blue) calc(100% - var(--content-full) - var(--content-feature) - var(--content-accent)), var(--color-blue) calc(100% - var(--content-full) - var(--content-feature)), var(--color-purple) calc(100% - var(--content-full) - var(--content-feature)), var(--color-purple) calc(100% - var(--content-full)), transparent calc(100% - var(--content-full)))}.standard-debug.rhythm>*{outline:1px dashed color-mix(in srgb, var(--color-orange) 50%, transparent);outline-offset:-1px;position:relative}.standard-debug.rhythm>*::after{content:"↓ " attr(data-margin-block-end);position:absolute;top:0;right:0;background:var(--color-orange);color:var(--color-background);font-size:var(--scale-xs);font-family:var(--font-monospace);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--border-radius);pointer-events:none;opacity:.9;z-index:var(--z-tooltip);white-space:nowrap;display:none}.standard-debug [data-typography-processed]{position:relative}.standard-debug [data-typography-processed]::before{content:"✓ Typo";position:absolute;top:0;left:0;background:var(--color-success);color:var(--color-background);font-size:var(--scale-xs);font-family:var(--font-monospace);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--border-radius);pointer-events:none;opacity:.63;z-index:var(--z-tooltip);white-space:nowrap;display:none}.standard-debug::after{content:"🔍 Standard Debug" "\a" "Baseline: " var(--space) "\a" "Ratio: " var(--font-ratio) "\a" "Density: " var(--font-density) "\a" "Grid: " var(--grid-cols) " cols";position:fixed;top:var(--space);right:var(--space);background:var(--color-background);color:var(--color-foreground);border:var(--border-accent);border-radius:var(--border-radius);padding:var(--space-s);font-family:var(--font-monospace);font-size:var(--scale-xs);line-height:1.5;white-space:pre;box-shadow:var(--shadow-xl);z-index:var(--z-toast);pointer-events:none;opacity:.95}.standard-debug .grid>*,.standard-debug .grid-2>*,.standard-debug .grid-3>*,.standard-debug .grid-4>*,.standard-debug .grid-5>*,.standard-debug .grid-6>*,.standard-debug .grid-7>*,.standard-debug .grid-8>*,.standard-debug .grid-9>*,.standard-debug .grid-10>*,.standard-debug .grid-11>*,.standard-debug .grid-12>*{outline:1px solid color-mix(in srgb, var(--color-cyan) 50%, transparent);outline-offset:-1px;position:relative}.standard-debug .grid>*::before,.standard-debug .grid-2>*::before,.standard-debug .grid-3>*::before,.standard-debug .grid-4>*::before,.standard-debug .grid-5>*::before,.standard-debug .grid-6>*::before,.standard-debug .grid-7>*::before,.standard-debug .grid-8>*::before,.standard-debug .grid-9>*::before,.standard-debug .grid-10>*::before,.standard-debug .grid-11>*::before,.standard-debug .grid-12>*::before{content:attr(class);position:absolute;top:var(--space-3xs);left:var(--space-3xs);background:var(--color-cyan);color:var(--color-background);font-size:var(--scale-xs);font-family:var(--font-monospace);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--border-radius);pointer-events:none;opacity:.9;z-index:var(--z-tooltip);white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.standard-debug .free-col::after{content:"start: " var(--start) " / span: " var(--span);position:absolute;bottom:var(--space-3xs);left:var(--space-3xs);background:var(--color-purple);color:var(--color-background);font-size:var(--scale-xs);font-family:var(--font-monospace);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--border-radius);pointer-events:none;opacity:.9;z-index:var(--z-tooltip);white-space:nowrap}.standard-debug .text-accent,.standard-debug .text-success,.standard-debug .text-warning,.standard-debug .text-error{position:relative}.standard-debug .text-accent::before{content:"accent";background:var(--color-accent)}.standard-debug .text-success::before{content:"success";background:var(--color-success)}.standard-debug .text-warning::before{content:"warning";background:var(--color-warning)}.standard-debug .text-error::before{content:"error";background:var(--color-error)}.standard-debug .text-accent::before,.standard-debug .text-success::before,.standard-debug .text-warning::before,.standard-debug .text-error::before{position:absolute;top:-1.5em;left:0;color:var(--color-background);font-size:var(--scale-xs);font-family:var(--font-monospace);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--border-radius);pointer-events:none;opacity:.9;z-index:var(--z-tooltip);white-space:nowrap}body.standard-debug::before{content:"md";position:fixed;bottom:var(--space);left:var(--space);color:var(--color-foreground);font-family:var(--font-monospace);font-size:var(--scale-xs);padding:var(--space-xs) var(--space-s);border-radius:var(--border-radius);box-shadow:var(--shadow);z-index:var(--z-toast);pointer-events:none;font-weight:bold}@media(max-width: 768px){body.standard-debug::before{content:"sm (<768px)";color:var(--color-foreground)}}@media(max-width: 600px){body.standard-debug::before{content:"xs (<600px)";color:var(--color-foreground)}}@media(min-width: 1024px){body.standard-debug::before{content:"lg (≥1024px)";color:var(--color-foreground)}}.standard-debug .prose .container-small,.standard-debug .prose .container-accent,.standard-debug .prose .container-feature,.standard-debug .prose .container-full{position:relative;outline:1px dashed;outline-offset:-1px}.standard-debug .prose .container-small{outline-color:color-mix(in srgb, var(--color-blue) 85%, transparent)}.standard-debug .prose .container-accent{outline-color:color-mix(in srgb, var(--color-accent) 85%, transparent)}.standard-debug .prose .container-feature{outline-color:color-mix(in srgb, var(--color-purple) 85%, transparent)}.standard-debug .prose .container-full{outline-color:color-mix(in srgb, var(--color-pink) 85%, transparent)}.standard-debug .prose .container-small::before,.standard-debug .prose .container-accent::before,.standard-debug .prose .container-feature::before,.standard-debug .prose .container-full::before{position:absolute;top:var(--space-3xs);right:var(--space-3xs);font-size:var(--scale-xs);font-family:var(--font-monospace);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--border-radius);pointer-events:none;opacity:.95;z-index:var(--z-tooltip);color:var(--color-background);white-space:nowrap;font-weight:bold}.standard-debug .prose .container-small::before{content:"Small";background:var(--color-blue)}.standard-debug .prose .container-accent::before{content:"Accent";background:var(--color-accent)}.standard-debug .prose .container-feature::before{content:"Feature";background:var(--color-purple)}.standard-debug .prose .container-full::before{content:"Full";background:var(--color-pink)}.standard-debug .prose>:not(.container-small):not(.container-accent):not(.container-feature):not(.container-full){outline:1px dotted color-mix(in srgb, var(--color-green) 60%, transparent);outline-offset:-1px}@media print{.standard-debug::before,.standard-debug::after,.standard-debug .grid::after,.standard-debug .prose::after,body.standard-debug::before{display:none !important}}@media(prefers-color-scheme: dark){.standard-debug::before{opacity:.3}.standard-debug .prose::after{opacity:.15}}:root{--baseline-trim-support: 0}@supports(text-box-trim: both){:root{--baseline-trim-support: 1}}@supports(leading-trim: both){:root{--baseline-trim-support: 1}}@supports(text-box-trim: both) or (leading-trim: both){.rhythm>*{text-box-trim:both;text-box-edge:cap alphabetic;leading-trim:both;text-edge:cap alphabetic;margin-block-end:var(--space)}.rhythm>:is(h1,h2,h3,h4,h5,h6){text-box-trim:both;text-box-edge:cap alphabetic;leading-trim:both;text-edge:cap alphabetic}}.standard-lab-panel{--gap: 0;--rhythm-multiplier: 0;--rhythm-multiplier-block: 0;font-size:var(--scale-s)}