


@font-face{font-family:Inter;font-style:normal;font-weight:400;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(fonts/Inter-Regular.woff2) format("woff2"),url(fonts/Inter-Regular.woff) format("woff");font-display:swap}
@font-face{font-family:Inter;font-style:italic;font-weight:400;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(fonts/Inter-Italic.woff2) format("woff2"),url(fonts/Inter-Italic.woff) format("woff");font-display:swap}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(fonts/Inter-Medium.woff2) format("woff2"),url(fonts/Inter-Medium.woff) format("woff");font-display:swap}
@font-face{font-family:Inter;font-style:italic;font-weight:600;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(fonts/Inter-MediumItalic.woff2) format("woff2"),url(fonts/Inter-MediumItalic.woff) format("woff");font-display:swap}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(fonts/Inter-Bold.woff2) format("woff2"),url(fonts/Inter-Bold.woff) format("woff");font-display:swap}
@font-face{font-family:Inter;font-style:italic;font-weight:800;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(fonts/Inter-BoldItalic.woff2) format("woff2"),url(fonts/Inter-BoldItalic.woff) format("woff");font-display:swap}:root{--background:#fafafa;--background-secondary:#eaeaea;--header:#fafafa;--color:#222;--color-secondary:#999;--border-color:#dcdcdc;--phoneWidth:(max-width:480px);--tabletWidth:(max-width:900px)}body.dark-theme{--background:#252627;--background-secondary:#3b3d42;--header:#252627;--color:#a9a9b3;--color-secondary:#73747b;--border-color:#4a4b50}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;background:#eaeaea;background:var(--background-secondary);text-decoration:none;text-align:center;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.button.outline,a.button.outline,button.outline{background:transparent;border-color:#eaeaea;border-color:var(--background-secondary);box-shadow:none;padding:8px 18px}.button.outline :hover,a.button.outline :hover,button.outline :hover{transform:none;box-shadow:none}.button.primary,a.button.primary,button.primary{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.button.primary:hover,a.button.primary:hover,button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,.21),0 1px 3px rgba(0,0,0,.08)}.button.link,a.button.link,button.link{background:none;font-size:1rem;}.button.small,a.button.small,button.small{font-size:.8rem}.button.wide,a.button.wide,button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:active,a.read-more:hover{display:inline-flex;background:none;box-shadow:none;padding:0;margin:20px 0;font-weight:700}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{display:inline-flex;padding:3px 8px;margin-bottom:5px;background:#eaeaea;background:var(--background-secondary);text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.code-toolbar .toolbar-item a,.header{position:relative;align-items:center;justify-content:center}.header{background:#fafafa;background:var(--header);display:flex;padding:20px}.header__right{display:flex;flex-direction:row;align-items:center}
@media (max-width:480px){.header__right{flex-direction:row-reverse}}.header__inner{justify-content:space-between;margin:0 auto;width:1280px;max-width:100%}.header__inner,.theme-toggle{display:flex;align-items:center}.theme-toggle{justify-content:center;line-height:1;cursor:pointer}.theme-toggler{fill:currentColor}.logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none;font-weight:700}.logo img{height:44px}.logo__mark{display:inline-flex;align-items:center;margin-right:5px}.logo__mark .greater-icon{width:.95rem;height:100%}.logo__mark .greater-icon path{stroke:currentColor;stroke-width:8px}.logo__text{font-size:1.125rem}.logo__cursor{display:inline-block;width:10px;height:1rem;background:#68ACE5;margin-left:5px;border-radius:1px;-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite}
@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}
@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}.menu{--color:rgba(0,0,0,0.12);--shadow:0 8px 20px var(--color);border-right:1px solid;margin-right:18px;padding-right:24px;font-weight:500}
@media (max-width:480px){.menu{position:absolute;background:#fafafa;background:var(--header);box-shadow:var(--shadow);margin:0;padding:5px;list-style:none;border-radius:5px;z-index:99;border:none;top:50px;right:10px}}.menu a{text-decoration:none}.menu__inner{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;list-style:none;margin:0;padding:0}
@media (max-width:480px){.menu__inner--desktop{display:none}}.menu__inner--mobile{display:none}
@media (max-width:480px){.menu__inner--mobile{display:block}}.menu__inner li{text-align:left;flex:0 0 auto}.menu__inner li:not(:first-of-type){margin-left:20px}
@media (max-width:480px){.menu__inner{flex-direction:column;align-items:flex-start;padding:0}.menu__inner li{margin-left:0!important;padding:10px}}.menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.menu__sub-inner:not(:only-child){margin-left:20px}.menu__sub-inner-more{position:absolute;background:#fafafa;background:var(--header);box-shadow:var(--shadow);margin:0;padding:5px;list-style:none;border-radius:5px;z-index:99;top:35px;left:0}.menu__sub-inner-more-trigger{display:inline-flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.menu__sub-inner-more-trigger-icon{display:inline-flex;align-items:center;margin-left:3px;transform:rotate(90deg);line-height:1}.menu__sub-inner-more-trigger-icon .greater-icon{width:.95rem;height:100%}.menu__sub-inner-more-trigger-icon .greater-icon path{stroke:currentColor;stroke-width:5px}.menu__inner .menu__sub-inner-more li{margin-left:0;white-space:nowrap}.menu__inner .menu__sub-inner-more li:hover{background:rgba(0,0,0,.05);border-radius:3px;cursor:pointer}.menu__sub-inner-more li a{width:100%;display:inline-block;padding:10px}.menu-trigger{width:24px;height:24px;fill:currentColor;margin-left:10px;cursor:pointer}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";line-height:1.54;background-color:#fff;background-color:var(--background);color:#222;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}
@media (max-width:480px){body{font-size:1rem}}h1,h2,h3,h4,h5,h6{line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}
@media (max-width:480px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:.9rem;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;background:#eaeaea;background:var(--background-secondary);padding:1px 6px;margin:0 2px;border-radius:5px;font-size:.9rem;font-weight:400}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:#212020;padding:20px;border-radius:8px;font-size:.9rem;overflow:auto}
@media (max-width:480px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;color:#ccc;margin:0;padding:0;font-size:inherit}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}
@media (max-width:480px){blockquote{margin:10px;padding:10px}}blockquote:before{content:"”";font-family:Georgia,serif;font-size:3.875rem;position:absolute;left:-40px;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0;border-radius:5px}table,td,th{border:1px solid;padding:10px}th{background:#eaeaea;background:var(--background-secondary)}ol,ul{margin-left:40px;padding:0}
@media (max-width:480px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{flex-direction:column;text-align:center}.container,.content{display:flex;justify-content:center}.content{flex-direction:column;flex:1 auto;align-items:center;margin:50px 0}
@media (max-width:480px){.content{margin-top:0}}hr{width:100%;border:none;background:#dcdcdc;background:var(--border-color);height:1px}.hidden{display:none}.framed{padding:20px;border-radius:10px;border:1px solid #dcdcdc;border:1px solid var(--border-color);max-width:800px}blockquote.twitter-tweet{background:rgba(44,124,186,.1);border:none;padding:30px;color:inherit;font-size:inherit;line-height:inherit;border-radius:8px}.post{width:100%;max-width:1280px;text-align:left;padding:20px;margin:20px auto}
@media (max-width:480px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px}
@media (max-width:480px){.post-meta{font-size:.85rem}}.post-title{font-size:2.625rem;margin:0 0 20px}
@media (max-width:480px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{margin:40px -50px;width:860px;max-width:860px}.post-cover img{margin:0 auto;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.15)}
@media (max-width:480px){.post-cover{margin:20px 0;width:100%}}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:#fff;background:var(--background);color:#999;color:var(--color-secondary);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none;font-weight:700}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#eaeaea;background:var(--background-secondary);font-size:1rem;font-weight:500;border-radius:8px;max-width:40%;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:0px;flex-grow:0;color:#999;color:var(--color-secondary)}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0 auto;width:1280px;max-width:100%}
@media (max-width:480px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:row;align-items:center;font-size:1rem}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){border-right:1px solid;padding-right:10px;margin-right:10px}
@media (max-width:480px){.footer .copyright>:first-child:not(:only-child){border:none;padding:0;margin:0}}
@media (max-width:480px){.footer .copyright{flex-direction:column;margin-top:10px}}.terms{width:100%;max-width:800px;text-align:left;padding:20px;margin:0 auto}.terms__list{padding:0 0 0 20px;margin:0}.terms__list a{text-decoration:none}.terms__term{margin-bottom:15px}.terms__term-count{background:#eaeaea;background:var(--background-secondary);font-size:12px;margin-left:5px;padding:2px 10px;border-radius:5px;text-decoration:none}.archive{width:100%;max-width:800px;text-align:left;padding:20px;margin:0 auto}.archive__group-month{display:flex;align-items:flex-start;padding:10px 0}
@media (max-width:480px){.archive__group-month{flex-direction:column}}.archive__group-month:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year{margin-top:40px}
@media (max-width:480px){.archive__group-year{margin-top:20px}}.archive__group-year:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year-header{margin:10px 0}.archive__group-month-header{margin:25px 0;width:200px;opacity:.5}
@media (max-width:480px){.archive__group-month-header{margin:10px 0 0}}.archive__group-posts{width:100%}.archive__post{padding:20px 0}.archive__post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__post-title{margin:5px 0}.archive__post-title a{display:block;text-decoration:none}code[class*=language-],pre[class*=language-]{background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#212020!important;color:inherit!important;border-radius:8px}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.4)}.token.punctuation{color:#a9a9b3}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:hsla(0,0%,87.8%,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.collapsable-code{position:relative;width:100%;margin:40px 0}.collapsable-code input[type=checkbox]{position:absolute;visibility:hidden}.collapsable-code input[type=checkbox]:checked~.code-toolbar pre,.collapsable-code input[type=checkbox]:checked~pre{height:0;padding:0;border-top:none}.collapsable-code input[type=checkbox]:checked~.code-toolbar{padding:0;border-top:none}.collapsable-code input[type=checkbox]:checked~.code-toolbar .toolbar{display:none}.collapsable-code input[type=checkbox]:checked~label{border-radius:10px}.collapsable-code input[type=checkbox]:checked~label .collapsable-code__toggle:after{content:attr(data-label-expand)}.collapsable-code label{position:relative;display:flex;justify-content:space-between;background:#eaeaea;background:var(--background-secondary);padding:10px;border-top-left-radius:10px;border-top-right-radius:10px;min-width:30px;min-height:30px;margin:0;cursor:pointer}.collapsable-code__title{flex:1;color:#222;color:var(--color);padding:3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{background:#fff;background:var(--background);color:#222;color:var(--color);border-radius:10px;padding:3px 10px}.collapsable-code__toggle{color:#222;color:var(--color);font-size:16px;padding:3px 10px}.collapsable-code__toggle:after{content:attr(data-label-collapse)}.collapsable-code pre{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.collapsable-code code:first-line,.collapsable-code pre:first-line{line-height:0}.collapsable-code .code-toolbar{margin:0}


@font-face{font-family:'OldEnglish';font-style:normal;font-weight:400;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(fonts/Old-English.woff) format("woff");font-display:swap}
  

@font-face {
    font-family: 'OldEnglish';  /* Choose a descriptive name */
    src: url('fonts/Old-English.woff') format('woff'), /* Replace with your font file path */
  }
  
  .old-english-text {
    font-family: 'OldEnglish';
  }


  li::marker {
    font-weight: bold;
  }

  img,figcaption {
    display: inline-table; 
    vertical-align: middle; 
    overflow:auto;
    margin:12px; 
  }


/* ==============================
   Figure with caption on the right
   ============================== */

figure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px; /* space between image and caption */
  margin: 12px auto;
  max-width: 100%;
  flex-wrap: wrap; /* allows wrapping on small screens */
}

figure img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* Caption aligned right of image */
figure figcaption {
  font-size: 0.9rem;
  color: var(--color);
  text-align: left;
  max-width: 60%;
  line-height: 1.4; 
}

figure img,
figure figcaption {
  align-self: center; /* forces both to align to the middle line */
  border-radius: 6px;
  object-fit: cover;
}


/* Mobile-friendly layout: stack vertically */
 

body {
  margin: 0;
  padding: 40px 20px;
  overflow-x: hidden;
}



.post-content,
.post-title,
.content,
.post {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}

.container {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: clamp(16px, 3vw, 35px);
  padding-right: clamp(16px, 3vw, 35px);
  text-align: left;
  box-sizing: border-box;
}




.figure-row {
  display: flex;
  justify-content: left;
  align-items: flex-start;
  gap: clamp(5px, 2vw, 25px);
  flex-wrap: wrap;        /* wrap on small screens */ 
} 
 

.figure-row figure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;  /* align contents (img + caption) from the top */
  max-width: 30%;
  margin: 0;                /* remove auto-centering */
} 
.figure-row figcaption {
  width: 100%;
  max-width: 100%;
  text-align: center;       /* text starts from left edge */
  margin-top: auto;
  margin-left: auto;
  line-height: clamp(0.8, 2vw, 1.2);
  font-size: clamp(0.8rem, 2vw, 1.2rem);
  color: var(--color); 
}


 
.figure-row-small {
  display: flex;
  justify-content: left;
  align-items: flex-start;
  gap: clamp(5px, 2vw, 25px);
  flex-wrap: wrap;        /* wrap on small screens */ 
} 
 
.figure-row-small figure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;  /* align contents (img + caption) from the top */
  max-width: 23%;
  margin: 0;                /* remove auto-centering */
}

.member-roster {
  margin: 0;
  padding-left: 1.25em;
  list-style: disc;
}

.member-roster li {
  margin-bottom: 0.4em;
}

.member-roster li:last-child {
  margin-bottom: 0;
}

.figure-row figcaption {
  width: 100%;
  max-width: 100%;
  text-align: center;       /* text starts from left edge */
  margin-top: auto;
  margin-left: auto;
  line-height: clamp(0.8, 2vw, 1.2);
  font-size: clamp(0.8rem, 2vw, 1.2rem);
  color: var(--color); 
}



.post-title-container {
  display: flex;
  align-items: center;      /* vertically center the logo and text */
  gap: 12px;                /* space between logo and heading */
}

.post-logo {
  max-width: 15%;           /* logo scales even smaller */
  height: auto;             /* adjust size as needed */
  width: auto;              /* maintain aspect ratio */
}
 





/* ==============================
  Adaptive Layout Enhancements
============================== */

/* Ensure all sections scale with screen width */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
}

/* Use flexible container widths */
.header__inner,
.footer__inner,
.content,
.post,
.archive,
.terms {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* Responsive images and media */
img, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}


/* Base font for the whole page */
html {
  font-size: 14px; /* smaller base size */
}

/* Adaptive typography */
h1, .post-content-title {
  font-size: clamp(1.5rem, 4vw, 2.6rem);
}
h2  {
  font-size: clamp(1.2rem, 3vw, 1.8rem);
}
h3 {
  font-size: clamp(1.0rem, 2.5vw, 1.4rem);
}
h4
{
  font-size: clamp(0.9rem, 2.5vw, 1.3rem);
}
a, em, p, strong, li, figcaption, .figure-row figcaption
.post-content, .pagination .pagination__title-h
{
  font-size: clamp(0.8rem, 2vw, 1.2rem);
  line-height: 1.6;
}  
 
.footer__inner .copyright, .logo__text,
.header__right .menu__inner--desktop, .menu__inner--mobile
{
  font-size: clamp(1rem, 2vw, 1.4rem); 
}  
.scholar-link a {
  text-decoration: none;
}

/* Brand link styles */
:root {
  --brand-color: rgba(0, 119, 216, 0.8);
  --brand-color-light: rgba(104, 172, 229, 0.8);
}

.post-content a,
.post > figure a,
.summary a,
.figure-row a,
.figure-row-small a {
  text-decoration: none;
  color: var(--brand-color);
}

.post-content a[href]:hover,
.post-content a[href]:active,
.post > figure a[href]:hover,
.post > figure a[href]:active,
.summary a[href]:hover,
.summary a[href]:active,
.figure-row a[href]:hover,
.figure-row a[href]:active,
.figure-row-small a[href]:hover,
.figure-row-small a[href]:active,
.link-lg:hover,
.link-lg:active {
  font-weight: bold;
}

.post-content a:not([href]),
.post-content a[href=""] {
  color: inherit;
  cursor: default;
}

.post-content .paper-figure figcaption a.author-link {
  color: var(--color);
}

.post-content .paper-figure figcaption a.author-link:hover {
  opacity: 0.75;
}

.post-content--publications figure figcaption a.mentee {
  text-decoration: none;
}

.post-content--publications figure figcaption a.mentee u,
.post-content--publications .mentee-key u {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.12em;
}

.post-content--publications figure figcaption a[href*="scholar.google"],
.post-content--publications figure figcaption a[href*="martinos.org"] {
  color: inherit;
}

.post-content--publications figure figcaption a[href*="scholar.google"]:hover,
.post-content--publications figure figcaption a[href*="martinos.org"]:hover {
  color: var(--brand-color);
  opacity: 1;
}

.menu a:hover,
.menu a:active,
.menu a.active {
  font-weight: bold;
}

.menu a.active {
  color: var(--brand-color);
}

.accent {
  color: var(--brand-color);
}

.post-content strong.accent,
.post-content .accent {
  font-weight: bold;
}

/* One post + Back to Top: theme adds .post border and pagination hr */
.post:has(+ .pagination) {
  border-bottom: none;
}

.post + .pagination {
  margin-top: 24px;
}

.post + .pagination .pagination__title {
  margin-top: 40px;
}

.star {
  font-size: larger;
}

.star-primary {
  color: var(--brand-color);
}

.star-secondary {
  color: var(--brand-color-light);
}

.link-lg {
  font-size: clamp(1rem, 2.5vw, 1.4rem);
  text-decoration: none;
  color: var(--brand-color);
}





.menu__inner.menu__inner--desktop {
  flex-wrap: nowrap;
}

.header__inner {
  flex-wrap: nowrap;
  gap: 12px;
  min-width: 0;
}

.header .logo {
  flex: 0 1 auto;
  min-width: auto;
  overflow: visible;
  max-width: none;
}

.header .logo__mark,
.header .logo__cursor {
  flex-shrink: 0;
}

.header .logo__text {
  flex-shrink: 0;
  overflow: visible;
  text-overflow: unset;
  white-space: nowrap;
}

.header.nav-collapsed .logo,
.header.nav-collapsed .logo__text {
  overflow: visible;
  text-overflow: unset;
}

.header__right {
  position: relative;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
}

.menu-trigger {
  align-items: center;
  justify-content: center;
  color: var(--color);
  cursor: pointer;
}

.menu-trigger svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  display: block;
}

.header.nav-collapsed .menu-trigger:not(.hidden),
.menu-trigger:not(.hidden) {
  display: inline-flex;
}

.header.nav-collapsed .menu__inner--desktop {
  display: none !important;
}

.header.nav-collapsed .menu {
  display: none !important;
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}

.header.nav-collapsed .menu.nav-open {
  display: block !important;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--header);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
  margin: 0;
  padding: 5px;
  border: none;
  border-radius: 5px;
  z-index: 99;
}

.header.nav-collapsed .menu__inner--mobile {
  display: block;
}

.header.nav-collapsed .menu__inner {
  flex-direction: column;
  align-items: flex-start;
}

.header.nav-collapsed .menu__inner li {
  margin-left: 0 !important;
  padding: 10px;
  white-space: nowrap;
}

/* Adaptive navigation */
.header,
.footer, 
.menu {
  flex-wrap: wrap;
  justify-content: space-between;
}

.header {
  padding: 12px 20px 14px;
  flex-wrap: nowrap;
}

.menu__inner {
  flex-wrap: wrap;
}

.menu__inner.menu__inner--desktop {
  flex-wrap: nowrap;
}
 




 .back-to-top {
  position: fixed; /* Fixed position on the screen */
  bottom: 20px;    /* 20px from the bottom */
  right: 20px;     /* 20px from the right */
  /* Add more styling like background, color, padding, etc. */
}

/* ==============================
   Layout components
============================== */

.summary-panel {
  display: flex;
  align-items: stretch;
  position: relative;
  height: 350px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--border-color);
}

.news-spotlight {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--border-color);
  border-left: 4px solid var(--brand-color);
  border-radius: 6px;
  background: var(--background-secondary);
  line-height: 1.55;
}

.news-spotlight .accent {
  margin-right: 0.35em;
}

.openings-callout {
  text-align: center;
  margin: 0;
  line-height: 1.6;
}

.post-content p:has(+ .section-body) {
  margin-bottom: 0.35em;
}

.post-content .section-body {
  margin-left: 26px;
  margin-top: 0;
  margin-bottom: 1.25em;
}

.post-content .section-body ul {
  margin: 0;
  padding-left: 1.25em;
  list-style: disc;
}

.post-content .section-body > :first-child {
  margin-top: 0;
}

.post-content .section-body > :last-child {
  margin-bottom: 0;
}

.post-content .section-body p {
  margin-top: 0;
  margin-bottom: 0.45em;
}

.post-content .section-body p:last-child {
  margin-bottom: 0;
}

.news-archive {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border-color);
}

