/* A quiet, translucent frame around the study content. */
:root{--glass:rgba(250,250,252,.78);--glass-line:rgba(255,255,255,.72);--menu-glass:#fafafc}
body.dark{--glass:rgba(26,26,30,.82);--glass-line:rgba(255,255,255,.10);--menu-glass:#16161a}
html{scroll-padding-top:84px}
.top{z-index:100;isolation:isolate;background:var(--glass);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:inset 0 1px var(--glass-line),0 4px 25px #00000003;-webkit-backdrop-filter:blur(28px) saturate(160%);backdrop-filter:blur(28px) saturate(160%)}
.top .topin{height:64px;padding:0 28px;gap:12px;flex-wrap:nowrap;position:relative}
.top .brand{gap:9px;font-size:15px;letter-spacing:-.035em;flex-shrink:0}
.top .brand img{width:30px;height:30px;border-radius:9px}
.top .brand small{display:none}
.page-location{margin:0 12px 0 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:450;color:var(--muted);letter-spacing:-.01em}
.top .iconbtn,.menu-toggle{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;border:1px solid var(--glass-line);background:linear-gradient(150deg,#ffffff60,#ffffff0a);box-shadow:inset 0 1px 1px #ffffff66,0 2px 8px #00000003;color:var(--ink)}
.top .iconbtn{font-size:19px;margin-left:0}
.menu-toggle{position:relative;cursor:pointer}
.menu-toggle span{position:absolute;width:18px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .22s ease,opacity .15s ease}
.menu-toggle span:nth-child(1){transform:translateY(-5px)}
.menu-toggle span:nth-child(3){transform:translateY(5px)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}
.top .site-menu[hidden]{display:none!important}
.top .site-menu{display:block;position:fixed;inset:64px 0 auto;height:calc(100dvh - 64px);height:calc(100svh - 64px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0;background:var(--menu-glass);-webkit-backdrop-filter:blur(35px) saturate(150%);backdrop-filter:blur(35px) saturate(150%);border-top:1px solid var(--glass-line);text-align:left;animation:menu-reveal .22s ease}
.menu-inner{max-width:1164px;margin:0 auto;padding:48px 30px max(40px,env(safe-area-inset-bottom))}
.menu-caption{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:26px}
.top .site-menu a{display:block;width:fit-content;max-width:100%;padding:8px 0;margin:0 0 10px;font-size:clamp(32px,4.8vw,58px);line-height:1.25;letter-spacing:-.045em;font-weight:650;text-decoration:none;color:var(--ink);transition:opacity .15s}
.top .site-menu a:hover{opacity:.6}
.top .site-menu a.active{color:var(--ink);font-weight:650}
.site-menu a[aria-current="page"]::after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);margin:0 0 6px 15px}
.menu-footnote{margin:42px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
body.menu-open{overflow:hidden}
.menu-open .top{background:var(--menu-glass);box-shadow:none}
.menu-open .page-location,.menu-open #theme{visibility:hidden}
.tabs,.timer-widget,.toolbar{background:color-mix(in srgb,var(--paper) 85%,transparent);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 1px 0 var(--glass-line),0 4px 20px #00000003}
.tabs{border-color:color-mix(in srgb,var(--line) 75%,transparent)}
.card{box-shadow:0 4px 24px #00000003}
.btn.secondary{background:color-mix(in srgb,var(--paper) 88%,transparent);box-shadow:inset 0 1px 0 var(--glass-line)}
footer{font-size:13px;line-height:1.7}
.site-footer-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--muted)}
.site-footer-heading img{width:24px;height:24px;border-radius:7px}
footer details{border-top:1px solid var(--line);padding:17px 0}
footer summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-size:14px}
footer summary::-webkit-details-marker{display:none}
footer summary::after{content:'+';font-size:18px;font-weight:300}
footer details[open] summary::after{content:'−'}
footer details p{max-width:760px;font-size:12px;color:var(--muted);margin:16px 0 0}
.footer-credit{border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}
@keyframes menu-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.top .topin{height:60px;padding:0 16px;gap:7px}.top .brand{font-size:14px;gap:7px}.top .brand img{width:27px;height:27px}.top .iconbtn,.menu-toggle{width:40px;height:40px}.page-location{font-size:10px;margin-right:3px;max-width:132px}.top .site-menu{inset:60px 0 auto;height:calc(100svh - 60px)}.menu-inner{padding:38px 32px 36px}.top .site-menu a{font-size:34px;margin-bottom:13px;padding:7px 0}.menu-caption{font-size:10px}.menu-footnote{font-size:12px;margin-top:38px}.wrap{padding-top:34px}.crumb{font-size:11px}.hero,.ham-banner{border-radius:24px}.timer-widget{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}footer{margin-top:35px}}
@media(max-width:360px){.top .brand>span{display:none}.page-location{max-width:170px;font-size:11px}.top .site-menu a{font-size:31px}}
@media(prefers-reduced-transparency:reduce){:root{--glass:var(--paper);--menu-glass:var(--paper)}.tabs,.timer-widget,.toolbar{background:var(--paper)}}
@media(prefers-reduced-motion:reduce){.top .site-menu{animation:none}.menu-toggle span{transition:none}}
@media print{.top,.site-menu{display:none!important}}
