diff --git a/lib/resources/styles.css b/lib/resources/styles.css
index af51b03dbd..797981857e 100644
--- a/lib/resources/styles.css
+++ b/lib/resources/styles.css
@@ -1 +1 @@
-.light-theme{--main-bg-color: #fff;--main-header-color: #eeeeee;--main-sidebar-color: #727272;--main-text-color: #111111;--main-search-bar: #fff;--main-scrollbar-color: #CCC;--main-footer-background: #111111;--main-h-text: black;--main-hyperlinks-color: #0175C2;--main-search-background: transparent;--main-inset-bgColor: #f5f5f7;--main-inset-borderColor: #dadce0;--main-code-bg: #f8f8f8;--main-keyword-color: #333;--main-tag-color: #000080;--main-section-color: #900;--main-comment-color: #998;--main-var-color: #008080;--main-string-color: #d14;--main-number-filter: invert(0%);--main-icon-color: black;--alert-info-fgColor: #2058b7;--alert-tip-fgColor: #0c7927;--alert-important-fgColor: #7953bf;--alert-warning-fgColor: #955d00;--alert-error-fgColor: #c43131}.light-theme #light-theme-button{display:none}.light-theme img[src$="#gh-dark-mode-only"]{display:none}.dark-theme{--main-bg-color: #10161E;--main-header-color: #1C2834;--main-sidebar-color: #fff;--main-text-color: #fff;--main-search-bar: #454545;--main-scrollbar-color: #5f6368;--main-footer-background: #27323a;--main-hyperlinks-color: #00D2FA;--main-search-background: black;--main-inset-bgColor: #242b32;--main-inset-borderColor: #676f7e;--main-code-bg: #10161E;--main-keyword-color: white;--main-tag-color: #00D2FA;--main-section-color: #FF2D64;--main-comment-color: #909CC3;--main-var-color: #55A09B;--main-string-color: #FF2D64;--main-number-filter: invert(100%);--main-icon-color: white;--alert-info-fgColor: #429bff;--alert-tip-fgColor: #25c04b;--alert-important-fgColor: #ad81ff;--alert-warning-fgColor: #cea11f;--alert-error-fgColor: #ff6666}.dark-theme #dark-theme-button{display:none}.dark-theme img[src$="#gh-light-mode-only"]{display:none}#theme-button{appearance:none;border:none;background:none;cursor:pointer;position:absolute;right:30px;display:flex;align-items:center;justify-content:center;padding:4px;color:var(--main-icon-color)}#theme-button:hover{color:var(--main-hyperlinks-color)}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;overflow-x:hidden;font-family:Roboto,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-text-color);background-color:var(--main-bg-color)}main{flex:1;display:flex;flex-direction:row;min-height:0}.gt-separated{list-style:none;padding:0;margin:0}.gt-separated li{display:inline-block}.gt-separated li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");background-position:center;content:" ";margin:0 6px 0 4px;padding:0 3px 0 0}.gt-separated.dark li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>")}.gt-separated li:first-child:before{background-image:none;content:"";margin:0;padding:0}.breadcrumbs{padding:0;margin:8px 0 8px 0;white-space:nowrap;line-height:1}@media screen and (min-width: 840px){nav ol.breadcrumbs{float:left}}@media screen and (max-width: 840px){.breadcrumbs{margin:0 0 24px 0;overflow-x:hidden}}.breadcrumbs .gt-separated .dark .hidden-xs li+li:before{color:var(--main-h-text)}ol.breadcrumbs li a{color:var(--main-hyperlinks-color)}.self-crumb{color:var(--main-h-text)}.self-name{color:#555;display:none}pre code{white-space:pre;word-wrap:initial;font-size:100%}pre{border:1px solid #ddd;background-color:#eee;font-size:14px}@media(max-width: 840px){pre{margin:16px 0}}code{font-family:"Roboto Mono",Menlo,monospace;color:inherit;padding:.2em .4em;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.hljs-string,.hljs-doctag{color:var(--main-string-color)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:var(--main-var-color)}.hljs-comment,.hljs-quote{color:var(--main-comment-color);font-style:italic}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--main-section-color);font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:var(--main-tag-color);font-weight:normal}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--main-keyword-color);font-weight:bold}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--main-text-color);background:var(--main-code-bg)}.main-content{flex:1;order:2;overflow-y:scroll;padding:10px 20px 0 20px}a{text-decoration:none}section{margin-bottom:36px}dl{margin:0}header{background-color:var(--main-header-color);box-shadow:0 3px 5px rgba(0,0,0,.1)}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-weight:400;margin-top:1.5em;color:var(--main-text-color)}h1.title{overflow:hidden;text-overflow:ellipsis}h1{font-size:37px;margin-top:0;margin-bottom:.67em}@media(max-width: 840px){h1{font-size:24px}}h2{font-size:28px}h5{font-size:16px}p{margin-bottom:1em;margin-top:0}a{color:var(--main-hyperlinks-color)}a:hover{color:#13b9fd}.fixed{white-space:pre}header a,header p,header li{color:#0175c2}header a:hover{color:#0175c2}header h1 .kind{color:#555}header h1{font-weight:400;margin-bottom:16px}dt{font-weight:normal}dd{color:var(--main-text-color);margin-bottom:1em;margin-left:0}dd.callable,dd.constant,dd.property{margin-bottom:24px}dd p{overflow-x:hidden;text-overflow:ellipsis;margin-bottom:0}table{margin-bottom:1em}table,th,td{border:1px solid #d3d3d3;border-collapse:collapse}th,td{padding:8px}.category{padding:2px 4px;font-size:12px;border-radius:4px;background-color:#999;text-transform:uppercase;color:#fff;opacity:.5}.category a{color:#fff}h1 .category{vertical-align:middle}.category.linked{font-weight:bold;opacity:1}.category.cp-0{background-color:#54b7c4}.category.cp-1{background-color:#54c47f}.category.cp-2{background-color:#c4c254}.category.cp-3{background-color:#c49f54}.category.cp-4{background-color:#c45465}.category.cp-5{background-color:#c454c4}.feature{display:inline-block;background:var(--main-bg-color);border:1px solid var(--main-hyperlinks-color);border-radius:20px;color:var(--main-hyperlinks-color);font-size:12px;padding:1px 6px;margin:0 8px 0 0}h1 .feature{vertical-align:middle;margin:0 -2px 0 0}a.feature:hover{border-color:#13b9fd}.markdown.desc{margin-bottom:1em;max-width:700px}.markdown h1{font-size:24px;margin-bottom:8px}.markdown h2{font-size:20px;margin-top:24px;margin-bottom:8px}.markdown h3{font-size:18px;margin-bottom:8px;color:var(--main-text-color)}.markdown h4{font-size:16px;margin-bottom:0}.markdown li p{margin:0}section#setter,div#setter{border-top:1px solid #ddd;padding-top:36px}section.summary dt,div.summary dt{margin-left:24px;text-indent:-24px}li.inherited a{opacity:.65;font-style:italic}dt.constant+dd p{margin-bottom:1em}dl.dl-horizontal dd{margin-left:initial}dl.dl-horizontal dt{font-style:normal;text-align:left;color:#727272;margin-right:20px;width:initial}dl dt.callable .name{float:none;width:auto}dl dt .name{font-weight:500}.main-content.extension-page .from-extension{display:none}sup.muted{color:var(--main-sidebar-color);font-size:.6em}.from-extension>span{color:var(--alert-warning-fgColor);font-style:italic;padding:2px}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.source-link{padding:18px 4px;font-size:18px;vertical-align:middle}@media(max-width: 840px){.source-link{padding:7px 2px;font-size:10px}}#external-links{float:right}@media(max-width: 840px){.hidden-xs{display:none !important}}@media(min-width: 841px){.hidden-l{display:none !important}}li .material-symbols-outlined,dt .material-symbols-outlined{font-size:1em;vertical-align:text-bottom}dt .material-symbols-outlined{text-indent:0}.type-parameter{white-space:nowrap}.parameter-list{display:table-cell;margin-left:10px;list-style-type:none;padding-inline-start:unset}.parameter-list.single-line{display:inline;margin-left:0}.parameter-list.single-line>li{display:inline}.parameter-list.single-line>li>.parameter{display:inline;margin-left:0;text-indent:0}.signature{color:var(--main-text-color)}.signature a{color:var(--main-hyperlinks-color)}.deprecated{text-decoration:line-through}.multi-line-signature{font-size:17px;color:#727272}.multi-line-signature .type-parameter .parameter{margin-left:0;display:unset}.multi-line-signature .parameter{margin-left:60px;display:block;text-indent:-36px}.annotation-list{list-style:none;padding:0;display:inline}.comma-separated{list-style:none;padding:0;display:inline}.comma-separated li{display:inline}.comma-separated li:not(:last-child):after{content:", "}.container>section:first-child{border:0}.constructor-modifier{font-style:italic}section .multi-line-signature div.parameters,div .multi-line-signature div.parameters{margin-left:24px}#instance-methods dt.inherited .name,#instance-properties dt.inherited .name,#operators dt.inherited .name{font-weight:400;font-style:italic}#instance-methods dt.inherited .signature,#instance-properties dt.inherited .signature,#operators dt.inherited .signature{font-weight:400}footer{flex:0 0 16px;text-align:center;padding:16px 20px;color:#fff;background-color:var(--main-footer-background);width:100%}footer p{margin:0}footer .no-break{white-space:nowrap}footer .container{padding-left:0;padding-right:0}footer a,footer a:hover{color:#fff}.markdown-alert{margin-top:1rem;margin-bottom:1rem;padding:.75rem;--alert-title-color: --main-inset-borderColor;background-color:var(--main-inset-bgColor);border-left:solid .25rem var(--alert-title-color)}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert .markdown-alert-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:500;-webkit-font-smoothing:antialiased;color:var(--alert-title-color, inherit)}.markdown-alert .markdown-alert-title::before{font:22px/1 "Material Symbols Outlined";user-select:none}.markdown-alert.markdown-alert-note{--alert-title-color: var(--alert-info-fgColor)}.markdown-alert.markdown-alert-note .markdown-alert-title::before{content:"info"}.markdown-alert.markdown-alert-tip{--alert-title-color: var(--alert-tip-fgColor)}.markdown-alert.markdown-alert-tip .markdown-alert-title::before{content:"lightbulb"}.markdown-alert.markdown-alert-important{--alert-title-color: var(--alert-important-fgColor)}.markdown-alert.markdown-alert-important .markdown-alert-title::before{content:"feedback"}.markdown-alert.markdown-alert-warning{--alert-title-color: var(--alert-warning-fgColor)}.markdown-alert.markdown-alert-warning .markdown-alert-title::before{content:"warning"}.markdown-alert.markdown-alert-caution{--alert-title-color: var(--alert-error-fgColor)}.markdown-alert.markdown-alert-caution .markdown-alert-title::before{content:"report"}header{flex:0 0 50px;display:flex;flex-direction:row;align-items:center;padding-left:30px;padding-right:30px;background-color:var(--main-header-color)}header ol{list-style:none;margin:0;padding:0}header ol li{display:inline}header form{display:flex;flex:1;justify-content:flex-end}header #header-search-sidebar{height:50px;margin-bottom:25px}nav .navbar{background-color:inherit;min-height:50px;border:0}nav .navbar .row{padding-top:8px}nav .container{white-space:nowrap}@media(max-width: 840px){nav .container{width:100%}}@media print{.subnav,.sidebar{display:none}a[href]:after{content:"" !important}}.form-control{border-radius:0;border:0}@media screen and (max-width: 840px){form.search{display:none}}.typeahead{width:200px;padding:2px 7px 1px 7px;line-height:20px;outline:none}.tt-wrapper{position:relative;display:inline-block}.tt-input{position:relative;vertical-align:top}.navbar-right .tt-menu{right:0;left:inherit !important;width:540px;max-height:280px;overflow-y:scroll}.navbar-right{padding-right:60px}.tt-menu{position:absolute;top:100%;left:0;z-index:100;font-size:14px;margin:0;background-color:var(--main-bg-color);border:1px solid var(--main-header-color);box-shadow:0 5px 10px rgba(0,0,0,.2)}.typeahead{padding:17px 17px 17px 50px;width:422px;height:20px;font-size:13px;background-image:url("./search.svg");background-repeat:no-repeat;background-position:4%;outline:0;background-size:20px;filter:var(--main-number-filter)}.search-summary{margin-bottom:10px}a.tt-container{font-size:16px;color:var(--main-hyperlinks-color)}.enter-search-message{position:sticky;top:0;background-color:#aaa;padding:0;font-size:14px;margin:0;clear:both;text-align:center;color:#000}.tt-suggestion:hover{cursor:pointer;color:#fff;background-color:#0097cf}.tt-suggestion:hover .search-from-lib{color:#ddd}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion.tt-cursor .search-from-lib{color:#ddd}.tt-suggestion p{margin:0}.tt-container{font-size:14px;margin-bottom:0;margin-top:15px}.tt-container-text{color:var(--main-text-color)}.tt-search-results .tt-container{margin-top:5px;margin-bottom:5px}.tt-search-results .tt-container-text{display:none}.tt-search-results .tt-suggestion{color:var(--main-text-color);margin-top:5px;overflow:hidden;padding-left:10px;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.tt-search-results .tt-suggestion-title{font-size:14px;padding-right:5px}.tt-search-results .tt-suggestion-container{color:var(--main-keyword-color);font-size:14px;font-style:italic;padding-right:5px}.tt-search-results .one-line-description{color:var(--main-keyword-color);display:inline;margin-left:0}.tt-search-results .one-line-description::before{content:open-quote}.tt-search-results .one-line-description::after{content:close-quote}#dartdoc-main-content .tt-suggestion{color:var(--main-text-color);margin-top:5px;margin-bottom:10px;border-style:solid;border-color:#d3d3d3;border-width:.5px}#dartdoc-main-content .tt-suggestion-title{display:block;font-weight:500;margin:4px 10px 0}#dartdoc-main-content .one-line-description{display:block;margin:2px 10px 3px}#dartdoc-main-content .tt-suggestion-container{display:none}@media screen and (max-width: 840px){.typeahead{padding:17px 17px 17px 33px;width:240px;height:17px;border:1px solid #f5f5f5;background-position:3%;margin:10px 10px 10px 9px}header{padding-left:0}}::placeholder{filter:brightness(0.85)}.search-body{border:1px solid #7f7f7f;max-width:400px;box-shadow:3px 3px 5px rgba(0,0,0,.1)}.sidebar ol{list-style:none;line-height:22px;margin-top:0;margin-bottom:0;padding:0 0 15px 0}.sidebar h5 a,.sidebar h5 a:hover{color:var(--main-sidebar-color)}.sidebar h5,.sidebar ol li{text-overflow:ellipsis;overflow:hidden;padding:3px 0 3px 3px}.sidebar h5{color:var(--main-sidebar-color);font-size:18px;margin:0 0 22px 0;padding-top:0}.sidebar ol li.section-title{font-size:18px;font-weight:normal;text-transform:uppercase;padding-top:25px}.sidebar ol li.section-subtitle a{color:inherit}.sidebar ol li.section-subtitle{font-weight:400;text-transform:uppercase}.sidebar ol li.section-subitem{margin-left:12px}.sidebar ol li:first-child{padding-top:3px;margin-top:0}button{padding:0}#sidenav-left-toggle{display:none;vertical-align:text-bottom;padding:0;color:var(--main-icon-color);user-select:none;cursor:pointer}#sidenav-left-toggle:hover{color:var(--main-hyperlinks-color)}@media screen and (max-width: 840px){#sidenav-left-toggle{display:inline;width:24px;height:24px;border:none;margin-right:24px;margin-left:24px;font-size:24px}#overlay-under-drawer.active{opacity:.4;height:100%;z-index:1999;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;display:block}.sidebar-offcanvas-left{left:-100%;position:fixed;transition:all .25s ease-out;z-index:2000;top:0;width:280px;height:90%;background-color:var(--main-bg-color);overflow-y:scroll;padding:10px;margin:10px 10px;box-shadow:5px 5px 5px 5px #444}ol#sidebar-nav{font-size:18px;white-space:pre-line}.sidebar-offcanvas-left.active{left:0}.self-name{display:inline-block;color:var(--main-hyperlinks-color)}}.sidebar-offcanvas-left h5{margin-bottom:10px}.sidebar-offcanvas-left h5:last-of-type{border:0;margin-bottom:25px}@media screen and (max-width: 992px){.sidebar-offcanvas-right{display:none}}#overlay-under-drawer{display:none}@media screen and (max-width: 320px){#sidenav-left-toggle{margin-right:10px;margin-left:20px}.self-name{margin-right:10px}}.sidebar-offcanvas-left{flex:0 1 230px;order:1;overflow-y:scroll;padding:20px 0 15px 30px;margin:5px 20px 0 0}.sidebar-offcanvas-right{flex:0 1 12em;order:3;overflow-y:scroll;padding:20px 15px 15px 15px;margin-top:5px;margin-right:20px}::-webkit-scrollbar-button{display:none;height:13px;border-radius:0;background-color:#aaa}::-webkit-scrollbar-button:hover{background-color:#aaa}::-webkit-scrollbar-thumb{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar{width:8px}
+.light-theme{--main-bg-color: #fff;--main-header-color: #eeeeee;--main-sidebar-color: #727272;--main-text-color: #111111;--main-search-bar: #fff;--main-scrollbar-color: #CCC;--main-footer-background: #111111;--main-h-text: black;--main-hyperlinks-color: #0175C2;--main-search-background: transparent;--main-inset-bgColor: #f5f5f7;--main-inset-borderColor: #dadce0;--main-code-bg: #f8f8f8;--main-keyword-color: #333;--main-tag-color: #000080;--main-section-color: #900;--main-comment-color: #998;--main-var-color: #008080;--main-string-color: #d14;--main-number-filter: invert(0%);--main-icon-color: black;--alert-info-fgColor: #2058b7;--alert-tip-fgColor: #0c7927;--alert-important-fgColor: #7953bf;--alert-warning-fgColor: #955d00;--alert-error-fgColor: #c43131}.light-theme #light-theme-button{display:none}.light-theme img[src$="#gh-dark-mode-only"]{display:none}.dark-theme{--main-bg-color: #10161E;--main-header-color: #1C2834;--main-sidebar-color: #fff;--main-text-color: #fff;--main-search-bar: #454545;--main-scrollbar-color: #5f6368;--main-footer-background: #27323a;--main-hyperlinks-color: #00D2FA;--main-search-background: black;--main-inset-bgColor: #242b32;--main-inset-borderColor: #676f7e;--main-code-bg: #10161E;--main-keyword-color: white;--main-tag-color: #00D2FA;--main-section-color: #FF2D64;--main-comment-color: #909CC3;--main-var-color: #55A09B;--main-string-color: #FF2D64;--main-number-filter: invert(100%);--main-icon-color: white;--alert-info-fgColor: #429bff;--alert-tip-fgColor: #25c04b;--alert-important-fgColor: #ad81ff;--alert-warning-fgColor: #cea11f;--alert-error-fgColor: #ff6666}.dark-theme #dark-theme-button{display:none}.dark-theme img[src$="#gh-light-mode-only"]{display:none}#theme-button{appearance:none;border:none;background:none;cursor:pointer;position:absolute;right:30px;display:flex;align-items:center;justify-content:center;padding:4px;color:var(--main-icon-color)}#theme-button:hover{color:var(--main-hyperlinks-color)}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;overflow-x:hidden;font-family:Roboto,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-text-color);background-color:var(--main-bg-color)}main{flex:1;display:flex;flex-direction:row;min-height:0}.gt-separated{list-style:none;padding:0;margin:0}.gt-separated li{display:inline-block}.gt-separated li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");background-position:center;content:" ";margin:0 6px 0 4px;padding:0 3px 0 0}.gt-separated.dark li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>")}.gt-separated li:first-child:before{background-image:none;content:"";margin:0;padding:0}.breadcrumbs{padding:0;margin:8px 0 8px 0;white-space:nowrap;line-height:1}@media screen and (min-width: 840px){nav ol.breadcrumbs{float:left}}@media screen and (max-width: 840px){.breadcrumbs{margin:0 0 24px 0;overflow-x:hidden}}.breadcrumbs .gt-separated .dark .hidden-xs li+li:before{color:var(--main-h-text)}ol.breadcrumbs li a{color:var(--main-hyperlinks-color)}.self-crumb{color:var(--main-h-text)}pre code{white-space:pre;word-wrap:initial;font-size:100%}pre{border:1px solid #ddd;background-color:#eee;font-size:14px}@media(max-width: 840px){pre{margin:16px 0}}code{font-family:"Roboto Mono",Menlo,monospace;color:inherit;padding:.2em .4em;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.hljs-string,.hljs-doctag{color:var(--main-string-color)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:var(--main-var-color)}.hljs-comment,.hljs-quote{color:var(--main-comment-color);font-style:italic}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--main-section-color);font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:var(--main-tag-color);font-weight:normal}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--main-keyword-color);font-weight:bold}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--main-text-color);background:var(--main-code-bg)}.main-content{flex:1;order:2;overflow-y:scroll;padding:10px 20px 0 20px}a{text-decoration:none}button{padding:0}section{margin-bottom:36px}dl{margin:0}header{background-color:var(--main-header-color);box-shadow:0 3px 5px rgba(0,0,0,.1)}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-weight:400;margin-top:1.5em;color:var(--main-text-color)}h1.title{overflow:hidden;text-overflow:ellipsis}h1{font-size:37px;margin-top:0;margin-bottom:.67em}@media(max-width: 840px){h1{font-size:24px}}h2{font-size:28px}h5{font-size:16px}p{margin-bottom:1em;margin-top:0}a{color:var(--main-hyperlinks-color)}a:hover{color:#13b9fd}.fixed{white-space:pre}header a,header p,header li{color:#0175c2}header a:hover{color:#0175c2}header h1 .kind{color:#555}header h1{font-weight:400;margin-bottom:16px}dt{font-weight:normal}dd{color:var(--main-text-color);margin-bottom:1em;margin-left:0}dd.callable,dd.constant,dd.property{margin-bottom:24px}dd p{overflow-x:hidden;text-overflow:ellipsis;margin-bottom:0}table{margin-bottom:1em}table,th,td{border:1px solid #d3d3d3;border-collapse:collapse}th,td{padding:8px}.category{padding:2px 4px;font-size:12px;border-radius:4px;background-color:#999;text-transform:uppercase;color:#fff;opacity:.5}.category a{color:#fff}h1 .category{vertical-align:middle}.category.linked{font-weight:bold;opacity:1}.category.cp-0{background-color:#54b7c4}.category.cp-1{background-color:#54c47f}.category.cp-2{background-color:#c4c254}.category.cp-3{background-color:#c49f54}.category.cp-4{background-color:#c45465}.category.cp-5{background-color:#c454c4}.feature{display:inline-block;background:var(--main-bg-color);border:1px solid var(--main-hyperlinks-color);border-radius:20px;color:var(--main-hyperlinks-color);font-size:12px;padding:1px 6px;margin:0 8px 0 0}h1 .feature{vertical-align:middle;margin:0 -2px 0 0}a.feature:hover{border-color:#13b9fd}.markdown.desc{margin-bottom:1em;max-width:700px}.markdown h1{font-size:24px;margin-bottom:8px}.markdown h2{font-size:20px;margin-top:24px;margin-bottom:8px}.markdown h3{font-size:18px;margin-bottom:8px;color:var(--main-text-color)}.markdown h4{font-size:16px;margin-bottom:0}.markdown li p{margin:0}section#setter,div#setter{border-top:1px solid #ddd;padding-top:36px}section.summary dt,div.summary dt{margin-left:24px;text-indent:-24px}li.inherited a{opacity:.65;font-style:italic}dt.constant+dd p{margin-bottom:1em}dl.dl-horizontal dd{margin-left:initial}dl.dl-horizontal dt{font-style:normal;text-align:left;color:#727272;margin-right:20px;width:initial}dl dt.callable .name{float:none;width:auto}dl dt .name{font-weight:500}.main-content.extension-page .from-extension{display:none}sup.muted{color:var(--main-sidebar-color);font-size:.6em}.from-extension>span{color:var(--alert-warning-fgColor);font-style:italic;padding:2px}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.source-link{padding:18px 4px;font-size:18px;vertical-align:middle}@media(max-width: 840px){.source-link{padding:7px 2px;font-size:10px}}#external-links{float:right}@media(max-width: 840px){.hidden-xs{display:none !important}}@media(min-width: 841px){.hidden-l{display:none !important}}li .material-symbols-outlined,dt .material-symbols-outlined{font-size:1em;vertical-align:text-bottom}dt .material-symbols-outlined{text-indent:0}.type-parameter{white-space:nowrap}.parameter-list{display:table-cell;margin-left:10px;list-style-type:none;padding-inline-start:unset}.parameter-list.single-line{display:inline;margin-left:0}.parameter-list.single-line>li{display:inline}.parameter-list.single-line>li>.parameter{display:inline;margin-left:0;text-indent:0}.signature{color:var(--main-text-color)}.signature a{color:var(--main-hyperlinks-color)}.deprecated{text-decoration:line-through}.multi-line-signature{font-size:17px;color:#727272}.multi-line-signature .type-parameter .parameter{margin-left:0;display:unset}.multi-line-signature .parameter{margin-left:60px;display:block;text-indent:-36px}.annotation-list{list-style:none;padding:0;display:inline}.comma-separated{list-style:none;padding:0;display:inline}.comma-separated li{display:inline}.comma-separated li:not(:last-child):after{content:", "}.container>section:first-child{border:0}.constructor-modifier{font-style:italic}section .multi-line-signature div.parameters,div .multi-line-signature div.parameters{margin-left:24px}#instance-methods dt.inherited .name,#instance-properties dt.inherited .name,#operators dt.inherited .name{font-weight:400;font-style:italic}#instance-methods dt.inherited .signature,#instance-properties dt.inherited .signature,#operators dt.inherited .signature{font-weight:400}footer{flex:0 0 16px;text-align:center;padding:16px 20px;color:#fff;background-color:var(--main-footer-background);width:100%}footer p{margin:0}footer .no-break{white-space:nowrap}footer .container{padding-left:0;padding-right:0}footer a,footer a:hover{color:#fff}.markdown-alert{margin-top:1rem;margin-bottom:1rem;padding:.75rem;--alert-title-color: --main-inset-borderColor;background-color:var(--main-inset-bgColor);border-left:solid .25rem var(--alert-title-color)}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert .markdown-alert-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:500;-webkit-font-smoothing:antialiased;color:var(--alert-title-color, inherit)}.markdown-alert .markdown-alert-title::before{font:22px/1 "Material Symbols Outlined";user-select:none}.markdown-alert.markdown-alert-note{--alert-title-color: var(--alert-info-fgColor)}.markdown-alert.markdown-alert-note .markdown-alert-title::before{content:"info"}.markdown-alert.markdown-alert-tip{--alert-title-color: var(--alert-tip-fgColor)}.markdown-alert.markdown-alert-tip .markdown-alert-title::before{content:"lightbulb"}.markdown-alert.markdown-alert-important{--alert-title-color: var(--alert-important-fgColor)}.markdown-alert.markdown-alert-important .markdown-alert-title::before{content:"feedback"}.markdown-alert.markdown-alert-warning{--alert-title-color: var(--alert-warning-fgColor)}.markdown-alert.markdown-alert-warning .markdown-alert-title::before{content:"warning"}.markdown-alert.markdown-alert-caution{--alert-title-color: var(--alert-error-fgColor)}.markdown-alert.markdown-alert-caution .markdown-alert-title::before{content:"report"}header{flex:0 0 50px;display:flex;flex-direction:row;align-items:center;padding-left:30px;padding-right:30px;background-color:var(--main-header-color)}header ol{list-style:none;margin:0;padding:0}header ol li{display:inline}header form{display:flex;flex:1;justify-content:flex-end}header #header-search-sidebar{height:50px;margin-bottom:25px}header .self-name{color:#555;display:none}nav .navbar{background-color:inherit;min-height:50px;border:0}nav .navbar .row{padding-top:8px}nav .container{white-space:nowrap}@media(max-width: 840px){nav .container{width:100%}}@media print{.subnav,.sidebar{display:none}a[href]:after{content:"" !important}}.form-control{border-radius:0;border:0}@media screen and (max-width: 840px){form.search{display:none}}.typeahead{width:200px;padding:2px 7px 1px 7px;line-height:20px;outline:none}.tt-wrapper{position:relative;display:inline-block}.tt-input{position:relative;vertical-align:top}.navbar-right .tt-menu{right:0;left:inherit !important;width:540px;max-height:280px;overflow-y:scroll}.navbar-right{padding-right:60px}.tt-menu{position:absolute;top:100%;left:0;z-index:100;font-size:14px;margin:0;background-color:var(--main-bg-color);border:1px solid var(--main-header-color);box-shadow:0 5px 10px rgba(0,0,0,.2)}.typeahead{padding:17px 17px 17px 50px;width:422px;height:20px;font-size:13px;background-image:url("./search.svg");background-repeat:no-repeat;background-position:4%;outline:0;background-size:20px;filter:var(--main-number-filter)}.search-summary{margin-bottom:10px}a.tt-container{font-size:16px;color:var(--main-hyperlinks-color)}.enter-search-message{position:sticky;top:0;background-color:#aaa;padding:0;font-size:14px;margin:0;clear:both;text-align:center;color:#000}.tt-suggestion:hover{cursor:pointer;color:#fff;background-color:#0097cf}.tt-suggestion:hover .search-from-lib{color:#ddd}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion.tt-cursor .search-from-lib{color:#ddd}.tt-suggestion p{margin:0}.tt-container{font-size:14px;margin-bottom:0;margin-top:15px}.tt-container-text{color:var(--main-text-color)}.tt-search-results .tt-container{margin-top:5px;margin-bottom:5px}.tt-search-results .tt-container-text{display:none}.tt-search-results .tt-suggestion{color:var(--main-text-color);margin-top:5px;overflow:hidden;padding-left:10px;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.tt-search-results .tt-suggestion-title{font-size:14px;padding-right:5px}.tt-search-results .tt-suggestion-container{color:var(--main-keyword-color);font-size:14px;font-style:italic;padding-right:5px}.tt-search-results .one-line-description{color:var(--main-keyword-color);display:inline;margin-left:0}.tt-search-results .one-line-description::before{content:open-quote}.tt-search-results .one-line-description::after{content:close-quote}#dartdoc-main-content .tt-suggestion{color:var(--main-text-color);margin-top:5px;margin-bottom:10px;border-style:solid;border-color:#d3d3d3;border-width:.5px}#dartdoc-main-content .tt-suggestion-title{display:block;font-weight:500;margin:4px 10px 0}#dartdoc-main-content .one-line-description{display:block;margin:2px 10px 3px}#dartdoc-main-content .tt-suggestion-container{display:none}@media screen and (max-width: 840px){.typeahead{padding:17px 17px 17px 33px;width:240px;height:17px;border:1px solid #f5f5f5;background-position:3%;margin:10px 10px 10px 9px}header{padding-left:0}}::placeholder{filter:brightness(0.85)}.search-body{border:1px solid #7f7f7f;max-width:400px;box-shadow:3px 3px 5px rgba(0,0,0,.1)}.sidebar h5,.sidebar ol li{text-overflow:ellipsis;overflow:hidden;padding:3px 0 3px 3px}.sidebar ol{list-style:none;line-height:22px;margin-top:0;margin-bottom:0;padding:0 0 15px 0}.sidebar ol li.section-title{font-size:18px;font-weight:normal;text-transform:uppercase;padding-top:25px}.sidebar ol li.section-subtitle{font-weight:400;text-transform:uppercase}.sidebar ol li.section-subtitle a{color:inherit}.sidebar ol li.section-subitem{margin-left:12px}.sidebar ol li:first-child{padding-top:3px;margin-top:0}.sidebar h5{color:var(--main-sidebar-color);font-size:18px;margin:0 0 22px 0;padding-top:0}.sidebar h5 a,.sidebar h5 a:hover{color:var(--main-sidebar-color)}#sidenav-left-toggle{display:none;vertical-align:text-bottom;padding:0;color:var(--main-icon-color);user-select:none;cursor:pointer}#sidenav-left-toggle:hover{color:var(--main-hyperlinks-color)}@media screen and (max-width: 320px){#sidenav-left-toggle{margin-right:10px;margin-left:20px}}#overlay-under-drawer{display:none;opacity:.4;height:100%;z-index:1999;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000}.sidebar-offcanvas-left{flex:0 1 230px;order:1;overflow-y:scroll;padding:20px 0 15px 30px;margin:5px 20px 0 0}.sidebar-offcanvas-left h5{margin-bottom:10px}.sidebar-offcanvas-left h5:last-of-type{border:0;margin-bottom:25px}.sidebar-offcanvas-right{flex:0 1 12em;order:3;overflow-y:scroll;padding:20px 15px 15px 15px;margin-top:5px;margin-right:20px}@media screen and (max-width: 992px){.sidebar-offcanvas-right{display:none}}@media screen and (max-width: 840px){#sidenav-left-toggle{display:inline;width:24px;height:24px;border:none;margin-right:24px;margin-left:24px;font-size:24px}#overlay-under-drawer.active{display:block}.sidebar-offcanvas-left{left:-100%;position:fixed;transition:all .25s ease-out;z-index:2000;top:0;width:280px;max-width:calc(100% - 20px);height:90%;background-color:var(--main-bg-color);overflow-y:scroll;padding:10px;margin:10px 10px;box-shadow:5px 5px 5px 5px #444}.sidebar-offcanvas-left.active{left:0}ol#sidebar-nav{font-size:18px;white-space:pre-line}header .self-name{display:inline-block;color:var(--main-hyperlinks-color)}}::-webkit-scrollbar-button{display:none;height:13px;border-radius:0;background-color:#aaa}::-webkit-scrollbar-button:hover{background-color:#aaa}::-webkit-scrollbar-thumb{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar{width:8px}
diff --git a/pubspec.yaml b/pubspec.yaml
index 658a28bb1c..c951c220f7 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -27,7 +27,7 @@ dev_dependencies:
   dart_style: ^3.0.0
   lints: ^5.0.0
   matcher: ^0.12.15
-  sass: ^1.85.0
+  sass: ^1.85.1
   test: ^1.24.2
   test_descriptor: ^2.0.1
   test_process: ^2.0.3
diff --git a/web/sig.txt b/web/sig.txt
index 7b540a8d35..57523a4571 100644
--- a/web/sig.txt
+++ b/web/sig.txt
@@ -1 +1 @@
-FBB2C1241F0FD138D012004E4AA98F0E
+B33E364DD554BA379AE780C5C4237B34
diff --git a/web/styles/_breadcrumbs.scss b/web/styles/_breadcrumbs.scss
index 69a3946af9..6d1508f170 100644
--- a/web/styles/_breadcrumbs.scss
+++ b/web/styles/_breadcrumbs.scss
@@ -62,8 +62,3 @@ ol.breadcrumbs li a {
 .self-crumb {
   color: var(--main-h-text);
 }
-
-.self-name {
-  color: #555;
-  display: none;
-}
diff --git a/web/styles/_content.scss b/web/styles/_content.scss
index 8e21134f45..fd083efce3 100644
--- a/web/styles/_content.scss
+++ b/web/styles/_content.scss
@@ -13,6 +13,10 @@ a {
   text-decoration: none;
 }
 
+button {
+  padding: 0;
+}
+
 section {
   /* Note that the generated HTML for pub packages may have `section` tags
      transformed into `div` tags. */
diff --git a/web/styles/_header.scss b/web/styles/_header.scss
index a89968b0ef..f2b485c0d9 100644
--- a/web/styles/_header.scss
+++ b/web/styles/_header.scss
@@ -31,4 +31,9 @@ header {
     height: 50px;
     margin-bottom: 25px;
   }
+
+  .self-name {
+    color: #555;
+    display: none;
+  }
 }
diff --git a/web/styles/_sidebar.scss b/web/styles/_sidebar.scss
index 56e256546a..6fd03da6d6 100644
--- a/web/styles/_sidebar.scss
+++ b/web/styles/_sidebar.scss
@@ -2,73 +2,121 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-.sidebar ol {
-  list-style: none;
-  line-height: 22px;
-  margin-top: 0;
-  margin-bottom: 0;
-  padding: 0 0 15px 0;
-}
+.sidebar {
+  h5, ol li {
+    text-overflow: ellipsis;
+    overflow: hidden;
+    padding: 3px 0 3px 3px;
+  }
 
-.sidebar h5 a,
-.sidebar h5 a:hover {
-  color: var(--main-sidebar-color);
-}
+  ol {
+    list-style: none;
+    line-height: 22px;
+    margin-top: 0;
+    margin-bottom: 0;
+    padding: 0 0 15px 0;
+
+    li {
+      &.section-title {
+        font-size: 18px;
+        font-weight: normal;
+        text-transform: uppercase;
+        padding-top: 25px;
+      }
+
+      &.section-subtitle {
+        font-weight: 400;
+        text-transform: uppercase;
+
+        a {
+          color: inherit;
+        }
+      }
+
+      &.section-subitem {
+        margin-left: 12px;
+      }
+
+      &:first-child {
+        padding-top: 3px;
+        margin-top: 0;
+      }
+    }
+  }
 
-.sidebar h5,
-.sidebar ol li {
-  text-overflow: ellipsis;
-  overflow: hidden;
-  padding: 3px 0 3px 3px;
-}
+  h5 {
+    color: var(--main-sidebar-color);
+    font-size: 18px;
+    margin: 0 0 22px 0;
+    padding-top: 0;
 
-.sidebar h5 {
-  color: var(--main-sidebar-color);
-  font-size: 18px;
-  margin: 0 0 22px 0;
-  padding-top: 0;
+    a, a:hover {
+      color: var(--main-sidebar-color);
+    }
+  }
 }
 
-.sidebar ol li.section-title {
-  font-size: 18px;
-  font-weight: normal;
-  text-transform: uppercase;
-  padding-top: 25px;
-}
+#sidenav-left-toggle {
+  display: none;
+  vertical-align: text-bottom;
+  padding: 0;
+  color: var(--main-icon-color);
+  user-select: none;
+  cursor: pointer;
 
-.sidebar ol li.section-subtitle a {
-  color: inherit;
-}
+  &:hover {
+    color: var(--main-hyperlinks-color);
+  }
 
-.sidebar ol li.section-subtitle {
-  font-weight: 400;
-  text-transform: uppercase;
+  @media screen and (max-width: 320px) {
+    margin-right: 10px;
+    margin-left: 20px;
+  }
 }
 
-.sidebar ol li.section-subitem {
-  margin-left: 12px;
-}
+#overlay-under-drawer {
+  display: none;
 
-.sidebar ol li:first-child {
-  padding-top: 3px;
-  margin-top: 0;
+  opacity: 0.4;
+  height: 100%;
+  z-index: 1999;
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: black;
 }
 
-button {
-  padding: 0;
-}
+.sidebar-offcanvas-left {
+  flex: 0 1 230px;
+  order: 1;
+  overflow-y: scroll;
+  padding: 20px 0 15px 30px;
+  margin: 5px 20px 0 0;
 
-#sidenav-left-toggle {
-  display: none;
-  vertical-align: text-bottom;
-  padding: 0;
-  color: var(--main-icon-color);
-  user-select: none;
-  cursor: pointer;
+  h5 {
+    margin-bottom: 10px;
+
+    &:last-of-type {
+      border: 0;
+      margin-bottom: 25px;
+    }
+  }
 }
 
-#sidenav-left-toggle:hover {
-  color: var(--main-hyperlinks-color);
+.sidebar-offcanvas-right {
+  flex: 0 1 12em;
+  order: 3;
+  overflow-y: scroll;
+  padding: 20px 15px 15px 15px;
+  margin-top: 5px;
+  margin-right: 20px;
+
+  // The right nav should disappear out of view when the window shrinks.
+  @media screen and (max-width: 992px) {
+    display: none;
+  }
 }
 
 /* left-nav disappears, and can transition in from the left */
@@ -84,15 +132,6 @@ button {
   }
 
   #overlay-under-drawer.active {
-    opacity: 0.4;
-    height: 100%;
-    z-index: 1999;
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    background-color: black;
     display: block;
   }
 
@@ -103,12 +142,19 @@ button {
     z-index: 2000;
     top: 0;
     width: 280px; /* works all the way down to an iphone 4 */
+    // Set a max width for narrow layouts that accounts for margin.
+    max-width: calc(100% - 20px);
     height: 90%;
     background-color: var(--main-bg-color);
     overflow-y: scroll; /* TODO: how to hide scroll bars? */
     padding: 10px;
     margin: 10px 10px;
     box-shadow: 5px 5px 5px 5px #444444;
+
+    &.active {
+      // Enable animating the drawer into the page view.
+      left: 0;
+    }
   }
 
   ol#sidebar-nav {
@@ -116,64 +162,12 @@ button {
     white-space: pre-line;
   }
 
-  .sidebar-offcanvas-left.active {
-    left: 0; /* this animates our drawer into the page */
-  }
-
-  .self-name {
+  header .self-name {
     display: inline-block;
     color: var(--main-hyperlinks-color);
   }
 }
 
-.sidebar-offcanvas-left h5 {
-  margin-bottom: 10px;
-}
-
-.sidebar-offcanvas-left h5:last-of-type {
-  border: 0;
-  margin-bottom: 25px;
-}
-
-/* the right nav disappears out of view when the window shrinks */
-@media screen and (max-width: 992px) {
-  .sidebar-offcanvas-right {
-    display: none;
-  }
-}
-
-#overlay-under-drawer {
-  display: none;
-}
-
-@media screen and (max-width: 320px) {
-  #sidenav-left-toggle {
-    margin-right: 10px;
-    margin-left: 20px;
-  }
-
-  .self-name {
-    margin-right: 10px;
-  }
-}
-
-.sidebar-offcanvas-left {
-  flex: 0 1 230px;
-  order: 1;
-  overflow-y: scroll;
-  padding: 20px 0 15px 30px;
-  margin: 5px 20px 0 0;
-}
-
-.sidebar-offcanvas-right {
-  flex: 0 1 12em;
-  order: 3;
-  overflow-y: scroll;
-  padding: 20px 15px 15px 15px;
-  margin-top: 5px;
-  margin-right: 20px;
-}
-
 ::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0; background-color: #AAA; }
 ::-webkit-scrollbar-button:hover{ background-color: #AAA; }
 ::-webkit-scrollbar-thumb{ background-color: var(--main-scrollbar-color); }