.news-archive > summary {
  cursor: pointer;
  color: var(--color-secondary);
  font-size: 0.95em;
  list-style: none;
  user-select: none;
}

.news-archive > summary::-webkit-details-marker {
  display: none;
}

.news-archive > summary::before {
  content: "▸ ";
  color: var(--brand-color);
}

.news-archive[open] > summary::before {
  content: "▾ ";
}

.news-archive[open] > summary {
  margin-bottom: 10px;
}

.summary {
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 12px 14px 14px 16px;
  box-sizing: border-box;
}

.summary h4 {
  margin-bottom: 0.35em;
}

.summary h4:first-child {
  margin-top: 0.15em;
}

.summary h4:not(:first-child) {
  margin-top: 0.65em;
}

.summary::-webkit-scrollbar {
  display: none;
}

.summary-rail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 12px;
  background: var(--background-secondary);
  border-left: 1px solid var(--border-color);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 1;
}

.summary-panel.has-scroll.is-scrolling .summary-rail,
.summary-panel.has-scroll:hover .summary-rail,
.summary-panel.has-scroll.is-dragging .summary-rail {
  opacity: 1;
  pointer-events: auto;
}

.summary-thumb {
  position: absolute;
  left: 2px;
  right: 2px;
  top: 4px;
  background: var(--color-secondary);
  border-radius: 4px;
  min-height: 32px;
  cursor: grab;
  touch-action: none;
}

