:root{--eb-earl-50: #FBEFE8;--eb-earl-100: #F6D9C7;--eb-earl-200: #ECB598;--eb-earl-300: #DD8A66;--eb-earl-400: #CC6440;--eb-earl-500: #B14726;--eb-earl-600: #92361A;--eb-earl-700: #712814;--eb-earl-800: #501B0E;--eb-earl-900: #301006;--eb-ivory: #FBF9F5;--eb-cream: #F5F1EA;--eb-oat: #ECE6DB;--eb-hairline: #E3DCCF;--eb-stone-200: #C9C1B2;--eb-stone-400: #8A8377;--eb-stone-600: #5A554C;--eb-graphite: #201E1A;--eb-ink: #0F0E0B;--eb-success: #3F8A54;--eb-success-bg:#E4F1E7;--eb-warning: #C7861B;--eb-warning-bg:#FAEFD4;--eb-error: #B43626;--eb-error-bg: #F8E1DD;--eb-info: #2A6F7A;--eb-info-bg: #DEEEEF;--eb-data-1: #B14726;--eb-data-2: #2A6F7A;--eb-data-3: #7A5BA5;--eb-data-4: #3F8A54;--eb-data-5: #C7861B;--eb-data-6: #6B7280;--eb-data-7: #92361A;--eb-data-8: #1F3A5F;--eb-lift-positive: var(--eb-success);--eb-lift-negative: var(--eb-error);--eb-baseline: var(--eb-stone-400);--eb-confidence-band: color-mix(in oklab, var(--eb-earl-500) 14%, transparent);--eb-terra-500: #B14726;--color-canvas: var(--eb-ivory);--color-surface: #FFFFFF;--color-surface-sunken: var(--eb-cream);--color-surface-raised: #FFFFFF;--color-surface-inverse:var(--eb-ink);--color-text: var(--eb-graphite);--color-text-secondary: var(--eb-stone-600);--color-text-muted: var(--eb-stone-400);--color-text-inverse: var(--eb-ivory);--color-text-accent: var(--eb-earl-600);--color-border-subtle: var(--eb-hairline);--color-border: var(--eb-stone-200);--color-border-strong: var(--eb-stone-400);--color-border-focus: var(--eb-earl-500);--color-accent: var(--eb-earl-500);--color-accent-hover: var(--eb-earl-600);--color-accent-press: var(--eb-earl-700);--color-accent-soft: var(--eb-earl-50);--space-0: 0;--space-0-5: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-reading: 64ch;--radius-none: 0;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--shadow-xs: 0 1px 2px rgba(32, 30, 26, .05);--shadow-sm: 0 1px 2px rgba(32, 30, 26, .06), 0 2px 4px rgba(32, 30, 26, .04);--shadow-md: 0 2px 4px rgba(32, 30, 26, .06), 0 6px 16px rgba(32, 30, 26, .06);--shadow-lg: 0 8px 16px rgba(32, 30, 26, .08), 0 16px 32px rgba(32, 30, 26, .06);--shadow-pop: 0 4px 24px rgba(32, 30, 26, .12), 0 1px 2px rgba(32, 30, 26, .08);--shadow-focus: 0 0 0 3px rgba(177, 71, 38, .3);--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, monospace;--fs-display: 64px;--fs-h1: 44px;--fs-h2: 32px;--fs-h3: 24px;--fs-h4: 20px;--fs-lg: 18px;--fs-body: 16px;--fs-sm: 14px;--fs-xs: 13px;--fs-eyebrow: 12px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-body: 1.6;--lh-loose: 1.75;--fw-regular: 400;--fw-medium: 500;--fw-semibold:600;--fw-bold: 700;--ls-eyebrow: .08em;--ls-tight: -.01em;--ls-display: -.02em;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--dur-fast: .12s;--dur-normal: .2s;--dur-slow: .32s;--dur-deliberate: .48s}html{color-scheme:light}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-text);background:var(--color-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1,"calt" 1}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--fw-semibold);color:var(--color-text);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}p{color:var(--color-text-secondary);text-wrap:pretty}p.lede{font-size:var(--fs-lg);color:var(--color-text);font-weight:var(--fw-regular)}.display{font-size:var(--fs-display);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--ls-display);color:var(--color-text);text-wrap:balance}.eyebrow{display:inline-block;font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-accent)}.num,.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1}.stat-value{font-size:var(--fs-h1);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--color-text);font-variant-numeric:tabular-nums}code,pre,kbd,samp,.mono{font-family:var(--font-mono);font-size:var(--fs-sm)}code{background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);padding:1px 6px;border-radius:var(--radius-xs)}a{color:var(--color-text-accent);text-decoration:none;text-decoration-skip-ink:auto;border-bottom:1px solid color-mix(in oklab,var(--color-text-accent) 40%,transparent);transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}a:hover{color:var(--color-accent-hover);border-bottom-color:currentColor}a:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:2px}.focus-ring:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:var(--shadow-focus)}::selection{background:var(--eb-earl-100);color:var(--eb-earl-900)}.series-1{color:var(--eb-data-1)}.series-2{color:var(--eb-data-2)}.grain{position:relative}.grain:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");background-size:256px 256px;mix-blend-mode:multiply}.grain>*{position:relative;z-index:1}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}.container{width:100%;max-width:760px;margin:0 auto;padding:var(--space-16) var(--space-6) var(--space-20)}a:focus:not(:focus-visible){outline:none;box-shadow:none}.astro-code{background-color:var(--color-surface-sunken)!important;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-size:var(--fs-sm);line-height:var(--lh-body);overflow-x:auto;margin:var(--space-6) 0}.astro-code code{background:transparent;border:none;padding:0;font-size:inherit}.prose{font-size:var(--fs-lg);line-height:var(--lh-loose);color:var(--color-text)}.prose>*+*{margin-top:var(--space-5)}.prose h2{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-accent);margin-top:var(--space-10);margin-bottom:var(--space-1)}.prose h3{font-size:var(--fs-h4);margin-top:var(--space-8)}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li+li{margin-top:var(--space-2)}.prose img{max-width:100%;height:auto;border-radius:var(--radius-lg)}.prose blockquote{border-left:3px solid var(--color-accent-soft);padding-left:var(--space-5);color:var(--color-text-secondary);font-style:italic}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:var(--fs-body);margin:var(--space-6) 0}.prose thead th{font-weight:var(--fw-semibold);text-align:left;border-bottom:1px solid var(--color-border)}.prose th,.prose td{padding:var(--space-2) var(--space-5) var(--space-2) 0;vertical-align:top}.prose tbody tr+tr th,.prose tbody tr+tr td{border-top:1px solid var(--color-border-subtle)}.prose td .num,.prose th .num{white-space:nowrap}.usecase-diagram{margin:var(--space-8) 0}.usecase-diagram .ucd-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.usecase-diagram svg{width:100%;height:auto;min-width:320px;display:block}.usecase-diagram .ucd-boundary rect{fill:var(--color-surface-sunken);stroke:var(--color-border);stroke-width:1.5}.usecase-diagram .ucd-boundary-label{fill:var(--color-text-muted);font-family:var(--font-sans);font-size:12px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}.usecase-diagram .ucd-oval ellipse{stroke:var(--color-border);stroke-width:1}.usecase-diagram .ucd-uc-label{fill:var(--color-text);font-family:var(--font-sans);font-size:15px;font-weight:var(--fw-medium);text-anchor:middle;dominant-baseline:central}.usecase-diagram .ucd-actor--internal{color:var(--color-accent)}.usecase-diagram .ucd-actor--external,.usecase-diagram .ucd-actor--system{color:var(--color-text-secondary)}.usecase-diagram .ucd-actor-label{fill:var(--color-text-secondary);font-family:var(--font-sans);font-size:13px;font-weight:var(--fw-medium);text-anchor:middle}.usecase-diagram .ucd-link line{stroke:var(--color-border-strong);stroke-width:1.5;fill:none}.usecase-diagram .ucd-link--include line,.usecase-diagram .ucd-link--extend line{stroke:var(--color-text-muted);stroke-dasharray:5 4}.usecase-diagram .ucd-stereotype{fill:var(--color-text-muted);font-family:var(--font-mono);font-size:11px;text-anchor:middle}@keyframes ucd-draw-in{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}@keyframes ucd-grad-drift{0%{transform:translate(-8%)}50%{transform:translate(8%)}to{transform:translate(-8%)}}.usecase-diagram .ucd-link--association line{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:ucd-draw-in var(--dur-deliberate, .48s) var(--ease-decelerate, ease-out) forwards;animation-delay:calc(var(--i, 0) * 90ms)}.usecase-diagram .ucd-link--include line,.usecase-diagram .ucd-link--extend line,.usecase-diagram .ucd-stereotype,.usecase-diagram .ucd-actor,.usecase-diagram .ucd-oval{animation:ucd-fade-in var(--dur-slow, .32s) var(--ease-decelerate, ease-out) both;animation-delay:calc(var(--i, 0) * 60ms + .12s)}@keyframes ucd-fade-in{0%{opacity:0}to{opacity:1}}.usecase-diagram .ucd-grad{transform-box:fill-box;transform-origin:center;animation:ucd-grad-drift 11s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.usecase-diagram .ucd-link--association line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.usecase-diagram .ucd-grad,.usecase-diagram .ucd-link--include line,.usecase-diagram .ucd-link--extend line,.usecase-diagram .ucd-stereotype,.usecase-diagram .ucd-actor,.usecase-diagram .ucd-oval{animation:none;opacity:1}}.usecase-diagram .ucd-caption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:center}.usecase-diagram .ucd-oval--interactive{cursor:pointer}.usecase-diagram .ucd-oval--interactive ellipse{transition:stroke var(--dur-fast, .12s) var(--ease-standard, ease)}.usecase-diagram .ucd-oval--interactive:hover ellipse,.usecase-diagram .ucd-oval--interactive:focus-visible ellipse{stroke:var(--color-accent);stroke-width:2}.usecase-diagram .ucd-oval--interactive:focus-visible{outline:none}.usecase-diagram .ucd-modal{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;max-width:min(440px,92vw);width:100%;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-pop)}.usecase-diagram .ucd-modal::backdrop{background:#201e1a52}.usecase-diagram .ucd-modal-inner{position:relative;padding:var(--space-6)}.usecase-diagram .ucd-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);border:none;background:transparent;font-size:var(--fs-h4);line-height:1;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.usecase-diagram .ucd-modal-close:hover{color:var(--color-text);background:var(--color-surface-sunken)}.usecase-diagram .ucd-modal-eyebrow{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-2)}.usecase-diagram .ucd-modal-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);margin:0 0 var(--space-3);padding-right:var(--space-6)}.usecase-diagram .ucd-modal-detail{margin:0 0 var(--space-4);color:var(--color-text-secondary);line-height:var(--lh-body)}.usecase-diagram .ucd-modal-rels{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4)}.usecase-diagram .ucd-modal-rels dt{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-muted);align-self:center}.usecase-diagram .ucd-modal-rels dd{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.usecase-diagram .ucd-modal-rels dd span{font-size:var(--fs-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-0-5) var(--space-3)}.flow-diagram{margin:var(--space-8) 0}.flow-diagram .flow-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.flow-diagram svg{width:100%;height:auto;min-width:280px;display:block}.flow-diagram--sequence svg{max-width:260px;margin:0 auto}.flow-diagram .flow-box{stroke:var(--color-border);stroke-width:1}.flow-diagram .flow-box--store{stroke:var(--color-border-strong);stroke-dasharray:0}.flow-diagram .flow-box--external{stroke-dasharray:5 4}.flow-diagram .flow-box--edge{stroke:var(--color-accent);stroke-width:1.5;stroke-dasharray:3 3}.flow-diagram .flow-label{fill:var(--color-text);font-family:var(--font-sans);font-size:14px;font-weight:var(--fw-medium);text-anchor:middle;dominant-baseline:central}.flow-diagram .flow-edge-line{stroke:var(--color-border-strong);stroke-width:1.5}.flow-diagram .flow-edge-hit{stroke:transparent;stroke-width:16;stroke-linecap:round;pointer-events:stroke}.flow-diagram .flow-edge-label-chip{fill:var(--color-surface);stroke:var(--color-border-subtle);stroke-width:1}.flow-diagram .flow-edge-label{fill:var(--color-text-secondary);font-family:var(--font-mono);font-size:11px;text-anchor:middle;dominant-baseline:alphabetic}.flow-diagram .flow-caption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:center}.flow-diagram .flow-edge-line{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:flow-draw var(--dur-deliberate, .48s) var(--ease-decelerate, ease-out) forwards;animation-delay:calc(var(--i, 0) * .1s)}.flow-diagram .flow-node{animation:flow-fade var(--dur-slow, .32s) var(--ease-decelerate, ease-out) both;animation-delay:calc(var(--i, 0) * 80ms + .1s)}@keyframes flow-draw{to{stroke-dashoffset:0}}@keyframes flow-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.flow-diagram .flow-edge-line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.flow-diagram .flow-node{animation:none;opacity:1}}.flow-diagram .flow-node--interactive{cursor:pointer}.flow-diagram .flow-node--interactive .flow-box{transition:stroke var(--dur-fast, .12s) var(--ease-standard, ease)}.flow-diagram .flow-node--interactive:hover .flow-box,.flow-diagram .flow-node--interactive:focus-visible .flow-box{stroke:var(--color-accent);stroke-width:2}.flow-diagram .flow-node--interactive:focus-visible{outline:none}.flow-diagram .flow-modal{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;max-width:min(440px,92vw);width:100%;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-pop)}.flow-diagram .flow-modal::backdrop{background:#201e1a52}.flow-diagram .flow-modal-inner{position:relative;padding:var(--space-6)}.flow-diagram .flow-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);border:none;background:transparent;font-size:var(--fs-h4);line-height:1;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.flow-diagram .flow-modal-close:hover{color:var(--color-text);background:var(--color-surface-sunken)}.flow-diagram .flow-modal-eyebrow{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-2)}.flow-diagram .flow-modal-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);margin:0 0 var(--space-3);padding-right:var(--space-6)}.flow-diagram .flow-modal-detail{margin:0 0 var(--space-4);color:var(--color-text-secondary);line-height:var(--lh-body)}.flow-diagram .flow-modal-rels{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4)}.flow-diagram .flow-modal-rels dt{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-muted);align-self:center}.flow-diagram .flow-modal-rels dd{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.flow-diagram .flow-modal-rels dd span{font-size:var(--fs-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-0-5) var(--space-3)}.eb-accordion{margin:var(--space-8) 0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.eb-accordion-label{margin:0;padding:var(--space-3) var(--space-5);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border-subtle);font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-accent)}.eb-accordion-item+.eb-accordion-item{border-top:1px solid var(--color-border-subtle)}.eb-accordion-item>summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none;font-weight:var(--fw-medium);color:var(--color-text);transition:background var(--dur-fast, .12s) var(--ease-standard, ease)}.eb-accordion-item>summary::-webkit-details-marker{display:none}.eb-accordion-item>summary:hover{background:var(--color-surface-sunken)}.eb-accordion-item>summary:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:-2px}.eb-accordion-summary{flex:1}.eb-accordion-verdict{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-inverse);background:var(--color-accent);border-radius:var(--radius-pill);padding:var(--space-0-5) var(--space-3)}.eb-accordion-chevron{width:8px;height:8px;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);transition:transform var(--dur-fast, .12s) var(--ease-standard, ease);flex:none}.eb-accordion-item[open]>summary .eb-accordion-chevron{transform:rotate(-135deg)}@media(prefers-reduced-motion:reduce){.eb-accordion-chevron,.eb-accordion-item>summary{transition:none}}.eb-accordion-body{padding:0 var(--space-5) var(--space-5);color:var(--color-text-secondary);line-height:var(--lh-body)}.eb-accordion-body>:first-child{margin-top:0}.eb-accordion-body>:last-child{margin-bottom:0}.flow-diagram .flow-legend{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.flow-diagram .flow-legend-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-text-muted)}.flow-diagram .flow-legend-item+.flow-legend-item{margin-top:0}.flow-diagram .flow-legend-swatch{width:28px;min-width:28px;height:18px;flex:none}.flow-diagram .flow-lane-band{fill:var(--color-surface-sunken)}.flow-diagram .flow-lane-band--1{fill:var(--color-canvas)}.flow-diagram .flow-lane-label{fill:var(--color-text-secondary);font-family:var(--font-sans);font-size:12px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;dominant-baseline:central}.comparison-matrix{margin:var(--space-8) 0}.comparison-matrix .cm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.comparison-matrix table{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.comparison-matrix .cm-caption{caption-side:bottom;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:left}.comparison-matrix th,.comparison-matrix td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border-subtle)}.comparison-matrix tbody tr:last-child th,.comparison-matrix tbody tr:last-child td{border-bottom:none}.comparison-matrix thead th{background:var(--color-surface-sunken);vertical-align:middle}.comparison-matrix thead th.cm-option{height:calc(var(--fs-body) * var(--lh-tight) + var(--fs-xs) + var(--space-1) + 2 * var(--space-3))}.comparison-matrix thead th.cm-option,.comparison-matrix td.cm-cell{text-align:center}.comparison-matrix .cm-corner{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-muted)}.comparison-matrix .cm-option{font-weight:var(--fw-semibold);min-width:120px}.comparison-matrix thead th.cm-option--chosen,.comparison-matrix .cm-cell--chosen{background:var(--color-accent-soft);border-left:1px solid var(--color-accent);border-right:1px solid var(--color-accent)}.comparison-matrix thead th.cm-option--chosen{border-top:1px solid var(--color-accent)}.comparison-matrix tbody tr:last-child .cm-cell--chosen{border-bottom:1px solid var(--color-accent)}.comparison-matrix .cm-option-inner{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1)}.comparison-matrix .cm-option--chosen{color:var(--color-text-accent)}.comparison-matrix .cm-option-label{display:block}.comparison-matrix .cm-chosen-badge{display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-inverse);background:var(--color-accent);border-radius:var(--radius-pill);padding:0 var(--space-2)}.comparison-matrix .cm-criterion{font-weight:var(--fw-medium);color:var(--color-text)}.comparison-matrix .cm-mark{display:inline-flex;align-items:center;font-size:var(--fs-lg);line-height:var(--lh-body)}.comparison-matrix .cm-value{line-height:var(--lh-body)}.comparison-matrix .cm-mark--yes{color:var(--eb-success)}.comparison-matrix .cm-mark--no{color:var(--color-text-muted)}.comparison-matrix .cm-mark--partial{color:var(--eb-warning)}.comparison-matrix .cm-value{color:var(--color-text-secondary);font-size:var(--fs-sm)}.comparison-matrix .cm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eb-callout{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-left:3px solid var(--callout-accent, var(--color-border-strong));border-radius:var(--radius-md);background:var(--callout-bg, var(--color-surface-sunken))}.eb-callout--note{--callout-accent: var(--eb-info);--callout-bg: var(--color-surface-sunken)}.eb-callout--info{--callout-accent: var(--eb-info);--callout-bg: var(--eb-info-bg)}.eb-callout--tip{--callout-accent: var(--eb-success);--callout-bg: var(--eb-success-bg)}.eb-callout--warning{--callout-accent: var(--eb-warning);--callout-bg: var(--eb-warning-bg)}.eb-callout-label{margin:0 0 var(--space-2);font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--callout-accent)}.eb-callout-body{color:var(--color-text-secondary)}.eb-callout-body>:first-child{margin-top:0}.eb-callout-body>:last-child{margin-bottom:0}.eb-assumption{background:var(--eb-warning-bg);color:var(--color-text);border-radius:var(--radius-sm);padding:.05em .35em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.eb-assumption-tag{display:inline-block;margin-right:.4em;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--eb-warning);vertical-align:.05em}.eb-assumption-tag:only-child{margin-right:0}.eb-assumption-body{color:var(--color-text)}.eb-mockup{margin:var(--space-8) auto;width:100%}.eb-mockup-frame{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-pop, 0 6px 24px rgba(32, 30, 26, .12))}.eb-mockup-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:color-mix(in oklab,var(--color-surface-sunken) 70%,var(--color-surface));border-bottom:1px solid var(--color-border)}.eb-mockup-dots{display:inline-flex;gap:6px;flex:0 0 auto}.eb-mockup-dots i{width:11px;height:11px;border-radius:var(--radius-pill);background:var(--color-border-strong)}.eb-mockup-dots i:nth-child(1){background:var(--eb-error)}.eb-mockup-dots i:nth-child(2){background:var(--eb-warning)}.eb-mockup-dots i:nth-child(3){background:var(--eb-success)}.eb-mockup-address{flex:1 1 auto;font-size:var(--fs-sm);font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eb-mockup-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text)}.eb-mockup-screen{background:var(--color-canvas);font-size:var(--fs-sm);line-height:var(--lh-body, 1.5);color:var(--color-text)}.eb-mockup-caption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:center}.eb-mockup--phone{max-width:380px}.eb-mockup--phone .eb-mockup-frame{border-radius:26px;border-width:8px;border-color:var(--color-surface-inverse);position:relative}.eb-mockup--phone .eb-mockup-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:44%;height:18px;background:var(--color-surface-inverse);border-bottom-left-radius:12px;border-bottom-right-radius:12px;z-index:2}.eb-mockup--phone .eb-mockup-screen{min-height:360px}.eb-walkthrough{margin:var(--space-8) 0}.eb-wt-transport{margin-bottom:var(--space-4)}.eb-wt-controls{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.eb-wt-btn{flex:0 0 auto;padding:var(--space-1) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);cursor:pointer}.eb-wt-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.eb-wt-btn:disabled{opacity:.4;cursor:default}.eb-wt-caption{font-size:var(--fs-sm);color:var(--color-text-secondary)}.eb-wt-timeline{position:relative;height:16px;margin:0 7px}.eb-wt-rail,.eb-wt-fill{position:absolute;top:50%;left:0;height:2px;transform:translateY(-50%)}.eb-wt-rail{right:0;background:var(--color-border)}.eb-wt-fill{width:0;background:var(--color-accent);transition:width var(--dur-slow, .32s) cubic-bezier(.34,1.4,.64,1)}.eb-wt-dot{position:absolute;top:50%;width:12px;height:12px;padding:0;border-radius:var(--radius-pill);border:2px solid var(--color-surface);background:var(--color-border-strong);transform:translate(-50%,-50%);cursor:pointer;z-index:1}.eb-wt-dot--done,.eb-wt-dot--active{background:var(--color-accent)}.eb-wt-dot--active{box-shadow:0 0 0 4px color-mix(in oklab,var(--color-accent) 22%,transparent)}.eb-wt-viewport{display:grid}.eb-wt-scene{grid-area:1 / 1;position:relative;min-width:0;opacity:0;pointer-events:none;transition:opacity var(--dur-slow, .32s) ease}.eb-wt-scene--on{opacity:1;pointer-events:auto;z-index:1}.eb-wt-scene--app{z-index:0}.eb-wt-highlight{position:absolute;background:color-mix(in oklab,var(--color-accent) 20%,transparent);border:2px solid var(--color-accent);border-radius:var(--radius-sm);pointer-events:none;z-index:5;transition:left var(--dur-normal, .2s) ease,top var(--dur-normal, .2s) ease,width var(--dur-normal, .2s) ease,height var(--dur-normal, .2s) ease}@media(prefers-reduced-motion:reduce){.eb-wt-fill,.eb-wt-scene,.eb-wt-highlight{transition:none}}.decision-table{margin:var(--space-8) 0}.decision-table .dt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.decision-table table{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.decision-table .dt-sr-caption{caption-side:bottom;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:left}.decision-table th,.decision-table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border-subtle)}.decision-table tbody tr:last-child th,.decision-table tbody tr:last-child td{border-bottom:none}.decision-table thead th{background:var(--color-surface-sunken);font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.decision-table .dt-col-id{min-width:3.5rem}.decision-table .dt-id{font-family:var(--font-mono);font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.decision-table .dt-id-wrap{display:inline-flex;align-items:center;gap:var(--space-2)}.decision-table .dt-anchor{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);border-bottom:none;text-decoration:none;line-height:0;opacity:0;transition:opacity .12s ease,color .12s ease}.decision-table .dt-anchor:hover{color:var(--color-accent);border-bottom:none}.decision-table .dt-row:hover .dt-anchor,.decision-table .dt-row:focus-within .dt-anchor,.decision-table .dt-row:target .dt-anchor,.decision-table .dt-anchor:focus-visible{opacity:1}.decision-table .dt-anchor-icon{display:block}.decision-table .dt-anchor-copied{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%) translateY(2px);padding:2px 7px;border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-surface);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.4;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility .12s}.decision-table .dt-anchor.is-copied .dt-anchor-copied{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){.decision-table .dt-anchor,.decision-table .dt-anchor-copied{transition:none}}.decision-table .dt-id-btn{font:inherit;color:var(--color-text-accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.decision-table .dt-id-btn:hover{color:var(--color-accent)}.decision-table .dt-decision{color:var(--color-text)}.decision-table .dt-choice{color:var(--color-text-secondary);font-size:var(--fs-sm)}.decision-table .dt-row{scroll-margin-top:var(--space-16, 4rem)}.decision-table .dt-row:target{background:var(--color-accent-soft)}.decision-table .dt-badge{display:inline-block;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;white-space:nowrap;cursor:help}.decision-table .dt-badge--decided{background:var(--eb-success-bg);color:var(--eb-success)}.decision-table .dt-badge--leaning{background:var(--eb-warning-bg);color:var(--eb-warning)}.decision-table .dt-badge--open{background:var(--eb-info-bg);color:var(--eb-info)}.decision-table .dt-badge--tbd{background:var(--color-surface-sunken);color:var(--color-text-muted)}.decision-table .dt-modal{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;max-width:min(520px,92vw);width:100%;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-pop, 0 6px 24px rgba(32, 30, 26, .16))}.decision-table .dt-modal::backdrop{background:#201e1a52}.decision-table .dt-modal-inner{position:relative;padding:var(--space-6)}.decision-table .dt-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);border:none;background:transparent;font-size:var(--fs-h4);line-height:1;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.decision-table .dt-modal-close:hover{color:var(--color-text);background:var(--color-surface-sunken)}.decision-table .dt-modal-eyebrow{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-2)}.decision-table .dt-modal-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);margin:0 0 var(--space-3);padding-right:var(--space-6)}.decision-table .dt-modal-detail{margin:0;color:var(--color-text-secondary);line-height:var(--lh-body, 1.6)}.sequence-diagram{margin:var(--space-8) 0}.sequence-diagram .seq-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.sequence-diagram svg{width:100%;height:auto;min-width:320px;display:block}.sequence-diagram .seq-head{fill:var(--color-surface-sunken);stroke:var(--color-border-strong);stroke-width:1}.sequence-diagram .seq-head-label{fill:var(--color-text);font-family:var(--font-sans);font-size:13px;font-weight:var(--fw-semibold);text-anchor:middle;dominant-baseline:central}.sequence-diagram .seq-lifeline{stroke:var(--color-border);stroke-width:1;stroke-dasharray:4 4}.sequence-diagram .seq-line{stroke:var(--color-border-strong);stroke-width:1.5;fill:none}.sequence-diagram .seq-msg--return .seq-line{stroke-dasharray:5 4;stroke:var(--color-text-muted)}.sequence-diagram .seq-arrowhead{fill:var(--color-border-strong);stroke:none}.sequence-diagram .seq-arrowhead-open{stroke:var(--color-text-muted);stroke-width:1.5}.sequence-diagram .seq-msg-label{fill:var(--color-text-secondary);font-family:var(--font-sans);font-size:12px;text-anchor:middle}.sequence-diagram .seq-msg-label--self{text-anchor:start}.sequence-diagram .seq-frag-box{fill:none;stroke:var(--color-border);stroke-width:1;stroke-dasharray:3 3}.sequence-diagram .seq-frag-tag{fill:var(--color-surface-sunken);stroke:var(--color-border);stroke-width:1}.sequence-diagram .seq-frag-tag-label{fill:var(--color-text-muted);font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);text-transform:uppercase;dominant-baseline:central}.sequence-diagram .seq-frag-label{fill:var(--color-text-secondary);font-family:var(--font-sans);font-size:11px;font-style:italic}.sequence-diagram .seq-caption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:center}.sequence-diagram .seq-msg{animation:seq-fade-in var(--dur-slow, .32s) var(--ease-decelerate, ease-out) both;animation-delay:calc(var(--i, 0) * 60ms + .12s)}@keyframes seq-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.sequence-diagram .seq-msg{animation:none;opacity:1;transform:none}}.data-model{margin:var(--space-8) 0}.data-model .dm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-model .dm-grid{position:relative;display:grid;grid-template-columns:repeat(var(--dm-cols, 3),minmax(150px,1fr));gap:var(--space-12) var(--space-16);align-items:start;justify-items:stretch;padding:var(--space-4);min-width:min-content}.data-model .dm-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}.data-model .dm-entity{position:relative;z-index:1;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);align-self:start}.data-model .dm-entity-head{padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border-subtle);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text)}.data-model .dm-fields{list-style:none;margin:0;padding:0}.data-model .dm-field{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--fs-sm);border-bottom:1px solid var(--color-border-subtle)}.data-model .dm-field:last-child{border-bottom:none}.data-model .dm-key{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:0 var(--space-1);border-radius:var(--radius-xs)}.data-model .dm-key--pk{background:var(--eb-warning-bg);color:var(--eb-warning)}.data-model .dm-key--fk{background:var(--eb-info-bg);color:var(--eb-info)}.data-model .dm-field-name{font-family:var(--font-mono);color:var(--color-text)}.data-model .dm-field-type{color:var(--color-text-muted);font-size:var(--fs-xs)}.data-model .dm-field-note{color:var(--color-text-muted);font-size:var(--fs-xs);font-style:italic;margin-left:auto}.data-model .dm-edge{fill:none;stroke:var(--color-border);stroke-width:1.5}.data-model .dm-foot{stroke:var(--color-text-muted);stroke-width:1.75;fill:none}.data-model .dm-foot-circle{fill:var(--color-surface);stroke:var(--color-text-secondary);stroke-width:1.5}.data-model .dm-edge-label-chip{fill:var(--color-surface);stroke:var(--color-border-subtle);stroke-width:1}.data-model .dm-edge-label{fill:var(--color-text-secondary);font-family:var(--font-mono);font-size:11px;text-anchor:middle}.data-model .dm-field--key{cursor:pointer;border-radius:var(--radius-xs);transition:background .1s ease}.data-model .dm-field--key:hover,.data-model .dm-field--key:focus-visible{background:var(--color-surface-sunken);outline:none}.data-model.dm-has-active .dm-entity{opacity:.55;transition:opacity .12s ease}.data-model.dm-has-active .dm-entity.dm-entity-active{opacity:1;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.data-model .dm-field.dm-key-active{background:var(--color-accent-soft)}.data-model .dm-field.dm-key-active .dm-field-name{color:var(--color-text-accent);font-weight:var(--fw-semibold)}.data-model.dm-has-active .dm-edge{opacity:.35}.data-model .dm-edge.dm-edge-active{opacity:1;stroke:var(--color-accent);stroke-width:2.5}@media(prefers-reduced-motion:no-preference){.data-model.dm-drawn .dm-edge{stroke-dasharray:200;stroke-dashoffset:200;animation:dm-draw .5s ease forwards;animation-delay:calc(var(--i, 0) * 40ms)}}@keyframes dm-draw{to{stroke-dashoffset:0}}.data-model .dm-rel-sr{list-style:none;margin:var(--space-4) 0 0;padding:0;font-size:var(--fs-sm);color:var(--color-text-secondary)}.data-model .dm-rel-sr li{padding:var(--space-0-5) 0}.data-model.dm-drawn .dm-rel-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-model .dm-caption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted);text-align:center}.requirements .req-title,.personas .pers-title,.usecases .uc-title{margin:0 0 var(--space-4);font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-accent)}.requirements,.personas,.usecases{margin:var(--space-8) 0;padding:var(--space-5) var(--space-6);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.requirements .req-groups{display:flex;flex-direction:column;gap:var(--space-4)}.requirements .req-group{display:grid;grid-template-columns:minmax(120px,1fr) 3fr;gap:var(--space-4);align-items:start;padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.requirements .req-group:first-child{padding-top:0;border-top:none}.requirements .req-actor{font-weight:var(--fw-semibold);color:var(--color-text)}.requirements .req-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.requirements .req-cap-label{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;margin-bottom:var(--space-1)}.requirements .req-cap--must .req-cap-label{color:var(--eb-success)}.requirements .req-cap--can .req-cap-label{color:var(--color-text-muted)}.requirements .req-cap--cannot .req-cap-label{color:var(--eb-danger, var(--color-accent))}.requirements .req-cap ul{margin:0;padding-left:var(--space-4);font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-body)}.requirements .req-cap li+li{margin-top:var(--space-1)}.requirements .req-caption,.personas .pers-caption,.usecases .uc-caption{margin-top:var(--space-4);font-size:var(--fs-sm);color:var(--color-text-muted)}.personas .pers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.personas .pers-item{display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:var(--space-4);align-items:baseline}.personas .pers-role{font-weight:var(--fw-semibold);color:var(--color-text)}.personas .pers-impact{color:var(--color-text-secondary);line-height:var(--lh-body)}.personas .pers-before{color:var(--color-text-muted);font-style:italic}.usecases .uc-cols{display:grid;grid-template-columns:repeat(var(--uc-cols, 3),1fr);gap:var(--space-5)}.usecases .uc-actor{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.usecases .uc-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.usecases .uc-col li{font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-body);padding-left:var(--space-3);position:relative}.usecases .uc-col li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--color-accent)}.usecases .uc-empty{margin:0;color:var(--color-text-muted)}@media(max-width:640px){.requirements .req-group,.personas .pers-item{grid-template-columns:1fr;gap:var(--space-2)}.usecases .uc-cols{grid-template-columns:1fr}}:root[data-preview=external] .card[data-post-audience=internal]{display:none}:root[data-preview=external]{--color-accent: var(--eb-terra, #b14726);--color-accent-hover: #9a3d21;--color-accent-press: #85351c;--color-accent-soft: color-mix(in oklab, var(--eb-terra, #b14726) 12%, var(--color-surface));--color-text-accent: #9a3d21;--color-border-focus: var(--eb-terra, #b14726)}:root[data-preview=external] .card[data-post-draft=true]{display:none}:root[data-drafts=hide] .card[data-post-draft=true]{display:none}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:10;background:#fbf9f5eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border-subtle);height:64px;padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-6)}.brand[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:baseline;gap:var(--space-2);text-decoration:none;border:none}.usermenu[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;gap:10px;padding-left:var(--space-2)}.user-email[data-astro-cid-dmqpwcec]{font-size:var(--fs-xs);color:var(--color-text-secondary);font-family:var(--font-mono)}.signout[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:5px 12px;border-radius:9999px;text-decoration:none;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);background:var(--color-surface);transition:all .15s}.signout[data-astro-cid-dmqpwcec]:hover{border-color:var(--color-accent);color:var(--color-accent)}.mark[data-astro-cid-dmqpwcec]{color:var(--color-accent);display:inline-flex;align-self:center}.brand-text[data-astro-cid-dmqpwcec]{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--color-text)}.brand-sub[data-astro-cid-dmqpwcec]{font-size:var(--fs-sm);color:var(--color-text-muted);font-weight:var(--fw-regular)}.internal-badge[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-accent);background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:var(--radius-pill);padding:2px 10px;text-transform:uppercase;letter-spacing:.08em;line-height:1}.internal-badge--toggle[data-astro-cid-dmqpwcec]{cursor:pointer;transition:filter .12s ease}.internal-badge--toggle[data-astro-cid-dmqpwcec]:hover{filter:brightness(.96)}.internal-badge--toggle[data-astro-cid-dmqpwcec]:after{content:" ⇄";opacity:.6}.drafts-badge[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:2px 10px;text-transform:uppercase;letter-spacing:.08em;line-height:1;cursor:pointer;transition:filter .12s ease,border-color .12s ease,color .12s ease}.drafts-badge--toggle[data-astro-cid-dmqpwcec]:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.drafts-badge--toggle[data-astro-cid-dmqpwcec][aria-pressed=false]{opacity:.62}.links[data-astro-cid-dmqpwcec]{margin-left:auto;display:flex;gap:var(--space-5)}.links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary);text-decoration:none;border:none;transition:color var(--dur-fast) var(--ease-standard)}.links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--color-text-accent)}@media(max-width:480px){.brand-sub[data-astro-cid-dmqpwcec]{display:none}.links[data-astro-cid-dmqpwcec]{gap:var(--space-4);min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.links[data-astro-cid-dmqpwcec]::-webkit-scrollbar{display:none}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border-subtle);background:var(--color-canvas);padding:var(--space-8) var(--space-6)}.footer-inner[data-astro-cid-sz7xmlte]{max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-text-muted)}.socials[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-4)}.socials[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-text-muted);border:none;display:inline-flex;transition:color var(--dur-fast) var(--ease-standard)}.socials[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-text-accent)}.socials[data-astro-cid-sz7xmlte] svg[data-astro-cid-sz7xmlte]{fill:currentColor}.diagram-fs-btn{position:absolute;top:var(--space-2, .5rem);right:var(--space-2, .5rem);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;flex:none;padding:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md, 8px);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,border-color .12s ease}.diagram-fs-btn svg{width:15px;height:15px;display:block;flex:none}.flow-diagram:hover .diagram-fs-btn,.sequence-diagram:hover .diagram-fs-btn,.usecase-diagram:hover .diagram-fs-btn,.data-model:hover .diagram-fs-btn,.barchart:hover .diagram-fs-btn,.diagram-fs-btn:focus-visible{opacity:1}.diagram-fs-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}@media(hover:none){.diagram-fs-btn{opacity:1}}dialog.diagram-fs{width:96vw;height:94vh;max-width:96vw;max-height:94vh;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-pop, 0 6px 24px rgba(32, 30, 26, .16));overflow:hidden}dialog.diagram-fs::backdrop{background:#201e1a6b;backdrop-filter:blur(2px)}.diagram-fs-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4, 1rem);padding:var(--space-3, .75rem) var(--space-4, 1rem);border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-sunken)}.diagram-fs-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.diagram-fs-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:22px;line-height:1;border:none;border-radius:var(--radius-md, 8px);background:transparent;color:var(--color-text-secondary);cursor:pointer}.diagram-fs-close:hover{background:var(--color-surface);color:var(--color-accent)}.diagram-fs-stage{display:flex;align-items:center;justify-content:center;width:100%;height:calc(100% - 57px);padding:var(--space-6, 1.5rem);overflow:auto}.diagram-fs-stage svg{max-width:100%;max-height:100%}.diagram-fs-stage>figure{margin:0;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.diagram-fs-stage>figure>.flow-scroll,.diagram-fs-stage>figure>.sequence-scroll,.diagram-fs-stage>figure>.cm-scroll,.diagram-fs-stage>figure>[class$=-scroll]{overflow:visible;width:100%;border:none}@media(prefers-reduced-motion:reduce){.diagram-fs-btn{transition:none}}
