:root{--monospace: Menlo, Consolas, monospace;--monospace-font: 14px/1.5 var(--monospace);--serif: "Source Serif 4", "Iowan Old Style", "Apple Garamond", "Palatino Linotype", "Times New Roman", "Droid Serif", Times, serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--sans-serif: -apple-system, BlinkMacSystemFont, "avenir next", avenir, helvetica, "helvetica neue", ubuntu, roboto, noto, "segoe ui", arial, sans-serif;--theme-blue: #4269d0;--theme-green: #3ca951;--theme-red: #ff725c;--theme-yellow: #efb118}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--theme-background);color:var(--theme-foreground)}body{font:17px/1.5 var(--serif);margin:0}a[href]{color:var(--theme-foreground-focus)}h1,h2,h3,h4,h5,h6{color:var(--theme-foreground-alt);font-weight:700;line-height:1.15;margin-top:0;margin-bottom:.25rem;text-wrap:balance}h2+p,h3+p,h4+p,h2+table,h3+table,h4+table{margin-top:0}h1+h2{color:var(--theme-foreground);font-size:20px;font-style:italic;font-weight:400;margin-bottom:1rem}a[href]{text-decoration:none}a[href]:hover,a[href]:focus{text-decoration:underline}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{font-size:90%}pre{line-height:1.5}pre,code,tt{font-family:var(--monospace);font-size:14px}img{max-width:100%}p,table,figure,figcaption,h1,h2,h3,h4,h5,h6,.katex-display{max-width:640px}blockquote,ol,ul{max-width:600px}blockquote{margin:1rem 1.5rem}ul ol{padding-left:28px}hr{height:1px;margin:1rem 0;padding:1rem 0;border:none;background:no-repeat center/100% 1px linear-gradient(to right,var(--theme-foreground-faintest),var(--theme-foreground-faintest))}pre{background-color:var(--theme-background-alt);border-radius:4px;margin:1rem -1rem;max-width:960px;min-height:1.5em;padding:.5rem 1rem;overflow-x:auto;box-sizing:border-box}input:not([type]),input[type=email],input[type=number],input[type=password],input[type=range],input[type=search],input[type=tel],input[type=text],input[type=url]{width:240px}input,canvas,button{vertical-align:middle}button,input,textarea{accent-color:var(--theme-blue)}table{width:100%;border-collapse:collapse;font:13px/1.2 var(--sans-serif)}table pre,table code,table tt{font-size:inherit;line-height:inherit}th>pre:only-child,td>pre:only-child{margin:0;padding:0}th{color:var(--theme-foreground);text-align:left;vertical-align:bottom}td{color:var(--theme-foreground-alt);vertical-align:top}th,td{padding:3px 6.5px 3px 0}th:last-child,td:last-child{padding-right:0}tr:not(:last-child){border-bottom:solid 1px var(--theme-foreground-faintest)}thead tr{border-bottom:solid 1px var(--theme-foreground-fainter)}figure,table{margin:1rem 0}figure img{max-width:100%}figure>h2,figure>h3{font-family:var(--sans-serif)}figure>h2{font-size:20px}figure>h3{font-size:16px;font-weight:400}figcaption{font:small var(--sans-serif);color:var(--theme-foreground-muted)}a[href].observablehq-header-anchor{color:inherit}:root{--font-big: 700 32px/1 var(--sans-serif);--font-small: 14px var(--sans-serif)}.big{font:var(--font-big)}.small{font:var(--font-small)}.red{color:var(--theme-red)}.yellow{color:var(--theme-yellow)}.green{color:var(--theme-green)}.blue{color:var(--theme-blue)}.muted{color:var(--theme-foreground-muted)}.observablehq--draft>h1:first-of-type:after{content:" [DRAFT]";color:var(--theme-foreground-muted)}:root{--theme-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M5 7L8.125 9.5L11.25 7' stroke='black' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");--theme-toggle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m10.5,11 2.5-3-2.5-3 M6,8h7' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='2' y='2' fill='currentColor' height='12' rx='0.5' width='2'/%3E%3C/svg%3E");--theme-magnifier: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath stroke='currentColor' stroke-width='2' fill='none' d='M15,15L10.5,10.5a3,3 0 1,0 -6 -6a3,3 0 1,0 6 6'%3E%3C/path%3E%3C/svg%3E");--observablehq-max-width: 1440px;--observablehq-header-height: 2.2rem;scroll-padding-top:2.5rem}:root:has(#observablehq-header){scroll-padding-top:calc(var(--observablehq-header-height) + 2.5rem)}body{max-width:var(--observablehq-max-width);margin:auto}#observablehq-main,#observablehq-header,#observablehq-footer{margin:1rem auto}#observablehq-header{position:fixed;top:0;left:calc(max(0rem,(100vw - var(--observablehq-max-width)) / 2) + var(--observablehq-inset-left) + 2rem);right:calc(max(0rem,(100vw - var(--observablehq-max-width)) / 2) + var(--observablehq-inset-right) + 2rem);z-index:2;display:flex;align-items:center;gap:.5rem;height:var(--observablehq-header-height);margin:0 -2rem 2rem;padding:1rem 2rem .5rem;background:var(--theme-background);border-bottom:solid 1px var(--theme-foreground-faintest);font:500 16px var(--sans-serif)}#observablehq-main{min-height:calc(100vh - 20rem);position:relative;z-index:0}#observablehq-header~#observablehq-main{margin-top:calc(var(--observablehq-header-height) + 1.5rem + 2rem)}#observablehq-footer{display:block;margin-top:10rem;font:12px var(--sans-serif);color:var(--theme-foreground-faint)}#observablehq-footer nav{display:grid;max-width:640px;grid-template-columns:1fr 1fr;column-gap:1rem;margin-bottom:1rem}#observablehq-footer nav a{display:flex;flex-direction:column;border:1px solid var(--theme-foreground-fainter);border-radius:8px;padding:1rem;line-height:1rem;text-decoration:none}#observablehq-footer nav a span{font-size:14px}#observablehq-footer nav a:hover span{text-decoration:underline}#observablehq-footer nav a:hover{border-color:var(--theme-foreground-focus)}#observablehq-footer nav a[rel=prev]{grid-column:1;align-items:start}#observablehq-footer nav a[rel=next]{grid-column:2;align-items:end}#observablehq-footer nav a:before{color:var(--theme-foreground-faint)}#observablehq-footer nav a[rel=prev]:before{content:"Previous page"}#observablehq-footer nav a[rel=next]:before{content:"Next page"}#observablehq-center{margin:2rem;--observablehq-inset-left: 0rem;--observablehq-inset-right: 0rem}#observablehq-sidebar{--observablehq-sidebar-padding-left: max(0rem, (100vw - var(--observablehq-max-width)) / 2) ;position:fixed;background:var(--theme-background-alt);color:var(--theme-foreground-muted);font:14px var(--sans-serif);visibility:hidden;font-weight:500;width:calc(272px + var(--observablehq-sidebar-padding-left));z-index:3;top:0;bottom:0;left:-272px;box-sizing:border-box;padding:0 .5rem 1rem calc(var(--observablehq-sidebar-padding-left) + .5rem);overflow-y:auto}#observablehq-sidebar ol,#observablehq-toc ol{list-style:none;margin:0;padding:0}#observablehq-sidebar>ol,#observablehq-sidebar>details,#observablehq-sidebar>section{position:relative;padding-bottom:.5rem;margin:.5rem 0;border-bottom:solid 1px var(--theme-foreground-faintest)}#observablehq-sidebar>ol:first-child{position:sticky;top:0;z-index:1;font-size:16px;font-weight:700;padding-top:1rem;margin:0;color:var(--theme-foreground)}#observablehq-sidebar>ol:first-child:before{content:"";position:absolute;inset:0 -.5rem;background:var(--theme-background-alt)}#observablehq-sidebar>ol:first-child>li{position:relative}#observablehq-sidebar>ol:first-child>li>a{height:calc(var(--observablehq-header-height) - 1rem)}#observablehq-sidebar>ol:last-child,#observablehq-sidebar>details:last-child,#observablehq-sidebar>section:last-child{border-bottom:none}#observablehq-sidebar summary{font-weight:700;color:var(--theme-foreground);cursor:default}#observablehq-sidebar summary::-webkit-details-marker,#observablehq-sidebar summary::marker{display:none}#observablehq-sidebar details summary:after{position:absolute;right:0;width:1rem;height:1rem;background:var(--theme-foreground-muted);content:"";-webkit-mask:var(--theme-caret);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask:var(--theme-caret);mask-repeat:no-repeat;mask-position:center;padding:.5rem;transition:transform .25s ease;transform:rotate(-90deg);transform-origin:50% 50%}#observablehq-sidebar details summary:hover:after{color:var(--theme-foreground)}#observablehq-sidebar details[open] summary:after{transform:rotate(0)}#observablehq-sidebar-toggle{position:fixed;appearance:none;background:none;top:0;left:0;height:100%;width:2rem;display:flex;align-items:center;justify-content:center;cursor:e-resize;margin:0;color:var(--theme-foreground-muted);z-index:1}#observablehq-sidebar-close{position:absolute;top:1rem;right:0;width:2rem;height:var(--observablehq-header-height);display:flex;align-items:center;justify-content:center;color:var(--theme-foreground-muted);cursor:w-resize;z-index:2}#observablehq-sidebar-toggle:before,#observablehq-sidebar-close:before{content:"";width:1rem;height:1rem;background:currentColor;-webkit-mask:var(--theme-toggle);mask:var(--theme-toggle)}#observablehq-sidebar-close:before{transform:scaleX(-1)}#observablehq-sidebar summary,.observablehq-link a{display:flex;padding:.5rem 1rem .5rem 1.5rem;margin-left:-.5rem;align-items:center}#observablehq-sidebar summary a{flex-grow:1;color:inherit}#observablehq-sidebar summary.observablehq-link{padding:0;margin-left:0}#observablehq-sidebar details summary:hover,.observablehq-link-active a,.observablehq-link a:hover{background:var(--theme-background)}.observablehq-link a:hover{color:var(--theme-foreground-focus)}#observablehq-toc{display:none;position:fixed;color:var(--theme-foreground-muted);font:400 14px var(--sans-serif);z-index:1;top:0;right:calc(max(0rem,(100% - var(--observablehq-max-width)) / 2) + 1rem);bottom:0;overflow-y:auto}#observablehq-header~#observablehq-toc{top:calc(var(--observablehq-header-height) + 1.5rem)}#observablehq-toc nav{width:192px;margin:2rem 0;padding:0 1rem;box-sizing:border-box;border-left:solid 1px var(--theme-foreground-faintest)}#observablehq-toc div{font-weight:700;color:var(--theme-foreground);margin-bottom:.5rem}.observablehq-secondary-link a{display:block;padding:.25rem 0}.observablehq-link:not(.observablehq-link-active) a[href]:not(:hover),.observablehq-secondary-link:not(.observablehq-secondary-link-active) a[href]:not(:hover){color:inherit}.observablehq-link-active,.observablehq-secondary-link-active{position:relative}.observablehq-link-active:before,.observablehq-secondary-link-highlight{content:"";position:absolute;width:3px;background:var(--theme-foreground-focus)}.observablehq-link-active:before{top:0;bottom:0;left:-.5rem}.observablehq-secondary-link-highlight{left:1px;top:2rem;height:0;transition:top .15s ease,height .15s ease}#observablehq-sidebar{transition:visibility .15s 0ms,left .15s 0ms ease}#observablehq-sidebar:focus-within,#observablehq-sidebar-toggle:checked~#observablehq-sidebar{left:0;visibility:initial;box-shadow:0 0 8px 4px #0000001a;transition:visibility 0ms 0ms,left .15s 0ms ease}#observablehq-sidebar-backdrop{display:none;position:fixed;inset:0;z-index:2}#observablehq-sidebar-backdrop:has(~#observablehq-sidebar:focus-within),#observablehq-sidebar-toggle:checked~#observablehq-sidebar-backdrop{display:initial}@media(prefers-color-scheme:dark){#observablehq-sidebar:focus-within,#observablehq-sidebar-toggle:checked~#observablehq-sidebar{box-shadow:0 0 8px 4px #00000080}}@media (min-width: calc(912px + 6rem)){#observablehq-sidebar{transition:none!important}#observablehq-sidebar-toggle:checked~#observablehq-sidebar-backdrop{display:none}#observablehq-sidebar-toggle:checked~#observablehq-sidebar,#observablehq-sidebar-toggle:indeterminate~#observablehq-sidebar{left:0;visibility:initial;box-shadow:none}#observablehq-sidebar-toggle:checked~#observablehq-center,#observablehq-sidebar-toggle:indeterminate~#observablehq-center{--observablehq-inset-left: calc(272px + 1rem) ;--observablehq-inset-right: 1rem;padding-left:var(--observablehq-inset-left);padding-right:1rem}}@media (min-width: calc(832px + 5rem)){#observablehq-toc~#observablehq-main{padding-right:calc(192px + 1rem)}#observablehq-toc{display:block}}@media (min-width: calc(912px + 6rem)){#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc{display:none}#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc~#observablehq-main,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc~#observablehq-main{padding-right:0}}@media (min-width: calc(1104px + 7rem)){#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc,#observablehq-toc{display:block}#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc~#observablehq-main,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc~#observablehq-main{padding-right:calc(192px + 1rem)}}.observablehq-pre-container{position:relative;margin:1rem -1rem;max-width:960px}.observablehq-pre-container:after{position:absolute;top:0;right:0;height:21px;font:12px var(--sans-serif);color:var(--theme-foreground-muted);background:linear-gradient(to right,transparent,var(--theme-background-alt) 40%);padding:.5rem .5rem .5rem 1.5rem}.observablehq-pre-container[data-language]:after{content:attr(data-language)}.observablehq-pre-container pre{padding-right:4rem;margin:0;max-width:none}.observablehq-pre-copy{position:absolute;top:0;right:0;background:none;color:transparent;border:none;border-radius:4px;padding:0 8px;margin:4px;height:29px;cursor:pointer;z-index:1;display:flex;align-items:center}.observablehq-pre-copied:before{content:"Copied!";position:absolute;right:calc(100% + .25rem);background:linear-gradient(to right,transparent,var(--theme-background-alt) 10%);color:var(--theme-green);font:var(--font-small);padding:4px 8px 4px 16px;pointer-events:none;animation-name:observablehq-pre-copied;animation-duration:.25s;animation-direction:alternate;animation-iteration-count:2}@keyframes observablehq-pre-copied{0%{opacity:0;transform:translate(.5rem)}50%{opacity:1}to{transform:translate(0)}}.observablehq-pre-container[data-copy] .observablehq-pre-copy,.observablehq-pre-container:hover .observablehq-pre-copy,.observablehq-pre-container .observablehq-pre-copy:focus{background:var(--theme-background-alt);color:var(--theme-foreground-faint)}.observablehq-pre-container .observablehq-pre-copy:hover{color:var(--theme-foreground-muted)}.observablehq-pre-container .observablehq-pre-copy:active{color:var(--theme-foreground);background:var(--theme-foreground-faintest)}#observablehq-sidebar.observablehq-search-results>ol:not(:first-child),#observablehq-sidebar.observablehq-search-results>details,#observablehq-sidebar.observablehq-search-results>section{display:none}#observablehq-search{position:relative;padding:.5rem 0 0;display:flex;align-items:center}#observablehq-search input{padding:6px 4px 6px 2.2em;width:100%;border:none;border-radius:4px;background-color:var(--theme-background);font-size:13.3px;height:28px}#observablehq-search input::placeholder{color:var(--theme-foreground-faint)}#observablehq-search:before{position:absolute;left:.5rem;content:"";width:1rem;height:1rem;background:currentColor;-webkit-mask:var(--theme-magnifier);mask:var(--theme-magnifier);pointer-events:none}#observablehq-search:after{position:absolute;right:6px;content:attr(data-shortcut);pointer-events:none}#observablehq-search:focus-within:after{content:""}#observablehq-search-results{--relevance-width: 32px;position:absolute;overflow-y:auto;top:6.5rem;left:var(--observablehq-sidebar-padding-left);right:.5rem;bottom:0}#observablehq-search-results a span{max-width:184px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#observablehq-search-results div{text-align:right;font-size:10px;margin:.5em}#observablehq-search-results li{position:relative;display:flex;align-items:center}#observablehq-search-results a{flex-grow:1}#observablehq-search-results li:after,#observablehq-search-results a span:after{content:"";width:var(--relevance-width);height:4px;position:absolute;top:14px;right:.5em;border-radius:2px;background:var(--theme-foreground-muted)}#observablehq-search-results li.observablehq-link-active:after{background:var(--theme-foreground-focus)}#observablehq-search-results a span:after{background:var(--theme-foreground-faintest)}#observablehq-search-results li[data-score="0"]:after{width:calc(var(--relevance-width) * .125)}#observablehq-search-results li[data-score="1"]:after{width:calc(var(--relevance-width) * .25)}#observablehq-search-results li[data-score="2"]:after{width:calc(var(--relevance-width) * .4375)}#observablehq-search-results li[data-score="3"]:after{width:calc(var(--relevance-width) * .625)}#observablehq-search-results li[data-score="4"]:after{width:calc(var(--relevance-width) * .8125)}@media print{#observablehq-center{padding-left:1em!important}#observablehq-sidebar,#observablehq-footer{display:none!important}}#observablehq-main{container-type:inline-size}.grid{margin:1rem 0;display:grid;gap:1rem;grid-auto-rows:1fr}.grid svg{overflow:visible}.grid figure{margin:0}.grid>*>p:first-child{margin-top:0}.grid>*>p:last-child{margin-bottom:0}@container (min-width: 640px){.grid-cols-2,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-2 .grid-colspan-2,.grid-cols-2 .grid-colspan-3,.grid-cols-2 .grid-colspan-4,.grid-cols-4 .grid-colspan-2,.grid-cols-4 .grid-colspan-3,.grid-cols-4 .grid-colspan-4{grid-column:span 2}}@container (min-width: 720px){.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-3 .grid-colspan-2{grid-column:span 2}.grid-cols-3 .grid-colspan-3{grid-column:span 3}}@container (min-width: 1080px){.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-4 .grid-colspan-3{grid-column:span 3}.grid-cols-4 .grid-colspan-4{grid-column:span 4}}.grid-rowspan-2{grid-row:span 2}.grid-rowspan-3{grid-row:span 3}.grid-rowspan-4{grid-row:span 4}.note,.tip,.warning,.caution{border-left:solid 1px;border-radius:0 4px 4px 0;padding:1rem 2rem;margin:1rem 0;box-sizing:border-box;max-width:640px}.note:before,.tip:before,.warning:before,.caution:before{display:block;margin-bottom:1rem;font-weight:700}.note{border-left-color:var(--theme-foreground-fainter);background-color:var(--theme-background-alt)}.note:before{content:"Note";color:var(--theme-foreground-muted)}.tip{border-left-color:var(--theme-green);background-color:color-mix(in srgb,var(--theme-green),var(--theme-background) 90%)}.tip:before{content:"Tip";color:var(--theme-green)}.warning{border-left-color:var(--theme-yellow);background-color:color-mix(in srgb,var(--theme-yellow),var(--theme-background) 90%)}.warning:before{content:"Warning";color:var(--theme-yellow)}.caution{border-left-color:var(--theme-red);background-color:color-mix(in srgb,var(--theme-red),var(--theme-background) 90%)}.caution:before{content:"Caution";color:var(--theme-red)}.note[label]:before,.tip[label]:before,.warning[label]:before,.caution[label]:before{content:attr(label)}.note>:first-child,.tip>:first-child,.warning>:first-child,.caution>:first-child{margin-top:0}.note>:last-child,.tip>:last-child,.warning>:last-child,.caution>:last-child{margin-bottom:0}.card{background:var(--theme-background-alt);border:solid 1px var(--theme-foreground-faintest);border-radius:.75rem;padding:1rem;margin:1rem 0;font:14px var(--sans-serif)}.grid>.card{margin:0}.card>:first-child,.card>:first-child>:first-child{margin-top:0}.card>:last-child,.card>:last-child>:last-child{margin-bottom:0}.card h2,.card h3{font-size:inherit}.card h2{font-weight:500;font-size:15px}.card h3{font-weight:400;color:var(--theme-foreground-muted)}.card h2~svg,.card h3~svg,.card h2~p,.card h3~p{margin-top:1rem}.observablehq--block:empty{margin:0}@keyframes observablehq-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}observablehq-loading{font:var(--monospace-font);color:var(--theme-foreground-muted);display:inline-block;transform-origin:.32em 55%;animation-name:observablehq-loading;animation-timing-function:linear;animation-duration:1s;animation-iteration-count:infinite}observablehq-loading:before{content:"\21bb"}.observablehq--block observablehq-loading{display:block}.observablehq--block{margin:1rem 0}.observablehq--block .observablehq,.observablehq--block .observablehq--inspect{display:block}.observablehq--collapsed,.observablehq--expanded.observablehq--inspect a{cursor:pointer}.observablehq--caret{margin-right:4px;vertical-align:baseline}.observablehq--field{text-indent:-1rem;margin-left:1rem}.observablehq--inspect{font:var(--monospace-font);overflow-x:auto;white-space:pre}.observablehq--inspect.observablehq--import{white-space:normal}.observablehq--inspect::-webkit-scrollbar{display:none}.observablehq--error .observablehq--inspect{word-break:break-all;white-space:pre-wrap}.observablehq--string-expand{margin-left:6px;padding:2px 6px;border-radius:2px;font-size:80%;background:var(--theme-background-alt);cursor:pointer;vertical-align:middle}.observablehq--keyword,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:var(--syntax-keyword)}.observablehq--symbol,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:var(--syntax-entity)}.observablehq--index,.observablehq--key,.hljs-attr,.hljs-attribute,.hljs-meta,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:var(--syntax-constant)}.observablehq--regexp,.observablehq--string,.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:var(--syntax-string)}.observablehq--null,.observablehq--undefined,.hljs-built_in,.hljs-literal,.hljs-symbol{color:var(--syntax-variable)}.observablehq--prototype-key,.observablehq--empty,.hljs-comment,.hljs-formula{color:var(--syntax-comment)}.observablehq--bigint,.observablehq--boolean,.observablehq--date,.observablehq--forbidden,.observablehq--number,.hljs-name,.hljs-number,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:var(--syntax-entity-tag)}.hljs-subst{color:var(--syntax-storage-modifier-import)}.hljs-section{color:var(--syntax-markup-heading);font-weight:700}.hljs-bullet{color:var(--syntax-markup-list)}.hljs-emphasis{color:var(--syntax-markup-italic);font-style:italic}.hljs-strong{color:var(--syntax-markup-bold);font-weight:700}.hljs-addition{color:var(--syntax-markup-inserted);background-color:var(--syntax-markup-inserted-background)}.hljs-deletion{color:var(--syntax-markup-deleted);background-color:var(--syntax-markup-deleted-background)}.observablehq--empty{font-style:oblique}.observablehq--error{color:var(--syntax-keyword)}.plot-d6a7b5{--plot-background: var(--theme-background)}p .plot-d6a7b5{display:inline-block}@media(prefers-color-scheme:light){:root{--syntax-keyword: #d73a49;--syntax-entity: #6f42c1;--syntax-constant: #005cc5;--syntax-string: #032f62;--syntax-variable: #e36209;--syntax-comment: var(--theme-foreground-muted);--syntax-entity-tag: #22863a;--syntax-storage-modifier-import: #24292e;--syntax-markup-heading: #005cc5;--syntax-markup-list: #735c0f;--syntax-markup-italic: #24292e;--syntax-markup-bold: #24292e;--syntax-markup-inserted: #22863a;--syntax-markup-inserted-background: #f0fff4;--syntax-markup-deleted: #b31d28;--syntax-markup-deleted-background: #ffeef0}}@media(prefers-color-scheme:light){:root{--theme-background-b: color-mix(in srgb, var(--theme-foreground) 4%, var(--theme-background-a));--theme-background: var(--theme-background-a);--theme-background-alt: var(--theme-background-b);--theme-foreground-alt: color-mix(in srgb, var(--theme-foreground) 90%, var(--theme-background-a));--theme-foreground-muted: color-mix(in srgb, var(--theme-foreground) 60%, var(--theme-background-a));--theme-foreground-faint: color-mix(in srgb, var(--theme-foreground) 50%, var(--theme-background-a));--theme-foreground-fainter: color-mix(in srgb, var(--theme-foreground) 30%, var(--theme-background-a));--theme-foreground-faintest: color-mix(in srgb, var(--theme-foreground) 14%, var(--theme-background-a));color-scheme:light}}@media(prefers-color-scheme:light){:root{--theme-foreground: #1b1e23;--theme-foreground-focus: #3b5fc0;--theme-background-a: #ffffff}}@media(prefers-color-scheme:dark){:root{--syntax-keyword: #ff7b72;--syntax-entity: #d2a8ff;--syntax-constant: #79c0ff;--syntax-string: #a5d6ff;--syntax-variable: #ffa657;--syntax-comment: var(--theme-foreground-muted);--syntax-entity-tag: #7ee787;--syntax-storage-modifier-import: #c9d1d9;--syntax-markup-heading: #1f6feb;--syntax-markup-list: #f2cc60;--syntax-markup-italic: #c9d1d9;--syntax-markup-bold: #c9d1d9;--syntax-markup-inserted: #aff5b4;--syntax-markup-inserted-background: #033a16;--syntax-markup-deleted: #ffdcd7;--syntax-markup-deleted-background: #67060c}}@media(prefers-color-scheme:dark){:root{--theme-background-a: color-mix(in srgb, var(--theme-foreground) 4%, var(--theme-background-b));--theme-background: var(--theme-background-a);--theme-background-alt: var(--theme-background-b);--theme-foreground-alt: color-mix(in srgb, var(--theme-foreground) 90%, var(--theme-background-b));--theme-foreground-muted: color-mix(in srgb, var(--theme-foreground) 60%, var(--theme-background-b));--theme-foreground-faint: color-mix(in srgb, var(--theme-foreground) 50%, var(--theme-background-b));--theme-foreground-fainter: color-mix(in srgb, var(--theme-foreground) 30%, var(--theme-background-b));--theme-foreground-faintest: color-mix(in srgb, var(--theme-foreground) 14%, var(--theme-background-b));color-scheme:dark}}@media(prefers-color-scheme:dark){:root{--theme-foreground: #dfdfd6;--theme-foreground-focus: oklch(.712564 .257662 265.758);--theme-background-b: #161616}}:root,[data-app-theme]{--app-background: var(--app-theme-background-light);--app-surface: var(--app-theme-surface-light);--app-surface-raised: var(--app-theme-surface-raised-light, var(--app-surface));--app-text: var(--app-theme-text-light);--app-text-muted: var(--app-theme-text-muted-light);--app-border: var(--app-theme-border-light);--app-border-strong: var(--app-theme-border-strong-light, var(--app-border));--app-accent: var(--app-theme-accent-light);--app-accent-soft: var(--app-theme-accent-soft-light);--app-on-accent: var(--app-theme-on-accent-light);--app-success: var(--app-theme-success-light, var(--app-accent));--app-success-soft: var(--app-theme-success-soft-light, var(--app-accent-soft));--app-warning: var(--app-theme-warning-light);--app-warning-soft: var(--app-theme-warning-soft-light);--app-danger: var(--app-theme-danger-light);--app-danger-soft: var(--app-theme-danger-soft-light);--app-info: var(--app-theme-info-light);--app-info-soft: var(--app-theme-info-soft-light);--app-note: var(--app-theme-note-light, var(--app-info));--app-note-soft: var(--app-theme-note-soft-light, var(--app-info-soft));--app-brand: var(--app-theme-brand-light, var(--app-text));--app-shadow: var(--app-theme-shadow-light);--app-shadow-elevated: var(--app-theme-shadow-elevated-light, var(--app-shadow));--app-font-sans: var(--app-theme-font-sans, system-ui, sans-serif);--app-font-mono: var(--app-theme-font-mono, ui-monospace, monospace);--app-radius-small: var(--app-theme-radius-small, 6px);--app-radius-medium: var(--app-theme-radius-medium, 8px);--app-focus-ring: 0 0 0 3px color-mix(in srgb, var(--app-accent) 24%, transparent);color-scheme:var(--app-theme-color-scheme-light, light)}@media(prefers-color-scheme:dark){:root:not([data-app-theme=light]),[data-app-theme=auto]{--app-background: var(--app-theme-background-dark, var(--app-theme-background-light));--app-surface: var(--app-theme-surface-dark, var(--app-theme-surface-light));--app-surface-raised: var(--app-theme-surface-raised-dark, var(--app-theme-surface-raised-light, var(--app-surface)));--app-text: var(--app-theme-text-dark, var(--app-theme-text-light));--app-text-muted: var(--app-theme-text-muted-dark, var(--app-theme-text-muted-light));--app-border: var(--app-theme-border-dark, var(--app-theme-border-light));--app-border-strong: var(--app-theme-border-strong-dark, var(--app-theme-border-strong-light, var(--app-border)));--app-accent: var(--app-theme-accent-dark, var(--app-theme-accent-light));--app-accent-soft: var(--app-theme-accent-soft-dark, var(--app-theme-accent-soft-light));--app-on-accent: var(--app-theme-on-accent-dark, var(--app-theme-on-accent-light));--app-success: var(--app-theme-success-dark, var(--app-theme-success-light, var(--app-accent)));--app-success-soft: var(--app-theme-success-soft-dark, var(--app-theme-success-soft-light, var(--app-accent-soft)));--app-warning: var(--app-theme-warning-dark, var(--app-theme-warning-light));--app-warning-soft: var(--app-theme-warning-soft-dark, var(--app-theme-warning-soft-light));--app-danger: var(--app-theme-danger-dark, var(--app-theme-danger-light));--app-danger-soft: var(--app-theme-danger-soft-dark, var(--app-theme-danger-soft-light));--app-info: var(--app-theme-info-dark, var(--app-theme-info-light));--app-info-soft: var(--app-theme-info-soft-dark, var(--app-theme-info-soft-light));--app-note: var(--app-theme-note-dark, var(--app-theme-note-light, var(--app-info)));--app-note-soft: var(--app-theme-note-soft-dark, var(--app-theme-note-soft-light, var(--app-info-soft)));--app-brand: var(--app-theme-brand-dark, var(--app-theme-brand-light, var(--app-text)));--app-shadow: var(--app-theme-shadow-dark, var(--app-theme-shadow-light));--app-shadow-elevated: var(--app-theme-shadow-elevated-dark, var(--app-theme-shadow-elevated-light, var(--app-shadow)));color-scheme:var(--app-theme-color-scheme-dark, var(--app-theme-color-scheme-light, dark))}}[data-app-theme=dark]{--app-background: var(--app-theme-background-dark, var(--app-theme-background-light));--app-surface: var(--app-theme-surface-dark, var(--app-theme-surface-light));--app-surface-raised: var(--app-theme-surface-raised-dark, var(--app-theme-surface-raised-light, var(--app-surface)));--app-text: var(--app-theme-text-dark, var(--app-theme-text-light));--app-text-muted: var(--app-theme-text-muted-dark, var(--app-theme-text-muted-light));--app-border: var(--app-theme-border-dark, var(--app-theme-border-light));--app-border-strong: var(--app-theme-border-strong-dark, var(--app-theme-border-strong-light, var(--app-border)));--app-accent: var(--app-theme-accent-dark, var(--app-theme-accent-light));--app-accent-soft: var(--app-theme-accent-soft-dark, var(--app-theme-accent-soft-light));--app-on-accent: var(--app-theme-on-accent-dark, var(--app-theme-on-accent-light));--app-success: var(--app-theme-success-dark, var(--app-theme-success-light, var(--app-accent)));--app-success-soft: var(--app-theme-success-soft-dark, var(--app-theme-success-soft-light, var(--app-accent-soft)));--app-warning: var(--app-theme-warning-dark, var(--app-theme-warning-light));--app-warning-soft: var(--app-theme-warning-soft-dark, var(--app-theme-warning-soft-light));--app-danger: var(--app-theme-danger-dark, var(--app-theme-danger-light));--app-danger-soft: var(--app-theme-danger-soft-dark, var(--app-theme-danger-soft-light));--app-info: var(--app-theme-info-dark, var(--app-theme-info-light));--app-info-soft: var(--app-theme-info-soft-dark, var(--app-theme-info-soft-light));--app-note: var(--app-theme-note-dark, var(--app-theme-note-light, var(--app-info)));--app-note-soft: var(--app-theme-note-soft-dark, var(--app-theme-note-soft-light, var(--app-info-soft)));--app-brand: var(--app-theme-brand-dark, var(--app-theme-brand-light, var(--app-text)));--app-shadow: var(--app-theme-shadow-dark, var(--app-theme-shadow-light));--app-shadow-elevated: var(--app-theme-shadow-elevated-dark, var(--app-theme-shadow-elevated-light, var(--app-shadow)));color-scheme:var(--app-theme-color-scheme-dark, var(--app-theme-color-scheme-light, dark))}:root{--app-theme-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--app-theme-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--app-theme-background-light: #f6f3ed;--app-theme-surface-light: #ffffff;--app-theme-surface-raised-light: #f8f6f1;--app-theme-text-light: #1b211d;--app-theme-text-muted-light: #677069;--app-theme-border-light: #ded8ce;--app-theme-border-strong-light: #c8bfb2;--app-theme-accent-light: #165c3a;--app-theme-accent-soft-light: #e3f0e8;--app-theme-warning-light: #875412;--app-theme-warning-soft-light: #fbeddc;--app-theme-danger-light: #b94848;--app-theme-danger-soft-light: #f8e4e1;--app-theme-info-light: #2e7885;--app-theme-info-soft-light: #e0f1f3;--app-theme-note-light: #6d5578;--app-theme-note-soft-light: #eee7f1;--app-theme-brand-light: #2a241f;--app-theme-shadow-light: 0 14px 36px rgba(48, 40, 32, .09);--app-theme-background-dark: #101316;--app-theme-surface-dark: #171b20;--app-theme-surface-raised-dark: #20262d;--app-theme-text-dark: #f2f5f3;--app-theme-text-muted-dark: #aeb8b3;--app-theme-border-dark: #2d353d;--app-theme-border-strong-dark: #43505a;--app-theme-accent-dark: #78c997;--app-theme-accent-soft-dark: #183126;--app-theme-warning-dark: #e5b86f;--app-theme-warning-soft-dark: #352a17;--app-theme-danger-dark: #ee8f8f;--app-theme-danger-soft-dark: #382126;--app-theme-info-dark: #82c7d2;--app-theme-info-soft-dark: #16313a;--app-theme-note-dark: #baa9df;--app-theme-note-soft-dark: #28283c;--app-theme-brand-dark: #0b0e11;--app-theme-shadow-dark: 0 18px 48px rgba(0, 0, 0, .34);--app-theme-on-accent-light: #f3eee6;--app-theme-on-accent-dark: #f3eee6;--app-theme-color-scheme-dark: dark}:root,[data-app-theme]{--bg: var(--app-background);--surface: var(--app-surface);--surface-2: var(--app-surface-raised);--ink: var(--app-text);--muted: var(--app-text-muted);--line: var(--app-border);--line-strong: var(--app-border-strong);--green: var(--app-accent);--green-soft: var(--app-accent-soft);--amber: var(--app-warning);--amber-soft: var(--app-warning-soft);--red: var(--app-danger);--red-soft: var(--app-danger-soft);--teal: var(--app-info);--teal-soft: var(--app-info-soft);--plum: var(--app-note);--plum-soft: var(--app-note-soft);--charcoal: var(--app-brand);--shadow: var(--app-shadow);--font-sans: var(--app-font-sans);--font-mono: var(--app-font-mono);--radius-sm: var(--app-radius-small);--radius-md: var(--app-radius-medium);--focus-ring: var(--app-focus-ring)}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}#observablehq-main:has(.es-platform),#observablehq-main:has(.es-platform) #observablehq-center,#observablehq-main:has(.es-platform) .observablehq{max-width:none!important;width:100%;margin:0!important;padding:0!important}#observablehq-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(14px)}.framework-header{display:flex;flex:1 1 auto;width:100%;min-height:46px;align-items:center;justify-content:flex-start;gap:10px 16px;min-width:0;padding:0 8px;color:var(--ink)}.framework-brand,.framework-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.framework-brand,.framework-header a{color:inherit;font-size:14px;font-weight:700;text-decoration:none}.framework-header nav a{min-height:30px;padding:5px 9px;border-radius:8px;color:var(--muted);line-height:1.2;overflow-wrap:anywhere}.framework-header nav a:hover,.framework-header nav a:focus-visible{background:var(--green-soft);color:var(--green)}.framework-signout{flex:0 0 auto;margin-left:auto;min-height:34px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.framework-signout:hover,.framework-signout:focus-visible{background:var(--green-soft);color:var(--green);outline:none}body:not(:has(.route-app[data-session=authenticated])) .framework-signout{display:none}.framework-home,.framework-footer{color:var(--ink);font-weight:800}#observablehq-sidebar{border-right-color:var(--line);background:var(--surface)}#observablehq-sidebar>ol:first-child{padding:12px 0 10px;border-bottom-color:var(--line)}#observablehq-sidebar>ol:first-child:before{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 82%,var(--charcoal)),var(--surface));border-bottom:1px solid var(--line)}#observablehq-sidebar>ol:first-child>li>a{min-height:42px;margin-left:0;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);box-shadow:0 8px 22px #100c0914}#observablehq-sidebar>ol:first-child>li>a:hover,#observablehq-sidebar>ol:first-child>li>a:focus-visible{background:var(--green-soft);color:var(--green);text-decoration:none}.framework-home{display:inline-flex;align-items:center;gap:10px}.framework-home:before{content:"ES";display:inline-grid;width:28px;height:28px;place-items:center;border-radius:7px;background:var(--charcoal);color:#f3eee6;font-size:11px;font-weight:900;letter-spacing:0}.observablehq-link-active:before,.observablehq-secondary-link-highlight{background:var(--green)!important}#observablehq-sidebar>ol:first-child>li.observablehq-link-active:before{left:-.5rem;border-radius:0 999px 999px 0}body:has(.route-app[data-session=loading]) #observablehq-header,body:has(.route-app[data-session=loading]) #observablehq-sidebar-toggle,body:has(.route-app[data-session=loading]) #observablehq-sidebar-backdrop,body:has(.route-app[data-session=loading]) #observablehq-sidebar,body:has(.route-app[data-session=loading]) #observablehq-toc,body:has(.route-app[data-session=unauthenticated]) #observablehq-header,body:has(.route-app[data-session=unauthenticated]) #observablehq-sidebar-toggle,body:has(.route-app[data-session=unauthenticated]) #observablehq-sidebar-backdrop,body:has(.route-app[data-session=unauthenticated]) #observablehq-sidebar,body:has(.route-app[data-session=unauthenticated]) #observablehq-toc{display:none!important}body:has(.route-app[data-session=loading]) #observablehq-main,body:has(.route-app[data-session=loading]) #observablehq-center,body:has(.route-app[data-session=loading]) .observablehq,body:has(.route-app[data-session=unauthenticated]) #observablehq-main,body:has(.route-app[data-session=unauthenticated]) #observablehq-center,body:has(.route-app[data-session=unauthenticated]) .observablehq{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}body:has(.route-app[data-shell=app]) #observablehq-header,body:has(.route-app[data-shell=app]) #observablehq-sidebar-toggle,body:has(.route-app[data-shell=app]) #observablehq-sidebar-backdrop,body:has(.route-app[data-shell=app]) #observablehq-sidebar,body:has(.route-app[data-shell=app]) #observablehq-toc,body:has(.route-app[data-shell=app]) #observablehq-footer{display:none!important}body:has(.route-app[data-shell=app]) #observablehq-main,body:has(.route-app[data-shell=app]) #observablehq-center,body:has(.route-app[data-shell=app]) .observablehq{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.es-platform{min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#ffffffb3,#f5f2ecf2),var(--bg);color:var(--ink);font-family:var(--font-sans)}.es-platform[data-theme=dark]{color-scheme:dark;background:linear-gradient(180deg,#12161af0,#0c0f12fc),var(--bg)}.es-platform *{box-sizing:border-box;letter-spacing:0;min-width:0}.es-platform :where(h1,h2,h3,h4,p,a,button,label,span,strong,em,li,td,th){max-width:100%}.es-platform :where(h1,h2,h3,h4){overflow-wrap:break-word;word-break:normal}.es-platform :where(p,li,.route-project-card strong,.launcher-card strong,.project-detail-row strong){overflow-wrap:anywhere}.es-platform :where(.primary-action,.secondary-action,.link-action,.auth-action,.route-nav a,.docs-nav a,.settings-nav a,.view-toggle a,.framework-signout){line-height:1.2;white-space:normal}.es-platform h1,.es-platform h2,.es-platform h3,.es-platform strong{color:var(--ink)}.es-platform p{color:inherit}.auth-screen{display:grid;min-height:100vh;place-items:center;padding:28px}.auth-panel{display:grid;gap:22px;width:min(100%,520px);padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.auth-copy{display:grid;gap:10px}.auth-copy h1{margin:0;font-size:44px;line-height:1.08;text-wrap:balance}.auth-copy p{margin:0;color:var(--muted);line-height:1.55}.auth-error{margin:0;padding:12px;border-radius:8px;background:var(--red-soft);color:var(--red);font-weight:700}.auth-action{width:100%}.auth-actions{display:grid;gap:10px}.auth-action:disabled{cursor:wait;opacity:.72}.auth-reset-action{justify-self:center;min-height:30px;white-space:normal}.auth-reset-action:disabled{cursor:wait;opacity:.72}.platform-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;overflow-x:hidden}.empty-workspace{display:grid;gap:18px}.empty-workspace h2,.empty-state-panel h3,.starter-card h3{margin:0}.empty-workspace p,.empty-state-panel p,.starter-card p{margin:0;color:var(--muted);line-height:1.5}.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.starter-card,.empty-state-panel{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.empty-actions{display:flex;flex-wrap:wrap;gap:10px}.access-starter{margin-bottom:16px}.invite-list{display:grid;gap:8px}.invite-list div{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.invite-list span{color:var(--muted);font-size:13px}.platform-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:20px 14px;background:#fbfaf6;border-right:1px solid var(--line)}.es-platform[data-theme=dark] .platform-sidebar{background:#11151a}.brand-lockup{display:flex;align-items:center;gap:12px;padding:6px 8px 12px;border-bottom:1px solid var(--line)}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:var(--charcoal);color:#fffaf1;font-weight:800;font-size:13px}.brand-name{font-weight:800;font-size:16px}.brand-meta,.mini-label,.section-kicker,.eyebrow{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.screen-nav{display:grid;gap:4px}.nav-item,button,select,input,textarea{font:inherit}.nav-item{display:grid;grid-template-columns:12px 1fr;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.nav-item:hover,.nav-item.active{background:#eef3ed;border-color:var(--line)}.es-platform[data-theme=dark] .nav-item:hover,.es-platform[data-theme=dark] .nav-item.active{background:var(--surface-2)}.nav-bullet{width:8px;height:8px;border-radius:999px;background:var(--line-strong)}.nav-item.active .nav-bullet{background:var(--green)}.sidebar-footer{margin-top:auto;display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:13px}.sidebar-footer strong{color:var(--ink)}.platform-main{min-width:0;overflow-x:hidden}.workspace-topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:84px;padding:18px 28px;background:#f5f2eceb;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.es-platform[data-theme=dark] .workspace-topbar{background:color-mix(in srgb,var(--bg) 92%,transparent)}.workspace-topbar h1{margin:4px 0 0;font-size:clamp(24px,3vw,34px);line-height:1.08}.topbar-cluster{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.topbar-metric{display:grid;min-width:106px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#ffffffbf}.es-platform[data-theme=dark] .topbar-metric{background:color-mix(in srgb,var(--surface) 82%,transparent)}.topbar-metric span{color:var(--muted);font-size:12px}.topbar-metric strong{font-size:20px}.context-switchers{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr);gap:8px;min-width:min(100%,380px)}.context-switchers label,.matrix-controls label,.viewer-toolbar label,.search-box{display:grid;gap:4px}.context-switchers span,.matrix-controls label span,.viewer-toolbar label span,.search-box span{color:var(--muted);font-size:12px;font-weight:800}.context-switchers select,.matrix-controls select,.viewer-toolbar select,.search-box input{min-height:36px;width:100%;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);padding:7px 10px}.screen-frame{padding:26px 28px 36px}.kpi-grid,.export-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-card,.workspace-panel,.pipeline-step,.comment-card,.chunk-card,.standard-card{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.kpi-card{display:grid;gap:6px;min-height:108px;padding:16px;box-shadow:var(--shadow)}.kpi-card span,.kpi-card em{color:var(--muted);font-size:13px;font-style:normal}.kpi-card strong{font-size:30px;line-height:1}.pipeline-band{display:grid;grid-template-columns:repeat(6,minmax(132px,1fr));gap:10px;margin-top:16px;overflow-x:auto;padding-bottom:4px}.pipeline-step{position:relative;display:grid;gap:8px;min-height:156px;padding:14px}.step-index{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--teal-soft);color:var(--teal);font-weight:800}.pipeline-step h2,.workspace-panel h2,.comment-card h3,.chunk-card h3,.gap-row h3{margin:0;font-size:18px;line-height:1.2}.pipeline-step p,.gap-row p,.comment-card p,.chunk-card p,.drop-zone p,.finding-summary p{margin:0;color:var(--muted);line-height:1.5}.pipeline-step strong{align-self:end;font-size:13px}.dashboard-grid,.two-column-screen,.architecture-detail-grid,.evidence-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}.workspace-panel{padding:18px;box-shadow:var(--shadow)}.wide-panel{grid-column:1 / -1}.panel-heading,.comment-card-header,.chunk-meta,.page-header,.comment-actions,.export-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading{margin-bottom:14px}.section-kicker{margin:0 0 4px}.primary-action,.secondary-action,.link-action,.citation-button,.matrix-link{min-height:36px;border-radius:8px;border:1px solid transparent;cursor:pointer;white-space:nowrap}.primary-action{padding:8px 14px;background:var(--green);color:#fff;font-weight:800}.es-platform[data-theme=dark] .primary-action{color:#07120d}.primary-action strong,.primary-action span{color:currentColor}.secondary-action{padding:8px 12px;background:#f7f8f5;border-color:var(--line-strong);color:var(--ink);font-weight:700}.es-platform[data-theme=dark] .secondary-action{background:var(--surface-2)}.link-action,.matrix-link{padding:0;background:transparent;color:var(--teal);font-weight:800}.danger-action{color:var(--red)}.primary-action:hover,.secondary-action:hover,.link-action:hover,.citation-button:hover,.matrix-link:hover{filter:brightness(.97)}.primary-action:focus-visible,.secondary-action:focus-visible,.link-action:focus-visible,.citation-button:focus-visible,.matrix-link:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--green) 70%,white);outline-offset:2px}.primary-action:disabled,.secondary-action:disabled,.link-action:disabled,select:disabled{cursor:not-allowed;filter:saturate(.68);opacity:1}.primary-action:disabled{background:color-mix(in srgb,var(--green) 72%,var(--surface-2))}.secondary-action:disabled,select:disabled{color:color-mix(in srgb,var(--muted) 86%,var(--ink))}.link-action:disabled{color:color-mix(in srgb,var(--teal) 84%,var(--muted))}.score-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center}.score-ring{--score: 0;display:grid;width:148px;aspect-ratio:1;place-items:center;border-radius:50%;background:conic-gradient(var(--green) calc(var(--score) * 1%),#e4e8e2 0)}.es-platform[data-theme=dark] .score-ring{background:conic-gradient(var(--green) calc(var(--score) * 1%),var(--surface-2) 0)}.score-ring:before{content:"";position:absolute}.score-ring span{display:grid;width:104px;aspect-ratio:1;place-items:center;border-radius:50%;background:#fff;font-size:34px;font-weight:900}.es-platform[data-theme=dark] .score-ring span{background:var(--surface)}.risk-bars,.query-block,.artifact-list,.gap-list,.chunk-list,.type-strip{display:grid;gap:10px}.risk-row,.confidence-row{display:grid;grid-template-columns:72px minmax(0,1fr) 28px;align-items:center;gap:10px;font-size:13px}.bar-track,.score-meter{overflow:hidden;height:8px;border-radius:999px;background:#e8ede7}.es-platform[data-theme=dark] .bar-track,.es-platform[data-theme=dark] .score-meter{background:var(--surface-2)}.bar-fill,.score-meter span{display:block;height:100%;border-radius:inherit}.bar-fill.high,.risk-badge.high{background:var(--red-soft);color:var(--red)}.bar-fill.medium,.risk-badge.medium{background:var(--amber-soft);color:var(--amber)}.bar-fill.low,.risk-badge.low,.bar-fill.confidence{background:var(--green-soft);color:var(--green)}.bar-fill.partially-addressed,.bar-fill.in-review,.bar-fill.at-risk{background:var(--amber)}.bar-fill.needs-specialist-review{background:var(--plum)}.bar-fill.high{background:var(--red)}.bar-fill.medium{background:var(--amber)}.bar-fill.low,.bar-fill.confidence,.score-meter span{background:var(--green)}.status-pill,.risk-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.status-pill.complete,.status-pill.compliant,.status-pill.ai-review-complete,.status-pill.mapped,.status-pill.active,.status-pill.owner,.status-pill.personal,.status-pill.account-admin,.status-pill.client-org{background:var(--green-soft);color:var(--green)}.status-pill.partially-addressed,.status-pill.in-review,.status-pill.extracting,.status-pill.queued,.status-pill.reviewer,.status-pill.contributor,.status-pill.invited,.status-pill.at-risk{background:var(--amber-soft);color:var(--amber)}.status-pill.insufficient-evidence,.status-pill.not-addressed{background:var(--red-soft);color:var(--red)}.status-pill.needs-specialist-review{background:var(--plum-soft);color:var(--plum)}.status-pill.viewer,.status-pill.assessment-running{background:var(--teal-soft);color:var(--teal)}.table-scroll,.matrix-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{position:sticky;top:0;background:#f1f5ef;color:#435046;font-size:12px;text-transform:uppercase;z-index:1}.es-platform[data-theme=dark] th{background:var(--surface-2);color:var(--muted)}td{font-size:14px}td strong,td span{display:block}td span,td code{margin-top:4px;color:var(--muted);font-size:12px}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.gap-row{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.gap-row:first-child{border-top:0}.requirement-id{display:inline-block;margin-bottom:6px;color:var(--teal);font-size:12px;font-weight:900}.super-admin-command{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr) auto;gap:16px;align-items:start;margin-bottom:16px;padding:18px;border:1px solid color-mix(in srgb,var(--teal) 35%,var(--line));border-radius:8px;background:linear-gradient(135deg,var(--surface),var(--teal-soft));box-shadow:var(--shadow)}.super-admin-command h2,.super-admin-command p,.command-card strong,.command-card span,.inline-empty p,.account-card-note{margin:0}.super-admin-command h2{font-size:22px;line-height:1.15}.super-admin-command p{color:var(--muted);line-height:1.5}.command-grid{display:grid;grid-template-columns:repeat(5,minmax(112px,1fr));gap:8px}.command-card,.account-card,.permission-card,.api-contract,.principle-card,.inline-empty{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.command-card{display:grid;gap:8px;min-width:0;padding:10px}.command-card strong,.api-contract strong,.principle-card strong,.inline-empty strong{font-size:14px}.command-card span,.account-card-note,.api-contract p,.principle-card p,.inline-empty p{color:var(--muted);font-size:13px;line-height:1.45}.dismiss-command{align-self:start;min-width:max-content}.panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.gap-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.project-card-list,.project-grid,.account-grid,.api-contract-grid,.principle-grid,.report-grid,.portfolio-grid,.action-template-list,.role-stack,.stacked-table,.assessment-mini-list{display:grid;gap:12px}.account-grid,.api-contract-grid,.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-card,.permission-card,.api-contract,.principle-card{display:grid;gap:10px;padding:14px}.account-card.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 42%,transparent)}.account-card h3{margin:0;font-size:20px}.account-card p,.permission-card small{color:var(--muted)}.permission-card{grid-template-columns:minmax(0,1fr) auto;align-items:start}.permission-card .tag-row,.permission-card small{grid-column:1 / -1}.permission-ladder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.permission-ladder span{min-height:28px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;font-weight:800}.permission-ladder span.enabled{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:var(--green-soft);color:var(--green)}.team-card{margin-left:calc(var(--team-depth, 0) * 18px)}.api-contract span{color:var(--teal);font-size:12px;font-weight:900}.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.project-card.active,.project-tile.active,.report-card.active{border-color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 45%,transparent)}.project-card span{display:block;margin-top:3px;color:var(--muted);font-size:13px}.project-card-meta{display:flex;align-items:center;gap:10px}.project-grid,.report-grid,.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-tile,.report-card,.portfolio-card,.action-template,.role-card,.assessment-mini{border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.project-tile,.report-card,.portfolio-card,.action-template,.role-card{display:grid;gap:12px;padding:16px}.project-tile h3,.report-card h3,.action-template h3{margin:0;font-size:18px;line-height:1.2}.project-tile p,.report-card p,.portfolio-card p,.role-card p,.action-template p,.empty-state{margin:0;color:var(--muted);line-height:1.45}.project-tile-header,.report-card-header,.report-card-footer,.portfolio-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-metrics,.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-metrics div,.detail-grid div{display:grid;gap:4px;min-height:64px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.project-metrics span,.detail-grid span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.project-metrics strong{font-size:24px}.access-layout{display:grid;grid-template-columns:minmax(260px,.35fr) minmax(0,.65fr);gap:16px}.role-card strong{font-size:16px}.report-card-footer span{color:var(--muted);font-size:13px}.report-detail{display:grid;gap:14px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid div:last-child{grid-column:1 / -1}.detail-grid strong{overflow-wrap:anywhere}.assessment-mini{display:grid;grid-template-columns:170px minmax(0,1fr) 48px;align-items:center;gap:10px;padding:12px}.assessment-mini span,.assessment-mini em{display:block;color:var(--muted);font-size:13px;font-style:normal}.portfolio-card ul{margin:0;padding-left:18px;color:var(--muted)}.portfolio-card li{margin:5px 0}.score-ring.compact{width:108px}.score-ring.compact span{width:76px;font-size:26px}.drop-zone{display:grid;justify-items:center;gap:12px;min-height:318px;padding:28px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-2);text-align:center}.drop-zone h3{margin:0;font-size:22px}.drop-visual{display:grid;width:min(260px,100%);height:132px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#2f7d5c1f,#b56b221f),#fff;border:1px solid var(--line)}.es-platform[data-theme=dark] .drop-visual{background:linear-gradient(135deg,#76c79e24,#e2a25f29),var(--surface)}.doc-stack{position:relative;width:112px;height:82px}.doc-stack span{position:absolute;inset:0;border:1px solid var(--line-strong);border-radius:6px;background:repeating-linear-gradient(180deg,#fff 0 13px,#edf2ec 13px 15px),#fff}.es-platform[data-theme=dark] .doc-stack span{background:repeating-linear-gradient(180deg,var(--surface-2) 0 13px,var(--line-strong) 13px 15px),var(--surface-2)}.doc-stack span:nth-child(1){transform:translate(-18px,10px) rotate(-7deg)}.doc-stack span:nth-child(2){transform:translate(16px,4px) rotate(6deg)}.doc-stack span:nth-child(3){transform:translate(0)}.type-strip{grid-template-columns:repeat(6,1fr);margin-top:12px}.type-strip span,.tag-row span,.query-chips span{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 8px;border-radius:999px;background:#eef3ed;color:#425148;font-size:12px;font-weight:800}.es-platform[data-theme=dark] .type-strip span,.es-platform[data-theme=dark] .tag-row span,.es-platform[data-theme=dark] .query-chips span{background:var(--surface-2);color:var(--muted)}.artifact-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.artifact-row:last-child{border-bottom:0}.artifact-row code{overflow-wrap:anywhere;color:var(--teal)}.viewer-screen{display:grid;gap:16px}.viewer-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px}label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}select,input,textarea{width:100%;min-height:38px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);padding:8px 10px;text-transform:none}.es-platform[data-theme=dark] select,.es-platform[data-theme=dark] input,.es-platform[data-theme=dark] textarea{background:var(--bg)}textarea{min-width:240px;min-height:104px;resize:vertical;line-height:1.45}.query-chips,.tag-row{display:flex;gap:6px;flex-wrap:wrap}.viewer-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:16px}.document-canvas{display:grid;min-height:690px;place-items:start center;padding:26px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(0deg,rgba(0,0,0,.025) 1px,transparent 1px),#ecefe8;background-size:24px 24px}.es-platform[data-theme=dark] .document-canvas{background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px),var(--bg)}.document-page{width:min(100%,720px);min-height:640px;padding:34px;border:1px solid #c7d1c6;border-radius:4px;background:#fff;box-shadow:0 24px 50px #373d342e}.es-platform[data-theme=dark] .document-page{border-color:#46544b;background:#f6f3eb;color:#202820}.es-platform[data-theme=dark] .document-page h2,.es-platform[data-theme=dark] .document-page strong{color:#202820}.page-header{padding-bottom:12px;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px}.document-page h2{margin:28px 0 14px;font-size:24px}.document-page p{color:#313a34;font-size:18px;line-height:1.65}.es-platform[data-theme=dark] .document-page p{color:#313a34}mark{padding:1px 3px;border-radius:4px;background:#ffe6a7;color:#332714}.es-platform[data-theme=dark] mark{background:#ffe18f;color:#332714}.page-table{display:grid;grid-template-columns:160px minmax(0,1fr);margin-top:30px;border:1px solid var(--line)}.page-table div{padding:10px;border-bottom:1px solid var(--line)}.page-table div:nth-child(odd){background:#f3f6f0;color:var(--muted);font-weight:800}.es-platform[data-theme=dark] .page-table div:nth-child(odd){background:#ebe7dc}.chunk-list{max-height:620px;overflow:auto;padding-right:4px}.chunk-card{padding:14px}.chunk-meta{margin-bottom:10px;color:var(--muted);font-size:12px}.chunk-card h3{margin-bottom:8px}.matrix-controls{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.filter-cluster{display:grid;grid-template-columns:190px 140px minmax(220px,320px);gap:10px;align-items:end}.review-matrix{min-width:1180px}.review-matrix th:nth-child(1){width:260px}.review-matrix th:nth-child(2){width:180px}.review-matrix th:nth-child(5){width:190px}.review-matrix th:nth-child(6){width:280px}.review-matrix tr.active-row td{background:#fffaf1}.es-platform[data-theme=dark] .review-matrix tr.active-row td{background:color-mix(in srgb,var(--amber-soft) 62%,var(--surface))}.citation-button{display:block;min-height:30px;margin-bottom:6px;padding:5px 8px;border-color:var(--line-strong);background:#f6f8f5;color:var(--teal);font-size:12px;font-weight:800;text-align:left}.es-platform[data-theme=dark] .citation-button{background:var(--surface-2)}.comment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.comment-card{display:grid;gap:12px;padding:16px}.comment-card blockquote{margin:0;padding:12px;border-left:4px solid var(--green);border-radius:4px;background:var(--green-soft);color:#284536}.es-platform[data-theme=dark] .comment-card blockquote{color:#cfe9da}.evidence-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}.evidence-header select{max-width:420px}.query-block div{display:grid;gap:5px;padding:11px 0;border-bottom:1px solid var(--line)}.query-block div:last-child{border-bottom:0}.query-block span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.finding-summary{margin-top:18px;padding:14px;border-radius:8px}.finding-summary.high{background:var(--red-soft)}.finding-summary.medium{background:var(--amber-soft)}.finding-summary.low{background:var(--green-soft)}.finding-summary span{display:block;font-weight:800}.export-screen{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:16px}.export-package{min-height:360px}.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.export-option{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:10px;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);text-transform:none}.export-option input{width:16px;min-height:16px;accent-color:var(--green)}.export-option strong,.export-option em{display:block}.export-option em{color:var(--muted);font-style:normal;font-weight:600}.export-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:16px}.storage-tree{overflow:auto;max-height:430px;margin:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);font-size:13px;line-height:1.55}.es-platform[data-theme=dark] .storage-tree{background:var(--bg)}.route-app{min-height:100vh;padding-top:56px}.route-app[data-shell=app]{padding-top:0}.route-app[data-shell=docs]{min-height:auto;padding-top:10px;background:transparent}.route-app:has(.route-auth){padding-top:0}.route-app a{color:inherit}.route-app a.primary-action,.route-app button.primary-action{color:#fff}.route-app[data-theme=dark] a.primary-action,.route-app[data-theme=dark] button.primary-action{color:#07120d}.route-app :where(.primary-action,.secondary-action,.link-action){display:inline-flex;align-items:center;justify-content:center;max-width:100%;line-height:1.2;text-align:center;white-space:normal}.app-topbar{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(220px,290px) auto minmax(190px,1fr);gap:12px;align-items:center;min-height:56px;padding:7px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px)}.workspace-switcher{position:relative;min-width:0}.workspace-switcher summary{display:inline-grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:9px;align-items:center;width:min(100%,280px);min-height:42px;padding:5px 7px;border-radius:8px;color:inherit;cursor:pointer;list-style:none}.workspace-switcher summary::-webkit-details-marker{display:none}.workspace-switcher summary:hover,.workspace-switcher[open] summary{background:var(--surface-2)}.workspace-switcher .brand-mark{width:30px;height:30px}.workspace-switcher strong,.workspace-switcher em,.switcher-link strong,.switcher-link em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.workspace-switcher strong,.switcher-link strong{white-space:nowrap}.workspace-switcher em,.switcher-link em{color:var(--muted);font-size:12px;font-style:normal}.workspace-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:grid;gap:2px;width:min(320px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 80px));overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.workspace-switcher-menu p{margin:8px 8px 4px;color:var(--muted);font-size:12px;font-weight:800}.switcher-link,.switcher-create{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;min-height:44px;padding:7px 8px;border-radius:8px;color:inherit;text-decoration:none}.switcher-link:hover,.switcher-link:focus-visible,.switcher-create:hover,.switcher-create:focus-visible{background:var(--green-soft);color:var(--green);outline:none}.switcher-avatar{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:900}.switcher-create{grid-template-columns:18px minmax(0,1fr);margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 8px 8px;color:var(--ink);font-weight:800}.app-brand{display:inline-grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;color:inherit;text-decoration:none}.app-brand strong,.app-brand em{display:block;overflow:hidden;text-overflow:ellipsis}.app-brand strong{white-space:nowrap}.app-brand em{color:var(--muted);font-size:12px;font-style:normal;white-space:nowrap}.app-view-switcher{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(92px,1fr);gap:2px;padding:2px;border-radius:999px;background:transparent}.app-view-switcher a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:999px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.2;text-decoration:none}.app-view-switcher a.active,.app-view-switcher a:hover,.app-view-switcher a:focus-visible{background:var(--green-soft);color:var(--green);outline:none}.app-view-switcher a.muted{color:var(--muted)}.topbar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.icon-button{display:inline-grid;width:36px;height:36px;place-items:center;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer}.icon-button:hover,.icon-button:focus-visible{background:var(--green-soft);color:var(--green);outline:none}.operational-shell{display:block;min-height:calc(100vh - 56px);width:100%;max-width:100vw}.operational-main.route-main{width:100%;max-width:none;margin:0;padding:14px 14px 44px}.route-header{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,320px) max-content;gap:12px 16px;align-items:center;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.workspace-context{display:flex;gap:14px;align-items:center;min-width:0}.route-brand{display:inline-grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;min-width:0;text-decoration:none}.route-brand strong,.route-brand em{display:block;overflow:hidden;text-overflow:ellipsis}.route-brand strong{white-space:nowrap}.route-brand em{color:var(--muted);font-size:12px;font-style:normal}.route-nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.route-nav a,.docs-nav a,.settings-link-list a,.route-tabs a{min-height:34px;padding:7px 10px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:800;text-decoration:none}.route-nav a.active,.docs-nav a.active,.route-tabs a:hover,.settings-link-list a:hover{background:var(--green-soft);color:var(--green)}.route-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;min-width:0}.route-context-summary{display:grid;gap:2px;justify-self:end;min-width:0;text-align:right}.route-context-summary span,.route-context-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-context-summary span{color:var(--muted);font-size:12px;font-weight:800}.route-context-summary strong{color:var(--ink);font-size:13px}.status-pill{min-height:28px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:900}.preview-pill{border-color:color-mix(in srgb,var(--amber) 40%,var(--line));background:var(--amber-soft);color:var(--amber)}.route-main{width:min(1180px,100%);margin:0 auto;padding:16px 16px 48px}.route-header>*,.route-main,.route-hero,.route-title,.route-section,.route-panel,.launcher-card,.route-project-card{min-width:0}.route-auth{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-layout{display:grid;grid-template-columns:minmax(280px,480px) minmax(260px,360px);gap:16px;width:min(100%,880px)}.route-auth .auth-panel{width:100%}.auth-primary-panel{align-content:start}.auth-preview-panel{align-content:center;border-color:color-mix(in srgb,var(--green) 34%,var(--line));background:linear-gradient(145deg,var(--surface),var(--green-soft)),var(--surface)}.auth-preview-panel h2{margin:0;color:var(--ink);font-size:24px;line-height:1.15}.auth-recovery{margin:0;color:var(--muted);font-size:13px;text-align:center}.auth-recovery .link-action{min-height:28px;padding:0 3px;color:var(--muted);font-weight:700;text-decoration:underline;text-underline-offset:3px}.route-hero,.route-title,.compact-setup,.route-section,.route-panel,.launcher-card,.route-project-card,.route-metric,.docs-article,.docs-nav{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.route-hero,.route-title,.compact-setup{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:18px;align-items:center;padding:22px;box-shadow:var(--shadow)}.route-hero>div:first-child,.route-title>div:first-child,.compact-setup>div:first-child{min-width:0}.route-title>.section-kicker,.route-title>h1,.route-title>p{grid-column:1}.route-title>.route-title-actions,.route-title>.scoped-actions,.compact-setup>.compact-setup-actions{grid-column:2;grid-row:1 / span 3;justify-self:end}.route-title>div:first-child+.route-title-actions,.route-title>div:first-child+.scoped-actions{grid-row:1}.project-workbench .route-title{grid-template-columns:minmax(0,1fr)}.team-settings-title{grid-template-columns:minmax(0,1fr);align-items:start}.project-workbench .route-title>.route-title-actions{grid-column:1;grid-row:auto;justify-self:start;max-width:none}.team-settings-title>.scoped-actions{grid-column:1 / -1;grid-row:auto;justify-self:start;max-width:none}.route-hero h1,.route-title h1,.docs-article h1{margin:0;font-size:44px;line-height:1.08;text-wrap:balance}.route-hero p,.route-title p,.compact-setup p,.route-panel p,.launcher-card p,.route-project-card p,.muted-copy,.docs-article p{margin:0;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.route-hero-actions,.route-title-actions,.compact-setup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:360px}.route-title-actions .scoped-actions{display:contents}.scoped-actions,.launcher-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.scoped-actions .primary-action,.scoped-actions .secondary-action,.launcher-actions .secondary-action,.launcher-actions .link-action{width:auto}.route-feedback{margin-bottom:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--green) 38%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,var(--green-soft));color:var(--ink);font-size:13px;font-weight:700}.route-feedback.denied{border-color:color-mix(in srgb,#b45309 45%,var(--line));background:color-mix(in srgb,var(--surface) 88%,#fef3c7)}.route-feedback.deleted{border-color:color-mix(in srgb,#b91c1c 42%,var(--line));background:color-mix(in srgb,var(--surface) 88%,#fee2e2)}.route-section{margin-top:16px;padding:18px}.create-project-panel{border-color:color-mix(in srgb,var(--green) 32%,var(--line));background:color-mix(in srgb,var(--surface) 88%,var(--green-soft))}.create-project-form{display:grid;gap:14px}.create-project-grid{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(190px,.9fr) repeat(2,minmax(150px,.8fr));gap:10px}.create-team-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}.create-project-grid label{display:grid;gap:6px}.create-project-grid label span{color:var(--muted);font-size:12px;font-weight:800}.create-project-grid input,.create-project-grid select{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink)}.create-project-footer{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:12px;align-items:center}.create-project-footer p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.section-heading>div{min-width:0}.section-heading h2,.route-panel h2,.launcher-card h3,.route-project-card h3,.compact-setup h2,.docs-article h2{margin:0;line-height:1.18;overflow-wrap:anywhere;text-wrap:balance}.launcher-grid,.route-project-grid,.metric-grid,.admin-action-grid{display:grid;gap:12px}.launcher-grid,.route-project-grid,.admin-action-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.launcher-card,.route-project-card,.route-metric,.route-panel{display:grid;gap:12px;padding:16px}.route-project-card{align-content:space-between}.route-card-metrics{display:flex;flex-wrap:wrap;gap:6px}.route-card-metrics span{min-height:26px;padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:800}.team-summary-section{padding-inline:0;border:0;background:transparent}.quota-panel{display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.workspace-sharing-panel{display:grid;gap:12px;padding-top:4px}.workspace-sharing-panel h3,.workspace-sharing-panel p{margin:0}.workspace-sharing-panel p:not(.section-kicker){color:var(--muted);font-size:13px;line-height:1.45}.quota-heading{display:flex;gap:14px;align-items:start;justify-content:space-between}.quota-heading h3,.quota-heading p{margin:0}.quota-heading h3{line-height:1.2}.quota-heading p{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.4}.quota-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.quota-meter{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.quota-meter div{display:grid;gap:3px}.quota-meter strong,.quota-meter span{overflow-wrap:anywhere}.quota-meter span{color:var(--muted);font-size:12px;font-weight:800}.quota-meter i{display:block;height:9px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 62%,transparent)}.quota-meter i:before{display:block;width:var(--quota);height:100%;border-radius:inherit;background:var(--green);content:""}.route-metric span,.route-metric em,.detail-list span,.member-list span{color:var(--muted);font-size:13px;font-style:normal}.team-members-surface{display:grid;gap:18px}.team-invite-panel,.team-member-heading{display:flex;gap:14px;align-items:center;justify-content:space-between}.team-invite-panel h3,.team-member-heading h3{margin:0;font-size:18px;line-height:1.2}.team-invite-panel p,.team-member-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.team-member-table{display:grid;overflow:visible;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.team-member-table-head,.team-member-row{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(140px,.8fr) minmax(120px,.7fr) 52px;gap:12px;align-items:center;min-width:0}.team-member-table-head{min-height:36px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.team-member-row{min-height:62px;padding:10px 14px;border-bottom:1px solid var(--line)}.team-member-row:last-child{border-bottom:0}.team-member-row>span{min-width:0;color:var(--ink)}[data-authenticated-team-members] .team-member-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}[data-authenticated-team-members] .authenticated-team-member-details{display:grid;flex:1 1 260px;min-width:0;gap:4px;overflow-wrap:anywhere}[data-authenticated-team-members] .authenticated-team-member-details>span{color:var(--muted)}[data-authenticated-team-members] .authenticated-team-member-actions{display:flex;flex:1 1 460px;flex-wrap:wrap;align-items:flex-end;min-width:0;gap:10px}[data-authenticated-team-members] .authenticated-team-member-actions form{display:flex;flex:1 1 220px;flex-wrap:wrap;align-items:flex-end;min-width:0;gap:10px}[data-authenticated-team-members] .authenticated-team-member-actions label{flex:1 1 140px;min-width:0}[data-authenticated-team-members] .authenticated-team-member-actions select{max-width:100%}[data-authenticated-team-members] .authenticated-team-member-actions button{flex:0 1 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}[data-authenticated-team-members] .team-member-row>p{flex-basis:100%;margin:0}.team-member-person{display:flex;gap:10px;align-items:center}.team-member-person>span:last-child{display:grid;gap:2px;min-width:0}.team-member-person strong,.team-member-person em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-member-person em{color:var(--muted);font-size:12px;font-style:normal}.team-member-avatar{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#1f7a5d,#4f46e5);color:#fff;font-size:10px;font-weight:900}.team-member-actions{justify-self:end}.member-role-menu{position:relative}.member-role-menu summary{display:grid;width:34px;min-height:34px;place-items:center;border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer;list-style:none}.member-role-menu summary::-webkit-details-marker{display:none}.member-role-menu summary:hover,.member-role-menu[open] summary{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.member-role-popover{position:absolute;z-index:20;top:40px;right:0;display:grid;width:min(420px,calc(100vw - 48px));padding:12px 0;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.member-role-popover strong,.member-role-popover em{padding:0 14px}.member-role-popover strong{font-size:12px}.member-role-popover em{margin-top:4px;color:var(--muted);font-size:12px;font-style:italic}.member-role-popover hr{width:100%;margin:10px 0;border:0;border-top:1px solid var(--line)}.member-role-option,.member-menu-action{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:32px;padding:6px 14px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.member-role-option:hover,.member-menu-action:hover{background:var(--surface-2)}.member-role-option.selected{color:var(--green)}.member-role-option small{padding:1px 4px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:11px}.member-menu-action{justify-content:flex-start;font-weight:800}.route-metric strong{font-size:28px;line-height:1;overflow-wrap:anywhere}.route-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:16px}.route-two-column .route-panel,.route-two-column .wide-content{min-width:0}.route-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.project-section-tabs{flex-wrap:nowrap;gap:0;overflow-x:auto;margin-top:16px;border-bottom:1px solid var(--line)}.project-section-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap}.project-section-tabs a:hover,.project-section-tabs a:focus-visible{background:color-mix(in srgb,var(--surface-2) 72%,var(--green-soft));color:var(--ink)}.project-section-tabs a.active{border-bottom-color:var(--green);background:transparent;color:var(--ink)}.project-tab-panel{scroll-margin-top:18px}.settings-layout{display:grid;gap:14px;align-items:start}.settings-nav{display:flex;gap:0;min-width:0;overflow-x:auto;border-bottom:1px solid var(--line)}.settings-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-weight:800;text-decoration:none;white-space:nowrap}.settings-nav a:hover,.settings-nav a:focus-visible,.settings-nav a.active{background:var(--green-soft);color:var(--green)}.settings-nav a.active{border-bottom-color:var(--green);background:transparent;color:var(--ink)}.settings-content{display:grid;gap:14px;min-width:0}.settings-section{scroll-margin-top:18px}.settings-section .account-metrics{margin-bottom:12px}.settings-note{margin-top:12px}.settings-form-preview{display:grid;grid-template-columns:minmax(220px,1fr) max-content;gap:10px;align-items:end;margin-top:12px}.settings-form-preview label{display:grid;gap:5px}.settings-form-preview label span{color:var(--muted);font-size:12px;font-weight:800}.settings-form-preview input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink)}.settings-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-card-list{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px}.route-app .permission-card{display:grid;grid-template-columns:1fr;gap:6px;align-items:start;align-content:start;min-height:88px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.route-app .permission-card strong,.route-app .permission-card span{display:block;min-width:0;overflow-wrap:anywhere}.route-app .permission-card span{color:var(--muted);font-size:13px;line-height:1.45}.notification-settings-list{display:grid;gap:10px}.notification-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.notification-setting-row strong,.notification-setting-row span{display:block}.notification-setting-row span,.toggle-preview span{color:var(--muted);font-size:13px}.toggle-preview{display:inline-flex;gap:8px;align-items:center;min-width:74px;justify-content:flex-end}.toggle-preview input{width:18px;height:18px;accent-color:var(--green)}.project-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:16px;align-items:start}.project-workbench-main{min-width:0}.project-tool-dock{position:sticky;top:16px;display:grid;grid-template-columns:52px minmax(0,1fr);min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.project-tool-rail{display:grid;align-content:start;gap:4px;padding:8px;border-right:1px solid var(--line);background:var(--surface-2)}.tool-button{position:relative;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.tool-button:hover,.tool-button:focus-visible,.tool-button.active{background:var(--green-soft);color:var(--green);outline:none}.tool-button:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 34%,transparent)}.tool-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.project-tool-panel{display:grid;gap:12px;min-width:0;padding:14px}.project-tool-panel h2{margin:0;font-size:18px}.tool-panel-heading{display:flex;gap:10px;align-items:start;justify-content:space-between}.tool-panel-heading>div{display:grid;gap:2px;min-width:0}.tool-panel-heading span,.repository-mini-item em{color:var(--muted);font-size:12px;font-style:normal;line-height:1.35}.icon-action{display:inline-grid;flex:0 0 34px;width:34px;min-height:34px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);text-decoration:none}.icon-action:hover,.icon-action:focus-visible{background:var(--green-soft);color:var(--green)}.repository-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.repository-mini-stats span{display:grid;gap:2px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:12px}.repository-mini-stats strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.tool-panel-list{display:grid;gap:8px}.tool-panel-list>div,.tool-panel-list>a,.tool-panel-list>article{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:inherit;text-decoration:none}.tool-panel-list span{color:var(--muted);font-size:13px;line-height:1.35}.repository-mini-list .repository-mini-item{min-width:0}.repository-mini-card{align-content:start}.repository-mini-card :where(a){color:inherit;text-decoration:none}.repository-mini-title{min-width:0}.repository-mini-title strong{overflow-wrap:anywhere}.repository-mini-detail{width:fit-content;color:var(--muted)!important;font-size:12px;line-height:1.35}.repository-mini-detail:hover,.repository-mini-detail:focus-visible{color:var(--green)!important}.repository-mini-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.repository-mini-actions a{display:inline-flex;gap:4px;align-items:center;min-height:24px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:800}.repository-mini-card:hover,.repository-mini-card:focus-within{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:var(--green-soft)}.repository-mini-actions a:hover,.repository-mini-actions a:focus-visible{color:var(--green)}.repository-tool-actions{display:grid;gap:8px}.repository-tool-actions .secondary-action,.document-card-actions .link-action,.repository-heading-actions .secondary-action,.repository-row-actions .secondary-action{display:inline-flex;gap:6px;align-items:center;justify-content:center;text-decoration:none}.tool-search{display:grid;gap:6px}.tool-search span{color:var(--muted);font-size:12px;font-weight:800}.tool-search input,.tool-search textarea{width:100%;padding:9px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.compact-storage{max-width:100%;overflow-x:auto}.workspace-filter-section{display:grid;gap:12px}.workspace-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) auto;gap:10px;align-items:end}.workspace-filter-bar label{display:grid;gap:5px;min-width:0}.workspace-filter-bar label span{color:var(--muted);font-size:12px;font-weight:800}.workspace-filter-bar input,.workspace-filter-bar select{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.view-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.view-toggle a{min-height:30px;padding:6px 10px;border-radius:6px;color:var(--muted);font-size:13px;font-weight:800;text-decoration:none}.view-toggle a.active,.view-toggle a:hover,.view-toggle a:focus-visible{background:var(--surface);color:var(--green)}.project-detail-list{display:grid;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.project-detail-header,.project-detail-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(140px,.8fr) minmax(180px,1fr) minmax(130px,.7fr);gap:12px;align-items:center;min-width:720px;padding:10px 12px}.project-detail-header{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.project-detail-row{border-top:1px solid var(--line);color:inherit;text-decoration:none}.project-detail-row:hover,.project-detail-row:focus-visible{background:var(--green-soft)}.project-detail-row span{min-width:0;color:var(--muted);overflow-wrap:anywhere}.project-detail-row strong,.project-detail-row em{display:block}.project-detail-row em{overflow:hidden;color:var(--muted);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.document-card-list,.assessment-route-list,.activity-list,.comparison-list,.member-list,.detail-list,.settings-link-list,.docs-layer-list{display:grid;gap:10px}.document-review-card,.activity-row,.comparison-row,.assessment-route-list div,.member-list div,.detail-list div,.docs-layer-list div{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);text-decoration:none}.document-review-card,.comparison-row{grid-template-columns:minmax(0,1fr);align-items:start}.document-review-card>*,.comparison-row>*{min-width:0}.document-review-card .score-meter{width:100%}.document-review-card .link-action{justify-self:start}.document-card-meta,.repository-tags{display:flex;flex-wrap:wrap;gap:6px}.document-standard-tags span{border-color:color-mix(in srgb,var(--teal) 26%,var(--line));color:var(--teal)}.document-provenance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.document-provenance-grid span{display:grid;gap:2px;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:12px;line-height:1.3;overflow-wrap:anywhere}.document-provenance-grid strong{color:var(--ink);font-size:11px;text-transform:uppercase}.repository-provenance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.document-card-meta span,.repository-tags span{min-height:24px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:800}.document-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.document-card-actions .link-action{min-height:28px}.document-repository-section{display:grid;gap:14px}.documents-tab-section,.package-tab-section,.project-overview-tab{display:grid;gap:16px}.overview-package-panel{display:grid;gap:14px}.overview-package-grid,.package-evaluation-grid,.package-evaluation-lanes{display:grid;gap:12px}.overview-package-grid{grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr)}.overview-package-grid>article,.package-evaluation-card,.package-evaluation-lanes article{display:grid;align-content:start;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.package-evaluation-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.package-evaluation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-evaluation-lanes{grid-template-columns:repeat(4,minmax(160px,1fr))}.package-evaluation-card h3,.package-evaluation-lanes h3{margin:0;line-height:1.2}.package-evaluation-lanes p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.repository-index-panel,.source-document-panel{min-width:0}.repository-heading-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.repository-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.repository-index-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:14px;align-items:start}.repository-table-panel,.repository-object-panel{display:grid;gap:12px;min-width:0}.repository-object-panel h3{margin:0}.repository-document-list{display:grid;gap:10px}.repository-document-row{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.repository-document-row strong,.repository-document-row span,.repository-document-row code{min-width:0;overflow-wrap:anywhere}.repository-document-row>div:first-child{display:grid;gap:4px}.repository-document-row>div:first-child span{color:var(--muted);font-size:13px}.repository-document-row code{display:block;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:12px}.repository-row-actions{display:flex;flex-wrap:wrap;gap:8px}.repository-json{max-height:520px;overflow:auto;font-size:11px;line-height:1.45}.spatial-package-panel{display:grid;gap:16px}.spatial-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.spatial-package-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;align-items:stretch}.spatial-map-panel,.spatial-pipeline-panel,.spatial-source-grid>article{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.spatial-map-panel h3,.spatial-pipeline-panel h3,.spatial-source-grid h3{margin:0}.spatial-map-panel p{margin:6px 0 0;color:var(--muted);font-size:13px}.spatial-svg-map{display:block;width:100%;aspect-ratio:32 / 17;min-height:220px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.spatial-map-bg{fill:color-mix(in srgb,var(--teal-soft) 20%,var(--surface))}.spatial-map-frame{fill:none;stroke:var(--line);stroke-width:1.2}.spatial-map-grid line{stroke:color-mix(in srgb,var(--muted) 20%,transparent);stroke-width:.8}.spatial-map-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.84}.spatial-map-point circle{stroke:#fff;stroke-width:2.2}.spatial-map-point text{fill:var(--ink);stroke:var(--surface);stroke-width:3;paint-order:stroke;font-size:13px;font-weight:900}.spatial-map-legend,.spatial-pipeline-list,.spatial-source-list{display:grid;gap:8px}.spatial-map-legend{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.spatial-map-legend span{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;font-weight:800}.spatial-map-legend i,.spatial-layer-swatch{display:inline-block;width:16px;height:16px;border:1px solid color-mix(in srgb,var(--line) 70%,white);border-radius:4px}.spatial-pipeline-card{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.spatial-pipeline-card strong,.spatial-pipeline-card span,.spatial-pipeline-card p,.spatial-pipeline-card code{min-width:0;overflow-wrap:anywhere}.spatial-pipeline-card span{display:block;color:var(--muted);font-size:12px;font-weight:800}.spatial-pipeline-card p{margin:0;color:var(--muted);font-size:13px}.spatial-pipeline-card code{display:block;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:11px}.spatial-pipeline-card .secondary-action{justify-self:start}.spatial-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.spatial-layer-card{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.spatial-layer-card>div:first-child{display:flex;gap:10px;align-items:start}.spatial-layer-card strong,.spatial-layer-card em,.spatial-layer-card p{display:block;min-width:0;overflow-wrap:anywhere}.spatial-layer-card em{color:var(--muted);font-size:12px;font-style:normal}.spatial-layer-card p{margin:0;color:var(--muted);font-size:13px}.spatial-source-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(280px,1.05fr);gap:14px;align-items:start}.spatial-source-row{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:inherit;text-decoration:none}.spatial-source-row span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.spatial-json{max-height:440px}.comparison-bars{display:grid;gap:6px}.comparison-bars span{--value: 0;display:block;overflow:hidden;min-height:22px;padding:3px 8px;border-radius:999px;background:linear-gradient(90deg,var(--green-soft) calc(var(--value) * 1%),var(--surface) 0);color:var(--muted);font-size:12px;font-weight:800}.route-permissions{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-setup{margin-top:16px;background:linear-gradient(135deg,var(--surface),var(--teal-soft))}.docs-layout{display:grid;grid-template-columns:minmax(200px,230px) minmax(0,1fr);gap:16px}.docs-nav{position:sticky;top:78px;display:grid;align-self:start;gap:4px;padding:12px}.docs-article{padding:28px}.docs-article section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.docs-intro{margin-top:12px!important;font-size:18px}.primary-action,.secondary-action{text-align:center;text-decoration:none}.architecture-flow{display:grid;grid-template-columns:repeat(6,minmax(132px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.architecture-node{display:grid;gap:10px;min-height:112px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.es-platform[data-theme=dark] .architecture-node{background:var(--surface)}.architecture-node span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--plum-soft);color:var(--plum);font-weight:900}.layer-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin-top:16px}.layer-card{min-height:170px}.layer-card ul{margin:10px 0 0;padding-left:18px}.layer-card li{margin:6px 0;color:var(--muted)}.standards-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.standard-card{display:grid;gap:8px;min-height:116px;padding:14px;background:var(--surface-2)}.standard-card span,.standard-card em{color:var(--muted);font-size:13px;font-style:normal}.policy-review-section{display:grid;gap:14px}.policy-review-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.policy-option-strip{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px}.policy-option{display:grid;gap:4px;min-height:104px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:inherit;text-align:left;cursor:pointer}.policy-option.active{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:color-mix(in srgb,var(--surface) 72%,var(--green-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 35%,transparent)}.policy-option:disabled{cursor:not-allowed;opacity:.68}.policy-option strong,.policy-option span,.policy-option em{display:block;min-width:0;overflow-wrap:anywhere}.policy-option span,.policy-option em{color:var(--muted);font-size:13px;font-style:normal;line-height:1.35}.policy-audit-workbench{display:grid;grid-template-columns:minmax(210px,.66fr) minmax(0,1.34fr);gap:14px;align-items:start}.project-review-workbench{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:14px;align-items:start}.review-setup-surface,.requirement-register-surface,.requirement-editor-surface{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.review-setup-surface{grid-column:1 / -1}.review-setup-disclosure{gap:0;padding:0;overflow:hidden}.review-setup-disclosure summary{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:58px;padding:12px 14px;cursor:pointer;list-style:none}.review-setup-disclosure summary::-webkit-details-marker{display:none}.review-setup-disclosure summary>div{display:grid;gap:2px;min-width:0}.review-setup-disclosure summary strong,.review-setup-disclosure summary span{min-width:0;overflow-wrap:anywhere}.review-setup-disclosure summary>div>span{color:var(--muted);font-size:12px;line-height:1.35}.review-setup-disclosure[open] summary{border-bottom:1px solid var(--line)}.review-setup-disclosure-body{display:grid;gap:12px;padding:14px}.requirement-register-surface,.requirement-editor-surface{align-self:start}.review-surface-heading{display:flex;justify-content:space-between;gap:12px;align-items:start;padding-bottom:10px;border-bottom:1px solid var(--line)}.review-surface-heading h3{margin:0;line-height:1.2}.review-context-grid,.framework-selector-grid,.requirement-field-grid,.crosswalk-grid{display:grid;gap:10px}.review-context-grid,.requirement-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-context-grid .wide-field,.requirement-field-grid .wide-field{grid-column:1 / -1}.framework-selector-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.framework-selector-card{display:grid;grid-template-columns:20px minmax(0,1fr);gap:4px 8px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.framework-selector-card.active{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:var(--green-soft)}.framework-selector-card input{grid-row:1 / span 3;width:18px;height:18px;margin:1px 0 0;accent-color:var(--green)}.framework-selector-card span,.framework-selector-card em,.requirement-card-meta span,.requirement-source-block span,.crosswalk-grid article span,.crosswalk-grid article em{color:var(--muted);font-size:12px;line-height:1.35}.framework-selector-card strong,.framework-selector-card em{display:block;min-width:0;overflow-wrap:anywhere}.framework-selector-card em,.crosswalk-grid article em{font-style:normal}.ifc-standard-selector,.review-standard-tabs,.review-surface-tabs,.requirement-card-meta,.requirement-source-block div,.crosswalk-grid article div{display:flex;flex-wrap:wrap;gap:6px}.ifc-standard-toggle{display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:center;min-width:86px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.ifc-standard-toggle.selected{border-color:color-mix(in srgb,var(--green) 38%,var(--line))}.ifc-standard-toggle.active{background:var(--green-soft)}.ifc-standard-toggle input{width:17px;height:17px;accent-color:var(--green)}.ifc-standard-toggle button,.review-standard-tabs button,.review-surface-tabs button{display:grid;gap:2px;min-width:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ifc-standard-toggle button span,.review-standard-tabs button span{color:var(--muted);font-size:12px}.review-standard-tabs button,.review-surface-tabs button{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.review-standard-tabs button.active,.review-surface-tabs button.active,.review-standard-tabs button:hover,.review-surface-tabs button:hover,.review-standard-tabs button:focus-visible,.review-surface-tabs button:focus-visible{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:var(--green-soft);color:var(--green);outline:none}.review-surface-tabs button{grid-auto-flow:column;align-items:center}.requirement-card-list{display:grid;gap:8px;max-height:680px;overflow:auto;padding-right:2px}.requirement-card{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.requirement-card.active{border-color:color-mix(in srgb,var(--green) 46%,var(--line));box-shadow:inset 3px 0 0 var(--green)}.requirement-card strong,.requirement-card p,.requirement-source-block p{min-width:0;overflow-wrap:anywhere}.requirement-card p,.requirement-source-block p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.requirement-card .secondary-action{justify-self:start}.requirement-source-block{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.requirement-source-block span,.crosswalk-grid article em{padding:4px 7px;border-radius:999px;background:var(--surface)}.assessment-report-view{display:grid;gap:12px;min-width:0}.assessment-report-header{display:flex;gap:12px;align-items:start;justify-content:space-between}.report-header-actions{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.pencil-toggle{width:34px;min-height:34px}.assessment-report-header h4,.assessment-report-section h5,.assessment-report-block h5{margin:0;line-height:1.2}.assessment-report-header h4{overflow-wrap:anywhere;font-size:18px}.ai-verification-bar{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 82%,var(--teal-soft))}.ai-verification-bar>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.ai-verification-actions{justify-content:flex-end}.ai-verification-actions .secondary-action{min-height:32px}.ai-verification-bar p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.assessment-report-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.assessment-report-meta div,.assessment-report-block,.assessment-report-section,.assessment-report-callout{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.assessment-report-meta dt,.assessment-report-section dt{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35;text-transform:uppercase}.assessment-report-meta dd,.assessment-report-section dd{margin:4px 0 0;min-width:0;overflow-wrap:anywhere;line-height:1.4}.assessment-report-block{display:grid;gap:6px}.assessment-report-block p,.assessment-report-section dd{color:var(--muted);font-size:13px}.assessment-report-block p{margin:0;overflow-wrap:anywhere;line-height:1.45}.assessment-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.single-column-report-grid{grid-template-columns:minmax(0,1fr)}.assessment-report-section{display:grid;align-content:start;gap:10px}.assessment-report-section dl{display:grid;gap:9px;margin:0}.assessment-report-section dd.empty{color:color-mix(in srgb,var(--muted) 74%,transparent);font-style:italic}.assessment-report-callout{display:inline-flex;gap:8px;align-items:center;color:var(--plum);font-weight:800}.assessment-report-actions{display:flex;flex-wrap:wrap;gap:8px}.requirement-edit-view{display:grid;gap:12px;min-width:0}.compact-action{min-height:34px;padding:7px 10px}.crosswalk-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.crosswalk-grid article{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.audit-json-panel,.audit-s3-panel{grid-column:1 / -1}.audit-pathway,.audit-stage-panel,.audit-json-panel,.audit-s3-panel{display:grid;gap:12px;min-width:0}.audit-template-summary,.audit-stage-panel,.audit-json-panel,.audit-s3-panel,.diagnostic-editor,.assessment-key-list div,.open-finding-list button{border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.audit-template-summary{display:grid;gap:10px;padding:14px}.audit-template-summary h3,.audit-json-panel h3,.audit-s3-panel h3,.guided-question h3,.diagnostic-reference strong{margin:0;line-height:1.18}.audit-template-summary p{margin:0;color:var(--muted);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.audit-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.audit-counts span,.audit-json-stats span{display:grid;gap:2px;min-height:48px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:12px;line-height:1.2}.audit-counts strong{color:var(--ink);font-size:18px;line-height:1}.audit-stage-list{display:grid;gap:6px}.audit-stage-list button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:inherit;text-align:left;cursor:pointer}.audit-stage-list button.active,.audit-stage-list button:hover,.audit-stage-list button:focus-visible{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:var(--green-soft);color:var(--green);outline:none}.audit-stage-list button span{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:var(--surface);color:currentColor;font-size:12px;font-weight:900}.audit-stage-panel,.audit-json-panel,.audit-s3-panel{padding:14px;background:var(--surface)}.guided-question{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--line)}.guided-question>span{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:var(--teal-soft);color:var(--teal)}.audit-form-grid,.diagnostic-field-grid,.audit-picker-grid,.review-context-grid,.requirement-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audit-form-grid .wide-field,.diagnostic-field-grid .wide-field,.review-context-grid .wide-field,.requirement-field-grid .wide-field,.audit-picker-grid{grid-column:1 / -1}.review-context-grid label,.requirement-field-grid label,.audit-form-grid label,.diagnostic-field-grid label,.audit-picker-grid label{display:grid;gap:5px;min-width:0}.review-context-grid label span,.requirement-field-grid label span,.audit-form-grid label span,.diagnostic-field-grid label span,.audit-picker-grid label span{color:var(--muted);font-size:12px;font-weight:800}.review-context-grid input,.review-context-grid select,.review-context-grid textarea,.requirement-field-grid input,.requirement-field-grid select,.requirement-field-grid textarea,.audit-form-grid input,.audit-form-grid select,.audit-form-grid textarea,.diagnostic-field-grid input,.diagnostic-field-grid select,.diagnostic-field-grid textarea,.audit-picker-grid select{box-sizing:border-box;width:100%;min-width:0;padding:8px 9px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;line-height:1.35}.review-context-grid textarea,.requirement-field-grid textarea,.audit-form-grid textarea,.diagnostic-field-grid textarea{resize:vertical}.audit-schema-strip,.audit-standard-tabs,.diagnostic-meta-row{display:flex;flex-wrap:wrap;gap:6px}.audit-schema-strip span,.diagnostic-meta-row span{min-height:26px;padding:4px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:800}.ps-applicability-grid{display:grid;gap:8px}.ps-applicability-row{display:grid;grid-template-columns:minmax(128px,.4fr) minmax(160px,.38fr) minmax(0,1fr);gap:8px;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.ps-applicability-row.active{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.ps-applicability-row button,.audit-standard-tabs button,.open-finding-list button{color:inherit;text-align:left;cursor:pointer}.ps-applicability-row button{display:grid;gap:4px;padding:0;border:0;background:transparent}.ps-applicability-row button span,.open-finding-list button span{color:var(--muted);font-size:12px;line-height:1.35}.ps-applicability-row textarea{min-height:64px}.audit-standard-tabs button{display:grid;min-width:72px;gap:2px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.audit-standard-tabs button.active,.audit-standard-tabs button:hover,.audit-standard-tabs button:focus-visible{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:var(--green-soft);color:var(--green);outline:none}.audit-standard-tabs button span{color:var(--muted);font-size:12px}.diagnostic-editor{display:grid;gap:12px;padding:12px}.diagnostic-reference{display:grid;gap:8px}.diagnostic-reference p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.diagnostic-checkbox{display:inline-flex;gap:8px;align-items:center;min-height:38px;padding:8px 0}.diagnostic-checkbox input{width:18px;min-height:18px;accent-color:var(--green)}.assessment-key-list,.open-finding-list{display:grid;gap:8px}.assessment-key-list{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-key-list div,.open-finding-list button{display:grid;gap:4px;padding:10px}.assessment-key-list span{color:var(--muted);font-size:12px;line-height:1.35}.open-finding-list button{width:100%}.json-panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:start}.audit-json-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.s3-target-grid,.s3-object-list{display:grid;gap:8px}.s3-target-grid{grid-template-columns:minmax(180px,.55fr) minmax(0,1fr) minmax(170px,.45fr)}.s3-target-grid div,.s3-object-list div{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.s3-target-grid span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.s3-target-grid strong,.s3-object-list code{overflow-wrap:anywhere}.s3-object-list code{color:var(--teal);font-size:12px;line-height:1.45}.policy-storage-tree{max-height:300px}.policy-json-preview{overflow:auto;max-height:620px;margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:12px;line-height:1.45;white-space:pre}@media(max-width:1180px){.route-header{grid-template-columns:minmax(0,1fr) max-content;align-items:start}.app-topbar{grid-template-columns:minmax(0,1fr) auto}.app-view-switcher{grid-column:1 / -1;justify-self:start}.topbar-actions{grid-column:2;grid-row:1}.route-context-summary{justify-self:end;text-align:right}.route-actions{grid-column:2;grid-row:1 / span 2}.workspace-context,.route-context-summary{grid-column:1}.route-main{width:100%}.launcher-grid,.route-project-grid,.admin-action-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.policy-audit-workbench{grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)}.audit-json-panel{grid-column:1 / -1}.metric-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.docs-layout{grid-template-columns:1fr}.docs-nav{position:static;display:flex;flex-wrap:wrap}.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;display:flex;overflow-x:auto}.permission-card-list{grid-template-columns:repeat(2,minmax(220px,1fr))}.settings-form-preview,.platform-shell{grid-template-columns:1fr}.platform-sidebar{position:static;height:auto;padding:12px;border-right:0;border-bottom:1px solid var(--line)}.screen-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-footer{display:none}.dashboard-grid,.two-column-screen,.viewer-layout,.architecture-detail-grid,.evidence-layout,.export-screen,.spatial-package-grid,.spatial-source-grid{grid-template-columns:1fr}.layer-grid,.standards-grid,.comment-grid,.project-grid,.account-grid,.api-contract-grid,.principle-grid,.report-grid,.portfolio-grid,.starter-grid,.access-layout,.spatial-layer-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.super-admin-command{grid-template-columns:1fr}.command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.team-invite-panel,.team-member-heading,.quota-heading{align-items:stretch;flex-direction:column}.quota-grid{grid-template-columns:minmax(0,1fr)}.team-member-table-head{display:none}.team-member-row{grid-template-columns:minmax(0,1fr) 44px}.team-member-row>span:nth-child(2),.team-member-row>span:nth-child(3){grid-column:1;color:var(--muted);font-size:12px}.team-member-actions{grid-column:2;grid-row:1 / span 3}.framework-header{gap:8px;overflow-x:auto;scrollbar-width:none}.framework-header::-webkit-scrollbar{display:none}.framework-brand,.framework-header nav{gap:6px;flex:0 0 auto}.framework-brand img{width:20px;height:20px}.framework-header a{font-size:13px}.framework-header nav a{padding-right:6px;padding-left:6px}.route-header,.route-hero,.route-title,.compact-setup,.route-two-column,.policy-audit-workbench,.policy-option-strip,.ps-applicability-row,.audit-form-grid,.diagnostic-field-grid,.audit-picker-grid,.assessment-key-list,.s3-target-grid,.project-review-workbench,.review-context-grid,.framework-selector-grid,.requirement-field-grid,.assessment-report-meta,.assessment-report-grid,.crosswalk-grid,.create-project-grid,.create-project-footer,.workspace-filter-bar,.settings-form-preview,.notification-setting-row,.document-review-card,.document-provenance-grid,.repository-provenance-grid,.repository-index-grid,.spatial-summary-grid,.spatial-package-grid,.spatial-source-grid,.comparison-row,.workspace-context,.project-workbench,.project-tool-dock{grid-template-columns:1fr}.app-topbar{grid-template-columns:1fr;align-items:stretch}.app-view-switcher{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.topbar-actions{grid-column:1;grid-row:auto;justify-content:flex-start}.topbar-actions .secondary-action{flex:1 0 100%}.route-header,.route-hero,.route-title,.compact-setup{display:grid}.route-header{position:static;width:min(100% - 24px,720px);padding:12px}.route-actions,.route-title>.route-title-actions,.route-title>.scoped-actions,.compact-setup>.compact-setup-actions{grid-column:1;grid-row:auto;justify-self:stretch;max-width:none}.route-hero-actions,.route-title-actions,.compact-setup-actions{max-width:none}.auth-copy h1,.route-hero h1,.route-title h1,.docs-article h1{font-size:32px;line-height:1.12}.route-nav,.route-hero-actions,.route-title-actions,.policy-review-actions,.compact-setup-actions,.repository-heading-actions,.repository-row-actions,.document-card-actions,.view-toggle,.route-actions,.scoped-actions,.launcher-actions{justify-content:stretch}.route-nav a,.view-toggle a,.route-actions .secondary-action,.policy-review-actions .primary-action,.policy-review-actions .secondary-action,.route-hero-actions .primary-action,.route-hero-actions .secondary-action,.route-title-actions .primary-action,.route-title-actions .secondary-action,.scoped-actions .primary-action,.scoped-actions .secondary-action,.launcher-actions .primary-action,.launcher-actions .secondary-action,.launcher-actions .link-action,.repository-heading-actions .secondary-action,.repository-row-actions .secondary-action,.spatial-pipeline-card .secondary-action,.compact-setup-actions .primary-action,.compact-setup-actions .secondary-action{width:100%}.launcher-grid,.route-project-grid,.admin-action-grid,.audit-json-stats,.audit-counts,.metric-grid,.route-permissions,.permission-card-list,.repository-summary-grid,.spatial-layer-grid,.settings-launcher-grid{grid-template-columns:1fr}.route-main{width:100%;padding-right:12px;padding-left:12px;padding-top:16px}.auth-layout{grid-template-columns:1fr;width:min(100%,calc(100vw - 28px))}.auth-screen,.route-auth{padding:14px}.route-auth .auth-panel{padding:20px}.route-context-summary{justify-self:stretch;text-align:left}.settings-nav{flex-direction:row;overflow-x:auto}.project-tool-dock{position:static}.app-topbar,.operational-shell,.operational-main.route-main,.project-workbench,.project-workbench-main,.route-title,.route-section{max-width:100%;overflow-x:hidden}.route-title h1,.section-heading h2,.repository-document-row strong{word-break:break-word}.project-detail-list{border:0;gap:10px}.project-detail-header{display:none}.project-detail-row{grid-template-columns:1fr;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.project-tool-rail{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.tool-button{flex:0 0 40px}.docs-article{padding:18px}.workspace-topbar,.matrix-controls,.viewer-toolbar,.evidence-header{align-items:stretch;flex-direction:column}.screen-frame,.workspace-topbar{padding-left:14px;padding-right:14px}.screen-nav,.kpi-grid,.export-stats,.layer-grid,.standards-grid,.comment-grid,.project-grid,.account-grid,.api-contract-grid,.principle-grid,.report-grid,.portfolio-grid,.starter-grid,.access-layout,.context-switchers,.permission-card,.detail-grid,.export-grid,.type-strip{grid-template-columns:1fr}.nav-item{grid-template-columns:10px 1fr}.topbar-cluster{justify-content:stretch}.topbar-metric,.primary-action,.secondary-action{width:100%}.command-grid{grid-template-columns:1fr}.team-card{margin-left:0}.pipeline-band,.architecture-flow{grid-template-columns:repeat(6,180px)}.score-layout,.filter-cluster{grid-template-columns:1fr}.document-canvas{min-height:520px;padding:12px}.document-page{min-height:500px;padding:20px}.document-page p{font-size:15px}.page-table,.gap-row,.project-card,.assessment-mini{grid-template-columns:1fr}.gap-actions{align-items:flex-start;flex-direction:row}.artifact-row{grid-template-columns:1fr}}@media(max-width:420px){.auth-copy h1,.route-hero h1,.route-title h1,.docs-article h1{font-size:28px}.route-section,.route-panel,.launcher-card,.route-project-card,.docs-article{padding:14px}.route-header{width:min(100% - 16px,420px)}}@media print{.platform-sidebar,.workspace-topbar,.export-actions,.screen-nav{display:none!important}.platform-shell,.export-screen,.dashboard-grid,.two-column-screen{display:block}.screen-frame{padding:0}.workspace-panel,.kpi-card{box-shadow:none;break-inside:avoid}}