.summary-thumb.is-dragging {
  cursor: grabbing;
}

.paper-figure {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
}

.paper-figure img {
  width: min(360px, 100%);
}

.post {
  margin-top: 0;
  padding-top: 18px;
}

.post .post-content--hero,
.post > .post-content:first-child,
.post > main > .post-content:first-child {
  margin-top: 0;
}

.post:has(.profile-hero) {
  padding-top: 40px;
}

.post .post-content + .post-content {
  margin-top: 56px;
}

.post-content--hero {
  text-align: center;
}

.post-content--hero .post-content-title {
  margin: 0;
  font-size: clamp(1.3rem, 3.6vw, 2.2rem);
  line-height: 1.25;
}

.post-content--hero .post-title-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  transform: translateX(-0.45em);
  container-type: inline-size;
  container-name: hero-title;
}

@container hero-title (max-width: 44rem) {
  .post-content--hero .post-title-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    transform: none;
  }

  .post-content--hero .post-content-title {
    text-align: center;
  }

  .post-content--hero .title-github-link {
    margin-left: 0;
  }
}

.post-content--hero .post-logo {
  width: clamp(4.5rem, 14vw, 7.5rem);
  max-width: none;
  height: auto;
  flex-shrink: 0;
}

.post-content--hero .title-github-link {
  flex-shrink: 0;
  margin-left: 0.1em;
  font-size: clamp(1.3rem, 3.6vw, 2.2rem);
}

.intro-github-link {
  display: inline-flex;
  vertical-align: middle;
  margin-right: 0;
  color: var(--brand-color);
  text-decoration: none;
  line-height: 0;
}

.intro-github-link svg {
  width: 1.15em;
  height: 1.15em;
}

.intro-github-link:hover,
.intro-github-link:active {
  font-weight: bold;
}

.post .post-content--hero + .intro-row {
  margin-top: 12px;
}

.post > main > .post-content--hero + .post-content {
  margin-top: 24px;
}

.post > main > .post-content--hero + .post-content > p:first-child {
  margin-top: 0;
}

.intro-row.post-content + .post-content {
  margin-top: 64px;
}

.intro-row {
  display: flex;
  align-items: stretch;
  gap: 24px;
  flex-wrap: wrap;
}

.intro-text {
  flex: 1;
  text-align: left;
  min-width: min(100%, 280px);
}

.intro-text .post-title-container {
  margin-bottom: 0;
}

.intro-gallery {
  flex-shrink: 0;
  align-self: stretch;
  width: min(380px, 40vw);
  max-width: 100%;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.intro-gallery__frame {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: stretch;
  gap: 6px;
  overflow: visible;
}

.intro-gallery__btn {
  flex-shrink: 0;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  background: var(--background-secondary);
  color: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.intro-gallery__btn:hover:not(:disabled) {
  border-color: var(--brand-color);
  color: var(--brand-color);
}

.intro-gallery__btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.intro-gallery__track {
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  border-radius: 0;
}

.intro-gallery__track::-webkit-scrollbar {
  display: none;
}

.intro-gallery__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  margin: 0;
  max-width: none;
  width: 100%;
  min-width: 100%;
  box-sizing: border-box;
}

.intro-gallery__media {
  place-self: center;
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--background);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 10px 28px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  box-sizing: border-box;
}

.intro-gallery__slide img,
.intro-gallery__slide figcaption {
  margin: 0;
}

.intro-gallery__slide img {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  display: block;
  object-fit: contain;
}

.intro-gallery__slide figcaption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.intro-gallery__caption {
  flex-shrink: 0;
  display: block;
  max-width: 100%;
  text-align: center;
  color: rgba(128, 128, 128, 1);
  margin: 8px 0 0;
  line-height: 1.4;
  width: 100%;
  white-space: normal;
  opacity: 1;
  font-size: 0.85rem;
}

.intro-gallery__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  flex-shrink: 0;
}

.intro-gallery__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--border-color);
  cursor: pointer;
}

.intro-gallery__dot.is-active {
  background: var(--brand-color);
}

.profile-hero {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 36px;
  margin: 0;
  max-width: 100%;
  flex-wrap: nowrap;
}

.profile-hero img {
  max-width: min(240px, 30vw);
  height: auto;
  margin: 0;
  flex-shrink: 0;
  display: block;
}

.profile-hero img,
.profile-hero figcaption {
  margin: 0;
}

.profile-hero figcaption {
  display: block;
  max-width: none;
  flex: 1 1 auto;
  margin: 0;
  text-align: left;
}

.profile-hero h1 {
  text-align: inherit;
  margin-top: 0;
}

.profile-hero p {
  text-align: inherit;
  line-height: 1.5;
}

@media (max-width: 720px) {
  .profile-hero {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .profile-hero figcaption {
    text-align: center;
    width: 100%;
  }

  .profile-hero img {
    max-width: min(240px, 70vw);
    margin-left: auto;
    margin-right: auto;
  }
}

.photo-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: flex-start;
}

.photo-gallery figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: min(100%, 240px);
  margin: 0;
}

.photo-gallery img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.photo-gallery figcaption {
  text-align: center;
  color: rgba(128, 128, 128, 1);
  margin-top: 6px;
  line-height: 1.4;
  font-size: 0.85rem;
  white-space: normal;
  opacity: 1;
  max-width: 100%;
}

/* ==============================
   Responsive layout
============================== */

@media (max-width: 768px) {
  body {
    padding: 12px;
  }

  .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .header {
    padding-left: 0;
    padding-right: 0;
  }

  .header__inner {
    width: 100%;
  }

  .menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    margin: 0;
    padding: 5px;
    border: none;
    border-right: none;
    background: var(--header);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    border-radius: 5px;
    z-index: 99;
  }

  .menu.hidden,
  .header.nav-collapsed .menu:not(.nav-open) {
    display: none !important;
  }

  .header.nav-collapsed .menu.nav-open {
    display: block !important;
  }

  .menu__inner--desktop {
    display: none !important;
  }

  .menu__inner--mobile {
    display: none;
  }

  .header.nav-collapsed .menu.nav-open .menu__inner--mobile {
    display: block;
  }

  .menu-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: 10px;
    cursor: pointer;
    flex-shrink: 0;
    color: var(--color);
  }

  .menu-trigger svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
  }

  .header.nav-collapsed .menu-trigger:not(.hidden) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .post-content--hero .post-title-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    transform: none;
  }

  .post-content--hero .post-content-title {
    text-align: center;
  }

  .post-content--hero .title-github-link {
    margin-left: 0;
  }

  .post-content,
  .post-title,
  .content,
  .post {
    padding-left: 0;
    padding-right: 0;
  }

  .summary-panel {
    height: min(350px, 50vh);
  }

  .summary {
    max-height: none;
  }

  figure:not(.profile-hero),
  .paper-figure {
    flex-direction: column;
  }

  figure figcaption {
    max-width: 100%;
  }

  .intro-row {
    flex-direction: column;
    align-items: stretch;
  }

  .intro-gallery {
    width: min(380px, 92vw);
    margin-left: auto;
    margin-right: auto;
    align-self: auto;
  }

  .figure-row figure {
    max-width: min(100%, 280px);
    flex: 1 1 calc(50% - 12px);
  }

  .figure-row-small figure {
    max-width: min(100%, 160px);
    flex: 1 1 calc(50% - 12px);
  }
}

@media (max-width: 480px) {
  .figure-row figure,
  .figure-row-small figure {
    max-width: 100%;
    flex: 1 1 100%;
  }

  .column {
    float: none;
    width: 100%;
  }
}
