/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:.875em;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover {color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,
.btn-group-vertical>.btn:active,
.btn-group>.btn.active,
.btn-group>.btn:active {z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover {text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover {isolation:isolate;border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover {text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:hover {text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover {color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:hover {color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover {color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover {color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:hover {color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover {color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:hover {text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:hover {color:#fff;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover {color:#fff;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}a.badge-success:hover {color:#fff;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:hover {color:#fff;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:hover {color:#212529;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:hover {color:#fff;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:hover {color:#212529;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover {color:#fff;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover {z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:hover {color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover {color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:hover {color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:hover {color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:hover {color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:hover {color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:hover {color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover {color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover {opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:hover,
.carousel-control-prev:hover {color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentcolor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:hover,
button.bg-primary:hover {background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:hover,
button.bg-secondary:hover {background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:hover,
button.bg-success:hover {background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:hover,
button.bg-info:hover {background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:hover,
button.bg-warning:hover {background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:hover,
button.bg-danger:hover {background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:hover,
button.bg-light:hover {background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:hover,
button.bg-dark:hover {background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:hover {color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:hover {color:#494f54!important}.text-success{color:#28a745!important}a.text-success:hover {color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:hover {color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:hover {color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:hover {color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:hover {color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:hover {color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
/*# sourceMappingURL=bootstrap.min.css.map */

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.674f50d287a8.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.674f50d287a8.eot?#iefix&v=4.7.0") format('embedded-opentype'),url("../fonts/fontawesome-webfont.af7ae505a9ee.woff2?v=4.7.0") format('woff2'),url("../fonts/fontawesome-webfont.fee66e712a8a.woff?v=4.7.0") format('woff'),url("../fonts/fontawesome-webfont.b06871f281fe.ttf?v=4.7.0") format('truetype'),url("../fonts/fontawesome-webfont.8ef356884e8b.svg?v=4.7.0#fontawesomeregular") format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}

@font-face {
  font-family: "Source Serif 4";
  src: url("../fonts/source-serif-4/SourceSerif4-Semibold.e4098d9c4171.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../fonts/ibm-plex/IBMPlexSans-Regular.5aaadb685d3c.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../fonts/ibm-plex/IBMPlexSans-Medium.02ec16345450.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../fonts/ibm-plex/IBMPlexSans-SemiBold.51d76d33ef85.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/ibm-plex/IBMPlexMono-Regular.b51685c998a0.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

:root {
  --pi-ink-900: #122033;
  --pi-ink-650: #536579;
  --pi-canvas: #f7fafc;
  --pi-paper: #ffffff;
  --pi-blue-600: #155eef;
  --pi-blue-700: #0f49bf;
  --pi-action-primary: #173b5e;
  --pi-action-primary-hover: #0f2a44;
  --pi-action-primary-pressed: #0b2136;
  --pi-action-risk-surface: #fff4f2;
  --pi-action-risk-hover-ink: #922a23;
  --pi-action-risk-pressed-surface: #fbe2df;
  --pi-action-risk-pressed-ink: #751f1a;
  --pi-control-accent-surface: #edf4ff;
  --pi-control-accent-border: #cfe0ff;
  --pi-control-pressed-surface: #e4ebf1;
  --pi-control-selected-surface: #eef4ff;
  --pi-benchmark-surface-end: #f8fbff;
  --pi-green-650: #11734f;
  --pi-amber-700: #9a4f08;
  --pi-red-650: #c0362c;
  --pi-rule: #d8e2ec;
  --pi-rule-strong: #aebdcb;
  --pi-control-border: #718297;
  --pi-surface-muted: #eef3f7;
  --pi-surface-inverse: #122033;
  --pi-surface-inverse-raised: #172940;
  --pi-text-inverse-strong: #ffffff;
  --pi-text-inverse: #dfe8f1;
  --pi-text-inverse-muted: #bdcbd9;
  --pi-accent-inverse: #82aaff;
  --pi-link-inverse: #9cbaff;
  --pi-rule-inverse: #34465a;
  --pi-font-display: "Source Serif 4", Georgia, serif;
  --pi-font-ui: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pi-font-data: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --pi-title-marketing: clamp(2.75rem, 4vw, 3.5rem);
  --pi-title-reading: clamp(2.25rem, 3.5vw, 3rem);
  --pi-title-workspace: clamp(2rem, 3vw, 2.5rem);
  --pi-text-secondary: 1rem;
  --pi-space-page-start: clamp(1.5rem, 4vw, 3rem);
  --pi-radius-sm: 4px;
  --pi-radius-md: 8px;
  --pi-radius-lg: 12px;
  --pi-shadow-sm: 0 8px 24px rgba(18, 32, 51, 0.08);
  --pi-shadow-menu: 0 12px 32px rgba(18, 32, 51, 0.14);
  --pi-shadow-lg: 0 20px 50px rgba(18, 32, 51, 0.14);
  --pi-swatch-color: transparent;
}


@media (max-width: 767.98px) {
  :root {
    --pi-title-marketing: clamp(2rem, 8.5vw, 2.65rem);
    --pi-title-reading: clamp(1.85rem, 7.5vw, 2.4rem);
    --pi-title-workspace: clamp(1.65rem, 6.5vw, 2.1rem);
  }
}


html,
body {
    color: var(--pi-ink-900, #122033);
    font-family: var(--pi-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    margin: 0;
    max-width: 100%;
    padding: 0;
}

body {
    background: var(--pi-paper, #ffffff);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    overflow-x: visible;
    width: 100%;
}

a.navigation {
    padding: 0px 10px;
    word-wrap: normal;
    display: inline-block;
}

/* navbar */
.navbar-light {
    background-color: rgb(248, 248, 248);
    border-color: #E7E7E7;
}

.wrap {
    min-width: 0;
    width: 100%;
}

.starter-template {
  padding: 40px 15px;
  text-align: center;
}


.panel-padding {
    position: relative;
    padding-left: 20px;
}

.footer {
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: 40px;
  border-top: 1px solid #eee;

}

.alert {
    margin-top: 55px;
    margin-bottom: 0;
}

body>.navbar-transparent {
    background-color: white;
    border-color: white;
    box-shadow: none;
}

.navbar-transparent .navbar-nav > .active > a {
    background-color: white;
}



/* Home page styling */
.corporate-jumbo2 {
    background-image: linear-gradient(rgba(10, 10, 10, 0.5), rgba(10, 10, 10, 0.5)), url("/static/site/img/banner.b699c10edd99.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    color: #f5f5f5;
    padding: 10em 0;
    margin-bottom: 0;
    height: 350px;
}

.cover-jumbo {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJklEQVQIW2NkAIILFy78NzAwYATRjCABZEGwAEwFiA1WBlIOUwkA72gTdDIYVO4AAAAASUVORK5CYII=) repeat;
    padding-top: 9.5em;
    padding-bottom: 10em;
    margin-bottom: 0;
    height: 50px;
}

.cover-class {
    background: url("../img/learning_online.27d0e2951170.jpg");
    padding-top: 5.5em;
    padding-bottom: 4.5em;
    margin-bottom: 0;
    height: 400px;
    background-size: 1115px;
}

.cover-class-portfolio {
    background: url("../img/portfolio_cover.c1410d94e21e.jpg");
    padding-top: 5.5em;
    padding-bottom: 4.5em;
    margin-bottom: 0;
    height: 400px;
    background-size: 1110px;
}

.cover-class-start-investing {
    background: url("../img/computer_mac.76b69839f720.jpg");
    padding-top: 5.5em;
    padding-bottom: 4.5em;
    margin-bottom: 0;
    height: 400px;
    background-size: 1110px;
}


.cover-class-backtest {
    /*background: url("../img/home_cover.24c13b28f2a6.jpg");*/
    background-color: #FFFFFF;
    padding-top: 3.5em;
    padding-bottom: 3.5em;
    margin-bottom: 0;
    height: 600px;
    background-size: 1110px;
    max-width: 100% !important;
}


/* Home page styling */
.cover-image {    
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    color: #f5f5f5;
    padding: 10em 0;
    margin-bottom: 0;
    height: 350px;
}

.corporate-jumbo .well {
    background-color: rgba(248, 248, 248, .7);
}

.corporate-jumbo p, .corporate-jumbo h1 {
    color: #eee;
    text-shadow: 0px 0px 2px black;
}

.corporate-jumbo p {
    font-weight: 500;
}

.corporate-jumbo .well legend {
    color: #333;
}

.background-light-grey {
    background-color: rgb(250, 250, 250);
}

.background-blue {
    background-color: #02203c;
}

.background-dark-grey {
    background-color: rgb(252, 252, 252);
}

.corporate-jumbo > .container {
    display: block;
    bottom: 0em;

}


.contact-banner {
    padding: 100px 0;
    background: #e0e0e0;
    margin-top: 100px;
}

.footer a:hover {
    text-decoration: none;
}

.footer-social-links {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin: 10px -8px 0 0;
}

.footer-social-links .footer-social-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #4b5563 !important;
    background: transparent;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    transition: color 140ms ease, transform 140ms ease;
}

.footer-social-links .footer-social-link::after {
    position: absolute;
    right: 14px;
    bottom: 6px;
    left: 14px;
    height: 2px;
    border-radius: 2px;
    background: #0052cc;
    content: "";
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 140ms ease;
}

.footer-social-links .footer-social-link:hover {
    color: #0052cc !important;
}

.footer-social-links .footer-social-link:hover::after {
    transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
    .footer-social-links .footer-social-link,
    .footer-social-links .footer-social-link::after {
        transition: none;
    }

    .footer-social-links .footer-social-link:hover {
        transform: none;
    }
}

/* About page styling */
#sec1 {
    background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJklEQVQIW2NkAIILFy78NzAwYATRjCABZEGwAEwFiA1WBlIOUwkA72gTdDIYVO4AAAAASUVORK5CYII=) repeat;
}

/* Profile page styling */
.profile-head {
    background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJklEQVQIW2NkAIILFy78NzAwYATRjCABZEGwAEwFiA1WBlIOUwkA72gTdDIYVO4AAAAASUVORK5CYII=) repeat;
    padding: 70px 0px 30px 20px;
}
.profile-body {
    padding: 4px 0px;
}

.text-page {
    padding: 120px 0;
}

#map-outer {
    height: 440px;
    padding: 40px 20px;
    margin-bottom: 20px;
    background-color:#FFF
}

#map-container {
    height: 400px
}

.img-dim {
    opacity: 0.5;
    box-shadow: inset 0px 0px 64px 64px #EA1717, 0px 0px 4px 4px #EA1717;
}

.img-circle {
    border-radius: 50%; 
}

.img-circle-border {
    border-radius: 50%;
    border: 2px solid #0275d8;
}

#profile-picture-position
{
    padding-top: 7px;
    margin-top: 0px;
    border-top: 0px;
}
/* Authentication forms */
.form-box form,
.form-box .form-message {
    max-width: 330px;
    padding: 15px;
    margin: 0 auto;
}

.form-box form .checkbox {
  margin-bottom: 10px;
}

.form-box form .checkbox {
  font-weight: normal;
}

.form-box form .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 6px !important;
  font-size: 16px;
}



#subject-card-title {
    font-size: 20px;
}

#subject-card-subtext {
    font-size: 15px;
}

#profile-text {
    font-size: 17px;
}

.subject-card-text-position {
    padding: 10px;
    margin: 0px;
    border: 0px;
}


.nav-height {
    height: 60px;
}

.jumbo-padding {
    padding: 0px;
    margin: 0px;
    border: 0px;
}

.nav-padding {
    padding: 0px;
    margin-left: 15%;
    margin-right: 15%;
    border: 0px;
}

.content-padding {
    height: 55px;
}


.jumbo-background-color-light {
    background-color: rgb(248,248,248);
}

.jumbo-background-color-dark {
    background-color: rgb(252,252,252);
}

.cardlink {
    text-decoration: none;
}

.cardlink:hover {
    text-decoration: none;
}

.description-font {
    padding: 3px;
    text-align: center;
}

.description-font-position {
    padding-left: 30px;
    margin: 0px;
    border: 0px;
}

.list-item-position {
    padding-left: 7px;
}

.imageClip {
    width: 100%;
    height: auto;
    overflow: hidden;
    padding-top: 7px;
    padding-bottom: 7px;
}

hr {
    clear: both;
    display: block;
    width: 100%;
    height: 5px;
}

.arrow-up {
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid rgb(150,150,150);
}

.arrow-down {
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid rgb(150,150,150);
}

.arrow-right {
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid black;
}

.arrow-left {
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-right: 20px solid black;
}

.jumbo-color-dark {
    color: rgb(248,248,248);
}

.thumbs {
    text-decoration: none;
    color: rgb(165,165,165);
}

.thumbs-chosen {
    text-decoration: none;
    color: #007bff;
}

.thumbs:hover {
    text-decoration: none;
    color: #007bff;
}

.thumbs-chosen:hover {
    text-decoration: none;
    color: #007bff;
}

.thumbs-offline {
    text-decoration: none;
    color: rgb(165,165,165);
}

.navbar-nav > li {
    float: left;
    position: relative;
}

/*.navbar-nav .active a::after{*/
    /*border-bottom: 2px solid #007bff;*/
    /*content: " ";*/
    /*left: 0;*/
    /*position: absolute;*/
    /*right: 0;*/
/*}*/

#navbarcustomactive .active {
    color:#253858 !important;
}

@media only screen and (max-width : 992px) {
    .navbar-nav .active a::after {
        border-bottom: transparent;
    }

    .content-padding {
        height: 220px !important;;
    }

    #site_title {
        font-size: 46px !important;;
    }
    #site_subtitle {
        font-size: 19px !important;;
    }
    #cover_home {
        padding-top: 60px !important;;
    }
    #site_title_div {
        width: 332px !important;
    }

    #site_title_div4 {
         text-align: center !important;
    }


    #site_title_div2 {
        width: 332px !important;
        height: 102px !important;
    }
       #site_title_div3 {
        width: 300px !important;
        height: 85px !important;
    }
}

.btn:active {
   outline: none !important;
   box-shadow: none !important;
}

.comments_show_more {
    color: #007bff;
}

.btn-hover:hover
{
background-image:none !important;
color: rgba(0, 0, 0, .91) !important;
}

.dropdown-toggle-no-arrow::after {
    display:none !important;
}

.card {
    border-radius: 0;
}

#mainNav {
    position: static;
    padding: 0px;
    top: 0px;
    position: absolute;
    width: 100%;
    border-bottom: 0px solid #F2F2F2;
}

.page-link{
  color:#0052CC;
}

.page-link:hover {
    color:#0052CC;
}

.page-link:active {
    color: white;
}

.btn-primary{
  background-color:var(--pi-action-primary, #173B5E);
  border-color:var(--pi-action-primary, #173B5E);
}

a {
  color:rgba(0, 0, 0, .82);
  border-color:rgba(0, 0, 0, .82);
}

.text-primary {
  color:#0052CC !important;
  border-color:#0052CC !important;
}

.badge-primary {
  background-color:#0052CC !important;
  border-color:#0052CC !important;
}

a:hover {
    color:rgba(0, 0, 0, .82);
}

.text-dark {
   color:rgba(0, 0, 0, .82) !important;
  border-color:rgba(0, 0, 0, .82) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    border-color: currentColor;
    color: inherit;
    font-family: inherit;
}


/* If the screen size is 701px wide or more, set the font-size of <div> to 80px */
@media screen and (min-width: 801px) {
  div.reading-font {
    font-size: 20px;
  }
}

/* If the screen size is 600px wide or less, set the font-size of <div> to 30px */
@media screen and (max-width: 800px) and (min-width: 601px) {
  div.reading-font {
    font-size: 20px;
  }
}

/* If the screen size is 600px wide or less, set the font-size of <div> to 30px */
@media screen and (max-width: 600px){
  div.reading-font {
    font-size: 18px;
  }
}

/* If the screen size is 600px wide or less, set the font-size of <div> to 30px */
@media screen and (max-width: 600px){
  .cta-button {
      font-size: 19px !important;
  }

  h1.heading1-font {
    font-size: 28px;
  }

  h2.heading2-font {
    font-size: 28px;
  }
}

/* If the screen size is 701px wide or more, set the font-size of <div> to 80px */
@media screen and (min-width: 601px) {
  div.loading_spinner {
    font-size: 24px; position: fixed;
                z-index: 1031; top: 38%; left: 46%; transform: translate(-50%, -50%); min-width: 400px;
  }
}

/* If the screen size is 600px wide or less, set the font-size of <div> to 30px */
@media screen and (max-width: 600px){
  div.loading_spinner {
    font-size: 18px; position: fixed;
                z-index: 1031; top: 42%; left: 46%; transform: translate(-50%, -50%); min-width: 300px;
  }
}

.reading-font,
.reading-font > p,
.reading-font > ol > li,
.reading-font > ol > li > p,
.reading-font > ul > li,
.reading-font > ul > li > p,
.reading-font > div {
    color: inherit;
    font-family: var(--pi-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    text-align: left;
}

.reading-font > p > a {
    text-decoration: none !important;
    box-shadow: inset 0 0px 0 white, inset 0 -1px 0 rgba(0, 0, 0, .82) !important;
    text-align: left;
}

.sm-button-follow {
    border-color:rgba(0,0,0,.78) !important;
    color:rgba(0,0,0,.78) !important;
    background-color: transparent !important;
    font-size: 12px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 0px;
    padding-bottom: 0px;
    margin: 3px;
}

.lg-button-follow, .lg-button-follow:hover
{   text-decoration: none !important;
color: rgba(0,0,0,.78) !important;
    border-color:rgba(0,0,0,.78) !important;
}

.lg-button-signup, .lg-button-signup:hover
{   text-decoration: none !important;
    color: rgba(255, 255, 255, 1.0) !important;
    border-color:transparent !important;
    background-color:rgba(0,0,0,.78) !important;
}


/*.text-primary {*/
  /*color:#0052CC !important;*/
  /*border-color:#0052CC !important;;*/
/*}*/

.btn { cursor: pointer !important; }



.outer {
  display: table;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.middle {
  display: table-cell;
  vertical-align: middle;
}

.inner {
  margin-left: auto;
  margin-right: auto;
  width: 95%;
  max-width: 800px;
  /*whatever width you want*/
}

.signin, .signin:hover
{   text-decoration: none;
color: #0052CC; border-color: #0052CC;
}

.div-outline-dark {
    font-size: 13px;
    padding-bottom: 10px;
    height: 35px;
    border: 1px solid #868e96;
    background-color: rgba(0, 0, 0, 0.05) !important;
    color: rgba(0,0,0,.68) !important;
    border-color: transparent !important;
}

.div-outline-dark:hover
{
     color:#868e96; !important;
     border-color: transparent !important;
     background-color: rgba(0, 0, 0, 0.1) !important;
     text-decoration:none;
     cursor:pointer;
}

.div-outline-blue {
    font-size: 13px;
    padding-bottom: 10px;
    height: 35px;
    border: 1px solid #868e96;
    background-color: rgba(0, 120, 215, 0.1) !important;
    color: rgba(0,0,0,.68) !important;
    border-color: transparent !important;
}

.div-outline-blue:hover
{
     color:#868e96; !important;
     border-color: transparent !important;
     background-color: rgba(0, 120, 215, 0.21) !important;
     text-decoration:none;
     cursor:pointer;
}

.fa-dark {
    color: rgba(0, 0, 0, .74) !important;
    text-decoration: none !important;
    padding: 8px;
    font-size: 22px;
    outline: none !important;
}

.fa-dark:hover {
    color: rgba(0, 0, 0, .91) !important;
    text-decoration:none !important;
    padding: 8px;
    font-size: 22px;
    outline: none !important;
}

.pi-social-logo {
    display: block;
    height: 20px;
    width: 20px;
}

.pi-social-share-link {
    align-items: center;
    border-radius: 8px;
    color: #334155 !important;
    display: inline-flex;
    justify-content: center;
    margin: 0 2px;
    text-decoration: none !important;
    transition: background-color 160ms ease, color 160ms ease;
}

.pi-social-share-link:hover {
    background: rgba(15, 23, 42, 0.07);
    color: #0052cc !important;
    text-decoration: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .pi-social-share-link {
        transition: none;
    }
}

.blog_message > p img {
   height: auto !important;
   max-width: 100% !important;
}

/** Social Button CSS **/

.share-btn {
    display: inline-block;
    color: #ffffff;
    border: none;
    padding: 0.5em;
    width: 4em;
    outline: none;
    text-align: center;
}

.share-btn:hover {
  color: #eeeeee;
}

.share-btn:active {
  position: relative;
  top: 2px;
  box-shadow: none;
  color: #e2e2e2;
  outline: none;
}

.text-muted-dark {
    color: rgb(100, 100, 100) !important;
}

#dropdown-search-list .selected {
    text-decoration: none !important;
    background-color: rgba(0,0,0,0.05) !important;;
}

#nav-bar-dropdown-search-list .selected {
    text-decoration: none;
    background-color: rgba(0,0,0,0.05);
}

#form-dropdown-search-list .selected {
    text-decoration: none;
    background-color: rgba(0,0,0,0.05);
}

#bench-dropdown-search-list .selected {
    text-decoration: none;
    background-color: rgba(0,0,0,0.05);
}

.has-search .form-control {
    padding-left: 2.375rem;
}

.has-search .form-control-feedback {
    position: absolute;
    z-index: 2;
    display: block;
    width: 2.375rem;
    height: 2.375rem;
    line-height: 2.375rem;
    text-align: center;
    pointer-events: none;
    color: #aaa;
}


@media only screen and (max-width: 800px) {

	/* Force table to not be like tables anymore */
	#no-more-tables table,
	#no-more-tables thead,
	#no-more-tables tbody,
	#no-more-tables th,
	#no-more-tables td,
	#no-more-tables tr {
		display: block;
	}

	/* Hide table headers (but not display: none;, for accessibility) */
	#no-more-tables thead tr {
		position: absolute;
		top: -9999px;
		left: -9999px;
	}

	#no-more-tables tr { border: 16px solid #e9ecef; }

	#no-more-tables td {
		/* Behave  like a "row" */
		border: none;
		/*border-bottom: 1px solid #eee;*/
		position: relative;
		padding-left: 50%;
		white-space: normal;
		text-align:left;
        /*border: 0.1px solid #e9ecef;*/
	}

	#no-more-tables td:before {
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 10.5px;
		left: 10.5px;
		width: 45%;
		padding-right: 10px;
		white-space: nowrap;
		text-align:left;
		font-weight: bold;
	}

	/*
	Label the data
	*/
	#no-more-tables td:before { content: attr(data-title); }
}

.checkboxes label {
  display: inline-block;
  padding-right: 10px;
  white-space: nowrap;
}
.checkboxes input {
  vertical-align: middle;
}
.checkboxes label span {
  vertical-align: middle;
}

.no-border{
  border:none !important;
  border-bottom: 0 none !important;
border-top: 0 none !important;
}

.table {
  background-color: var(--pi-paper);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.9375rem;
  line-height: 1.45;
}

/* Component tables can still choose their own density and mobile layout. */
.table > :where(thead, tbody, tfoot) > :where(tr) > :is(th, td) {
  border-top: 0;
  border-bottom: 1px solid var(--pi-rule);
  padding: 0.65rem 0.85rem;
  vertical-align: middle;
}

/* Limit the tint to column headings. A date or symbol marked as a row
   header shares the observation row surface while keeping its HTML semantics. */
.table > thead > :where(tr) > :is(th, td) {
  background-color: var(--pi-surface-muted);
  border-bottom: 1px solid var(--pi-rule-strong);
  color: var(--pi-ink-900);
  font-size: 0.875rem;
  font-weight: 600;
}

.table > tbody > :where(tr) > th[scope="row"] {
  font-weight: 500;
}

.table > :where(thead, tbody, tfoot) > :where(tr) > .pi-table-number {
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.table-hover > tbody > :where(tr:hover) {
  background-color: var(--pi-canvas);
  color: var(--pi-ink-900);
}

.share-btn.twitter     { background: #55acee; }
.share-btn.google-plus { background: #dd4b39; }
.share-btn.facebook    { background: #3B5998; }
.share-btn.stumbleupon { background: #EB4823; }
.share-btn.reddit      { background: #ff5700; }
.share-btn.linkedin    { background: #4875B4; }
.share-btn.email       { background: #444444; }

/* Consent-neutral invitation shown only to relevant signed-in researchers. */
.pi-marketing-prompt-wrap {
    margin-block: clamp(20px, 4vw, 40px);
}

.pi-marketing-prompt {
    align-items: center;
    border-left: 4px solid var(--pi-blue-600, #155eef);
    box-shadow: var(--pi-shadow-sm, 0 8px 24px rgba(18, 32, 51, 0.08));
    display: grid;
    gap: clamp(20px, 4vw, 48px);
    grid-template-columns: minmax(0, 1fr) auto;
    padding: clamp(24px, 4vw, 36px);
}

.pi-marketing-prompt__content {
    max-width: 720px;
    min-width: 0;
}

.pi-marketing-prompt__content .pi-eyebrow {
    margin: 0 0 8px;
}

.pi-marketing-prompt__content h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    margin: 0 0 10px;
}

.pi-marketing-prompt__content > p:not(.pi-eyebrow) {
    color: var(--pi-ink-650, #536579);
    margin: 0;
}

.pi-marketing-prompt__assurance {
    font-size: 0.875rem;
    margin-top: 8px !important;
}

.pi-marketing-prompt__actions {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.pi-marketing-prompt__actions form {
    margin: 0;
}

.pi-marketing-prompt__action {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    text-align: center;
    white-space: nowrap;
}



@media screen and (max-width: 800px) {
    .pi-marketing-prompt {
        align-items: start;
        grid-template-columns: minmax(0, 1fr);
    }

    .pi-marketing-prompt__actions {
        justify-content: flex-start;
    }
}

@media screen and (max-width: 600px) {
    .pi-marketing-prompt {
        padding: 22px 20px;
    }

    .pi-marketing-prompt__actions,
    .pi-marketing-prompt__actions form {
        width: 100%;
    }

    .pi-marketing-prompt__action {
        min-height: 44px;
        white-space: normal;
        width: 100%;
    }
}

.pi-email-preferences {
    padding-block: clamp(32px, 7vw, 72px);
}

.pi-email-preferences__panel {
    margin-inline: auto;
    max-width: 720px;
    padding: clamp(24px, 5vw, 48px);
}

.pi-email-preferences__panel h1 {
    font-size: clamp(2rem, 5vw, 2.75rem);
    margin: 0 0 16px;
}

.pi-email-preferences__panel > p {
    color: var(--pi-ink-650, #536579);
    max-width: 620px;
}

.pi-email-preferences__panel form {
    border-top: 1px solid var(--pi-rule, #d8e2ec);
    margin-top: 28px;
    padding-top: 24px;
}

.pi-email-preferences__choice {
    column-gap: 10px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    padding-left: 0;
}

.pi-email-preferences__choice input {
    margin-top: 5px;
}

.pi-email-preferences__choice small {
    grid-column: 2;
}

.pi-email-preferences__save {
    margin-top: 24px;
    min-height: 44px;
    padding-inline: 20px;
}

.pi-email-preferences__panel .alert {
    margin-top: 24px;
}

@media screen and (max-width: 600px) {
    .pi-email-preferences__save {
        width: 100%;
    }
}

/* Final accessibility layer: loaded after legacy styles and inline-safe through
   deliberately stronger selectors. */
[hidden] { display: none !important; }

/* Preserve the normal appearance for pointer and keyboard focus, matching the
   retained no-decoration preference. Focus mechanics remain unchanged. */
html body :focus,
html body :focus-visible {
  outline: none !important;
}

/* Highcharts draws its focus border as a separate SVG element. */
.highcharts-focus-border { display: none !important; }

.touch-target {
  min-height: 44px !important;
  min-width: 44px !important;
}

.audit-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.audit-table-scroll > table {
  min-width: 680px;
}

/* The repository vendors Font Awesome 4.7. Keep the FA5-style prefixes used
   by legacy templates functional without making the application shell depend
   on a third-party CDN. */
.fas,
.far,
.fab {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fa-chart-line::before { content: "\f201"; }
.fa-chart-pie::before { content: "\f200"; }
.fa-dollar-sign::before { content: "\f155"; }
.fa-money-bill-wave::before { content: "\f0d6"; }
.fa-pen::before { content: "\f040"; }
.fa-redo::before { content: "\f01e"; }
.fa-trash-alt::before { content: "\f1f8"; }
.fa-wallet::before { content: "\f09d"; }

.skip-link {
  background: #fff;
  color: #075fcc;
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: -5rem;
  z-index: 1100;
}

.skip-link:focus {
  top: 1rem;
}

@media (min-width: 1200px) {
  .navbar-expand-audit {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }

  .navbar-expand-audit > .container {
    flex-wrap: nowrap;
    max-width: 100%;
  }

  .navbar-expand-audit .navbar-nav {
    flex-direction: row;
  }

  .navbar-expand-audit .navbar-toggler {
    display: none !important;
  }

  .navbar-expand-audit .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
}

@media (max-width: 1199.98px) {
  #mainNav .container {
    max-width: 100%;
  }

  #navbarResponsive {
    max-height: calc(100vh - 70px);
    overflow-y: auto;
  }
}

@media only screen and (max-width: 992px) {
  .site-subtitle {
    font-size: 22px !important;
  }
}

body {
  background: var(--pi-canvas);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  margin: 0;
  max-width: 100%;
}

/* Keep decorative arrows outside the label's underline. The inner inline
   block is required because a direct child of a flex link is blockified. */
.pi-link-arrow > span,
a :is([class*="fa-arrow-"], [class*="fa-long-arrow-"], [class*="fa-chevron-"])::before {
  display: inline-block;
  text-decoration: none;
}

.pi-page {
  background: var(--pi-canvas);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  min-height: 60vh;
}

.pi-page--marketing {
  min-width: 0;
  overflow: clip;
}

.pi-page--marketing h1 {
  font-size: var(--pi-title-marketing);
}

.pi-page *,
.pi-page *::before,
.pi-page *::after,
.pi-footer *,
.pi-footer *::before,
.pi-footer *::after {
  box-sizing: border-box;
}

.pi-container {
  margin-inline: auto;
  max-width: 1200px;
  padding-inline: clamp(20px, 4vw, 48px);
  width: 100%;
}

.pi-page,
.pi-page main,
.pi-container,
.pi-page [class*="__grid"],
.pi-page [class*="__content"] {
  min-width: 0;
}

.pi-reading-width {
  max-width: 720px;
}

.pi-display {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.06;
}

.pi-eyebrow {
  color: var(--pi-blue-700);
  font-family: var(--pi-font-data);
  font-size: 0.75rem;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pi-data {
  font-family: var(--pi-font-data);
  font-variant-numeric: tabular-nums;
}

.pi-muted {
  color: var(--pi-ink-650);
}

.pi-panel {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
}

.pi-page-header {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: 0 0 2rem;
}

.pi-page-header__copy {
  max-width: 760px;
  min-width: 0;
}

.pi-page-header h1 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: var(--pi-title-workspace);
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
}

.pi-page-header .pi-eyebrow + h1 {
  margin-top: 0.75rem;
}

.pi-page-header__intro {
  color: var(--pi-ink-650);
  line-height: 1.65;
  margin: 1rem 0 0;
}

.pi-page-header__meta {
  color: var(--pi-ink-650);
  margin: 0.75rem 0 0;
}

.pi-page-header__actions {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  gap: 0.75rem;
}

.pi-form-field {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 1rem;
}

.pi-form-field label,
.pi-form-field legend {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-form-field input:not([type="checkbox"]):not([type="radio"]),
.pi-form-field select,
.pi-form-field textarea {
  background: var(--pi-paper);
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font: inherit;
  min-height: 44px;
  padding: 0.65rem 0.75rem;
  width: 100%;
}



.pi-form-field [aria-invalid="true"],
.pi-form-field :invalid:not(:placeholder-shown) {
  border-color: var(--pi-red-650);
}

.pi-form-field input:disabled,
.pi-form-field select:disabled,
.pi-form-field textarea:disabled {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-650);
  cursor: not-allowed;
}

.pi-filter-panel {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  min-width: 0;
  padding: 1.5rem;
}

.pi-status {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-left-width: 4px;
  border-radius: var(--pi-radius-sm);
  display: grid;
  gap: 0.25rem;
  padding: 0.875rem 1rem;
}

.pi-status--info {
  border-left-color: var(--pi-blue-600);
}

.pi-status--success {
  background: rgba(22, 133, 91, 0.06);
  border-left-color: var(--pi-green-650);
}

.pi-status--warning {
  background: rgba(154, 79, 8, 0.06);
  border-left-color: var(--pi-amber-700);
}

.pi-status--error {
  background: rgba(192, 54, 44, 0.06);
  border-left-color: var(--pi-red-650);
}

.pi-status__title {
  color: var(--pi-ink-900);
}

.pi-status__message {
  color: var(--pi-ink-650);
}

.pi-data-region,
.pi-table-wrap {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.pi-instrument-history-summary .pi-table-wrap {
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  margin: 1rem 0;
}

.pi-instrument-history-summary .table {
  margin: 0;
}

.pi-instrument-history-summary caption {
  color: var(--pi-ink-650);
  font-size: 0.875rem;
  padding: 0.65rem 0.85rem;
}

.pi-chart-frame {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  min-height: 280px;
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  position: relative;
}

.pi-chart-frame__heading {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  justify-content: space-between;
}

.pi-chart-frame__heading h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.25rem;
  margin: 0;
}

.pi-chart-frame__status {
  color: var(--pi-ink-650);
  margin: 0.75rem 0;
}

.pi-chart-frame[data-state="loading"] [data-chart-content],
.pi-chart-frame[data-state="error"] [data-chart-content],
.pi-chart-frame[data-state="empty"] [data-chart-content] {
  visibility: hidden;
}

.pi-chart-frame[data-state="loading"] {
  cursor: progress;
}

.pi-chart-frame[data-state="error"] {
  border-color: var(--pi-red-650);
}

.pi-prose {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1rem;
  line-height: 1.7;
  max-width: 740px;
}

.pi-prose h1,
.pi-prose h2,
.pi-prose h3,
.pi-prose h4,
.pi-prose h5,
.pi-prose h6 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  line-height: 1.25;
}

.pi-prose a:not(.pi-button) {
  color: var(--pi-blue-700);
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 767.98px) {
  .pi-page-header {
    align-items: stretch;
    flex-direction: column;
  }

  .pi-page-header__actions {
    flex-direction: column;
    width: 100%;
  }

  .pi-page-header__actions .pi-button {
    width: 100%;
  }
}

.pi-page--tool,
.pi-page--support,
.pi-page--profile {
  min-width: 0;
  padding-bottom: clamp(3rem, 7vw, 6rem);
  padding-top: var(--pi-space-page-start);
}

.pi-page--tool > .row,
.pi-page--support > .row,
.pi-page--profile > .row {
  margin-left: 0;
  margin-right: 0;
}

.pi-page--tool > .row > .col-lg-2.d-none,
.pi-page--support > .row > .col-lg-2.d-none {
  display: none !important;
}

.pi-page--tool > .row > [class*="col-lg-"],
.pi-page--support > .row > [class*="col-lg-"] {
  flex: 1 1 100%;
  max-width: 100%;
  min-width: 0;
}

.pi-page--tool h1,
.pi-page--support h1,
.pi-page--profile h1 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: var(--pi-title-workspace);
  font-weight: 600;
  line-height: 1.15;
}

.pi-tool-layout {
  align-items: start;
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  min-width: 0;
}

.pi-tool-panel {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.75rem);
}

.pi-tool-workspace {
  max-width: none;
  padding: 0;
}

.pi-tool-workspace > h1 {
  margin: 0;
}

.pi-tool-workspace > .pi-filter-panel {
  margin-top: 1.5rem;
}

.pi-tool-results {
  min-width: 0;
}

.pi-tool-panel table {
  border-collapse: separate;
  border-spacing: 0 0.5rem;
  width: 100%;
}

.pi-filter-table {
  border-spacing: 0 !important;
}

.pi-filter-table th,
.pi-filter-table td {
  padding-bottom: 0.25rem;
  padding-top: 0.25rem;
}

.pi-filter-table th {
  width: 200px;
}

.pi-filter-table .pi-filter-add td {
  padding-top: 0.75rem;
}

.pi-filter-table .pi-filter-actions td {
  padding-top: 0.75rem;
}

.pi-tool-panel th {
  color: var(--pi-ink-650);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 0.65rem 0.75rem 0.65rem 0;
  text-align: left;
}

.pi-tool-panel td {
  min-width: 0;
}

.pi-tool-panel .form-control {
  border-color: var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  min-height: 44px;
  max-width: 100% !important;
}

.pi-page--tool input[type="submit"] {
  min-height: 44px;
}

.pi-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.pi-choice-group label,
.pi-tool-panel .checkbox label {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
  min-height: 44px;
}

.pi-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 680px);
  justify-content: center;
  padding-bottom: clamp(3rem, 7vw, 6rem);
}

.pi-form-layout__panel {
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.pi-form-layout__panel h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.35rem;
  margin: 0 0 1.25rem;
}

.pi-form-layout__form + .pi-status {
  margin-top: 1rem;
}

.pi-contact .pi-page-header {
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.pi-contact .pi-page-header__copy {
  max-width: 700px;
}

.pi-contact .pi-page-header h1 {
  font-family: var(--pi-font-display);
  font-size: clamp(2.5rem, 4vw, 3.25rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.04;
}

.pi-contact__workspace {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-sm);
  display: grid;
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.45fr);
  margin-inline: auto;
  max-width: 960px;
  overflow: hidden;
}

.pi-contact__brief {
  background: var(--pi-surface-inverse);
  color: var(--pi-text-inverse);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: clamp(1.75rem, 4vw, 2.75rem);
}

.pi-contact__brief .pi-eyebrow {
  color: var(--pi-accent-inverse);
  margin: 0 0 1rem;
}

.pi-contact__brief h2 {
  color: var(--pi-text-inverse-strong);
  font-family: var(--pi-font-ui);
  font-size: clamp(1.35rem, 2vw, 1.6rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 0;
}

.pi-contact__brief-intro {
  color: var(--pi-text-inverse);
  line-height: 1.65;
  margin: 1rem 0 0;
}

.pi-contact__brief-list {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.pi-contact__brief-list li {
  color: var(--pi-text-inverse-strong);
  line-height: 1.5;
  padding-left: 1.25rem;
  position: relative;
}

.pi-contact__brief-list li::before {
  background: var(--pi-accent-inverse);
  border-radius: 999px;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  top: 0.55rem;
  width: 6px;
}

.pi-contact__brief-note {
  border-top: 1px solid var(--pi-rule-inverse);
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-top: 1.25rem;
}

.pi-contact__brief-note .pi-data {
  color: var(--pi-accent-inverse);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  margin: 0;
  text-transform: uppercase;
}

.pi-contact__brief-note p:last-child {
  color: var(--pi-text-inverse-muted);
  font-size: 0.875rem;
  line-height: 1.55;
  margin: 0.55rem 0 0;
}

.pi-contact__form-panel {
  min-width: 0;
  padding: clamp(2rem, 5vw, 3.5rem);
}

.pi-contact__form-panel h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: clamp(1.5rem, 2.5vw, 1.85rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0;
}

.pi-contact__form-intro {
  color: var(--pi-ink-650);
  line-height: 1.65;
  margin: 0.75rem 0 1.75rem;
  max-width: 560px;
}

.pi-contact__form .pi-form-field {
  margin-bottom: 1.25rem;
}

.pi-contact__form .form-group {
  margin-bottom: 0;
}

.pi-contact__form label {
  margin-bottom: 0.5rem;
}

.pi-contact__form textarea {
  line-height: 1.6;
  min-height: 180px;
  padding: 0.9rem 1rem;
  resize: vertical;
}

.pi-contact__form textarea::placeholder {
  color: var(--pi-ink-650);
}

.pi-contact__form .pi-button {
  gap: 0.75rem;
}

.pi-contact__button-arrow {
  font-size: 1.05em;
  line-height: 1;
  transition: transform 160ms ease;
}



.pi-contact__form + .pi-status {
  margin-top: 1.25rem;
}

@media (max-width: 767.98px) {
  .pi-contact__workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-contact__brief-note {
    margin-top: 2rem;
  }
}

@media (max-width: 479.98px) {
  .pi-contact__brief,
  .pi-contact__form-panel {
    padding: 1.5rem;
  }

  .pi-contact__form .pi-button {
    justify-content: center;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-contact__button-arrow {
    transition: none;
  }
}

.pi-card-list {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-card-list > * {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.pi-page--support .reading-font,
.pi-page--support .blog_message {
  font-family: var(--pi-font-ui);
  line-height: 1.7;
}

.pi-page--support .card,
.pi-page--profile .card {
  border-color: var(--pi-rule);
  border-radius: var(--pi-radius-md);
}

.pi-control-plain {
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  outline: 0;
}

.pi-tool-search {
  background: var(--pi-paper);
  border: 1px solid #aebdcb;
  max-width: 240px;
  min-height: 44px;
}

.pi-help-icon {
  color: var(--pi-ink-650);
  cursor: help;
  font-size: 0.875rem;
}

.pi-page--profile {
  background: var(--pi-canvas);
  padding-block: clamp(2rem, 6vw, 5rem);
}

.pi-profile-shell {
  margin-inline: auto;
  max-width: 960px;
  min-width: 0;
}

.pi-profile-card {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-sm);
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.pi-profile-card::before {
  background: var(--pi-blue-600);
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 4px;
}

.pi-profile-identity {
  align-items: start;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  grid-template-columns: 136px minmax(0, 1fr) auto;
  padding: clamp(1.5rem, 4.5vw, 3.25rem);
}

.pi-profile-avatar {
  background: var(--pi-surface-muted);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  box-shadow: 0 0 0 5px var(--pi-paper), 0 0 0 6px var(--pi-rule);
  height: 136px;
  overflow: hidden;
  width: 136px;
}

.pi-profile-avatar img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.pi-profile-introduction {
  align-self: center;
  min-width: 0;
}

.pi-profile-introduction .pi-eyebrow {
  margin: 0 0 0.65rem;
}

.pi-page--profile .pi-profile-name {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(2.25rem, 5vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.02;
  margin: 0;
  overflow-wrap: anywhere;
}

.pi-profile-summary {
  color: var(--pi-ink-650) !important;
  font-family: var(--pi-font-ui);
  font-size: 1.05rem;
  line-height: 1.65;
  margin: 1rem 0 0;
  max-width: 620px;
  overflow-wrap: anywhere;
}

.pi-profile-summary--empty {
  max-width: 520px;
}

.pi-profile-actions {
  align-items: flex-start;
  display: flex;
}

.pi-profile-actions svg {
  flex: 0 0 auto;
}

.pi-profile-ledger {
  background: #fbfdff;
  border-top: 1px solid var(--pi-rule);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding-left: 4px;
}

.pi-profile-ledger > div {
  min-width: 0;
  padding: 1.25rem clamp(1.5rem, 4.5vw, 3.25rem);
}

.pi-profile-ledger > div + div {
  border-left: 1px solid var(--pi-rule);
}

.pi-profile-ledger dt {
  color: var(--pi-ink-650);
  font-family: var(--pi-font-data);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.11em;
  line-height: 1.4;
  margin: 0 0 0.45rem;
  text-transform: uppercase;
}

.pi-profile-ledger dd {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  font-size: 0.92rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
  margin: 0;
}

.pi-profile-collections {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.5rem;
}

.pi-profile-collection {
  padding: clamp(1.5rem, 4vw, 2.25rem);
}

.pi-profile-collection__header {
  margin-bottom: 1.25rem;
}

.pi-profile-collection__header .pi-eyebrow {
  margin: 0 0 0.4rem;
}

.pi-profile-collection__header h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.65rem, 3vw, 2rem);
  letter-spacing: -0.025em;
  margin: 0;
}

.pi-profile-course-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pi-profile-course {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  color: var(--pi-ink-900);
  display: grid;
  min-width: 0;
  overflow: hidden;
  text-decoration: none;
}

.pi-profile-course:hover {
  border-color: var(--pi-rule-strong);
  box-shadow: var(--pi-shadow-sm);
  color: var(--pi-ink-900);
  text-decoration: none;
}

.pi-profile-course img {
  aspect-ratio: 1.8 / 1;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.pi-profile-course__body {
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
}

.pi-profile-course__body > strong {
  font-size: 1.02rem;
  line-height: 1.35;
}

.pi-profile-course__body > span {
  color: var(--pi-ink-650);
  font-size: 0.88rem;
}

.pi-profile-course__body .pi-profile-course__price {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  margin-top: 0.35rem;
}

@media (max-width: 767.98px) {
  .pi-page--profile {
    padding-block: 1.25rem 3rem;
  }

  .pi-profile-identity {
    gap: 1.25rem;
    grid-template-columns: 88px minmax(0, 1fr);
    padding: 1.5rem;
  }

  .pi-profile-avatar {
    height: 88px;
    width: 88px;
  }

  .pi-page--profile .pi-profile-name {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .pi-profile-summary {
    font-size: 1rem;
    margin-top: 0.75rem;
  }

  .pi-profile-actions {
    grid-column: 1 / -1;
  }

  .pi-profile-actions .pi-button {
    width: 100%;
  }

  .pi-profile-ledger {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-profile-ledger > div {
    padding: 1.1rem 1.5rem;
  }

  .pi-profile-ledger > div + div {
    border-left: 0;
    border-top: 1px solid var(--pi-rule);
  }
}

@media (max-width: 399.98px) {
  .pi-profile-identity {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-profile-avatar {
    height: 80px;
    width: 80px;
  }
}

@media (max-width: 767.98px) {
  .pi-tool-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-tool-panel {
    padding: 1rem;
  }

  .pi-tool-panel table,
  .pi-tool-panel tbody,
  .pi-tool-panel tr,
  .pi-tool-panel th,
  .pi-tool-panel td {
    display: block;
    width: 100%;
  }

  .pi-tool-panel th {
    padding-bottom: 0.35rem;
  }

  .pi-filter-table th {
    width: auto;
  }

  .pi-filter-table tr + tr {
    margin-top: 0.75rem;
  }

  .pi-tool-search {
    max-width: none;
    width: 100%;
  }
}

.pi-page--content,
.pi-page--community {
  min-width: 0;
  padding-bottom: clamp(3rem, 7vw, 6rem);
  padding-top: var(--pi-space-page-start);
}

.pi-page--content > .row,
.pi-page--community > .row {
  margin-left: 0;
  margin-right: 0;
}

.pi-page--content > .row > .col-lg-2.d-none,
.pi-page--community > .row > .col-lg-2.d-none {
  display: none !important;
}

.pi-page--content > .row > [class*="col-lg-"],
.pi-page--community > .row > [class*="col-lg-"] {
  flex: 1 1 100%;
  max-width: 100%;
  min-width: 0;
}

.pi-page--content h1,
.pi-page--community h1 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: var(--pi-title-reading);
  line-height: 1.08;
}

.pi-page--content .blog_message,
.pi-page--content .reading-font,
.pi-page--community .blog_message,
.pi-page--community .reading-font {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1rem;
  line-height: 1.75;
}

.pi-page--content .card,
.pi-page--community .card {
  background: var(--pi-paper);
  border-color: var(--pi-rule);
  border-radius: var(--pi-radius-md);
  box-shadow: none;
}

.pi-page--content img,
.pi-page--content iframe,
.pi-page--community img,
.pi-page--community iframe {
  max-width: 100%;
}

.pi-content-list {
  display: grid;
  gap: 1rem;
  margin-inline: auto;
  max-width: 900px;
}

.pi-content-card {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  min-width: 0;
  overflow: hidden;
}

.pi-content-card--featured {
  border-top: 3px solid var(--pi-blue-600);
}

.pi-content-card__media {
  display: block;
  max-height: 420px;
  overflow: hidden;
}

.pi-content-card__media img {
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.pi-content-card__body {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.pi-content-card h2 {
  font-family: var(--pi-font-display);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.2;
  margin: 0.4rem 0 0.75rem;
}

.pi-content-card h2 a {
  color: var(--pi-ink-900);
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}

.pi-content-card h2 a:hover {
  color: var(--pi-blue-700);
  text-decoration: none;
}

.pi-content-meta {
  align-items: center;
  color: var(--pi-ink-650);
  display: flex;
  font-size: 0.75rem;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin: 0;
}

.pi-content-meta__item {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}

.pi-content-meta a {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-inline-loader {
  font-size: 1rem;
  left: auto !important;
  margin: 1.5rem auto;
  max-width: 32rem;
  min-width: 0 !important;
  position: static !important;
  transform: none !important;
  width: 100%;
}

.pi-content-card__excerpt {
  color: var(--pi-ink-650);
  line-height: 1.65;
  margin: 0;
  max-width: 68ch;
}

.pi-content-card__footer {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1.25rem;
  padding-top: 0.75rem;
}

.pi-content-card__footer .pi-content-share {
  margin-left: auto;
}

.pi-page--content > .pi-page-header {
  margin-inline: auto;
  max-width: 900px;
}

.pi-content-column {
  margin-inline: auto;
  max-width: 760px;
  min-width: 0;
}

.pi-content-back {
  display: inline-flex;
  margin-bottom: 1.25rem;
}

.pi-page--content > .pi-content-back {
  display: flex;
  margin-inline: auto;
  max-width: 900px;
}

.pi-content-article {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  padding: clamp(1.5rem, 5vw, 3rem);
}

.pi-content-article__header {
  border-bottom: 1px solid var(--pi-rule);
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}

.pi-content-article__header h1 {
  font-size: var(--pi-title-reading);
  margin: 0 0 1.5rem;
  overflow-wrap: anywhere;
}

.pi-content-article .pi-community-note {
  margin-bottom: 1.75rem;
}

.pi-content-article .pi-prose {
  font-size: 1.0625rem;
  line-height: 1.8;
}

.pi-content-article .pi-prose h1,
.pi-content-article .pi-prose h2 {
  font-family: var(--pi-font-display);
  font-size: clamp(1.55rem, 3vw, 2rem);
  line-height: 1.2;
  margin-top: 2rem;
}

.pi-content-article .pi-prose h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
}

.pi-content-article__footer {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 2rem;
  padding-top: 1.25rem;
}

.pi-content-share {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.pi-content-share__label {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.pi-content-author {
  align-items: center;
  border-bottom: 1px solid var(--pi-rule);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 72px minmax(0, 1fr);
  margin-top: 2rem;
  padding: 0 0 2rem;
}

.pi-content-author > img {
  height: 72px;
  object-fit: cover;
  width: 72px;
}

.pi-content-author h2 {
  font-family: var(--pi-font-display);
  font-size: 1.75rem;
  margin: 0.2rem 0 0;
}

.pi-content-author p:last-child {
  color: var(--pi-ink-650);
  margin: 0.5rem 0 0;
}

.pi-related-content {
  margin-top: 3rem;
}

.pi-section-heading--compact {
  margin-bottom: 1.25rem;
}

.pi-section-heading--compact h2 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  margin-bottom: 0;
}

.pi-related-content .pi-content-card h3 {
  font-family: var(--pi-font-display);
  font-size: 1.35rem;
  line-height: 1.25;
  margin: 0 0 0.65rem;
}

.pi-related-content .pi-content-card h3 a {
  color: var(--pi-ink-900);
}

@media (max-width: 575.98px) {
  .pi-content-card__footer,
  .pi-content-article__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-content-card__footer .pi-content-share {
    margin-left: 0;
  }

  .pi-content-article {
    padding: 1.25rem;
  }
}

.pi-page--content .pi-tag-list a,
.pi-page--community .pi-tag-list a {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
  padding: 0 0.25rem;
}

.pi-community-thread {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.pi-page-header--reading h1 {
  font-family: var(--pi-font-display);
  font-size: var(--pi-title-reading);
}

.pi-community-note {
  align-items: center;
  background: #eef4ff;
  border: 1px solid #bfd0f5;
  border-radius: var(--pi-radius-md);
  color: var(--pi-ink-900);
  display: flex;
  gap: 0.875rem;
  margin-bottom: 1.5rem;
  padding: 0.875rem 1rem;
}

.pi-community-note > span {
  color: var(--pi-blue-700);
}

.pi-community-note p {
  margin: 0;
}

.pi-community-note a {
  color: var(--pi-blue-700);
  font-weight: 600;
  text-underline-offset: 3px;
}

.pi-community-toolbar {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.pi-community-toolbar--end {
  justify-content: flex-end;
}

.pi-community-toolbar .pi-toolbar {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}

.pi-community-toolbar .pi-text-link {
  margin-top: 0;
}

.pi-thread-list {
  display: grid;
  gap: 0.75rem;
}

.pi-thread {
  align-items: start;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  display: grid;
  gap: 1rem;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 1.25rem;
}

.pi-thread__avatar,
.pi-author__avatar {
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
}

.pi-thread__avatar img,
.pi-author__avatar img {
  display: block;
}

.pi-thread__body {
  min-width: 0;
}

.pi-thread__title {
  font-family: var(--pi-font-ui);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}

.pi-thread__title a {
  color: var(--pi-ink-900);
  text-decoration: none;
  text-underline-offset: 3px;
}

.pi-thread__title a:hover {
  color: var(--pi-blue-700);
  text-decoration: none;
}

.pi-thread__meta {
  color: var(--pi-ink-650);
  font-size: 0.8125rem;
  line-height: 1.6;
  margin: 0.5rem 0 0.75rem;
}

.pi-thread__meta a {
  color: var(--pi-ink-900);
  font-weight: 500;
}

.pi-page--community .pi-tag-list {
  gap: 0.375rem;
}

.pi-page--community .pi-tag-list a {
  background: var(--pi-surface-muted);
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  min-height: 30px;
  padding: 0.3rem 0.65rem;
  text-decoration: none;
}

.pi-page--community .pi-tag-list a:hover {
  background: var(--pi-paper);
  border-color: var(--pi-rule-strong);
  color: var(--pi-ink-900);
}

.pi-forum-column {
  margin-inline: auto;
  max-width: 860px !important;
}

.pi-forum-article {
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.pi-reply {
  overflow: hidden;
  padding: 0;
}

.pi-forum-article,
.pi-reply {
  border: 1px solid var(--pi-rule) !important;
  border-radius: var(--pi-radius-md);
  box-shadow: none;
  margin: 0 0 1rem;
  max-width: 860px;
  width: 100%;
}

.pi-reply__header {
  border-bottom: 1px solid var(--pi-rule);
  padding: 1.25rem 1.5rem;
}

.pi-forum-actions,
.pi-reply__header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.pi-forum-return-link {
  align-items: center;
  align-self: flex-start;
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-650);
  display: inline-flex;
  font-family: var(--pi-font-ui);
  font-size: 0.875rem;
  font-weight: 600;
  gap: 0.5rem;
  margin-left: -0.625rem;
  min-height: 44px;
  padding: 0 0.625rem;
  text-decoration: none;
}

.pi-forum-return-link svg {
  flex: 0 0 auto;
  height: 1rem;
  width: 1rem;
}

.pi-forum-return-link:hover {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-900);
  text-decoration: none;
}

.pi-staff-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.pi-staff-actions form {
  margin: 0;
}

.pi-action-link {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--pi-ink-650);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.8125rem;
  gap: 0.35rem;
  min-height: 44px;
  padding: 0.45rem 0.55rem;
  text-decoration: none;
}

.pi-action-link:hover {
  color: var(--pi-ink-900);
  background: var(--pi-surface-muted);
  text-decoration: none;
}



.pi-action-link--danger,
.pi-action-link--danger:hover {
  color: var(--pi-red-650);
}

.pi-forum-article__heading h1 {
  font-size: var(--pi-title-reading);
  margin: 0.4rem 0 1.5rem;
  overflow-wrap: anywhere;
}

.pi-forum-eyebrow {
  color: var(--pi-blue-700);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.3;
  margin: 1.5rem 0 0;
  text-transform: uppercase;
}

.pi-author {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  min-width: 0;
}

.pi-author__identity {
  min-width: 0;
}

.pi-author--followable {
  flex: 1 1 auto;
}

.pi-author--followable .pi-author__identity {
  flex: 1 1 auto;
}

.pi-author__name-row {
  align-items: center;
  column-gap: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
}

.pi-author__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pi-button.pi-follow-button {
  align-self: center;
  font-size: 0.875rem;
  letter-spacing: 0.01em;
  min-height: 44px;
  padding: 0.625rem 0.9rem;
  white-space: nowrap;
}

.pi-author__identity > a,
.pi-author__name {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-author__identity p {
  color: var(--pi-ink-650);
  font-size: 0.8125rem;
  margin: 0.2rem 0 0;
}

.pi-forum-share {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-left: auto;
}

.pi-forum-share .pi-social-share-link {
  margin: 0;
}

@media (max-width: 575.98px) {
  .pi-author--followable {
    align-items: flex-start;
    column-gap: 0.75rem;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    row-gap: 0.5rem;
  }

  .pi-author--followable > .pi-author__avatar {
    grid-column: 1;
    grid-row: 1;
  }

  .pi-author--followable > .pi-author__identity {
    grid-column: 2;
    grid-row: 1;
  }

  .pi-author--followable .pi-forum-share {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    margin: 0;
  }
}

@media (max-width: 359.98px) {
  .pi-author--followable .pi-forum-share {
    column-gap: 0.25rem;
    margin-inline: -0.75rem;
  }

  .pi-author__name-row {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.5rem;
  }

  .pi-button.pi-follow-button {
    justify-self: start;
  }
}

.pi-forum-article__body {
  line-height: 1.75;
  margin-top: 1.5rem;
  max-width: 68ch;
  overflow-wrap: anywhere;
}

.pi-reply__body {
  line-height: 1.75;
  margin-top: 0;
  overflow-wrap: anywhere;
  padding: 1.5rem;
}

.pi-forum-backtest {
  margin-top: 1.75rem;
}

.pi-forum-tabs,
.pi-forum-backtest__content {
  max-width: 720px;
}

.pi-forum-backtest__content {
  padding-top: 1.25rem;
}

.pi-reply-composer {
  border: 1px solid var(--pi-rule) !important;
  border-radius: var(--pi-radius-md);
  margin: 1.5rem 0;
  max-width: 860px;
  overflow: hidden;
  padding: 0;
}

.pi-reply-composer__header {
  border-bottom: 1px solid var(--pi-rule);
  padding: 1.5rem 1.5rem 1.25rem;
}

.pi-reply-composer__header h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.5rem, 3vw, 1.85rem);
  line-height: 1.2;
  margin: 0.3rem 0 0;
}

.pi-reply-composer__header > p:last-child {
  color: var(--pi-ink-650);
  margin: 0.55rem 0 0;
}

.pi-reply-composer__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.pi-reply-composer__editor {
  min-width: 0;
  padding: 1.25rem 1.5rem 1.5rem;
}

.pi-reply-composer .ck-editor-container,
.pi-reply-composer .django-ckeditor-widget,
.pi-reply-composer .ck-editor {
  min-width: 0;
  max-width: 100%;
  width: 100%;
}

.pi-reply-composer .ck-editor__editable_inline {
  min-height: 190px;
}

.pi-page--community .pi-reply-composer .ck.ck-toolbar,
.pi-page--community .pi-reply-composer .ck-editor__editable {
  border-color: #7b8da0;
}

.pi-page--community .pi-reply-composer .ck-editor__editable {
  --pi-editor-border: #7b8da0;
  --pi-editor-shadow: none;
}

.pi-reply-composer__actions {
  align-items: center;
  background: var(--pi-surface-muted);
  border-top: 1px solid var(--pi-rule);
  display: flex;
  justify-content: flex-end;
  padding: 1rem 1.5rem;
}

.pi-reply-composer__signin {
  padding: 1.5rem;
}

.pi-reply-composer__signin p {
  color: var(--pi-ink-650);
  margin: 0;
}

.pi-reply-composer__signin a {
  color: var(--pi-blue-700);
  font-weight: 600;
}

.pi-replies {
  margin-top: 2rem;
}

.pi-replies__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.pi-replies__heading h2 {
  color: var(--pi-ink-900);
  flex: 0 0 auto;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0;
  text-transform: uppercase;
}

.pi-replies__heading::after {
  background: var(--pi-blue-700);
  content: "";
  flex: 1 1 auto;
  height: 2px;
  opacity: 0.75;
}

.pi-pagination > .pi-pagination__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
}

.pi-pagination__item {
  margin: 0;
}

.pi-pagination .pi-pagination__ellipsis {
  min-width: 24px;
  padding-inline: 0;
}

.pi-pagination .pi-pagination__link > span {
  display: inline;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.pi-pagination__link {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--pi-radius-sm) !important;
  color: var(--pi-ink-900);
  display: inline-flex;
  font-family: var(--pi-font-ui);
  font-size: 0.84rem;
  font-weight: 500;
  justify-content: center;
  line-height: 1;
  min-height: 44px;
  min-width: 44px;
  padding: 0 11px;
  text-decoration: none;
}

.pi-pagination__link--direction {
  border-color: var(--pi-rule);
  gap: 7px;
  min-width: auto;
  padding-inline: 15px;
}

.pi-pagination__link:hover {
  background: var(--pi-surface-muted);
  border-color: var(--pi-rule);
  color: var(--pi-ink-900);
}



.pi-pagination__link--current {
  background: var(--pi-ink-900);
  border-color: var(--pi-ink-900);
  box-shadow: 0 4px 12px rgba(18, 32, 51, 0.16);
  color: var(--pi-text-inverse-strong);
}

.pi-pagination__item.active > .pi-pagination__link--current {
  background: var(--pi-ink-900);
  border-color: var(--pi-ink-900);
  box-shadow: 0 4px 12px rgba(18, 32, 51, 0.16);
  color: var(--pi-text-inverse-strong);
}

.pi-pagination__item.disabled .pi-pagination__link,
.pi-pagination__link[aria-disabled="true"] {
  background: transparent;
  border-color: transparent;
  color: #8a98a7;
  cursor: not-allowed;
}

.pi-page--community form:not(.pi-header__navigation form) {
  min-width: 0;
}

.pi-page--community textarea,
.pi-page--community input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pi-page--community select {
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  max-width: 100%;
  min-height: 44px;
}

.pi-reply-composer .pi-button--primary {
  background: var(--pi-action-primary);
  border-color: var(--pi-action-primary);
  color: var(--pi-paper);
}

/* Community research-note composer */
.pi-page--composer {
  max-width: 1180px;
  padding-bottom: clamp(3rem, 7vw, 5.5rem);
}

.pi-composer__back {
  align-items: center;
  color: var(--pi-ink-650);
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.45rem;
  min-height: 44px;
  text-decoration: none;
  text-underline-offset: 3px;
}

.pi-composer__back:hover {
  color: var(--pi-blue-700);
  text-decoration: none;
}

.pi-page-header--composer {
  padding-bottom: clamp(1.5rem, 3vw, 2.25rem);
  padding-top: 0.75rem;
}

.pi-page-header--composer .pi-eyebrow {
  margin: 0 0 0.55rem;
}

.pi-page-header--composer .pi-page-header__intro {
  max-width: 660px;
}

.pi-composer {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-sm);
  overflow: hidden;
}

.pi-composer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(340px, 0.85fr);
}

.pi-composer__draft,
.pi-composer__details {
  min-width: 0;
  padding: clamp(1.5rem, 3.5vw, 2.5rem);
}

.pi-composer__details {
  background: var(--pi-surface-muted);
  border-left: 1px solid var(--pi-rule);
}

.pi-composer__section-label,
.pi-composer__details-header .pi-eyebrow {
  color: var(--pi-blue-700);
  font-family: var(--pi-font-data);
  font-size: 0.75rem;
  letter-spacing: 0.13em;
  line-height: 1.4;
  margin: 0 0 1.5rem;
  text-transform: uppercase;
}

.pi-composer__details-header {
  border-bottom: 1px solid var(--pi-rule);
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}

.pi-composer__details-header .pi-eyebrow {
  margin-bottom: 0.55rem;
}

.pi-composer__details-header h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
}

.pi-composer__details-header > p:last-child {
  color: var(--pi-ink-650);
  font-size: 0.875rem;
  line-height: 1.55;
  margin: 0.65rem 0 0;
}

.pi-composer__field,
.pi-composer__topics {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.pi-composer__field + .pi-composer__field {
  margin-top: 2rem;
}

.pi-composer__field > label,
.pi-composer__topics > legend {
  color: var(--pi-ink-900);
  display: block;
  float: none;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  width: auto;
}

.pi-composer__field > label > span {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  font-weight: 400;
  margin-left: 0.35rem;
}

.pi-composer__help {
  color: var(--pi-ink-650);
  font-size: 0.8125rem;
  line-height: 1.5;
  margin: 0.35rem 0 0.75rem;
}

.pi-page--composer .pi-composer__title-input,
.pi-page--composer .pi-composer__select {
  background: var(--pi-paper);
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  box-shadow: none;
  display: block;
  font-size: 1rem;
  padding: 0.75rem 0.875rem;
  width: 100%;
}

.pi-page--composer .pi-composer__title-input {
  font-size: 1.0625rem;
  font-weight: 500;
}

.pi-page--composer .pi-composer__title-input::placeholder {
  color: var(--pi-ink-650);
  font-weight: 400;
  opacity: 1;
}



.pi-composer__editor .ck.ck-editor {
  width: 100%;
}

.pi-composer__editor textarea.django_ckeditor_5 {
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  display: block;
  min-height: 360px;
  padding: 1rem 1.125rem;
  resize: vertical;
  width: 100%;
}

.pi-composer__editor .ck.ck-toolbar {
  background: var(--pi-surface-muted);
  border-color: var(--pi-rule-strong);
  border-radius: var(--pi-radius-sm) var(--pi-radius-sm) 0 0;
  padding: 0.35rem;
}

.pi-composer__editor .ck.ck-editor__main > .ck-editor__editable {
  border-color: var(--pi-rule-strong);
  border-radius: 0 0 var(--pi-radius-sm) var(--pi-radius-sm);
  box-shadow: none;
  min-height: 360px;
  padding: 1rem 1.125rem;
}

.pi-composer__editor .ck.ck-editor__main > .ck-editor__editable {
  --pi-editor-border: var(--pi-rule-strong);
  --pi-editor-shadow: none;
}

.pi-composer__editor .ck-word-count {
  display: none;
}

.pi-composer__metrics {
  align-items: center;
  color: var(--pi-ink-650);
  display: flex;
  font-size: 0.75rem;
  gap: 0.5rem;
  justify-content: flex-end;
  margin: 0.65rem 0 0;
}

.pi-composer__topics {
  margin-bottom: 1.75rem;
}

.pi-composer__topic-options > ul,
.pi-composer__topic-options > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-composer__topic-options li,
.pi-composer__topic-options > div > div {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-composer__topic-options label {
  align-items: center;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule-strong);
  border-radius: 999px;
  color: var(--pi-ink-650);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.2;
  min-height: 44px;
  padding: 0.55rem 0.75rem;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.pi-composer__topic-options label:hover {
  border-color: var(--pi-blue-600);
  color: var(--pi-ink-900);
}

.pi-composer__topic-options label:has(input:checked) {
  background: #e7efff;
  border-color: var(--pi-blue-600);
  color: var(--pi-blue-700);
}



.pi-composer__topic-options input[type="checkbox"] {
  accent-color: var(--pi-blue-600);
  flex: 0 0 auto;
  height: 1rem;
  margin: 0 0.45rem 0 0;
  width: 1rem;
}

.pi-composer__attachment {
  border-top: 1px solid var(--pi-rule);
  padding-top: 1.5rem;
}

.pi-composer__prompt {
  align-items: flex-start;
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 24px minmax(0, 1fr);
  margin-top: 1.75rem;
  padding-top: 1.5rem;
}

.pi-composer__prompt-mark {
  align-items: center;
  background: var(--pi-ink-900);
  border-radius: 50%;
  color: var(--pi-text-inverse-strong);
  display: inline-flex;
  font-family: var(--pi-font-display);
  font-size: 0.8125rem;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.pi-composer__prompt p {
  color: var(--pi-ink-650);
  font-size: 0.8125rem;
  line-height: 1.55;
  margin: 0;
}

.pi-composer__prompt strong {
  color: var(--pi-ink-900);
  display: block;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.pi-composer__error {
  color: var(--pi-red-650);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.45;
  margin-top: 0.55rem;
}

.pi-composer__field--invalid .pi-composer__title-input,
.pi-composer__field--invalid .pi-composer__select,
.pi-composer__field--invalid .ck.ck-editor__main > .ck-editor__editable {
  border-color: var(--pi-red-650);
}

.pi-composer__actions {
  align-items: center;
  background: var(--pi-paper);
  border-top: 1px solid var(--pi-rule);
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  padding: 1rem clamp(1.5rem, 3.5vw, 2.5rem);
}

@media (min-width: 992px) {
  .pi-composer__draft,
  .pi-composer__field--message,
  .pi-composer__editor,
  .pi-composer__editor > .ck-editor-container,
  .pi-composer__editor .ck.ck-editor,
  .pi-composer__editor .ck-editor__main {
    display: flex;
    flex-direction: column;
  }

  .pi-composer__field--message,
  .pi-composer__editor,
  .pi-composer__editor > .ck-editor-container,
  .pi-composer__editor .ck.ck-editor,
  .pi-composer__editor .ck-editor__main,
  .pi-composer__editor .ck.ck-editor__main > .ck-editor__editable {
    flex: 1 1 auto;
  }

  .pi-composer__topic-options > ul,
  .pi-composer__topic-options > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-composer__topic-options label {
    height: 100%;
    width: 100%;
  }
}

@media (max-width: 991.98px) {
  .pi-composer__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-composer__details {
    border-left: 0;
    border-top: 1px solid var(--pi-rule);
  }
}

@media (max-width: 575.98px) {
  .pi-page--composer {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .pi-composer {
    border-radius: var(--pi-radius-md);
  }

  .pi-composer__draft,
  .pi-composer__details {
    padding: 1.25rem;
  }

  .pi-composer__editor .ck.ck-button {
    min-height: 44px;
    min-width: 44px !important;
  }

  .pi-composer__editor .ck-toolbar__items {
    flex-wrap: wrap !important;
  }

  .pi-composer__editor .ck.ck-editor__main > .ck-editor__editable {
    min-height: 280px;
  }

  .pi-composer__editor textarea.django_ckeditor_5 {
    min-height: 280px;
  }

  .pi-composer__actions {
    align-items: stretch;
    flex-direction: column-reverse;
    padding: 1rem 1.25rem;
  }

  .pi-composer__actions .pi-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-composer__topic-options label {
    transition: none;
  }
}

@media (max-width: 575.98px) {
  .pi-page--content,
  .pi-page--community {
    padding-top: var(--pi-space-page-start);
  }

  .pi-page--content .container,
  .pi-page--community .container {
    max-width: 100%;
  }

  .pi-community-toolbar,
  .pi-forum-actions,
  .pi-reply__header {
    align-items: stretch;
    flex-direction: column;
  }

  .pi-community-toolbar .pi-button,
  .pi-community-toolbar .pi-toolbar,
  .pi-community-toolbar .pi-toolbar__field {
    width: 100%;
  }

  .pi-thread {
    grid-template-columns: minmax(0, 1fr);
    padding: 1rem;
  }

  .pi-thread__avatar {
    display: none;
  }

  .pi-forum-share {
    margin-left: 0;
  }

  .pi-forum-article__heading h1 {
    font-size: 2rem;
    line-height: 1.12;
  }

  .pi-reply-composer .ck.ck-button {
    min-height: 44px;
    min-width: 44px !important;
  }

  .pi-reply-composer .ck-toolbar__items {
    flex-wrap: wrap !important;
  }

  .pi-reply-composer__actions .pi-button {
    width: 100%;
  }
}

/* Results and management workspace */
.pi-page--results {
  max-width: 1180px;
  min-width: 0;
  padding-bottom: clamp(48px, 7vw, 88px);
  padding-top: var(--pi-space-page-start);
}

.pi-page--results > .row,
.pi-result-layout {
  margin: 0;
  min-width: 0;
}

.pi-result-layout {
  display: block;
}

.pi-result-layout > .col-lg-2,
.pi-page--results > .row > .col-lg-2 {
  display: none !important;
}

.pi-result-layout > .pi-result-section,
.pi-page--results > .row > .col-lg-8 {
  flex: none;
  max-width: none;
  min-width: 0;
  padding: 0;
  width: 100%;
}

.pi-result-hero {
  max-width: none;
  min-width: 0;
  padding: 0;
}

.pi-result-hero > h1,
.pi-management-list > h1,
.pi-payment-state h1 {
  font-family: var(--pi-font-ui);
  font-size: var(--pi-title-workspace);
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin-bottom: 22px;
}

.pi-backtest-status {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-left: 3px solid var(--pi-action-primary);
  border-radius: var(--pi-radius-md);
  box-shadow: 0 8px 24px rgba(18, 32, 51, 0.055);
  display: grid;
  gap: 16px;
  grid-template-columns: 38px minmax(0, 1fr);
  margin: 0 0 24px;
  overflow: hidden;
  padding: 18px 20px 19px;
  position: relative;
}

.pi-backtest-status__mark {
  align-items: center;
  background: #edf5fb;
  border: 1px solid #d4e5f2;
  border-radius: 50%;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.pi-backtest-status__mark > span {
  background: var(--pi-action-primary);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(23, 59, 94, 0.12);
  height: 8px;
  width: 8px;
}

.pi-backtest-status__mark > i {
  font-size: 0.76rem;
}

.pi-backtest-status--error {
  border-left-color: var(--pi-red-650);
}

.pi-backtest-status--error .pi-backtest-status__mark {
  background: var(--pi-action-risk-surface);
  border-color: #f0d1cc;
  color: var(--pi-red-650);
}

.pi-backtest-status--error .pi-backtest-status__label {
  color: var(--pi-red-650);
}

.pi-backtest-status--neutral {
  border-left-color: var(--pi-rule-strong);
}

.pi-backtest-status--neutral .pi-backtest-status__mark {
  background: var(--pi-surface-muted);
  border-color: var(--pi-rule);
  color: var(--pi-ink-650);
}

.pi-backtest-status--neutral .pi-backtest-status__label {
  color: var(--pi-ink-650);
}

.pi-backtest-status--complete {
  border-left-color: var(--pi-action-primary);
}

.pi-backtest-status--complete .pi-backtest-status__mark {
  background: #edf5fb;
  border-color: #d4e5f2;
  color: var(--pi-action-primary);
}

.pi-backtest-status--complete .pi-backtest-status__label {
  color: var(--pi-action-primary);
}

.pi-backtest-status__body {
  min-width: 0;
}

.pi-backtest-status__label {
  color: var(--pi-action-primary);
  font-family: var(--pi-font-data);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.085em;
  line-height: 1.3;
  margin: 1px 0 6px;
  text-transform: uppercase;
}

.pi-backtest-status__heading {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  line-height: 1.35;
  margin: 0;
}

.pi-backtest-status__message {
  color: var(--pi-ink-650);
  font-size: 0.94rem;
  line-height: 1.55;
  margin: 4px 0 0;
}

.pi-backtest-status__evidence {
  border-top: 1px solid var(--pi-rule);
  color: var(--pi-ink-650);
  display: grid;
  font-size: 0.9rem;
  gap: 6px;
  line-height: 1.5;
  margin: 14px 0 0;
  padding: 13px 0 0 18px;
}

.pi-backtest-status__disclosure {
  border-top: 1px solid var(--pi-rule);
  color: var(--pi-ink-650);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-top: 14px;
  padding-top: 13px;
}

.pi-backtest-status__disclosure summary {
  color: var(--pi-action-primary);
  cursor: pointer;
  font-weight: 650;
  min-height: 24px;
}

.pi-backtest-status__disclosure ul {
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
  padding-left: 18px;
}

.pi-backtest-status--active {
  padding: 22px 24px 24px;
}

.pi-backtest-status__summary {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 0.42fr);
}

.pi-backtest-status__intro {
  min-width: 0;
}

.pi-backtest-estimate {
  border-left: 1px solid var(--pi-rule);
  min-width: 0;
  padding-left: 24px;
}

.pi-backtest-estimate__label {
  color: var(--pi-ink-650);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.045em;
  line-height: 1.35;
  margin: 0 0 3px;
  text-transform: uppercase;
}

.pi-backtest-estimate__value {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0;
}

.pi-backtest-estimate[data-estimate-state="calculating"] .pi-backtest-estimate__value,
.pi-backtest-estimate[data-estimate-state="waiting"] .pi-backtest-estimate__value,
.pi-backtest-estimate[data-estimate-state="finishing"] .pi-backtest-estimate__value {
  font-family: var(--pi-font-ui);
  font-size: 1.05rem;
  letter-spacing: -0.01em;
  padding-top: 4px;
}

.pi-backtest-estimate__range,
.pi-backtest-estimate__basis {
  color: var(--pi-ink-650);
  font-size: 0.76rem;
  line-height: 1.45;
  margin: 5px 0 0;
}

.pi-backtest-estimate__basis:empty {
  display: none;
}

.pi-backtest-progress {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 0;
  list-style: none;
  margin: 20px 0 0;
  padding: 17px 0 0;
}

.pi-backtest-progress__step {
  display: grid;
  gap: 12px;
  grid-template-columns: 26px minmax(0, 1fr);
  min-width: 0;
  padding: 0 0 13px;
  position: relative;
}

.pi-backtest-progress__step:not(:last-child)::before {
  background: var(--pi-rule);
  content: "";
  height: calc(100% - 21px);
  left: 12px;
  position: absolute;
  top: 25px;
  width: 1px;
}

.pi-backtest-progress__step[data-step-state="completed"]::before {
  background: #b8cfe1;
}

.pi-backtest-progress__marker {
  align-items: center;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule-strong);
  border-radius: 50%;
  color: var(--pi-ink-650);
  display: inline-flex;
  font-family: var(--pi-font-data);
  font-size: 0.66rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  height: 25px;
  justify-content: center;
  position: relative;
  width: 25px;
  z-index: 1;
}

.pi-backtest-progress__step[data-step-state="completed"] .pi-backtest-progress__marker {
  background: #edf5fb;
  border-color: #b8cfe1;
  color: var(--pi-action-primary);
}

.pi-backtest-progress__step[data-step-state="completed"] .pi-backtest-progress__marker > span {
  display: none;
}

.pi-backtest-progress__step[data-step-state="completed"] .pi-backtest-progress__marker::before {
  content: "\2713";
  font-size: 0.78rem;
}

.pi-backtest-progress__step[data-step-state="active"] .pi-backtest-progress__marker {
  background: var(--pi-action-primary);
  border-color: var(--pi-action-primary);
  color: #fff;
}

.pi-backtest-progress__step[data-step-state="active"] .pi-backtest-progress__marker::after {
  animation: pi-backtest-marker-pulse 1.8s ease-out infinite;
  border: 1px solid rgba(23, 59, 94, 0.42);
  border-radius: 50%;
  content: "";
  inset: -5px;
  position: absolute;
}

@keyframes pi-backtest-marker-pulse {
  0% { opacity: 0.75; transform: scale(0.82); }
  70%, 100% { opacity: 0; transform: scale(1.16); }
}

.pi-backtest-progress__content {
  min-width: 0;
  padding-top: 2px;
}

.pi-backtest-progress__title {
  color: var(--pi-ink-900);
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.4;
  margin: 0;
}

.pi-backtest-progress__description {
  color: var(--pi-ink-650);
  font-size: 0.8rem;
  line-height: 1.5;
  margin: 3px 0 0;
}

.pi-backtest-progress__step[data-step-state="upcoming"] .pi-backtest-progress__marker,
.pi-backtest-progress__step[data-step-state="upcoming"] .pi-backtest-progress__title {
  color: #718399;
}

.pi-backtest-progress__step[data-step-state="upcoming"] .pi-backtest-progress__description {
  display: none;
}

@media (max-width: 575.98px) {
  .pi-backtest-status {
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 16px;
  }

  .pi-backtest-status__mark {
    height: 34px;
    width: 34px;
  }

  .pi-backtest-status--active {
    padding: 17px 16px 19px;
  }

  .pi-backtest-status__summary {
    gap: 15px;
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-backtest-estimate {
    border-left: 0;
    border-top: 1px solid var(--pi-rule);
    padding: 13px 0 0;
  }

  .pi-backtest-progress {
    margin-top: 17px;
    padding-top: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-backtest-progress__marker::after {
    animation: none;
  }
}

.pi-result-evidence {
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  margin: 28px 0 34px;
  padding: clamp(22px, 4vw, 36px);
}

.pi-result-evidence__heading h2 {
  font-family: var(--pi-font-display);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  letter-spacing: -0.03em;
  margin: 8px 0 0;
}

.pi-evidence-ledger--analytical {
  display: grid;
  gap: 0;
  margin: 0;
}

.pi-evidence-ledger--analytical > div {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(110px, 0.75fr) minmax(0, 1.25fr);
  padding: 13px 0;
}

.pi-evidence-ledger--analytical dt {
  color: var(--pi-ink-650);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pi-evidence-ledger--analytical dd {
  color: var(--pi-ink-900);
  margin: 0;
}

.pi-result-metrics {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pi-result-actions {
  align-items: center;
  border-bottom: 1px solid var(--pi-rule);
  border-top: 1px solid var(--pi-rule);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  justify-content: space-between;
  margin: 24px 0 30px;
  padding: 16px 0;
}

.pi-result-actions__group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pi-result-actions__group--context {
  flex: 1 1 auto;
}

.pi-result-actions__group--primary {
  margin-left: auto;
}

.pi-result-actions__form {
  display: inline-flex;
  margin: 0;
}

.pi-result-section {
  min-width: 0;
}

.pi-result-block {
  margin: 34px 0;
  min-width: 0;
  position: relative;
}

.pi-result-block__header {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  min-height: 72px;
  padding: 22px 0 14px;
}

.pi-result-block__header h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  margin: 0;
}

.pi-result-block__body {
  min-width: 0;
  position: relative;
}

.pi-result-block__content {
  min-width: 0;
  opacity: 1;
  transition: opacity 180ms ease;
}

.pi-result-block[data-state="loading"] .pi-result-block__content,
.pi-result-block[data-state="empty"] .pi-result-block__content,
.pi-result-block[data-state="error"] .pi-result-block__content {
  opacity: 0;
  visibility: hidden;
}

.pi-result-block[data-state="ready"] .pi-result-loading {
  display: none;
}

.pi-result-block:not([data-state="ready"]) [data-result-tool] {
  visibility: hidden;
}

.pi-result-loading {
  align-items: center;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  color: var(--pi-ink-650);
  display: flex;
  flex-direction: column;
  gap: 14px;
  inset: 0;
  justify-content: center;
  padding: clamp(24px, 5vw, 48px);
  position: absolute;
  text-align: center;
  z-index: 2;
}

.pi-result-loading__trace {
  background: var(--pi-rule);
  display: block;
  height: 2px;
  overflow: hidden;
  position: relative;
  width: min(176px, 58vw);
}

.pi-result-loading__trace::after {
  animation: pi-data-trace 1.35s ease-in-out infinite;
  background: var(--pi-ink-900);
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  transform: translateX(-100%);
  width: 42%;
}

.pi-result-loading__label {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.pi-result-loading__skeleton {
  display: grid;
  gap: 8px;
  width: min(320px, 78vw);
}

.pi-result-loading__skeleton > span {
  background: #edf1f4;
  background: color-mix(in srgb, var(--pi-rule) 72%, var(--pi-paper));
  display: block;
  height: 7px;
}

.pi-result-loading__skeleton > span:nth-child(2) {
  width: 82%;
}

.pi-result-loading__skeleton > span:nth-child(3) {
  width: 61%;
}

.pi-result-block[data-state="empty"] .pi-result-loading__trace,
.pi-result-block[data-state="error"] .pi-result-loading__trace,
.pi-result-block[data-state="empty"] .pi-result-loading__skeleton,
.pi-result-block[data-state="error"] .pi-result-loading__skeleton {
  display: none;
}

.pi-result-block[data-state="error"] .pi-result-loading {
  border-color: var(--pi-red-650);
}

.pi-result-block--stats .pi-result-block__content {
  min-height: 318px;
}

.pi-result-block--chart .pi-result-block__content {
  min-height: 500px;
}

.pi-result-block--table .pi-result-block__content,
.pi-result-block--portfolio .pi-result-block__content {
  min-height: 420px;
}

.pi-portfolio-layout {
  align-items: stretch;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
}

.pi-portfolio-chart {
  align-self: center;
  min-height: 320px;
  min-width: 0;
}

.pi-result-table-viewport {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  height: 520px;
  max-height: 520px;
  min-height: 420px;
  overflow: auto;
  overscroll-behavior: contain;
}



.pi-result-table-viewport .table {
  margin-bottom: 0;
}

.pi-result-table-viewport.pi-portfolio-table-viewport {
  align-self: center;
  height: auto;
  max-height: 520px;
  min-height: 0;
  overflow-x: hidden;
}

.pi-portfolio-table {
  table-layout: fixed;
}

.pi-page--results .pi-portfolio-table thead th {
  background: var(--pi-surface-muted);
  border-bottom: 1px solid var(--pi-rule-strong);
  border-top: 0;
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.9rem 1rem 0.82rem;
  vertical-align: middle;
}

.pi-portfolio-table tbody td {
  border-bottom: 1px solid var(--pi-rule);
  border-top: 0;
  color: var(--pi-ink-900);
  line-height: 1.45;
  padding: 0.95rem 1rem;
  vertical-align: middle;
}

.pi-portfolio-table tbody tr:last-child td {
  border-bottom: 0;
}

.pi-portfolio-table.table-hover tbody tr:hover td {
  background: #f9fbfd;
}

.pi-portfolio-table__holding {
  min-width: 0;
}

.pi-portfolio-table__holding a {
  color: var(--pi-ink-900);
  font-weight: 500;
  overflow-wrap: anywhere;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.pi-portfolio-table__holding a:hover {
  color: var(--pi-blue-700);
  text-decoration-color: currentColor;
}

.pi-portfolio-table__cash {
  font-weight: 600;
}

.pi-chart-legend__swatch.pi-portfolio-table__swatch {
  border: 0;
  border-radius: 999px;
  flex-basis: 4px;
  height: 20px;
  width: 4px;
}

.pi-portfolio-table__allocation {
  font-family: var(--pi-font-data);
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
  width: 128px;
}

@keyframes pi-data-trace {
  0% {
    transform: translateX(-100%);
  }

  55%,
  100% {
    transform: translateX(242%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-result-block__content {
    transition: none;
  }

  .pi-result-loading__trace::after {
    animation: none;
    transform: translateX(70%);
  }
}

.pi-result-section > h2,
.pi-page--results > h1,
.pi-page--results > .container > h1 {
  font-family: var(--pi-font-ui);
}

.pi-page--results .pi-chart-frame {
  margin: 24px 0;
  min-height: 280px;
  overflow: hidden;
  padding: clamp(16px, 3vw, 26px);
}

.pi-page--results .pi-performance-chart {
  height: 520px;
  min-height: 520px;
}

.pi-page--results .pi-result-chart {
  height: 500px;
  min-height: 500px;
  width: 100%;
}

.pi-chart-legend__label {
  align-items: center;
  display: flex;
  gap: 8px;
}

.pi-chart-legend__swatch {
  background: var(--pi-swatch-color);
  border: 1px solid rgba(18, 32, 51, 0.22);
  border-radius: 2px;
  display: inline-block;
  flex: 0 0 10px;
  height: 10px;
  width: 10px;
}

.pi-stats-disclosure {
  display: flex;
  justify-content: flex-end;
  padding: 12px 0 4px;
}

.pi-page--results table {
  background: var(--pi-paper);
  border-collapse: separate;
  border-spacing: 0;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.pi-management-list table {
  background: var(--pi-paper);
  border-collapse: separate;
  border-spacing: 0;
  min-width: 720px;
  width: 100%;
}

.pi-management-table-wrap {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  box-shadow: 0 1px 2px rgba(18, 32, 51, 0.04);
  overflow-x: auto;
}

.pi-management-table-wrap .pi-management-table {
  border: 0;
  border-radius: 0;
  margin: 0;
  table-layout: fixed;
}

.pi-page--results .pi-management-table thead th {
  background: var(--pi-surface-muted);
  border-bottom: 1px solid var(--pi-rule-strong);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.875rem;
  font-weight: 600;
  padding: 1rem 0.85rem 0.9rem;
}

.pi-management-table tbody td {
  border-top: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  font-size: 0.9rem;
  line-height: 1.45;
  padding: 0.95rem 0.85rem;
  vertical-align: middle;
}

.pi-management-table tbody tr:first-child td {
  border-top: 0;
}

.pi-management-table tbody tr:hover td {
  background: var(--pi-canvas);
}

table > tbody > tr.pi-linked-row {
  cursor: pointer;
}

table > tbody > tr.pi-linked-row > th,
table > tbody > tr.pi-linked-row > td {
  vertical-align: middle;
}

table > tbody > tr.pi-linked-row:hover > th,
table > tbody > tr.pi-linked-row:hover > td {
  background: var(--pi-canvas);
}

.pi-table-heading--name,
.pi-table-cell--name {
  width: 25%;
}

.pi-table-heading--method,
.pi-table-cell--method {
  width: 14%;
}

.pi-table-heading--universe,
.pi-table-cell--universe {
  width: 18%;
}

.pi-table-heading--created,
.pi-table-cell--created {
  white-space: nowrap;
  width: 13%;
}

.pi-table-cell--metric {
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
  width: 10%;
}

.pi-table-heading--status,
.pi-table-cell--status {
  width: 10%;
}

.pi-management-table-wrap .pi-backtest-results-table {
  min-width: 800px;
}

.pi-backtest-results-table .pi-table-heading--name,
.pi-backtest-results-table .pi-table-cell--name {
  width: 19%;
}

.pi-backtest-results-table .pi-table-heading--universe,
.pi-backtest-results-table .pi-table-cell--universe {
  width: 14%;
}

.pi-backtest-results-table .pi-table-heading--status,
.pi-backtest-results-table .pi-table-cell--status {
  width: 20%;
}

.pi-data-link {
  color: var(--pi-ink-900);
  display: inline;
  font-weight: 600;
  overflow-wrap: anywhere;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.pi-data-link::after {
  color: var(--pi-blue-700);
  content: "\203A";
  display: inline-block;
  margin-left: 0.45rem;
  opacity: 0;
  transform: translateX(-3px);
}

.pi-data-link:hover {
  color: var(--pi-blue-700);
  text-decoration-color: currentColor;
}

.pi-data-link:hover::after {
  opacity: 1;
  transform: translateX(0);
}

.pi-data-empty {
  color: var(--pi-ink-650);
}

.pi-status-chip {
  align-items: center;
  background: var(--pi-surface-muted);
  border: 1px solid var(--pi-rule);
  border-radius: 999px;
  color: var(--pi-ink-650);
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 600;
  gap: 0.45rem;
  line-height: 1.25;
  min-height: 28px;
  padding: 0.3rem 0.62rem;
  white-space: nowrap;
}

.pi-status-chip__dot {
  background: currentColor;
  border-radius: 50%;
  height: 6px;
  width: 6px;
}

.pi-status-chip--completed,
.pi-status-chip--active,
.pi-status-chip--live {
  background: rgba(22, 133, 91, 0.08);
  border-color: rgba(22, 133, 91, 0.22);
  color: #0e6745;
}

.pi-status-chip--in-progress,
.pi-status-chip--queued,
.pi-status-chip--pending,
.pi-status-chip--preparing-data,
.pi-status-chip--running {
  background: rgba(154, 79, 8, 0.08);
  border-color: rgba(154, 79, 8, 0.22);
  color: var(--pi-amber-700);
}

.pi-status-chip--failed,
.pi-status-chip--error,
.pi-status-chip--cancelled {
  background: rgba(192, 54, 44, 0.08);
  border-color: rgba(192, 54, 44, 0.22);
  color: var(--pi-red-650);
}

.pi-management-list {
  max-width: none;
  min-width: 0;
  overflow: visible;
  padding: 0;
}

.pi-backtest-activity {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 28px;
}

.pi-backtest-activity__item {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  box-shadow: 0 1px 2px rgba(18, 32, 51, 0.04);
  min-width: 0;
  padding: 20px 22px 22px;
  position: relative;
}

.pi-backtest-activity__item::before {
  content: "";
  height: 3px;
  left: -1px;
  position: absolute;
  right: -1px;
  top: -1px;
}

.pi-backtest-activity__item--historical::before {
  background: var(--pi-blue-700);
  border-radius: var(--pi-radius-md) var(--pi-radius-md) 0 0;
}

.pi-backtest-activity__item--live::before {
  background: var(--pi-amber-700);
  border-radius: var(--pi-radius-md) var(--pi-radius-md) 0 0;
}

.pi-backtest-activity__item .pi-eyebrow {
  margin-bottom: 10px;
}

.pi-backtest-activity__item h3 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}

.pi-backtest-activity__item p:not(.pi-eyebrow) {
  color: var(--pi-ink-650);
  line-height: 1.55;
  margin: 10px 0 0;
}

.pi-backtest-activity__item p strong {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-backtest-activity__heading {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.pi-backtest-activity__link {
  align-items: center;
  color: var(--pi-blue-700);
  display: inline-flex;
  font-weight: 600;
  gap: 0.35rem;
  margin-top: 16px;
  min-height: 44px;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
}

.pi-backtest-activity__link:hover {
  color: var(--pi-blue-700);
  text-decoration-color: currentColor;
}

.pi-toolbar {
  align-items: end;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
  padding: 0;
}

.pi-toolbar__field {
  display: grid;
  gap: 0.4rem;
  min-width: min(220px, 100%);
}

.pi-toolbar__field label {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  font-weight: 600;
  margin: 0;
}

.pi-toolbar__field .form-control {
  background-color: var(--pi-paper);
  border-color: var(--pi-control-border);
  color: var(--pi-ink-900);
  min-height: 44px;
  width: 240px;
}

.pi-toolbar .pi-button {
  gap: 0.45rem;
  min-height: 44px;
}

.pi-management-list__pagination {
  margin-top: 28px;
}

.pi-empty-state .pi-button {
  margin-top: 24px;
}

.pi-management-card {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  padding: 22px;
}

.pi-payment-state {
  max-width: 1000px;
}

.pi-payment-state--notice {
  margin-bottom: clamp(48px, 8vw, 96px);
  margin-top: clamp(36px, 7vw, 72px);
  max-width: 760px;
  padding: clamp(28px, 6vw, 56px);
}

.pi-payment-state--notice h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
}

.pi-payment-state > .row {
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
  margin: 0;
}

.pi-payment-state > .row > [class*="col-"] {
  flex: 1 1 360px;
  max-width: none;
  min-width: 0;
  padding: 0;
}

.pi-payment-state img {
  height: auto;
  max-width: 100%;
}

@media (max-width: 767.98px) {
  .pi-backtest-activity {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-backtest-activity__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-result-block__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-portfolio-layout {
    grid-template-columns: 1fr;
  }

  .pi-portfolio-chart {
    min-height: 280px;
  }

  .pi-result-table-viewport {
    height: 460px;
    max-height: 460px;
  }

  .pi-result-table-viewport.pi-portfolio-table-viewport {
    height: auto;
    max-height: 460px;
    min-height: 0;
  }

  .pi-result-evidence {
    grid-template-columns: 1fr;
  }

  .pi-result-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-result-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pi-result-actions__group,
  .pi-result-actions__form,
  .pi-result-actions .pi-button {
    width: 100%;
  }

  .pi-result-actions__group--primary {
    margin-left: 0;
  }

  .pi-page--results .table-responsive,
  .pi-page--results .audit-table-scroll {
    overflow: visible;
  }

  .pi-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .pi-toolbar__field,
  .pi-toolbar .pi-button {
    width: 100%;
  }

  .pi-toolbar__field .form-control {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .pi-page--results {
    padding-left: 15px;
    padding-right: 15px;
  }

  .pi-result-block {
    margin: 28px 0;
  }

  .pi-result-block--table .pi-result-block__content,
  .pi-result-block--portfolio .pi-result-block__content {
    min-height: 360px;
  }

  .pi-result-table-viewport {
    height: 360px;
    min-height: 360px;
  }

  .pi-result-table-viewport.pi-portfolio-table-viewport {
    height: auto;
    min-height: 0;
  }

  .pi-page--results .pi-portfolio-table thead th,
  .pi-portfolio-table tbody td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .pi-portfolio-table__allocation {
    width: 96px;
  }

  .pi-page--results .pi-performance-chart {
    height: 460px;
    min-height: 460px;
  }

  .pi-evidence-ledger--analytical > div {
    grid-template-columns: 1fr;
  }
}

.pi-header {
  background: var(--pi-paper);
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  position: sticky;
  top: 0;
  z-index: 1030;
}

.pi-header__inner {
  align-items: center;
  display: flex;
  min-height: 68px;
  position: relative;
}

.pi-brand {
  align-items: center;
  color: var(--pi-ink-900);
  display: inline-flex;
  flex: 0 0 auto;
  gap: 10px;
  min-height: 44px;
  text-decoration: none;
}

.pi-brand:hover {
  color: var(--pi-ink-900);
  text-decoration: none;
}

.pi-brand__mark {
  align-items: center;
  background: var(--pi-ink-900);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-paper);
  display: inline-flex;
  font-family: var(--pi-font-data);
  font-size: 0.72rem;
  height: 30px;
  justify-content: center;
  letter-spacing: 0.06em;
  width: 30px;
}

.pi-brand__name {
  font-family: var(--pi-font-display);
  font-size: 1.24rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.pi-header__navigation {
  align-items: center;
  flex: 1 1 auto;
  justify-content: space-between;
  margin-left: clamp(24px, 3vw, 44px);
  min-width: 0;
}

.pi-header__links,
.pi-header__actions {
  align-items: center;
  display: flex;
  gap: 4px;
}

.pi-header__actions {
  gap: 10px;
  margin-left: 18px;
}

.pi-header__link,
.pi-menu__button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  display: inline-flex;
  font-family: var(--pi-font-ui);
  font-size: 0.9rem;
  font-weight: 500;
  min-height: 44px;
  padding: 0 10px;
  text-decoration: none;
  white-space: nowrap;
}

.pi-header__link:hover,
.pi-menu__button:hover {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-900);
  text-decoration: none;
}

.pi-menu__button {
  cursor: pointer;
}

.pi-menu__panel {
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  box-shadow: var(--pi-shadow-menu);
  margin-top: 6px;
  min-width: 220px;
  padding: 8px;
}

.pi-menu__panel .dropdown-item {
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-size: 0.9rem;
  min-height: 40px;
  padding: 10px 12px;
}

.pi-menu__panel .dropdown-item:hover {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-900);
}

.pi-account-menu__logout {
  margin: 0;
}

.pi-stock-search {
  position: relative;
  width: clamp(180px, 18vw, 252px);
}

.pi-stock-search__icon {
  color: var(--pi-ink-650);
  left: 13px;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.pi-stock-search__input {
  background: var(--pi-surface-muted);
  border: 1px solid transparent;
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.9rem;
  height: 44px;
  padding: 0 12px 0 38px;
  width: 100%;
}

.pi-header__sign-in,
.pi-account-menu__button {
  height: 44px;
  padding-top: 0;
  padding-bottom: 0;
  white-space: nowrap;
}

.pi-header .pi-menu__panel .dropdown-item {
  min-height: 44px;
}

.pi-stock-search__input::placeholder {
  color: var(--pi-ink-650);
}



.pi-stock-search__status:not(.sr-only) {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 1040;
  padding: .9rem 1rem;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  box-shadow: var(--pi-shadow-menu);
  color: var(--pi-ink-650);
  font: 400 .875rem/1.5 var(--pi-font-ui);
}

.pi-stock-search__results {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  box-shadow: var(--pi-shadow-menu);
  left: 0;
  max-height: min(440px, 70vh);
  overflow-y: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 1040;
}

.pi-stock-search__result {
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  display: grid;
  gap: 2px 8px;
  grid-template-columns: minmax(72px, auto) 1fr;
  padding: 10px;
  text-decoration: none;
}

.pi-stock-search__result:hover,
.pi-stock-search__result.is-active {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-900);
  text-decoration: none;
}

.pi-stock-search__symbol {
  font-family: var(--pi-font-data);
  font-size: 0.82rem;
  font-weight: 600;
  grid-row: span 2;
}

.pi-stock-search__description {
  font-size: 0.82rem;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pi-stock-search__grouping {
  color: var(--pi-ink-650);
  font-size: 0.72rem;
}

.pi-header__toggle {
  align-items: center;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  cursor: pointer;
  display: none;
  flex-direction: column;
  gap: 4px;
  height: 44px;
  justify-content: center;
  margin-left: auto;
  width: 44px;
}

.pi-header__toggle span {
  background: var(--pi-ink-900);
  display: block;
  height: 2px;
  width: 18px;
}

.pi-context-nav {
  background: var(--pi-paper);
  border-bottom: 1px solid var(--pi-rule);
  font-family: var(--pi-font-ui);
  overflow-x: auto;
  scrollbar-width: none;
}

.pi-context-nav--forum {
  border-bottom: 0;
}

.pi-context-nav::-webkit-scrollbar {
  display: none;
}

.pi-context-nav__inner {
  align-items: center;
  display: flex;
  gap: 24px;
  min-height: 48px;
  white-space: nowrap;
}

.pi-context-nav a {
  align-items: center;
  color: var(--pi-ink-650);
  display: inline-flex;
  font-size: 0.875rem;
  min-height: 44px;
  scroll-snap-align: start;
  text-decoration: none;
}

.pi-context-nav a:hover {
  color: var(--pi-ink-900);
  text-decoration: none;
}

@media (min-width: 1200px) {
  .pi-header__navigation.collapse {
    display: flex !important;
  }
}

@media (max-width: 1199.98px) {
  .pi-context-nav {
    mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);
    scroll-snap-type: x proximity;
  }

  .pi-header__toggle {
    display: inline-flex;
  }

  .pi-header__navigation {
    background: var(--pi-paper);
    border-bottom: 1px solid var(--pi-rule);
    box-shadow: var(--pi-shadow-menu);
    left: 0;
    margin: 0;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    padding: 14px clamp(20px, 4vw, 48px) 22px;
    position: fixed;
    right: 0;
    top: 68px;
  }

  .pi-header__navigation.show {
    display: block;
  }

  .pi-header__links,
  .pi-header__actions {
    align-items: stretch;
    flex-direction: column;
    margin: 0;
  }

  .pi-header__link,
  .pi-menu__button {
    justify-content: space-between;
    width: 100%;
  }

  .pi-menu__panel {
    box-shadow: none;
    margin: 0 0 8px;
    position: static !important;
    transform: none !important;
    width: 100%;
  }

  .pi-stock-search {
    margin: 10px 0;
    width: 100%;
  }

  .pi-header__sign-in,
  .pi-account-menu__button {
    width: 100%;
  }
}

.pi-footer {
  background: var(--pi-surface-inverse);
  color: var(--pi-text-inverse);
  font-family: var(--pi-font-ui);
  padding: 56px 0 28px;
}

.pi-footer__brand {
  color: var(--pi-text-inverse-strong);
  font-family: var(--pi-font-display);
  font-size: 1.35rem;
  margin: 0 0 10px;
}

.pi-footer__intro {
  color: var(--pi-text-inverse-muted);
  line-height: 1.55;
  margin: 0;
  max-width: 34rem;
}

.pi-footer__nav {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  margin-top: 42px;
}

.pi-footer__heading {
  color: var(--pi-text-inverse-strong);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.pi-footer__links {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-footer__links a,
.pi-footer__legal a,
.pi-footer__social a {
  align-items: center;
  color: var(--pi-text-inverse);
  display: inline-flex;
  min-height: 44px;
  text-decoration: none;
}

.pi-footer__links a:hover,
.pi-footer__legal a:hover,
.pi-footer__social a:hover {
  color: var(--pi-text-inverse-strong);
  text-decoration: none;
}

.pi-footer__lower {
  align-items: center;
  border-top: 1px solid var(--pi-rule-inverse);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-top: 36px;
  padding-top: 22px;
}

.pi-footer__legal,
.pi-footer__social {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.pi-footer__social a {
  font-size: 1rem;
  justify-content: center;
  min-width: 44px;
}

.pi-footer__copyright {
  color: var(--pi-text-inverse-muted);
  font-size: 0.875rem;
  margin: 0;
}

@media (max-width: 767.98px) {
  .pi-footer {
    padding-top: 42px;
  }

  .pi-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-footer__lower {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 379.98px) {
  .pi-container {
    padding-inline: 16px;
  }

  .pi-footer__nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-page *,
  .pi-page *::before,
  .pi-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Homepage */
.pi-home {
  overflow: hidden;
}

.pi-home-hero {
  background:
    linear-gradient(90deg, rgba(216, 226, 236, 0.6) 1px, transparent 1px),
    linear-gradient(rgba(216, 226, 236, 0.6) 1px, transparent 1px),
    var(--pi-canvas);
  background-size: 48px 48px;
  border-bottom: 1px solid var(--pi-rule);
  padding: clamp(72px, 9vw, 124px) 0;
}

.pi-home-hero__grid {
  align-items: center;
  display: grid;
  gap: clamp(48px, 7vw, 92px);
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
}

.pi-home-hero__copy {
  max-width: 700px;
}

.pi-home-hero__title {
  font-size: var(--pi-title-marketing);
  margin: 18px 0 24px;
  max-width: 13ch;
}

.pi-home-hero__lede {
  color: var(--pi-ink-650);
  font-size: clamp(1.08rem, 1.5vw, 1.28rem);
  line-height: 1.65;
  margin: 0;
  max-width: 630px;
}

.pi-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.pi-home-hero__trust {
  color: var(--pi-ink-650);
  font-size: 0.85rem;
  margin: 18px 0 0;
}

.pi-home-hero__trust span {
  color: var(--pi-green-650);
  font-size: 0.65rem;
  margin-right: 5px;
}

.pi-evidence-ledger {
  background: var(--pi-paper);
  box-shadow: 14px 14px 0 rgba(18, 32, 51, 0.07);
  overflow: hidden;
}

.pi-evidence-ledger__heading {
  border-bottom: 1px solid var(--pi-rule);
  padding: 28px 30px 26px;
}

.pi-evidence-ledger__heading h2 {
  font-family: var(--pi-font-display);
  font-size: 1.55rem;
  letter-spacing: -0.02em;
  line-height: 1.16;
  margin: 12px 0 9px;
}

.pi-evidence-ledger__heading > p:last-child {
  color: var(--pi-ink-650);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0;
}

.pi-evidence-ledger__rows {
  margin: 0;
}

.pi-evidence-ledger__row {
  align-items: start;
  border-bottom: 1px solid var(--pi-rule);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(74px, 0.35fr) minmax(0, 1fr);
  padding: 17px 30px;
}

.pi-evidence-ledger__row dt {
  color: var(--pi-blue-700);
  font-family: var(--pi-font-data);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pi-evidence-ledger__row dd {
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 0;
}

.pi-evidence-ledger__note {
  align-items: center;
  color: var(--pi-ink-650);
  display: flex;
  font-size: 0.77rem;
  gap: 9px;
  margin: 0;
  padding: 15px 30px;
}

.pi-evidence-ledger__note span {
  align-items: center;
  border: 1px solid var(--pi-rule);
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--pi-font-display);
  height: 20px;
  justify-content: center;
  width: 20px;
}

.pi-home-section {
  padding: clamp(76px, 9vw, 120px) 0;
}

.pi-section-heading {
  margin-bottom: clamp(36px, 5vw, 58px);
  max-width: 700px;
}

.pi-section-heading h2,
.pi-home-evidence__copy h2,
.pi-home-final h2 {
  font-size: clamp(2.2rem, 4vw, 3.65rem);
  margin: 14px 0 18px;
}

.pi-section-heading > p:last-child,
.pi-home-evidence__copy > p {
  color: var(--pi-ink-650);
  font-size: 1.02rem;
  line-height: 1.65;
  margin: 0;
}

.pi-home-workflow {
  background: var(--pi-paper);
  border-bottom: 1px solid var(--pi-rule);
}

.pi-workflow-list {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-workflow-list li {
  border-left: 1px solid var(--pi-rule);
  min-height: 230px;
  padding: 0 clamp(22px, 3vw, 34px) 0;
}

.pi-workflow-list li:first-child {
  border-left: 3px solid var(--pi-blue-600);
}

.pi-workflow-list__number,
.pi-method-card__index {
  color: var(--pi-blue-700);
  display: block;
  font-family: var(--pi-font-data);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}

.pi-workflow-list h3,
.pi-method-card h3 {
  font-family: var(--pi-font-display);
  font-size: 1.45rem;
  margin: 48px 0 12px;
}

.pi-workflow-list p,
.pi-method-card > p:not(.pi-method-card__index) {
  color: var(--pi-ink-650);
  font-size: 0.91rem;
  line-height: 1.6;
  margin: 0;
}

.pi-home-product {
  background: var(--pi-surface-muted);
  border-bottom: 1px solid var(--pi-rule);
}

.pi-product-intro {
  align-items: end;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.38fr);
  margin-bottom: clamp(36px, 5vw, 58px);
}

.pi-product-intro .pi-section-heading {
  margin-bottom: 0;
}

.pi-product-intro__note {
  color: var(--pi-ink-650);
  font-family: var(--pi-font-data);
  font-size: 0.75rem;
  line-height: 1.6;
  margin: 0 0 4px;
  text-align: right;
}

.pi-product-intro__note span {
  color: var(--pi-blue-600);
  margin-right: 6px;
}

.pi-product-window {
  background: var(--pi-paper);
  border: 1px solid #c6d3df;
  border-radius: 10px;
  box-shadow: 18px 22px 0 rgba(18, 32, 51, 0.08);
  overflow: hidden;
}

.pi-product-window__bar {
  align-items: center;
  background: var(--pi-ink-900);
  color: #bdcbd9;
  display: flex;
  font-size: 0.72rem;
  justify-content: space-between;
  min-height: 46px;
  padding: 0 clamp(18px, 3vw, 30px);
}

.pi-product-window__path {
  align-items: center;
  display: flex;
  gap: 9px;
}

.pi-product-window__path strong {
  color: var(--pi-paper);
  font-weight: 500;
}

.pi-product-window__status {
  color: #9de9c9;
}

.pi-product-window__status span {
  font-size: 0.55rem;
  margin-right: 5px;
}

.pi-product-window__body {
  padding: clamp(22px, 4.5vw, 54px);
}

.pi-product-window__heading {
  align-items: start;
  display: flex;
  gap: 32px;
  justify-content: space-between;
}

.pi-product-window__heading h3 {
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  margin: 8px 0 8px;
}

.pi-product-window__heading > div > p:last-child {
  color: var(--pi-ink-650);
  margin: 0;
}

.pi-product-window__badge {
  background: var(--pi-surface-muted);
  border: 1px solid var(--pi-rule);
  border-radius: 999px;
  color: var(--pi-ink-900);
  flex: 0 0 auto;
  font-size: 0.7rem;
  padding: 9px 12px;
}

.pi-product-metrics {
  border-bottom: 1px solid var(--pi-rule);
  border-top: 1px solid var(--pi-rule);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(28px, 4vw, 44px) 0;
}

.pi-product-metric {
  border-left: 1px solid var(--pi-rule);
  min-width: 0;
  padding: clamp(17px, 2.5vw, 25px);
}

.pi-product-metric:first-child {
  border-left: 0;
  padding-left: 0;
}

.pi-product-metric dt {
  color: var(--pi-ink-650);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pi-product-metric dd {
  margin: 8px 0 5px;
}

.pi-product-metric__value,
.pi-product-metric__qualifier {
  display: block;
}

.pi-product-metric__value {
  color: var(--pi-ink-900);
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  line-height: 1.2;
}

.pi-product-metric__value.pi-product-metric__risk {
  color: var(--pi-red-650);
}

.pi-product-metric__qualifier {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  margin-top: 5px;
}

.pi-product-chart,
.pi-product-support {
  margin: 0;
}

.pi-product-chart__heading,
.pi-product-support figcaption {
  align-items: end;
  display: flex;
  gap: 22px;
  justify-content: space-between;
}

.pi-product-chart__label {
  color: var(--pi-blue-700);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.pi-product-chart h4,
.pi-product-support h4 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.12rem;
  font-weight: 600;
  margin: 0;
}

.pi-product-chart__legend {
  align-items: center;
  color: var(--pi-ink-650);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.75rem;
  gap: 18px;
}

.pi-product-chart__legend-item {
  align-items: center;
  display: inline-flex;
  gap: 7px;
}

.pi-product-chart__legend-item::before {
  content: "";
  display: inline-block;
  height: 2px;
  width: 22px;
}

.pi-product-chart__legend-item--strategy::before {
  background: var(--pi-blue-600);
}

.pi-product-chart__legend-item--benchmark::before {
  background: repeating-linear-gradient(90deg, #5f7489 0 5px, transparent 5px 8px);
}

.pi-product-chart__plot {
  display: grid;
  gap: 12px;
  grid-template-columns: 42px minmax(0, 1fr);
  height: clamp(245px, 32vw, 380px);
  margin-top: 22px;
}

.pi-product-chart__y-axis {
  color: var(--pi-ink-650);
  display: flex;
  flex-direction: column;
  font-size: 0.75rem;
  justify-content: space-between;
  padding: 0 0 2px;
  text-align: right;
}

.pi-product-chart__canvas {
  min-width: 0;
}

.pi-product-chart__canvas svg {
  display: block;
  height: 100%;
  overflow: visible;
  width: 100%;
}

.pi-product-chart__grid line {
  stroke: #dce5ed;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.pi-product-chart__area {
  fill: url(#pi-return-area);
}

.pi-product-chart__line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pi-product-chart__line--strategy {
  stroke: var(--pi-blue-600);
  stroke-width: 3;
}

.pi-product-chart__line--benchmark {
  stroke: #5f7489;
  stroke-dasharray: 6 6;
  stroke-width: 2;
}

.pi-product-chart__endpoint {
  fill: var(--pi-paper);
}

.pi-product-chart__year-end--strategy {
  fill: var(--pi-paper);
  stroke: var(--pi-blue-600);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.pi-product-chart__endpoint--strategy {
  stroke: var(--pi-blue-600);
  stroke-width: 3;
}

.pi-product-chart__endpoint--benchmark {
  stroke: #5f7489;
  stroke-width: 2;
}

.pi-product-chart__x-axis {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  height: 1.25rem;
  list-style: none;
  margin: 8px 0 0 54px;
  padding: 0;
  position: relative;
}

.pi-product-chart__x-axis li {
  position: absolute;
  transform: translateX(-50%);
}

.pi-product-chart__x-axis li:nth-child(1) { left: 12.5%; }
.pi-product-chart__x-axis li:nth-child(2) { left: 25%; }
.pi-product-chart__x-axis li:nth-child(3) { left: 37.5%; }
.pi-product-chart__x-axis li:nth-child(4) { left: 50%; }
.pi-product-chart__x-axis li:nth-child(5) { left: 62.5%; }
.pi-product-chart__x-axis li:nth-child(6) { left: 75%; }
.pi-product-chart__x-axis li:nth-child(7) { left: 87.5%; }
.pi-product-chart__x-axis li:nth-child(8) {
  left: 100%;
  text-align: right;
  transform: translateX(-100%);
}

.pi-product-support-grid {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(34px, 5vw, 58px);
}

.pi-product-support {
  min-width: 0;
  padding: clamp(24px, 3vw, 34px) clamp(20px, 3vw, 36px) 0 0;
}

.pi-product-support + .pi-product-support {
  border-left: 1px solid var(--pi-rule);
  padding-left: clamp(20px, 3vw, 36px);
  padding-right: 0;
}

.pi-product-support figcaption strong {
  color: var(--pi-ink-900);
  font-size: 0.78rem;
  font-weight: 500;
}

.pi-product-support--drawdown figcaption strong {
  color: var(--pi-red-650);
}

.pi-product-support svg {
  display: block;
  height: 120px;
  margin-top: 24px;
  overflow: visible;
  width: 100%;
}

.pi-product-support__baseline {
  stroke: #c6d3df;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.pi-product-support__drawdown-area {
  fill: rgba(192, 54, 44, 0.12);
}

.pi-product-support__drawdown-line {
  fill: none;
  stroke: var(--pi-red-650);
  stroke-linejoin: round;
  stroke-width: 2;
}

.pi-product-support > p {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  line-height: 1.55;
  margin: 18px 0 0;
  max-width: 46ch;
}

.pi-product-bars {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(8, minmax(8px, 1fr));
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}

.pi-product-bar-point {
  display: grid;
  gap: 4px;
  min-width: 0;
  text-align: center;
}

.pi-product-bar-track {
  background: linear-gradient(to bottom, transparent calc(50% - 0.5px), #c6d3df calc(50% - 0.5px), #c6d3df calc(50% + 0.5px), transparent calc(50% + 0.5px));
  display: block;
  height: 120px;
  position: relative;
  width: 100%;
}

.pi-product-bar {
  left: 50%;
  max-width: 24px;
  position: absolute;
  transform: translateX(-50%);
  width: min(78%, 24px);
}

.pi-product-bar[class*="--positive"] {
  background: var(--pi-blue-600);
  bottom: 50%;
}

.pi-product-bar[class*="--negative"] {
  background: var(--pi-red-650);
  top: 50%;
}

.pi-product-bar--positive-1 { height: 15%; }
.pi-product-bar--positive-2 { height: 37%; }
.pi-product-bar--negative-1 { height: 15%; }
.pi-product-bar--positive-3 { height: 44%; }
.pi-product-bar--negative-2 { height: 26%; }
.pi-product-bar--positive-4 { height: 50%; }
.pi-product-bar--negative-3 { height: 7%; }
.pi-product-bar--positive-5 { height: 35%; }

.pi-product-bar-value,
.pi-product-bar-year {
  display: block;
  font-size: 0.75rem;
  line-height: 1.25;
  white-space: nowrap;
}

.pi-product-bar-value {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-product-bar-year {
  color: var(--pi-ink-650);
}

.pi-product-window__footer {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-top: clamp(28px, 4vw, 42px);
  padding-top: 20px;
}

.pi-product-window__footer p {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  line-height: 1.55;
  margin: 0;
}

.pi-product-window__footer p span {
  color: var(--pi-blue-700);
  margin-right: 5px;
}

.pi-product-window__footer .pi-text-link {
  flex: 0 0 auto;
  font-size: 0.82rem;
  margin-top: 0;
}

.pi-home-evidence {
  background: var(--pi-surface-inverse);
  color: var(--pi-text-inverse-strong);
}

.pi-home-evidence__grid {
  align-items: center;
  display: grid;
  gap: clamp(52px, 8vw, 112px);
  grid-template-columns: minmax(0, 0.9fr) minmax(390px, 1.1fr);
}

.pi-home-evidence__copy h2 {
  color: var(--pi-text-inverse-strong);
}

.pi-home-evidence__copy > p {
  color: var(--pi-text-inverse-muted);
}

.pi-home-evidence .pi-eyebrow {
  color: var(--pi-accent-inverse);
}

.pi-text-link {
  color: var(--pi-blue-600);
  display: inline-flex;
  font-weight: 600;
  gap: 7px;
  margin-top: 28px;
  min-height: 44px;
  text-decoration: none;
}

.pi-home-evidence .pi-text-link {
  color: var(--pi-link-inverse);
}

.pi-text-link:hover {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.pi-inspection-list {
  background: var(--pi-surface-inverse-raised);
  border-color: var(--pi-rule-inverse);
  margin: 0;
}

.pi-inspection-list div {
  align-items: baseline;
  border-bottom: 1px solid var(--pi-rule-inverse);
  display: grid;
  gap: 22px;
  grid-template-columns: 110px minmax(0, 1fr);
  padding: 24px 28px;
}

.pi-inspection-list div:last-child {
  border-bottom: 0;
}

.pi-inspection-list dt {
  color: var(--pi-text-inverse-strong);
  font-family: var(--pi-font-data);
  font-size: 0.8rem;
}

.pi-inspection-list dd {
  color: var(--pi-text-inverse-muted);
  font-size: 0.92rem;
  margin: 0;
}

.pi-home-methods {
  background: var(--pi-canvas);
}

.pi-method-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pi-method-card {
  display: flex;
  flex-direction: column;
  min-height: 310px;
  padding: clamp(26px, 3vw, 38px);
  transition: border-color 140ms ease, transform 140ms ease;
}

.pi-method-card:hover {
  border-color: #aebdcb;
}

.pi-method-card h3 {
  font-size: 1.65rem;
  margin-top: 62px;
}

.pi-method-card a {
  color: var(--pi-blue-700);
  font-weight: 600;
  margin-top: auto;
  min-height: 44px;
  padding-top: 22px;
  text-decoration: none;
}

.pi-method-card a:hover {
  color: var(--pi-action-primary-hover);
  text-decoration: none;
}

.pi-home-final {
  background: #eaf1f7;
  border-top: 1px solid var(--pi-rule);
  padding: clamp(64px, 7vw, 90px) 0;
}

.pi-home-final__inner {
  align-items: center;
  display: flex;
  gap: 44px;
  justify-content: space-between;
}

.pi-home-final h2 {
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  margin-bottom: 0;
  max-width: 750px;
}

.pi-home-final__action {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}

.pi-home-final__action .pi-text-link {
  margin-top: 12px;
}

@media (max-width: 991.98px) {
  .pi-home-hero__grid,
  .pi-home-evidence__grid,
  .pi-product-intro {
    grid-template-columns: 1fr;
  }

  .pi-product-intro__note {
    text-align: left;
  }

  .pi-home-hero__title {
    max-width: 15ch;
  }

  .pi-evidence-ledger {
    max-width: 650px;
  }

  .pi-workflow-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 42px;
  }

  .pi-method-grid {
    grid-template-columns: 1fr;
  }

  .pi-method-card {
    min-height: 260px;
  }

  .pi-home-final__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-home-final__action {
    align-items: flex-start;
  }
}

@media (max-width: 767.98px) {
  .pi-product-window {
    box-shadow: 10px 12px 0 rgba(18, 32, 51, 0.07);
  }

  .pi-product-window__heading,
  .pi-product-window__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-product-window__badge {
    align-self: flex-start;
  }

  .pi-product-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-product-metric:nth-child(3) {
    border-left: 0;
  }

  .pi-product-metric:nth-child(n + 3) {
    border-top: 1px solid var(--pi-rule);
  }

  .pi-product-metric:nth-child(3) {
    padding-left: 0;
  }

  .pi-product-support-grid {
    grid-template-columns: 1fr;
  }

  .pi-product-support,
  .pi-product-support + .pi-product-support {
    border-left: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .pi-product-support + .pi-product-support {
    border-top: 1px solid var(--pi-rule);
    margin-top: 28px;
  }
}

@media (max-width: 575.98px) {
  .pi-home-hero {
    background-size: 36px 36px;
    padding: 58px 0 68px;
  }

  .pi-home-hero__title {
    font-size: var(--pi-title-marketing);
  }

  .pi-home-hero__actions,
  .pi-home-hero__actions .pi-button {
    width: 100%;
  }

  .pi-evidence-ledger__heading,
  .pi-evidence-ledger__row,
  .pi-evidence-ledger__note {
    padding-left: 22px;
    padding-right: 22px;
  }

  .pi-workflow-list {
    grid-template-columns: 1fr;
  }

  .pi-workflow-list li {
    min-height: 190px;
  }

  .pi-product-window__path span:first-child,
  .pi-product-window__path span:nth-child(2) {
    display: none;
  }

  .pi-product-metric {
    padding-left: 16px;
    padding-right: 8px;
  }

  .pi-product-chart__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-product-chart__plot {
    grid-template-columns: 34px minmax(0, 1fr);
    height: 230px;
  }

  .pi-product-chart__x-axis {
    margin-left: 46px;
  }

  .pi-product-chart__x-axis li:nth-child(2),
  .pi-product-chart__x-axis li:nth-child(4),
  .pi-product-chart__x-axis li:nth-child(6) {
    visibility: hidden;
  }

  .pi-product-bars {
    gap: 18px 10px;
    grid-template-columns: repeat(4, minmax(44px, 1fr));
  }

  .pi-product-bar-track {
    height: 92px;
  }

  .pi-inspection-list div {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .pi-home-final__action,
  .pi-home-final__action .pi-button {
    width: 100%;
  }
}

/* Strategy library */
.pi-strategy-hero {
  background: var(--pi-paper);
  border-bottom: 1px solid var(--pi-rule);
  padding: clamp(58px, 7vw, 92px) 0;
}

.pi-strategy-hero__grid {
  align-items: end;
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.7fr);
  justify-content: space-between;
}

.pi-strategy-hero h1 {
  font-size: var(--pi-title-marketing);
  margin: 14px 0 0;
}

.pi-strategy-hero__grid > p {
  color: var(--pi-ink-650);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 0 7px;
}

.pi-strategy-section {
  padding: clamp(42px, 6vw, 80px) 0 clamp(78px, 9vw, 118px);
}

.pi-filter-bar {
  align-items: end;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
  padding: 18px;
}

.pi-filter-field label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  margin-bottom: 7px;
}

.pi-filter-field select {
  appearance: none;
  background-color: var(--pi-paper);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--pi-ink-650) 50%),
    linear-gradient(135deg, var(--pi-ink-650) 50%, transparent 50%);
  background-position:
    calc(100% - 17px) 52%,
    calc(100% - 12px) 52%;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  min-height: 44px;
  padding: 9px 34px 9px 11px;
  width: 100%;
}



.pi-filter-bar__actions {
  display: flex;
  gap: 8px;
}

.pi-strategy-results__heading {
  align-items: baseline;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin: clamp(38px, 5vw, 58px) 0 18px;
}

.pi-strategy-results__heading h2 {
  font-family: var(--pi-font-display);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin: 0;
}

.pi-strategy-results__heading p {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  margin: 0;
  text-transform: uppercase;
}

.pi-strategy-table-wrap {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  overflow-x: auto;
}

.pi-strategy-table {
  border-collapse: collapse;
  color: var(--pi-ink-900);
  font-size: 0.86rem;
  table-layout: fixed;
  width: 100%;
}

.pi-strategy-table th:first-child { width: 30%; }
.pi-strategy-table th:nth-child(2) { width: 14%; }
.pi-strategy-table th:nth-child(3) { width: 18%; }
.pi-strategy-table th:nth-child(4) { width: 12%; }
.pi-strategy-table th:last-child { width: 26%; }

.pi-strategy-table th {
  background: var(--pi-surface-muted);
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 14px 16px;
  text-align: left;
  text-transform: uppercase;
}

.pi-strategy-table td {
  border-bottom: 1px solid var(--pi-rule);
  padding: 22px 16px;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.pi-strategy-table tr:last-child td {
  border-bottom: 0;
}

.pi-strategy-table .pi-tag-list li {
  min-width: 0;
  white-space: normal;
}

.pi-strategy-name {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: 1.12rem;
  font-weight: 600;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}

.pi-strategy-name:hover {
  color: var(--pi-blue-700);
  text-decoration-color: currentColor;
}

.pi-strategy-table td:first-child p {
  color: var(--pi-ink-650);
  line-height: 1.5;
  margin: 8px 0 0;
}

.pi-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-tag-list li {
  align-items: center;
  background: #e8f0ff;
  border-radius: 999px;
  color: var(--pi-blue-700);
  display: inline-flex;
  font-size: 0.75rem;
  line-height: 1.25;
  padding: 4px 8px;
  white-space: nowrap;
}

.pi-tag-list--neutral li {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-650);
}

.pi-tag-list li.pi-muted {
  background: transparent;
  padding-left: 0;
}

.pi-strategy-research {
  display: grid;
  gap: 8px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pi-strategy-research__status {
  background: var(--pi-surface-muted);
  border-radius: 999px;
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  padding: 4px 8px;
  text-transform: uppercase;
  width: fit-content;
}

.pi-strategy-research--supporting .pi-strategy-research__status {
  background: #e6f6ef;
  color: var(--pi-green-650);
}

.pi-strategy-research--related .pi-strategy-research__status {
  background: #e8f0ff;
  color: var(--pi-blue-700);
}

.pi-strategy-research--mixed .pi-strategy-research__status {
  background: #fff2df;
  color: var(--pi-amber-700);
}

.pi-strategy-research__sources {
  display: grid;
  gap: 5px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-strategy-research__source {
  color: var(--pi-blue-700);
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.pi-strategy-research__source:hover {
  color: var(--pi-blue-600);
  text-decoration-thickness: 2px;
}

.pi-strategy-research__note {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  line-height: 1.4;
  margin: 0;
}

.pi-evidence-unavailable {
  color: var(--pi-ink-650);
  font-size: 0.8125rem;
}

.pi-strategy-cards {
  display: none;
  min-width: 0;
}

.pi-strategy-card,
.pi-strategy-card > *,
.pi-strategy-cards > * {
  min-width: 0;
}

.pi-pagination {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-top: 28px;
}

.pi-pagination__pages {
  align-items: center;
  display: flex;
  gap: 5px;
}

.pi-pagination a,
.pi-pagination span {
  align-items: center;
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  display: inline-flex;
  font-size: 0.84rem;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0 10px;
  text-decoration: none;
}

.pi-pagination a:hover {
  background: var(--pi-surface-muted);
}

.pi-pagination [aria-current="page"] {
  background: var(--pi-ink-900);
  color: var(--pi-paper);
}

.pi-pagination [aria-disabled="true"] {
  color: #8a98a7;
}

.pi-empty-state {
  max-width: 700px;
  margin: 24px auto 80px;
  padding: clamp(32px, 5vw, 52px);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  background: var(--pi-paper);
  box-shadow: var(--pi-shadow-sm);
  text-align: center;
}

.pi-empty-state h1,
.pi-empty-state h3 {
  font-family: var(--pi-font-display);
  font-size: 2rem;
  margin: 14px 0 10px;
}

.pi-empty-state > p:not(.pi-eyebrow) {
  color: var(--pi-ink-650);
  margin: 0;
}

@media (max-width: 991.98px) {
  .pi-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pi-filter-bar__actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .pi-strategy-hero__grid {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .pi-filter-bar {
    grid-template-columns: 1fr;
  }

  .pi-filter-bar__actions {
    flex-direction: column;
  }

  .pi-strategy-card {
    padding: 24px;
  }

  .pi-strategy-card__heading {
    align-items: start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
  }

  .pi-strategy-card h3 {
    font-family: var(--pi-font-display);
    font-size: 1.45rem;
    margin: 8px 0 0;
  }

  .pi-strategy-card h3 a {
    color: var(--pi-ink-900);
  }

  .pi-strategy-card > p {
    color: var(--pi-ink-650);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 18px 0;
  }

  .pi-strategy-card__details {
    border-top: 1px solid var(--pi-rule);
    margin: 0;
  }

  .pi-strategy-card__details > div {
    border-bottom: 1px solid var(--pi-rule);
    display: grid;
    gap: 16px;
    grid-template-columns: 80px minmax(0, 1fr);
    padding: 12px 0;
  }

  .pi-strategy-card__details dt {
    color: var(--pi-ink-650);
    font-size: 0.72rem;
    font-weight: 500;
  }

  .pi-strategy-card__details dd {
    font-size: 0.82rem;
    margin: 0;
  }

  .pi-strategy-card .pi-strategy-research {
    min-width: 0;
  }
}

@media (max-width: 459.98px) {
  .pi-strategy-results__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .pi-pagination {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .pi-pagination__pages {
    order: 3;
    width: 100%;
  }
}

/* Pricing */
.pi-pricing-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(21, 94, 239, 0.1), transparent 30%),
    var(--pi-paper);
  border-bottom: 1px solid var(--pi-rule);
  padding: clamp(54px, 6.5vw, 84px) 0 clamp(88px, 9vw, 120px);
  text-align: center;
}

.pi-pricing-hero__inner {
  margin-inline: auto;
  max-width: 900px;
}

.pi-pricing-hero h1 {
  font-size: var(--pi-title-marketing);
  margin: 16px auto 24px;
  max-width: 15ch;
}

.pi-pricing-hero__inner > p:last-child {
  color: var(--pi-ink-650);
  font-size: 1.08rem;
  line-height: 1.65;
  margin: 0 auto;
  max-width: 720px;
}

.pi-pricing-plans {
  margin-top: clamp(-92px, -8vw, -64px);
  padding-bottom: clamp(76px, 9vw, 116px);
}

.pi-pricing-grid {
  align-items: stretch;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1000px;
  min-width: 0;
}

.pi-pricing-grid > *,
.pi-plan > * {
  min-width: 0;
}

.pi-plan {
  display: flex;
  flex-direction: column;
  min-height: 590px;
  min-width: 0;
  padding: clamp(30px, 4vw, 48px);
  position: relative;
}

.pi-plan--premium {
  border-color: var(--pi-blue-600);
  box-shadow: 14px 14px 0 rgba(21, 94, 239, 0.09);
}

.pi-plan__recommended {
  background: var(--pi-blue-600);
  border-radius: 999px;
  color: var(--pi-paper);
  font-family: var(--pi-font-data);
  font-size: 0.67rem;
  letter-spacing: 0.06em;
  padding: 7px 10px;
  position: absolute;
  right: 28px;
  text-transform: uppercase;
  top: 28px;
}

.pi-plan__heading h2 {
  font-family: var(--pi-font-display);
  font-size: clamp(1.7rem, 3vw, 2.25rem);
  margin: 15px 0 28px;
}

.pi-plan__price {
  align-items: baseline;
  display: flex;
  gap: 7px;
  margin: 0;
}

.pi-plan__price > span {
  color: var(--pi-ink-900);
  font-size: clamp(2rem, 4vw, 2.8rem);
  letter-spacing: -0.04em;
}

.pi-plan__price small {
  color: var(--pi-ink-650);
  font-size: 0.82rem;
}

.pi-plan__billing {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  margin: 8px 0 0;
}

.pi-plan__features {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 0;
  list-style: none;
  margin: 32px 0;
  padding: 0;
}

.pi-plan__features li {
  align-items: start;
  border-bottom: 1px solid var(--pi-rule);
  display: grid;
  font-size: 0.9rem;
  gap: 12px;
  grid-template-columns: 20px minmax(0, 1fr);
  line-height: 1.5;
  padding: 13px 0;
}

.pi-plan__features li span {
  color: var(--pi-green-650);
  font-weight: 600;
}

.pi-plan__features .pi-plan__feature--muted,
.pi-plan__features .pi-plan__feature--muted span {
  color: var(--pi-ink-650);
}

.pi-plan__action,
.pi-plan__status {
  margin-top: auto;
  width: 100%;
}

.pi-plan__status {
  align-items: center;
  background: #eaf8f2;
  border: 1px solid #a9dbc7;
  border-radius: var(--pi-radius-sm);
  color: #0e6745;
  display: flex;
  font-size: 0.9rem;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  min-height: 48px;
  padding: 12px;
}

.pi-plan__status span {
  font-size: 0.65rem;
}

.pi-plan__terms {
  color: var(--pi-ink-650);
  font-size: 0.7rem;
  line-height: 1.5;
  margin: 14px 0 0;
  text-align: center;
}

.pi-pricing-comparison {
  background: var(--pi-paper);
  border-bottom: 1px solid var(--pi-rule);
  border-top: 1px solid var(--pi-rule);
  padding: clamp(76px, 9vw, 116px) 0;
}

.pi-comparison-table-wrap {
  overflow-x: auto;
}

.pi-comparison-table {
  border-collapse: collapse;
  min-width: 620px;
  width: 100%;
}

.pi-comparison-table th,
.pi-comparison-table td {
  border-bottom: 1px solid var(--pi-rule);
  padding: 20px 22px;
  text-align: left;
}

.pi-comparison-table thead th {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-650);
  font-family: var(--pi-font-data);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pi-comparison-table tbody th {
  font-size: 0.9rem;
  font-weight: 500;
}

.pi-comparison-table td {
  font-size: 0.9rem;
}

.pi-comparison-table tr:last-child th,
.pi-comparison-table tr:last-child td {
  border-bottom: 0;
}

.pi-pricing-faq {
  padding: clamp(76px, 9vw, 116px) 0;
}

.pi-pricing-faq__grid {
  display: grid;
  gap: clamp(42px, 7vw, 90px);
  grid-template-columns: minmax(260px, 0.65fr) minmax(0, 1fr);
}

.pi-pricing-faq h2 {
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  margin: 15px 0 0;
}

.pi-pricing-faq__items {
  border-top: 1px solid var(--pi-rule);
}

.pi-pricing-faq details {
  border-bottom: 1px solid var(--pi-rule);
}

.pi-pricing-faq summary {
  color: var(--pi-ink-900);
  cursor: pointer;
  font-family: var(--pi-font-display);
  font-size: 1.2rem;
  font-weight: 600;
  list-style-position: outside;
  min-height: 64px;
  padding: 20px 8px;
}



.pi-pricing-faq details p {
  color: var(--pi-ink-650);
  line-height: 1.65;
  margin: 0;
  padding: 0 8px 22px 26px;
}

@media (max-width: 767.98px) {
  .pi-pricing-grid,
  .pi-pricing-faq__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-pricing-plans {
    margin-top: -76px;
  }

  .pi-plan {
    min-height: auto;
  }

  .pi-plan__action,
  .pi-plan__status {
    margin-top: 12px;
  }
}

@media (max-width: 419.98px) {
  .pi-plan__recommended {
    position: static;
    width: max-content;
  }

  .pi-plan--premium .pi-plan__heading {
    margin-top: 20px;
  }
}

/* Authentication */
.pi-body--auth {
  background: var(--pi-canvas);
}

.pi-auth {
  background: var(--pi-canvas);
  min-height: 100vh;
}

.pi-auth__header {
  background: var(--pi-paper);
  border-bottom: 1px solid #cfdce8;
  padding: 17px 0;
}

.pi-auth__layout {
  align-items: center;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(330px, 0.82fr) minmax(440px, 1.18fr);
  grid-template-areas: "editorial panel";
  min-height: calc(100vh - 81px);
  padding-bottom: clamp(32px, 6vh, 72px);
  padding-top: clamp(32px, 6vh, 72px);
}

.pi-auth__editorial {
  align-self: stretch;
  background: #edf3f8;
  border: 1px solid #cfdce8;
  border-radius: var(--pi-radius-lg) 0 0 var(--pi-radius-lg);
  display: flex;
  flex-direction: column;
  grid-area: editorial;
  justify-content: center;
  padding: clamp(38px, 5vw, 64px);
}

.pi-auth__editorial h2 {
  font-size: clamp(2.35rem, 4vw, 3.35rem);
  margin: 16px 0 20px;
}

.pi-auth__editorial-intro {
  color: var(--pi-ink-650);
  font-size: 0.98rem;
  line-height: 1.7;
  margin: 0;
  max-width: 450px;
}

.pi-research-trail {
  list-style: none;
  margin: 34px 0 0;
  padding: 0 0 0 28px;
  position: relative;
}

.pi-research-trail::before {
  background: #b9cce0;
  bottom: 14px;
  content: "";
  left: 6px;
  position: absolute;
  top: 14px;
  width: 1px;
}

.pi-research-trail li {
  color: var(--pi-ink-650);
  display: grid;
  font-size: 0.9rem;
  gap: 5px;
  line-height: 1.5;
  padding: 0 0 24px;
  position: relative;
}

.pi-research-trail li:last-child {
  padding-bottom: 0;
}

.pi-research-trail li::before {
  background: var(--pi-paper);
  border: 2px solid var(--pi-blue-600);
  border-radius: 50%;
  content: "";
  height: 13px;
  left: -28px;
  position: absolute;
  top: 4px;
  width: 13px;
}

.pi-research-trail__label {
  color: var(--pi-ink-900);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pi-auth__context-note {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  line-height: 1.55;
  margin: 38px 0 0;
  max-width: 430px;
}

.pi-auth-panel {
  align-self: stretch;
  background: var(--pi-paper);
  border: 1px solid #cfdce8;
  border-left: 0;
  border-radius: 0 var(--pi-radius-lg) var(--pi-radius-lg) 0;
  box-shadow: 0 24px 70px rgba(18, 32, 51, 0.1);
  display: flex;
  flex-direction: column;
  grid-area: panel;
  justify-content: center;
  min-width: 0;
  padding: clamp(30px, 4vw, 48px);
}

.pi-auth-panel__heading h1 {
  font-size: clamp(2.25rem, 4vw, 3rem);
  margin: 12px 0 15px;
  max-width: 570px;
}

.pi-auth-panel__heading > p:last-child {
  color: var(--pi-ink-650);
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0;
  max-width: 520px;
}

.pi-auth-panel__actions,
.pi-auth-form {
  margin-top: 30px;
}

.pi-provider-button {
  align-items: center;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  cursor: pointer;
  display: flex;
  font-family: var(--pi-font-ui);
  font-size: 0.96rem;
  font-weight: 600;
  gap: 12px;
  justify-content: center;
  min-height: 50px;
  padding: 12px 16px;
  width: 100%;
}

.pi-provider-button:hover {
  background: var(--pi-surface-muted);
  border-color: #aebdcb;
}



.pi-provider-button:disabled {
  color: var(--pi-ink-650);
  cursor: wait;
}

.pi-provider-button svg {
  flex: 0 0 auto;
  height: 20px;
  width: 20px;
}

.pi-auth-panel__divider {
  align-items: center;
  color: var(--pi-ink-650);
  display: flex;
  font-size: 0.78rem;
  gap: 14px;
  margin: 18px 0;
}

.pi-auth-panel__divider::before,
.pi-auth-panel__divider::after {
  background: var(--pi-rule);
  content: "";
  flex: 1 1 auto;
  height: 1px;
}

.pi-auth-panel__email,
.pi-auth-form__submit {
  min-height: 50px;
  width: 100%;
}

.pi-auth-panel__privacy {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  line-height: 1.55;
  margin: 28px 0 0;
  text-align: center;
}

.pi-auth-panel__privacy a,
.pi-auth-panel__secondary-links a {
  color: var(--pi-ink-900);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pi-form-errors {
  background: #fff4f2;
  border: 1px solid #efc0ba;
  border-left: 3px solid var(--pi-red-650);
  border-radius: var(--pi-radius-sm);
  margin-top: 26px;
  padding: 16px 18px;
}

.pi-form-errors h2 {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 5px;
}

.pi-form-errors p {
  color: #78352f;
  font-size: 0.82rem;
  margin: 3px 0 0;
}

.pi-form-field {
  gap: 0;
  margin: 0 0 19px;
}

.pi-form-field label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 7px;
}

.pi-form-control {
  background: #fbfdff;
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-md);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1rem;
  min-height: 50px;
  padding: 11px 13px;
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
  width: 100%;
}

.pi-form-control:hover {
  border-color: var(--pi-ink-650);
}



.pi-form-field--error .pi-form-control {
  border-color: var(--pi-red-650);
}

.pi-form-field__error p,
.pi-form-field__help {
  font-size: 0.78rem;
  line-height: 1.45;
  margin: 7px 0 0;
}

.pi-form-field__error p {
  color: var(--pi-red-650);
}

.pi-form-field__help {
  color: var(--pi-ink-650);
}

.pi-form-field__help ul {
  margin: 7px 0 0;
  padding-left: 19px;
}

.pi-check-field {
  margin-bottom: 20px;
}

.pi-check-field__control {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 18px minmax(0, 1fr);
  min-height: 44px;
}

.pi-check-field__input {
  accent-color: var(--pi-blue-600);
  height: 18px;
  margin: 0;
  width: 18px;
}

.pi-check-field__control label {
  color: var(--pi-ink-650);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.55;
  margin: 0;
  padding: 12px 0;
}



.pi-captcha-field {
  margin-bottom: 22px;
}

.pi-captcha-field__widget {
  max-width: 100%;
  min-height: 78px;
  overflow: hidden;
}

.pi-captcha-field .g-recaptcha {
  transform-origin: left top;
}

.pi-auth-panel__secondary-links {
  align-items: center;
  color: var(--pi-ink-650);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  gap: 9px;
  justify-content: center;
  margin-top: 22px;
}

@media (max-width: 899.98px) {
  .pi-auth__layout {
    align-items: stretch;
    grid-template-columns: 1fr;
    grid-template-areas: "panel" "editorial";
    min-height: auto;
    max-width: 680px;
  }

  .pi-auth__editorial {
    border-radius: 0 0 var(--pi-radius-lg) var(--pi-radius-lg);
    border-top: 0;
    padding-block: 38px;
  }

  .pi-auth-panel {
    border-left: 1px solid #cfdce8;
    border-radius: var(--pi-radius-lg) var(--pi-radius-lg) 0 0;
    box-shadow: 0 20px 52px rgba(18, 32, 51, 0.09);
  }
}

@media (max-width: 575.98px) {
  .pi-auth__layout {
    padding-bottom: 28px;
    padding-top: 28px;
  }

  .pi-auth__editorial h2 {
    font-size: 2.2rem;
  }

  .pi-auth__editorial,
  .pi-auth-panel {
    padding: 30px 22px;
  }

  .pi-auth-panel__heading h1 {
    font-size: 2.2rem;
  }
}

@media (max-width: 359.98px) {
  .pi-auth__editorial,
  .pi-auth-panel {
    padding-inline: 16px;
  }

  .pi-captcha-field__widget {
    min-height: 61px;
  }

  .pi-captcha-field .g-recaptcha {
    transform: scale(0.78);
  }
}

@media (max-width: 399.98px) {
  .pi-auth-form .g-recaptcha {
    transform: scale(0.88);
    transform-origin: left top;
  }
}

@media (max-width: 349.98px) {
  .pi-auth-form .g-recaptcha {
    transform: scale(0.78);
  }
}

/* Backtest builder workbench */
.pi-body--builder {
  background: var(--pi-surface-muted);
}

.pi-page--builder {
  max-width: 1200px;
  min-width: 0;
  padding-bottom: clamp(3rem, 6vw, 5rem);
  padding-top: var(--pi-space-page-start);
}

.pi-builder-header {
  max-width: 760px;
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.pi-builder-header h1 {
  font-family: var(--pi-font-display);
  font-size: var(--pi-title-workspace);
  letter-spacing: -0.025em;
  line-height: 1.04;
  margin: 0 0 18px;
}

.pi-builder-header__intro {
  color: var(--pi-ink-650);
  font-size: var(--pi-text-secondary);
  line-height: 1.65;
  margin: 0 0 12px;
  max-width: 720px;
}

.pi-builder-header__progress {
  color: var(--pi-ink-650);
  font-size: var(--pi-text-secondary);
  line-height: 1.65;
  margin: 0;
}

.pi-builder {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  grid-template-areas: "main summary";
  grid-template-columns: minmax(0, 1fr) minmax(270px, 320px);
  margin: 0;
  min-width: 0;
}

.pi-builder > .pi-builder__main,
.pi-builder > .pi-builder__summary {
  flex: none;
  max-width: none;
  min-width: 0;
  padding: 0;
  width: auto;
}

.pi-builder__main {
  grid-area: main;
  overflow: visible;
}

.pi-builder__summary {
  align-self: start;
  display: block !important;
  grid-area: summary;
  position: sticky;
  top: 96px;
}

.pi-builder-summary {
  padding: clamp(22px, 3vw, 30px);
}

.pi-builder-summary h2 {
  font-family: var(--pi-font-ui);
  font-size: 1.35rem;
  margin: 4px 0 22px;
}

.pi-builder-summary__note {
  border-top: 1px solid var(--pi-rule);
  color: var(--pi-ink-650);
  font-size: 0.84rem;
  line-height: 1.55;
  margin: 22px 0 0;
  padding-top: 18px;
}

.pi-evidence-ledger--compact {
  display: grid;
  gap: 0;
  margin: 0;
}

.pi-evidence-ledger--compact > div {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 3px;
  padding: 13px 0;
}

.pi-evidence-ledger--compact dt {
  color: var(--pi-ink-650);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pi-evidence-ledger--compact dd {
  color: var(--pi-ink-900);
  font-size: 0.95rem;
  margin: 0;
}

.pi-builder-step {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-sm);
  max-width: none;
  min-width: 0;
  padding: clamp(22px, 4vw, 40px) !important;
  width: 100%;
}

.pi-builder-activity {
  background: rgba(154, 79, 8, 0.045);
  border: 1px solid rgba(154, 79, 8, 0.24);
  border-left: 4px solid var(--pi-amber-700);
  border-radius: var(--pi-radius-md);
  margin: 0 0 32px;
  padding: clamp(20px, 3vw, 28px);
}

.pi-builder-activity__status {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.pi-builder-activity__status .pi-eyebrow {
  margin: 0;
}

.pi-builder-step .pi-builder-activity h2 {
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  margin: 16px 0 0;
}

.pi-builder-activity__run {
  align-items: baseline;
  color: var(--pi-ink-900);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 14px 0 0;
}

.pi-builder-activity__run span {
  color: var(--pi-ink-650);
  font-size: 0.86rem;
}

.pi-builder-activity__message,
.pi-builder-activity__guidance {
  color: var(--pi-ink-650);
  line-height: 1.55;
  margin: 10px 0 0;
}

.pi-builder-activity__message strong {
  color: var(--pi-ink-900);
  display: block;
  font-weight: 600;
}

.pi-builder-activity__guidance {
  font-size: 0.86rem;
}

.pi-builder-activity__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.pi-builder-notice {
  margin: 0 0 28px;
}

.pi-builder-step h2,
.pi-builder-step .heading1-font {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: clamp(1.5rem, 2.2vw, 1.875rem);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin-bottom: 10px;
}

.pi-builder-step h5,
.pi-builder-step label {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
}

.pi-builder-step .text-muted {
  color: var(--pi-ink-650) !important;
}

.pi-builder-step .container,
.pi-builder-step .row,
.pi-builder-step .form-group,
.pi-builder-step .btn-group {
  max-width: 100%;
  min-width: 0;
}

.pi-builder-step input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pi-builder-step select,
.pi-builder-step textarea,
.pi-builder-step .form-control {
  max-width: 100% !important;
}

.pi-builder-step input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.pi-builder-step select,
.pi-builder-step textarea,
.pi-builder-step button {
  min-height: 44px;
}

.pi-builder-step #portfolio-actions-button {
  min-width: 44px;
}

.pi-universe-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
  width: 100%;
}

.pi-universe-actions__choices {
  align-items: center;
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  gap: 0.75rem;
  min-width: 0;
}

.pi-universe-actions .btn-group {
  padding: 0;
}

.pi-universe-actions #portfolio-actions-group {
  margin-left: auto;
  padding: 0;
  position: relative;
}

.pi-universe-actions #portfolio-actions-button {
  background: var(--pi-paper);
  border-color: var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  height: 44px;
  min-height: 44px;
  min-width: 44px;
  padding: 0;
  width: 44px;
}

.pi-universe-actions #portfolio-actions-button:hover,
.pi-universe-actions #portfolio-actions-button[aria-expanded="true"] {
  background: var(--pi-surface-muted);
  border-color: var(--pi-rule-strong);
}

.pi-universe-actions #portfolio-actions-button .fas {
  font-size: 0.875rem;
  pointer-events: none;
}

.pi-universe-actions .dropdown-menu {
  margin-top: 0.5rem;
}

@media (max-width: 575.98px) {
  .pi-universe-actions {
    align-items: flex-start;
    gap: 0.625rem;
  }

  .pi-universe-actions__choices {
    align-items: stretch;
    flex: 1 1 calc(100% - 56px);
    gap: 0.625rem;
  }

  .pi-universe-actions__choices .btn-group,
  .pi-universe-actions__choices .pi-button {
    width: 100%;
  }
}

.pi-builder-step .pi-button--primary,
.pi-builder-step input[type="submit"] {
  border-radius: var(--pi-radius-sm) !important;
  font-family: var(--pi-font-ui);
  font-weight: 700 !important;
  min-height: 44px;
}

.pi-builder-advanced {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  margin: 0.25rem 0 1.5rem;
  overflow: hidden;
}

.pi-builder-advanced__toggle {
  align-items: center;
  appearance: none;
  background: var(--pi-canvas);
  border: 0;
  color: var(--pi-ink-900);
  cursor: pointer;
  display: grid;
  font-family: var(--pi-font-ui);
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 68px;
  padding: 0.9rem 1rem;
  text-align: left;
  transition: background-color 140ms ease, box-shadow 140ms ease;
  width: 100%;
}

.pi-builder-advanced__toggle:hover,
.pi-builder-advanced__toggle[aria-expanded="true"] {
  background: var(--pi-surface-muted);
}



.pi-builder-advanced__copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.pi-builder-advanced__title {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
}

.pi-builder-advanced__hint {
  color: var(--pi-ink-650);
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.45;
}

.pi-builder-advanced__chevron {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  height: 0.55rem;
  margin: -0.2rem 0.25rem 0 0;
  transform: rotate(45deg);
  transition: transform 140ms ease;
  width: 0.55rem;
}

.pi-builder-advanced__toggle[aria-expanded="true"] .pi-builder-advanced__chevron {
  margin-top: 0.25rem;
  transform: rotate(-135deg);
}

.pi-builder-advanced__panel {
  border-top: 1px solid var(--pi-rule);
  padding: clamp(1.25rem, 3vw, 1.5rem);
}

.pi-builder-advanced__panel > :first-child {
  margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
  .pi-builder-advanced__toggle,
  .pi-builder-advanced__chevron {
    transition: none;
  }
}

.pi-selection {
  border-bottom: 1px solid var(--pi-rule);
  border-top: 1px solid var(--pi-rule);
  margin: 1.5rem 0;
  padding: 1.25rem 0;
}

.pi-selection__summary {
  display: grid;
  gap: 0.5rem;
}

.pi-selection__count {
  color: var(--pi-ink-900);
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.pi-selection__preview {
  color: var(--pi-ink-650);
  font-size: 0.8125rem;
  line-height: 1.65;
  min-height: 1.35rem;
  overflow-wrap: anywhere;
}

.pi-selection-review {
  margin-top: 0.875rem;
}

.pi-selection-review summary {
  color: var(--pi-blue-700);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  list-style-position: outside;
  min-height: 44px;
  padding: 0.7rem 0;
  width: max-content;
}



.pi-selection-review__list {
  background: var(--pi-canvas);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  margin-top: 0.5rem;
  max-height: 22rem;
  overflow-y: auto;
  padding: 0.75rem;
  scrollbar-color: var(--pi-rule-strong) transparent;
  scrollbar-width: thin;
}

.pi-selection-review__list::-webkit-scrollbar {
  width: 8px;
}

.pi-selection-review__list::-webkit-scrollbar-thumb {
  background: var(--pi-rule-strong);
  border: 2px solid var(--pi-canvas);
  border-radius: 999px;
}

.pi-page--builder #instrument_list,
.pi-page--builder #bench_list {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin: 0;
}

.pi-selection-chip {
  align-items: stretch;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: 6px;
  display: inline-flex;
  flex: 0 1 auto;
  margin: 0;
  min-width: 0;
  overflow: hidden;
}

.pi-selection-chip > .pi-button {
  background: var(--pi-paper);
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  font-size: 0.8125rem;
  font-weight: 600;
  min-height: 44px;
  padding: 0.65rem 0.8rem;
  text-decoration: none;
}

.pi-selection-chip__remove {
  appearance: none;
  align-items: center;
  background: var(--pi-paper);
  border: 0;
  border-left: 1px solid var(--pi-rule);
  border-radius: 0;
  color: var(--pi-ink-650);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 44px;
  height: 44px;
  justify-content: center;
  margin: 0;
  padding: 0;
  position: static;
  width: 44px;
}

.pi-selection-chip__remove .fas {
  align-items: center;
  background: var(--pi-surface-muted);
  border-radius: 50%;
  display: inline-flex;
  font-size: 0.68rem;
  height: 24px;
  justify-content: center;
  transition: background-color 140ms ease, color 140ms ease;
  width: 24px;
}

.pi-selection-chip__remove .fas::before {
  content: "×";
  font-family: var(--pi-font-ui);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.pi-selection-chip__remove:hover {
  background: var(--pi-action-risk-surface);
  color: var(--pi-red-650);
}

.pi-selection-chip__remove:hover .fas {
  background: #fde6e2;
}



.pi-builder-step .pi-parameter-table {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-left: 3px solid var(--pi-blue-600);
  border-radius: var(--pi-radius-md);
  border-collapse: separate;
  border-spacing: 0;
  display: table;
  margin: 1.25rem 0 2rem;
  min-width: 0;
  overflow: visible !important;
  table-layout: fixed;
  width: 100%;
}

.pi-parameter-table thead th {
  background: var(--pi-canvas);
  border-bottom: 1px solid var(--pi-rule) !important;
  border-top: 0 !important;
  color: var(--pi-ink-650);
  font-family: var(--pi-font-data);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.055em;
  line-height: 1.4;
  padding: 0.85rem 1rem !important;
  text-transform: uppercase;
  vertical-align: middle;
}

.pi-parameter-table tbody td {
  border-top: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  float: none !important;
  font-size: 0.95rem;
  line-height: 1.45;
  padding: 0.8rem 1rem !important;
  vertical-align: middle !important;
}

.pi-parameter-table tbody tr:first-child > td {
  border-top: 0;
}

.pi-parameter-table .form-control,
.pi-parameter-table input:not([type="hidden"]),
.pi-parameter-table select {
  margin: 0;
  min-width: 0 !important;
  width: 100% !important;
}

.pi-parameter-table--signals th:nth-child(1) {
  width: 27% !important;
}

.pi-parameter-table--signals th:nth-child(2) {
  width: 48% !important;
}

.pi-parameter-table--signals th:nth-child(3) {
  width: 25% !important;
}

.pi-parameter-table--screen th:first-child {
  width: 68% !important;
}

.pi-parameter-table--screen th:last-child {
  width: 32% !important;
}

.pi-parameter-table--allocation th:first-child {
  width: 62% !important;
}

.pi-parameter-table--allocation th:last-child {
  width: 38% !important;
}

.pi-parameter-table--instrument-rules th:nth-child(1) {
  width: 28% !important;
}

.pi-parameter-table--instrument-rules th:nth-child(2),
.pi-parameter-table--instrument-rules th:nth-child(3) {
  width: 26% !important;
}

.pi-parameter-table--instrument-rules th:nth-child(4) {
  width: 20% !important;
}

.pi-builder-step .modal-content {
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  box-shadow: var(--pi-shadow-lg);
}

.pi-builder-step .pi-instrument-picker {
  background: var(--pi-paper);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  max-height: min(760px, calc(100vh - 48px));
  overflow: hidden;
}

.pi-instrument-picker__header {
  align-items: flex-start;
  border-bottom: 1px solid var(--pi-rule);
  display: flex;
  justify-content: space-between;
  padding: 24px 28px 20px;
}

.pi-instrument-picker__header .pi-eyebrow {
  margin: 0 0 6px;
}

.pi-instrument-picker__header h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0;
}

.pi-instrument-picker__intro {
  color: var(--pi-ink-650);
  line-height: 1.5;
  margin: 7px 0 0;
}

.pi-instrument-picker__close {
  flex: 0 0 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
}

.pi-instrument-picker__close-mark {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 300;
  line-height: 1;
  transform: translateY(-1px);
}

.pi-instrument-picker__body {
  max-height: min(570px, calc(100vh - 238px));
  overflow-y: auto;
  padding: 24px 28px 28px;
}

.pi-instrument-search label {
  color: var(--pi-ink-900);
  display: block;
  font-size: 0.86rem;
  font-weight: 600;
  margin: 0 0 8px;
}

.pi-instrument-search__field {
  align-items: center;
  display: flex;
  position: relative;
}

.pi-instrument-search__icon {
  border: 2px solid var(--pi-ink-650);
  border-radius: 50%;
  height: 14px;
  left: 15px;
  pointer-events: none;
  position: absolute;
  top: 15px;
  width: 14px;
  z-index: 1;
}

.pi-instrument-search__icon::after {
  background: var(--pi-ink-650);
  border-radius: 2px;
  content: "";
  height: 2px;
  left: 9px;
  position: absolute;
  top: 10px;
  transform: rotate(45deg);
  transform-origin: left center;
  width: 7px;
}

.pi-instrument-search__field .form-control {
  background: var(--pi-paper);
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font: inherit;
  min-height: 48px;
  padding: 11px 14px 11px 43px;
  width: 100%;
}



.pi-instrument-search__hint {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  line-height: 1.5;
  margin: 7px 0 0;
}

.pi-instrument-search__results:not(:empty) {
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  box-shadow: var(--pi-shadow-sm);
  margin-top: 12px;
  overflow: hidden;
}

.pi-instrument-search-result {
  align-items: flex-start;
  background: var(--pi-paper);
  border: 0;
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 56px;
  padding: 10px 14px;
  text-align: left;
  width: 100%;
}

.pi-instrument-search-result:last-child {
  border-bottom: 0;
}

.pi-instrument-search-result:hover {
  background: var(--pi-surface-muted);
}



.pi-instrument-search-result > span {
  color: var(--pi-ink-650);
  font-size: 0.82rem;
}

.pi-instrument-browse {
  margin-top: 24px;
}

.pi-instrument-browse__heading {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin-bottom: 9px;
}

.pi-instrument-browse__heading h3 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.94rem;
  font-weight: 600;
  margin: 0;
}

.pi-instrument-browse__heading .pi-data {
  color: var(--pi-ink-650);
  font-size: 0.73rem;
  text-transform: uppercase;
}

.pi-instrument-groups {
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  overflow: hidden;
}

.pi-instrument-group + .pi-instrument-group {
  border-top: 1px solid var(--pi-rule);
}

.pi-instrument-group__trigger {
  align-items: center;
  background: var(--pi-paper);
  border: 0;
  color: var(--pi-ink-900);
  cursor: pointer;
  display: grid;
  font: inherit;
  font-weight: 500;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  min-height: 52px;
  padding: 12px 16px;
  text-align: left;
  width: 100%;
}

.pi-instrument-group__trigger:hover {
  background: var(--pi-surface-muted);
}



.pi-instrument-group__count {
  color: var(--pi-ink-650);
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
}

.pi-instrument-group__chevron {
  border-bottom: 2px solid var(--pi-ink-650);
  border-right: 2px solid var(--pi-ink-650);
  height: 8px;
  justify-self: center;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform 160ms ease;
  width: 8px;
}

.pi-instrument-group__trigger[aria-expanded="true"] .pi-instrument-group__chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}

.pi-instrument-group__panel {
  background: var(--pi-canvas);
  border-top: 1px solid var(--pi-rule);
  padding: 8px 12px 12px;
}

.pi-instrument-group__panel[hidden] {
  display: none;
}

.pi-instrument-option {
  align-items: center;
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  cursor: pointer;
  display: flex;
  gap: 12px;
  margin: 0;
  min-height: 48px;
  padding: 8px;
}

.pi-instrument-option:hover {
  background: var(--pi-paper);
}

.pi-instrument-option input {
  accent-color: var(--pi-action-primary);
  flex: 0 0 auto;
  height: 18px;
  margin: 0;
  width: 18px;
}

.pi-instrument-option__copy {
  display: flex;
  flex-direction: column;
  line-height: 1.35;
  min-width: 0;
}

.pi-instrument-option__copy > span {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pi-instrument-load-more {
  margin: 10px 8px 2px;
  width: calc(100% - 16px);
}

.pi-instrument-picker__status {
  color: var(--pi-ink-650);
  line-height: 1.5;
  margin: 0;
  padding: 14px;
}

.pi-instrument-picker__status--error {
  color: var(--pi-red-650);
}

.pi-instrument-picker__footer {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  justify-content: space-between;
  padding: 16px 28px;
}

.pi-instrument-picker__selection {
  color: var(--pi-ink-650);
  font-size: 0.76rem;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}

.pi-instrument-picker__feedback {
  min-width: 0;
}

.pi-instrument-picker__save-status {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  line-height: 1.4;
  margin: 5px 0 0;
  max-width: 390px;
}

.pi-instrument-picker__save-status:empty {
  display: none;
}

.pi-instrument-picker__actions {
  display: flex;
  gap: 8px;
}

.pi-instrument-picker__skeleton {
  animation: pi-instrument-skeleton 1.2s ease-in-out infinite;
  background: linear-gradient(90deg, var(--pi-surface-muted), #f7fafc, var(--pi-surface-muted));
  background-size: 220% 100%;
  height: 52px;
}

.pi-instrument-picker__skeleton + .pi-instrument-picker__skeleton {
  border-top: 1px solid var(--pi-rule);
}

@keyframes pi-instrument-skeleton {
  from { background-position: 100% 0; }
  to { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pi-instrument-picker__skeleton {
    animation: none;
  }

  .pi-instrument-group__chevron {
    transition: none;
  }
}

@media (max-width: 575.98px) {
  .pi-builder-step .pi-instrument-picker {
    border-radius: 0;
    max-height: calc(100vh - 16px);
  }

  .pi-instrument-picker__header {
    padding: 20px 18px 16px;
  }

  .pi-instrument-picker__body {
    max-height: calc(100vh - 220px);
    padding: 20px 18px 24px;
  }

  .pi-instrument-picker__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    padding: 14px 18px 16px;
  }

  .pi-instrument-picker__actions {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
  }
}

.pi-page--builder-summary {
  max-width: 1100px;
  min-width: 0;
  padding-bottom: clamp(48px, 7vw, 88px);
  padding-top: var(--pi-space-page-start);
}

.pi-builder-summary-layout {
  display: block;
  margin: 0;
  min-width: 0;
}

.pi-builder-summary-layout > .col-lg-2 {
  display: none !important;
}

.pi-builder-summary-layout > .pi-builder-summary-card {
  max-width: 920px;
  min-width: 0;
  padding: clamp(24px, 5vw, 48px);
  width: 100%;
}

.pi-builder-summary-card h1 {
  font-family: var(--pi-font-ui);
  font-size: var(--pi-title-workspace);
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.pi-builder-summary-card h5 {
  color: var(--pi-ink-650);
  font-family: var(--pi-font-ui);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4 !important;
  margin-top: 26px;
  text-transform: uppercase;
}

.pi-builder-summary-card .container,
.pi-builder-summary-card .row,
.pi-evidence-ledger--analytical {
  max-width: 100%;
  min-width: 0;
}

.pi-builder-summary-card [id$="_container"] {
  max-width: 100%;
  min-width: 0;
}

.pi-builder-field-title {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 1.35rem 0 0.5rem;
}

.pi-page--tutorial {
  background: var(--pi-canvas);
  min-height: 100vh;
  padding: 0 0 clamp(64px, 8vw, 110px);
  padding-top: 0;
}

.pi-tutorial-header {
  border-bottom: 1px solid var(--pi-rule-strong);
  margin-bottom: clamp(34px, 5vw, 58px);
  max-width: 900px;
  padding-bottom: clamp(28px, 4vw, 42px);
}

.pi-tutorial-header h1 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(2.5rem, 5vw, 4rem);
  letter-spacing: -0.045em;
  line-height: 0.98;
  margin: 0 0 1.2rem;
}

.pi-tutorial-header p {
  color: var(--pi-ink-650);
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.7;
  margin: 0;
  max-width: 680px;
}

.pi-tutorial-layout {
  align-items: start;
  display: grid;
  gap: clamp(36px, 6vw, 84px);
  grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
}

.pi-tutorial-nav {
  border-top: 2px solid var(--pi-ink-900);
  position: sticky;
  top: 112px;
}

.pi-tutorial-nav__label {
  color: var(--pi-ink-650);
  font-family: var(--pi-font-data);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0;
  padding: 16px 2px 10px;
  text-transform: uppercase;
}

.pi-tutorial-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-tutorial-nav a {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  color: var(--pi-ink-650);
  display: flex;
  font-size: 0.875rem;
  line-height: 1.35;
  min-height: 44px;
  padding: 9px 2px;
  text-decoration: none;
}

.pi-tutorial-nav a:hover {
  color: var(--pi-blue-700);
  background: var(--pi-surface-muted);
  text-decoration: none;
}

.pi-tutorial-content {
  min-width: 0;
}

.pi-tutorial-section {
  border-top: 1px solid var(--pi-rule-strong);
  display: grid;
  gap: clamp(24px, 4vw, 48px);
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.92fr);
  padding: clamp(34px, 5vw, 58px) 0;
  scroll-margin-top: 104px;
}

.pi-tutorial-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.pi-tutorial-media {
  align-self: start;
  aspect-ratio: 16 / 9;
  background: var(--pi-ink-900);
  border: 1px solid var(--pi-rule-strong);
  border-radius: var(--pi-radius-md);
  overflow: hidden;
}

.pi-tutorial-media iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.pi-tutorial-copy {
  align-self: center;
}

.pi-tutorial-step {
  color: var(--pi-blue-700);
  font-family: var(--pi-font-data);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.pi-tutorial-copy h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0 0 1rem;
}

.pi-tutorial-copy p {
  color: var(--pi-ink-650);
  line-height: 1.7;
  margin: 0 0 0.9rem;
}

.pi-tutorial-copy p:last-child {
  margin-bottom: 0;
}

.pi-tutorial-copy a {
  color: var(--pi-blue-700);
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

@media (max-width: 1199.98px) {
  .pi-builder {
    grid-template-areas:
      "summary"
      "main";
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-builder__summary {
    position: static;
  }

  .pi-builder-summary {
    display: grid;
    gap: 0 2rem;
    grid-template-columns: minmax(210px, 0.7fr) minmax(0, 2fr);
  }

  .pi-builder-summary > .pi-eyebrow {
    grid-column: 1;
    grid-row: 1;
  }

  .pi-builder-summary > h2 {
    grid-column: 1;
    grid-row: 2;
    margin-bottom: 12px;
  }

  .pi-builder-summary > .pi-evidence-ledger--compact {
    grid-column: 2;
    grid-row: 1 / span 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-builder-summary > .pi-evidence-ledger--compact > div {
    padding: 10px 14px;
  }

  .pi-builder-summary > .pi-evidence-ledger--compact > div:nth-child(even) {
    border-left: 1px solid var(--pi-rule);
  }

  .pi-builder-summary > .pi-builder-summary__note {
    grid-column: 1;
    grid-row: 3;
    margin-top: 0;
  }
}

@media (max-width: 1024px) {

  .pi-tutorial-layout {
    gap: 36px;
    grid-template-columns: 180px minmax(0, 1fr);
  }

  .pi-tutorial-section {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .pi-builder-summary {
    display: block;
  }

  .pi-builder-summary > .pi-evidence-ledger--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-builder-summary > .pi-builder-summary__note {
    margin-top: 18px;
  }

  .pi-builder-step .pi-parameter-table {
    background: transparent;
    border: 0;
    border-radius: 0;
    display: block;
    table-layout: auto;
  }

  .pi-parameter-table thead {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .pi-parameter-table tbody {
    display: grid;
    gap: 0.75rem;
  }

  .pi-parameter-table tbody tr {
    background: var(--pi-paper);
    border: 1px solid var(--pi-rule);
    border-left: 3px solid var(--pi-blue-600);
    border-radius: var(--pi-radius-md);
    display: grid;
    gap: 0.8rem 1rem;
    padding: 1rem;
  }

  .pi-parameter-table tbody td {
    border: 0;
    display: block;
    min-width: 0;
    padding: 0 !important;
  }

  .pi-parameter-table tbody td::before {
    color: var(--pi-ink-650);
    display: block;
    font-family: var(--pi-font-data);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.055em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
  }

  .pi-parameter-table--signals tbody tr {
    grid-template-columns: minmax(0, 1fr) minmax(96px, 0.65fr);
  }

  .pi-parameter-table--signals tbody td:nth-child(2) {
    font-weight: 600;
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .pi-parameter-table--signals tbody td:first-child::before {
    content: "Ranking";
  }

  .pi-parameter-table--signals tbody td:nth-child(3)::before {
    content: "Weight (%)";
  }

  .pi-parameter-table--signals tbody td[colspan] {
    grid-column: 1 / -1;
  }

  .pi-parameter-table--signals tbody td[colspan]::before {
    content: none;
    display: none;
  }

  .pi-parameter-table--screen tbody tr,
  .pi-parameter-table--allocation tbody tr {
    grid-template-columns: minmax(0, 1fr) minmax(96px, 0.55fr);
  }

  .pi-parameter-table--screen tbody td:first-child::before {
    content: "Moving average";
  }

  .pi-parameter-table--screen tbody td:last-child::before {
    content: "Period";
  }

  .pi-parameter-table--allocation tbody td:first-child::before {
    content: "Instrument";
  }

  .pi-parameter-table--allocation tbody td:last-child::before {
    content: "Weight (%)";
  }

  .pi-parameter-table--instrument-rules tbody tr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-parameter-table--instrument-rules tbody td:first-child {
    font-family: var(--pi-font-data);
    font-weight: 600;
    grid-column: 1 / -1;
  }

  .pi-parameter-table--instrument-rules tbody td:first-child::before {
    content: "Instrument";
  }

  .pi-parameter-table--instrument-rules tbody td:nth-child(2)::before {
    content: "Rule";
  }

  .pi-parameter-table--instrument-rules tbody td:nth-child(3)::before {
    content: "Period";
  }

  .pi-parameter-table--instrument-rules tbody td:nth-child(4) {
    align-self: end;
  }
}

@media (max-width: 575.98px) {
  .pi-page--builder {
    padding-left: 15px;
    padding-right: 15px;
  }

  .pi-builder-step {
    border-radius: var(--pi-radius-md);
    padding: 20px !important;
  }

  .pi-builder-activity__status,
  .pi-builder-activity__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-builder-activity__actions .pi-button {
    width: 100%;
  }

  .pi-builder-summary > .pi-evidence-ledger--compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-builder-summary > .pi-evidence-ledger--compact > div:nth-child(even) {
    border-left: 0;
  }

  .pi-builder-step > input[type="submit"],
  .pi-builder-step > form > input[type="submit"],
  .pi-builder-step form > .pi-button--primary:last-child {
    width: 100%;
  }

  .pi-page--tutorial {
    padding-top: 0;
  }

  .pi-tutorial-layout {
    display: block;
  }

  .pi-tutorial-nav {
    margin-bottom: 38px;
    position: static;
  }

  .pi-tutorial-nav__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-tutorial-nav li:nth-child(even) a {
    padding-left: 14px;
  }

  .pi-tutorial-section {
    padding: 36px 0;
    scroll-margin-top: 76px;
  }
}

/* Trading Breakouts research workbench */
.pi-breakout-workbench {
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
  padding-top: clamp(2rem, 4vw, 3.5rem);
}

.pi-breakout-hero {
  background: var(--pi-surface-inverse);
  border: 1px solid var(--pi-rule-inverse);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-lg);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3rem);
  position: relative;
}

.pi-breakout-hero__copy,
.pi-breakout-hero__actions {
  position: relative;
  z-index: 2;
}

.pi-breakout-hero .pi-eyebrow {
  color: var(--pi-accent-inverse);
  margin: 0 0 0.75rem;
}

.pi-breakout-hero h1 {
  color: var(--pi-text-inverse-strong);
  font-family: var(--pi-font-display);
  font-size: clamp(2.45rem, 5vw, 4.25rem);
  letter-spacing: -0.035em;
  line-height: 1;
  margin: 0;
  max-width: 700px;
}

.pi-breakout-hero__copy > p:last-child {
  color: var(--pi-text-inverse-muted);
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.65;
  margin: 1rem 0 0;
  max-width: 620px;
}

.pi-breakout-hero__actions {
  align-items: flex-start;
  display: flex;
}

.pi-breakout-hero__actions .pi-button--secondary {
  background: var(--pi-surface-inverse-raised);
  border-color: var(--pi-rule-inverse);
  color: var(--pi-text-inverse-strong);
}

.pi-breakout-hero__actions .pi-button--secondary:hover {
  background: #203650;
  border-color: var(--pi-accent-inverse);
  color: var(--pi-text-inverse-strong);
}

.pi-breakout-hero__signal {
  bottom: -10px;
  height: auto;
  opacity: 0.34;
  position: absolute;
  right: 1.25rem;
  width: min(34%, 310px);
  z-index: 1;
}

.pi-breakout-hero__channel {
  fill: none;
  stroke: var(--pi-rule-inverse);
  stroke-dasharray: 5 6;
  stroke-width: 2;
}

.pi-breakout-hero__price {
  fill: none;
  stroke: var(--pi-accent-inverse);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.pi-breakout-hero__point {
  fill: var(--pi-paper);
  stroke: var(--pi-accent-inverse);
  stroke-width: 3;
}

.pi-breakout-layout {
  align-items: start;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.65fr);
}

.pi-breakout-form.pi-tool-panel {
  box-shadow: var(--pi-shadow-sm);
  padding: clamp(1.25rem, 4vw, 2.5rem);
}

.pi-breakout-form__heading {
  border-bottom: 1px solid var(--pi-rule);
  margin-bottom: 0.25rem;
  padding-bottom: 1.5rem;
}

.pi-breakout-form__heading .pi-eyebrow {
  margin: 0 0 0.6rem;
}

.pi-breakout-form__heading h2,
.pi-breakout-method h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  letter-spacing: -0.025em;
  line-height: 1.12;
  margin: 0;
}

.pi-breakout-form__heading > p:last-child {
  color: var(--pi-ink-650);
  line-height: 1.6;
  margin: 0.75rem 0 0;
  max-width: 650px;
}

.pi-breakout-step {
  border-bottom: 1px solid var(--pi-rule);
  display: grid;
  gap: 1rem;
  grid-template-columns: 34px minmax(0, 1fr);
  padding: 1.75rem 0;
}

.pi-breakout-step__number {
  align-items: center;
  background: var(--pi-surface-muted);
  border: 1px solid var(--pi-rule);
  border-radius: 50%;
  color: var(--pi-action-primary);
  display: flex;
  font-family: var(--pi-font-data);
  font-size: 0.8rem;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.pi-breakout-step__content {
  min-width: 0;
}

.pi-breakout-step__label {
  color: var(--pi-ink-900);
  display: block;
  float: none;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  width: auto;
}

.pi-breakout-step__hint {
  color: var(--pi-ink-650);
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0.35rem 0 0.85rem;
}

.pi-breakout-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.pi-breakout-search {
  position: relative;
}

.pi-breakout-search__icon {
  color: var(--pi-ink-650);
  left: 1rem;
  pointer-events: none;
  position: absolute;
  top: 15px;
  z-index: 2;
}

.pi-breakout-search__input {
  background: var(--pi-paper);
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1rem;
  min-height: 48px;
  padding: 0.7rem 1rem 0.7rem 2.75rem;
  width: 100%;
}

.pi-breakout-search__input::placeholder {
  color: var(--pi-ink-650);
  opacity: 1;
}



.pi-breakout-search__results {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: 0 0 var(--pi-radius-md) var(--pi-radius-md);
  box-shadow: var(--pi-shadow-menu);
  left: 0;
  max-height: 320px;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 1020;
}

.pi-breakout-search__results[hidden] {
  display: none;
}

.pi-breakout-search__result {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  cursor: pointer;
  display: grid;
  font-family: var(--pi-font-ui);
  gap: 0.3rem 1rem;
  grid-template-columns: minmax(112px, auto) minmax(0, 1fr);
  min-height: 58px;
  padding: 0.75rem 1rem;
  text-align: left;
  width: 100%;
}

.pi-breakout-search__result:last-child {
  border-bottom: 0;
}

.pi-breakout-search__result:hover,
.pi-breakout-search__result.is-active {
  background: #edf4ff;
}

.pi-breakout-search__identity {
  align-items: center;
  display: flex;
  gap: 0.55rem;
  min-width: 0;
}

.pi-breakout-search__symbol {
  color: var(--pi-ink-900);
  font-size: 0.88rem;
  font-weight: 600;
}

.pi-breakout-search__grouping {
  background: var(--pi-surface-muted);
  border-radius: 999px;
  color: var(--pi-ink-650);
  font-size: 0.7rem;
  line-height: 1;
  padding: 0.3rem 0.45rem;
  white-space: nowrap;
}

.pi-breakout-search__description {
  color: var(--pi-ink-650);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pi-breakout-search__status {
  color: var(--pi-ink-650);
  font-size: 0.82rem;
  min-height: 1.25rem;
  margin: 0.45rem 0 0;
}

.pi-breakout-search__status.is-error {
  color: var(--pi-red-650);
}

.pi-breakout-selection {
  align-items: center;
  background: #edf4ff;
  border: 1px solid #bdd2ff;
  border-radius: var(--pi-radius-md);
  display: grid;
  gap: 0.2rem 0.75rem;
  grid-template-columns: auto minmax(0, 1fr) 44px;
  margin-top: 0.75rem;
  min-height: 54px;
  padding: 0.35rem 0.35rem 0.35rem 0.85rem;
}

.pi-breakout-selection[hidden] {
  display: none;
}

.pi-breakout-selection__symbol {
  color: var(--pi-action-primary);
  font-family: var(--pi-font-data);
  font-size: 0.9rem;
  font-weight: 600;
}

.pi-breakout-selection__description {
  color: var(--pi-ink-650);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pi-breakout-selection__remove {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-650);
  cursor: pointer;
  display: flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.pi-breakout-selection__remove:hover {
  background: var(--pi-paper);
  color: var(--pi-red-650);
}

.pi-breakout-date-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-breakout-date-grid .pi-form-field {
  margin: 0;
}

.pi-breakout-date-grid .form-control,
.pi-breakout-step #goal_select {
  min-height: 48px;
  width: 100%;
}

.pi-breakout-form__error {
  background: var(--pi-action-risk-surface);
  border: 1px solid #efb4ae;
  border-radius: var(--pi-radius-sm);
  color: #8d241c;
  line-height: 1.5;
  margin-top: 1.25rem;
  padding: 0.85rem 1rem;
}

.pi-breakout-form__error[hidden] {
  display: none;
}

.pi-breakout-submit {
  margin-top: 1.5rem;
  min-height: 48px;
  padding-inline: 1.25rem;
}

.pi-breakout-method {
  background: var(--pi-surface-muted);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  padding: clamp(1.25rem, 3vw, 2rem);
  position: sticky;
  top: 1.5rem;
}

.pi-breakout-method > .pi-eyebrow {
  margin: 0 0 0.6rem;
}

.pi-breakout-method__list {
  list-style: none;
  margin: 1.5rem 0;
  padding: 0;
}

.pi-breakout-method__list li {
  align-items: center;
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-650);
  display: grid;
  gap: 0.8rem;
  grid-template-columns: 28px minmax(0, 1fr);
  line-height: 1.45;
  padding: 0.9rem 0;
}

.pi-breakout-method__list li > :first-child {
  color: var(--pi-action-primary);
  text-align: center;
}

.pi-breakout-method__note {
  align-items: start;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-left: 3px solid var(--pi-blue-600);
  border-radius: var(--pi-radius-sm);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 22px minmax(0, 1fr);
  padding: 1rem;
}

.pi-breakout-method__note > .fas {
  color: var(--pi-blue-600);
  margin-top: 0.2rem;
}

.pi-breakout-method__note h3 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
}

.pi-breakout-method__note p {
  color: var(--pi-ink-650);
  font-size: 0.85rem;
  line-height: 1.55;
  margin: 0;
}

.pi-breakout-method__learn {
  color: var(--pi-action-primary);
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 600;
  gap: 0.45rem;
  margin-top: 1.25rem;
}

@media (max-width: 991.98px) {
  .pi-breakout-layout {
    grid-template-columns: 1fr;
  }

  .pi-breakout-method {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .pi-breakout-hero {
    grid-template-columns: 1fr;
  }

  .pi-breakout-hero__signal {
    opacity: 0.22;
    width: 48%;
  }

  .pi-breakout-hero__actions .pi-button {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .pi-breakout-workbench {
    padding-top: 1.25rem;
  }

  .pi-breakout-hero__signal {
    display: none;
  }

  .pi-breakout-date-grid {
    grid-template-columns: 1fr;
  }

  .pi-breakout-search__result {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .pi-breakout-selection {
    grid-template-columns: minmax(0, 1fr) 44px;
  }

  .pi-breakout-selection__symbol,
  .pi-breakout-selection__description {
    grid-column: 1;
  }

  .pi-breakout-selection__remove {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .pi-breakout-submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-breakout-search__result,
  .pi-breakout-selection__remove {
    transition: none;
  }
}

/* Instrument research workspace */
.pi-instrument-page {
  max-width: 1180px;
  padding-left: clamp(1.25rem, 4vw, 3rem);
  padding-right: clamp(1.25rem, 4vw, 3rem);
  width: 100%;
}

.pi-quote-rail {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-left: 4px solid var(--pi-action-primary);
  border-radius: var(--pi-radius-md);
  display: grid;
  gap: 1.5rem 2rem;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.62fr) minmax(220px, 0.58fr);
  overflow: hidden;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.pi-quote-rail p,
.pi-quote-rail dl,
.pi-quote-rail dd {
  margin-bottom: 0;
}

.pi-quote-rail__identity,
.pi-quote-rail__market,
.pi-quote-rail__action {
  min-width: 0;
}

.pi-instrument-page .pi-quote-rail__title {
  align-items: baseline;
  color: var(--pi-ink-900);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--pi-font-display);
  font-size: clamp(1.85rem, 3vw, 2.5rem);
  font-weight: 600;
  gap: 0.25rem 0.55rem;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0.5rem 0 0;
}

.pi-quote-rail__symbol {
  font-family: var(--pi-font-data);
  font-size: 0.78em;
  letter-spacing: 0.02em;
}

.pi-quote-rail__context {
  color: var(--pi-ink-650);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.85rem;
  gap: 0.25rem 0.5rem;
  margin-top: 0.75rem;
}

.pi-quote-rail__lineage {
  color: var(--pi-ink-650);
  font-size: 0.82rem;
  line-height: 1.45;
  margin-top: 0.65rem;
  overflow-wrap: anywhere;
}

.pi-quote-rail__market {
  border-left: 1px solid var(--pi-rule);
  padding-left: 2rem;
}

.pi-quote-rail__label,
.pi-quote-facts dt {
  color: var(--pi-ink-650);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pi-quote-rail__numbers {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.pi-quote-rail__price {
  color: var(--pi-ink-900);
  font-size: clamp(1.75rem, 3vw, 2.1rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1;
  max-width: 100%;
  overflow-wrap: normal;
  white-space: nowrap;
}

.pi-quote-rail__change {
  color: var(--pi-ink-650);
  font-size: 0.95rem;
}

.pi-quote-rail__change--positive {
  color: var(--pi-green-650);
}

.pi-quote-rail__change--negative {
  color: var(--pi-red-650);
}

.pi-quote-rail__date {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  margin-top: 0.65rem;
}

.pi-quote-rail__action {
  align-items: flex-start;
  border-left: 1px solid var(--pi-rule);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 2rem;
}

.pi-quote-rail__action form {
  margin: 0;
  width: 100%;
}

.pi-quote-rail__action .pi-button {
  width: 100%;
}

.pi-quote-rail__action p {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 0.6rem;
}

.pi-quote-facts {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 0;
  grid-column: 1 / -1;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-left: calc(clamp(1.25rem, 3vw, 2rem) * -1);
  margin-right: calc(clamp(1.25rem, 3vw, 2rem) * -1);
  margin-top: 0.25rem;
  padding: 1.15rem clamp(1.25rem, 3vw, 2rem) 0;
}

.pi-quote-facts__item {
  border-left: 1px solid var(--pi-rule);
  min-width: 0;
  padding: 0 1rem;
}

.pi-quote-facts__item:first-child {
  border-left: 0;
  padding-left: 0;
}

.pi-quote-facts__item:last-child {
  padding-right: 0;
}

.pi-quote-facts dd {
  color: var(--pi-ink-900);
  font-size: 0.92rem;
  margin-top: 0.3rem;
  overflow-wrap: anywhere;
}

.pi-instrument-workspace {
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.pi-instrument-tab-nav {
  border-bottom: 1px solid var(--pi-rule);
}

.pi-instrument-tabs {
  border: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 1.75rem;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.pi-instrument-tabs::-webkit-scrollbar {
  display: none;
}

.pi-instrument-tabs .nav-link,
.pi-instrument-subtabs .nav-link {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--pi-ink-650);
  display: inline-flex;
  font-family: var(--pi-font-ui);
  font-weight: 600;
  min-height: 44px;
  padding: 0.65rem 0.1rem;
  white-space: nowrap;
}

.pi-instrument-tabs .nav-link:hover,
.pi-instrument-subtabs .nav-link:hover {
  border-bottom-color: var(--pi-rule-strong);
  color: var(--pi-ink-900);
}

.pi-instrument-tabs .nav-link.active,
.pi-instrument-subtabs .nav-link.active {
  background: transparent;
  border-bottom-color: var(--pi-action-primary);
  color: var(--pi-ink-900);
}

.pi-instrument-tab-content {
  padding-top: 1.25rem;
}

.pi-instrument-chart-card,
.pi-instrument-overview-card,
.pi-instrument-about,
.pi-instrument-composer,
.pi-instrument-comment,
.pi-instrument-empty-state,
.pi-instrument-signin {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  min-width: 0;
}

.pi-instrument-chart-card {
  overflow: hidden;
  padding: clamp(1rem, 2vw, 1.5rem);
  position: relative;
}

.pi-instrument-chart-card__header,
.pi-instrument-fundamentals-intro {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  justify-content: space-between;
}

.pi-instrument-discussion__title {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.pi-instrument-chart-card h2,
.pi-instrument-overview-card h2,
.pi-instrument-about h2,
.pi-instrument-fundamentals-intro h2,
.pi-instrument-discussion h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 600;
  line-height: 1.2;
  margin: 0.3rem 0 0;
}

.pi-instrument-chart-card__meta,
.pi-instrument-chart-status,
.pi-instrument-discussion__count {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  margin: 0;
}

.pi-instrument-chart-status {
  line-height: 1.5;
  margin-top: 0.75rem;
}

.pi-instrument-chart-card[data-state="loading"] [data-chart-content],
.pi-instrument-chart-card[data-state="error"] [data-chart-content],
.pi-instrument-chart-card[data-state="empty"] [data-chart-content] {
  visibility: hidden;
}

.pi-instrument-chart-card[data-state="loading"]::after {
  background: var(--pi-surface-muted);
  border-radius: var(--pi-radius-sm);
  bottom: 1.5rem;
  content: "";
  left: 1.5rem;
  opacity: 0.72;
  position: absolute;
  right: 1.5rem;
  top: 8.5rem;
}

.pi-instrument-chart-card[data-state="error"] [data-chart-content],
.pi-instrument-chart-card[data-state="empty"] [data-chart-content] {
  height: 0;
  margin-top: 0;
  min-height: 0;
}

.pi-instrument-chart-card[data-state="error"],
.pi-instrument-chart-card[data-state="empty"] {
  min-height: 0;
}

.pi-instrument-chart-card[data-state="error"] {
  border-color: rgba(192, 54, 44, 0.55);
}

.pi-instrument-chart {
  margin-top: 0.5rem;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

/* Preserve all six ranges without reserving width for the decorative Zoom label. */
.pi-instrument-chart .highcharts-range-selector-buttons > text {
  display: none;
}

/* Avoid rebuilding the native Stock chart when a card becomes narrow. */
.pi-instrument-chart--compact-controls .highcharts-input-group,
.pi-instrument-chart--compact-controls input.highcharts-range-selector {
  visibility: hidden !important;
}

.pi-instrument-chart--price {
  height: clamp(400px, 48vw, 520px);
}

.pi-instrument-chart--fundamental,
.pi-instrument-chart--valuation {
  height: 380px;
}

.pi-instrument-chart--performance {
  height: 440px;
}

.pi-instrument-chart--annual {
  height: 360px;
}

.pi-instrument-fundamentals-intro {
  margin-bottom: 1rem;
  padding: 0.25rem 0;
}

.pi-instrument-fundamentals-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-instrument-chart-card--wide {
  grid-column: 1 / -1;
}

.pi-instrument-subtabs {
  margin-top: 0.85rem;
}

.pi-instrument-subtabs .nav-tabs {
  border-bottom: 1px solid var(--pi-rule);
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
}

.pi-instrument-subtabs .nav-link {
  font-size: 0.82rem;
}

.pi-instrument-subtab-content {
  padding-top: 0.5rem;
}

.pi-instrument-chart-divider {
  border-top: 1px solid var(--pi-rule);
  margin: 1.25rem 0;
}

.pi-instrument-chart-card__subheading {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.pi-instrument-overview-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
}

.pi-instrument-overview-card,
.pi-instrument-about {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.pi-instrument-fact-list {
  display: grid;
  gap: 0;
  margin: 1.25rem 0 0;
}

.pi-instrument-fact-list > div {
  align-items: baseline;
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(110px, 0.8fr) minmax(0, 1.2fr);
  padding: 0.8rem 0;
}

.pi-instrument-fact-list dt {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  font-weight: 500;
}

.pi-instrument-fact-list dd {
  color: var(--pi-ink-900);
  font-size: 0.84rem;
  margin: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

.pi-instrument-about__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.pi-instrument-about__logo {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  display: block;
  height: 72px;
  object-fit: contain;
  padding: 0.5rem;
  width: 72px;
}

.pi-instrument-about__copy {
  color: var(--pi-ink-650);
  font-size: 1rem;
  line-height: 1.75;
  margin: 1.25rem 0;
  max-width: 72ch;
}

.pi-instrument-empty-copy {
  color: var(--pi-ink-650);
  line-height: 1.6;
  margin: 1rem 0 0;
}

.pi-instrument-research-context[data-instrument-context] > p {
  color: var(--pi-ink-650);
  line-height: 1.6;
  margin: 0.75rem 0;
}

a.pi-instrument-text-link {
  color: var(--pi-blue-700);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

a.pi-instrument-text-link:hover,
a.pi-instrument-text-link:focus-visible {
  text-decoration-thickness: 2px;
}

.pi-instrument-history-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: 1rem;
}

.pi-instrument-classifications {
  border-top: 1px solid var(--pi-rule);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem clamp(1.25rem, 3vw, 2rem);
  margin: 1rem 0;
  padding-top: 0.85rem;
}

.pi-instrument-classifications > div {
  max-width: 100%;
  min-width: 0;
}

.pi-instrument-classifications dt {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pi-instrument-classifications dd {
  color: var(--pi-ink-900);
  margin: 0.25rem 0 0;
  overflow-wrap: break-word;
}

.pi-instrument-discussion {
  border-top: 1px solid var(--pi-rule);
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
}

.pi-instrument-composer,
.pi-instrument-signin {
  margin-top: 1.25rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  width: 100%;
}

.pi-instrument-composer__heading {
  margin-bottom: 1rem;
}

.pi-instrument-composer__heading h3,
.pi-instrument-empty-state h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.pi-instrument-composer__heading p,
.pi-instrument-empty-state p,
.pi-instrument-signin p {
  color: var(--pi-ink-650);
  line-height: 1.6;
  margin: 0.35rem 0 0;
}

.pi-instrument-composer .ck-editor__editable,
.pi-instrument-composer .cke_contents {
  min-height: 160px;
}

.pi-instrument-composer label {
  color: var(--pi-ink-900);
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.pi-instrument-composer textarea {
  background: var(--pi-paper);
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  display: block;
  min-height: 160px;
  padding: 0.75rem;
  width: 100%;
}



.pi-instrument-form-error {
  color: var(--pi-red-650);
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0.75rem 0 0;
}

.pi-instrument-composer form > .pi-button {
  margin-top: 0.85rem;
}

.pi-instrument-comment-list {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.25rem;
  width: 100%;
}

.pi-instrument-comment {
  padding: clamp(1rem, 3vw, 1.35rem);
}

.pi-instrument-comment__header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.pi-instrument-comment .pi-author__avatar img {
  border-radius: 50%;
  height: 44px;
  object-fit: cover;
  width: 44px;
}

.pi-instrument-comment__body {
  color: var(--pi-ink-900);
  line-height: 1.7;
  margin-top: 1rem;
  max-width: 72ch;
  overflow-wrap: anywhere;
}

.pi-instrument-comment__body > :last-child {
  margin-bottom: 0;
}

.pi-instrument-empty-state {
  padding: 1.5rem;
}

.pi-instrument-utilities {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  justify-content: space-between;
  margin-top: 2rem;
  padding-top: 1.25rem;
}

.pi-instrument-related,
.pi-instrument-share {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pi-instrument-related > span {
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.pi-instrument-related a,
.pi-instrument-share a {
  align-items: center;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  display: inline-flex;
  font-size: 0.78rem;
  min-height: 44px;
  padding: 0.55rem 0.75rem;
  text-decoration: none;
}

.pi-instrument-related a:hover,
.pi-instrument-share a:hover {
  background: var(--pi-surface-muted);
  border-color: var(--pi-rule-strong);
}

@media (max-width: 991.98px) {
  .pi-quote-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-quote-rail__identity {
    grid-column: 1 / -1;
  }

  .pi-quote-rail__market {
    border-left: 0;
    padding-left: 0;
  }

  .pi-quote-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pi-quote-facts__item:nth-child(4) {
    border-left: 0;
    margin-top: 1rem;
    padding-left: 0;
  }

  .pi-quote-facts__item:nth-child(5) {
    margin-top: 1rem;
  }

  .pi-instrument-fundamentals-grid,
  .pi-instrument-overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-instrument-chart-card--wide {
    grid-column: auto;
  }
}

@media (max-width: 767.98px) {
  .pi-instrument-page {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .pi-quote-rail {
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
    padding: 1.25rem;
  }

  .pi-quote-rail__identity,
  .pi-quote-rail__market,
  .pi-quote-rail__action {
    grid-column: auto;
  }

  .pi-quote-rail__action {
    border-left: 0;
    border-top: 1px solid var(--pi-rule);
    padding-left: 0;
    padding-top: 1.25rem;
  }

  .pi-quote-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-quote-facts__item,
  .pi-quote-facts__item:nth-child(4),
  .pi-quote-facts__item:nth-child(5) {
    border-left: 0;
    margin-top: 0;
    padding: 0.75rem 0;
  }

  .pi-quote-facts__item:nth-child(n + 3) {
    border-top: 1px solid var(--pi-rule);
  }

  .pi-quote-facts__item:nth-child(even) {
    padding-left: 0.75rem;
  }

  .pi-quote-facts__item:nth-child(odd):not(:last-child) {
    padding-right: 0.75rem;
  }

  .pi-quote-facts__item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .pi-instrument-tabs {
    gap: 1.25rem;
  }

  .pi-instrument-chart-card {
    padding: 1rem;
  }

  .pi-instrument-chart-card[data-state="loading"]::after {
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    top: 10rem;
  }

  .pi-instrument-chart--price {
    height: 420px;
  }

  .pi-instrument-chart--fundamental,
  .pi-instrument-chart--valuation,
  .pi-instrument-chart--performance {
    height: 410px;
  }

  .pi-instrument-chart--annual {
    height: 340px;
  }

  .pi-instrument-chart-card__header,
  .pi-instrument-fundamentals-intro {
    align-items: flex-start;
    flex-direction: column;
  }

  .pi-instrument-comment__header {
    flex-direction: column;
  }

  .pi-instrument-composer form > .pi-button {
    width: 100%;
  }

  .pi-instrument-comment .pi-staff-actions {
    border-top: 1px solid var(--pi-rule);
    width: 100%;
  }

  .pi-instrument-utilities {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 479.98px) {
  .pi-instrument-page {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .pi-instrument-page .pi-quote-rail__title {
    font-size: 1.65rem;
  }

  .pi-instrument-fact-list > div {
    gap: 0.35rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-instrument-fact-list dd {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-instrument-page *,
  .pi-instrument-page *::before,
  .pi-instrument-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Stock screener research desk */
.pi-screener {
  padding: clamp(2rem, 5vw, 4.25rem) 0 clamp(4rem, 8vw, 7rem);
}

.pi-screener-hero,
.pi-screener-history__header {
  align-items: end;
  border-bottom: 1px solid var(--pi-rule-strong);
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  padding: 0 0 clamp(1.5rem, 3vw, 2.25rem);
}

.pi-screener-hero__copy,
.pi-screener-history__header > div:first-child {
  max-width: 760px;
}

.pi-screener-hero .pi-eyebrow,
.pi-screener-history__header .pi-eyebrow,
.pi-screener-section-heading .pi-eyebrow,
.pi-screener-results .pi-eyebrow,
.pi-screener-history__panel .pi-eyebrow,
.pi-screener-empty .pi-eyebrow,
.pi-screener-modal .pi-eyebrow {
  margin: 0 0 0.65rem;
}

.pi-screener-hero h1,
.pi-screener-history__header h1 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(2.35rem, 4vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.98;
  margin: 0;
}

.pi-screener-hero__copy > p:last-child,
.pi-screener-history__header > div:first-child > p:last-child {
  color: var(--pi-ink-650);
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.65;
  margin: 1rem 0 0;
  max-width: 680px;
}

.pi-screener-hero__actions {
  justify-content: flex-end;
}

.pi-screener-hero__actions form {
  margin: 0;
}

.pi-screener-builder.pi-tool-panel {
  align-items: start;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: clamp(1rem, 2.5vw, 1.75rem);
  grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
  padding: 0;
}

.pi-screener-builder__main {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-sm);
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 2.75rem);
}

.pi-screener-section-heading {
  border-bottom: 1px solid var(--pi-rule);
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
}

.pi-screener-section-heading h2,
.pi-screener-results__header h2,
.pi-screener-history__summary h2,
.pi-screener-empty h2,
.pi-screener-modal h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.7rem, 3vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
}

.pi-screener-section-heading > p:last-child,
.pi-screener-results__header > div > p:last-child,
.pi-screener-history__summary > p,
.pi-screener-empty > p:not(.pi-eyebrow),
.pi-screener-modal__header > div > p:last-child {
  color: var(--pi-ink-650);
  line-height: 1.6;
  margin: 0.75rem 0 0;
}

.pi-screener-field,
.pi-screener-fieldset {
  border: 0;
  margin: 0 0 1.75rem;
  min-width: 0;
  padding: 0;
}

.pi-screener-field__label,
.pi-screener-fieldset__legend {
  color: var(--pi-ink-900);
  display: block;
  float: none;
  font-family: var(--pi-font-ui);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  width: auto;
}

.pi-screener-field__hint {
  color: var(--pi-ink-650);
  font-size: 0.85rem;
  line-height: 1.5;
  margin: 0.35rem 0 0.75rem;
}

.pi-screener .form-control {
  background: var(--pi-paper);
  border: 1px solid var(--pi-ink-650);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.95rem;
  min-height: 48px;
  padding: 0.65rem 2.5rem 0.65rem 0.8rem;
  width: 100%;
}



.pi-screener-choice-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
}

.pi-screener-choice {
  align-items: center;
  background: var(--pi-canvas);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  color: var(--pi-ink-650);
  cursor: pointer;
  display: flex;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.6rem;
  line-height: 1.3;
  margin: 0;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease;
}

.pi-screener-choice:hover {
  border-color: var(--pi-rule-strong);
  color: var(--pi-ink-900);
}



.pi-screener-choice:has(input:checked) {
  background: var(--pi-surface-muted);
  border-color: var(--pi-blue-600);
  color: var(--pi-ink-900);
}

.pi-screener-choice input,
.pi-screener-filter-option input {
  accent-color: var(--pi-blue-600);
  flex: 0 0 auto;
  height: 18px;
  margin: 0;
  width: 18px;
}

.pi-screener-factor-list {
  display: grid;
  gap: 0.85rem 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-screener-factor {
  border-left: 3px solid var(--pi-blue-600);
  margin-bottom: 0.5rem;
  padding-left: 0.85rem;
}

.pi-screener-add-filter {
  margin-top: 0.25rem;
}

.pi-screener-submit-row {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  gap: 1rem;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
}

.pi-screener-submit-row #screen-submit {
  min-height: 48px;
  min-width: 132px;
}

.pi-screener-progress {
  color: var(--pi-ink-650);
  font-size: 0.85rem;
  line-height: 1.5;
}

.pi-screener-criteria {
  align-self: start;
  background: var(--pi-surface-inverse);
  border: 1px solid var(--pi-rule-inverse);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-lg);
  color: var(--pi-text-inverse);
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2rem);
  position: sticky;
  top: 1.5rem;
}

.pi-screener-criteria .pi-eyebrow {
  color: var(--pi-accent-inverse);
  margin: 0 0 0.65rem;
}

.pi-screener-criteria h2 {
  color: var(--pi-text-inverse-strong);
  font-family: var(--pi-font-display);
  font-size: 2rem;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
}

.pi-screener-criteria__intro {
  color: var(--pi-text-inverse-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0.75rem 0 1.25rem;
}

.pi-screener-ledger {
  border-top: 1px solid var(--pi-rule-inverse);
  margin: 0;
}

.pi-screener-ledger > div {
  border-bottom: 1px solid var(--pi-rule-inverse);
  padding: 1rem 0;
}

.pi-screener-ledger dt {
  color: var(--pi-text-inverse-muted);
  font-family: var(--pi-font-data);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.pi-screener-ledger dd {
  color: var(--pi-text-inverse-strong);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0;
}

.pi-screener-ledger dd span {
  border: 1px solid var(--pi-rule-inverse);
  border-radius: 999px;
  display: inline-block;
  font-size: 0.75rem;
  margin: 0.2rem 0.2rem 0 0;
  padding: 0.25rem 0.45rem;
}

.pi-screener-criteria__note {
  align-items: start;
  color: var(--pi-text-inverse-muted);
  display: grid;
  font-size: 0.8rem;
  gap: 0.6rem;
  grid-template-columns: 16px minmax(0, 1fr);
  line-height: 1.5;
  margin: 1.25rem 0 0;
}

.pi-screener-criteria__note .fas {
  color: var(--pi-accent-inverse);
  margin-top: 0.2rem;
}

.pi-screener-modal {
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-lg);
  overflow: hidden;
}

.pi-screener-modal__header {
  align-items: start;
  border-bottom: 1px solid var(--pi-rule);
  gap: 1rem;
  padding: 1.5rem;
}

.pi-screener-modal__header > div {
  max-width: 620px;
}

.pi-screener-modal__close {
  flex: 0 0 44px;
  min-width: 44px;
  padding: 0;
}

.pi-screener-modal .modal-body {
  padding: 1.5rem;
}

.pi-screener-modal__footer {
  background: var(--pi-canvas);
  border-top: 1px solid var(--pi-rule);
  padding: 1rem 1.5rem;
}

.pi-screener-filter-library {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-screener-filter-library fieldset {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.pi-screener-filter-library legend {
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0 0 0.6rem;
  padding: 0 0 0.6rem;
  text-transform: uppercase;
  width: 100%;
}

.pi-screener-filter-option {
  align-items: start;
  border-bottom: 1px solid var(--pi-rule);
  cursor: pointer;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 20px minmax(0, 1fr);
  margin: 0;
  min-height: 64px;
  padding: 0.8rem 0.25rem;
}

.pi-screener-filter-option input {
  margin-top: 0.15rem;
}

.pi-screener-filter-option strong,
.pi-screener-filter-option small {
  display: block;
}

.pi-screener-filter-option strong {
  color: var(--pi-ink-900);
  font-size: 0.9rem;
  font-weight: 600;
}

.pi-screener-filter-option small {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  line-height: 1.45;
  margin-top: 0.2rem;
}

.pi-screener-backtest-fields {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-screener-backtest-fields .pi-screener-field {
  margin: 0;
}

.pi-screener-backtest-fields__wide {
  grid-column: 1 / -1;
}

.pi-screener-results,
.pi-screener-history__panel {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-sm);
  margin-top: clamp(2rem, 5vw, 3.5rem);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.pi-screener-results__header,
.pi-screener-history__summary {
  align-items: end;
  border-bottom: 1px solid var(--pi-rule);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}

.pi-screener-results__header > div:first-child {
  max-width: 720px;
}

.pi-screener-table-wrap {
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  max-width: 100%;
  overflow-x: auto;
}



.pi-screener-table,
.pi-screener-history__table {
  margin: 0;
  min-width: 840px;
  width: 100%;
}

.pi-screener-table thead th,
.pi-screener-history__table thead th {
  background: var(--pi-surface-muted);
  border-bottom: 1px solid var(--pi-rule-strong) !important;
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0 !important;
  vertical-align: middle !important;
  white-space: nowrap;
}

.pi-screener-history__table thead th {
  padding: 0.8rem 0.75rem !important;
}

.pi-screener-table thead .pi-screener-selection-cell,
.pi-screener-table tbody .pi-screener-selection-cell {
  text-align: center;
  width: 4.75rem;
}

.pi-screener-table thead .pi-screener-selection-cell {
  padding: 0 0.75rem !important;
}

.pi-screener-sort {
  align-items: center;
  color: var(--pi-ink-900);
  display: flex;
  gap: 0.55rem;
  justify-content: space-between;
  min-height: 44px;
  padding: 0.7rem 0.75rem;
  text-decoration: none;
}

/* The sort link is a flex container. Align its contents explicitly so the
   heading and sort icon follow the same right edge as the numeric cells. */
.pi-screener-table .pi-table-number .pi-screener-sort {
  justify-content: flex-end;
}

.pi-screener-sort:hover {
  background: var(--pi-paper);
  color: var(--pi-blue-700);
  text-decoration: none;
}

.pi-screener-table thead th[aria-sort="ascending"] .pi-screener-sort,
.pi-screener-table thead th[aria-sort="descending"] .pi-screener-sort {
  background: var(--pi-paper);
  color: var(--pi-ink-900);
}

.pi-screener-table tbody td,
.pi-screener-history__table tbody td {
  border-top: 1px solid var(--pi-rule) !important;
  color: var(--pi-ink-900);
  font-size: 0.875rem;
  line-height: 1.45;
  padding: 0.8rem 0.75rem !important;
  vertical-align: middle !important;
}

.pi-screener-table tbody tr:first-child td,
.pi-screener-history__table tbody tr:first-child td {
  border-top: 0 !important;
}

.pi-screener-table tbody tr:hover,
.pi-screener-history__table tbody tr:hover {
  background: var(--pi-canvas);
}

.pi-screener-table [data-row-primary-link],
.pi-screener-history__table [data-row-primary-link] {
  color: var(--pi-blue-700);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
}

.pi-screener-table [data-row-primary-link]:hover,
.pi-screener-history__table [data-row-primary-link]:hover {
  text-decoration-color: currentColor;
}

.pi-screener-history__factors {
  color: var(--pi-ink-650) !important;
  max-width: 360px;
}

.pi-screener-results .pi-pagination,
.pi-screener-history__panel .pi-pagination {
  margin-top: 1.5rem;
}

.pi-screener-empty {
  background: var(--pi-paper);
  border: 1px dashed var(--pi-rule-strong);
  border-radius: var(--pi-radius-lg);
  margin-top: 2rem;
  padding: clamp(2.5rem, 7vw, 5rem) clamp(1.25rem, 5vw, 3rem);
  text-align: center;
}

.pi-screener-empty__icon {
  align-items: center;
  background: var(--pi-surface-muted);
  border-radius: 50%;
  color: var(--pi-blue-700);
  display: inline-flex;
  height: 52px;
  justify-content: center;
  margin-bottom: 1.25rem;
  width: 52px;
}

.pi-screener-empty > p:not(.pi-eyebrow) {
  margin-left: auto;
  margin-right: auto;
  max-width: 560px;
}

.pi-screener-empty .pi-button {
  margin-top: 1.25rem;
}

@media (max-width: 991.98px) {
  .pi-screener-builder.pi-tool-panel {
    grid-template-columns: 1fr;
  }

  .pi-screener-criteria {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .pi-screener {
    padding-top: 1.5rem;
  }

  .pi-screener-hero,
  .pi-screener-history__header,
  .pi-screener-results__header,
  .pi-screener-history__summary {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .pi-screener-hero__actions,
  .pi-screener-hero__actions .pi-button,
  .pi-screener-history__header .pi-toolbar,
  .pi-screener-history__header .pi-button,
  .pi-screener-results__header .pi-toolbar,
  .pi-screener-results__header .pi-button {
    width: 100%;
  }

  .pi-screener-hero__actions form {
    width: 100%;
  }

  .pi-screener-factor-list,
  .pi-screener-filter-library,
  .pi-screener-backtest-fields {
    grid-template-columns: 1fr;
  }

  .pi-screener-backtest-fields__wide {
    grid-column: auto;
  }

  .pi-screener-submit-row {
    align-items: stretch;
    flex-direction: column;
  }

  .pi-screener-submit-row #screen-submit {
    width: 100%;
  }

  .pi-screener-history__table {
    display: block;
    min-width: 0;
  }

  .pi-screener-history__table thead {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .pi-screener-history__table tbody,
  .pi-screener-history__table tr,
  .pi-screener-history__table td {
    display: block;
    width: 100%;
  }

  .pi-screener-history__table tbody {
    padding: 0.35rem 1rem;
  }

  .pi-screener-history__table tbody tr {
    border-bottom: 1px solid var(--pi-rule);
    padding: 0.65rem 0;
  }

  .pi-screener-history__table tbody tr:last-child {
    border-bottom: 0;
  }

  .pi-screener-history__table tbody td {
    align-items: start;
    border: 0 !important;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(82px, 0.35fr) minmax(0, 1fr);
    padding: 0.45rem 0 !important;
  }

  .pi-screener-history__table tbody td::before {
    color: var(--pi-ink-650);
    content: attr(data-title);
    font-family: var(--pi-font-data);
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
}

@media (max-width: 575.98px) {
  .pi-screener .pi-container {
    padding-inline: 15px;
  }

  .pi-screener-builder__main,
  .pi-screener-results,
  .pi-screener-history__panel {
    border-radius: var(--pi-radius-md);
    padding: 1.25rem;
  }

  .pi-screener-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-screener-modal__header,
  .pi-screener-modal .modal-body,
  .pi-screener-modal__footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-screener-choice {
    transition: none;
  }
}

/* Legal documents: a calm evidence-ledger layout with an explicit decision boundary. */
.pi-page--legal {
  background:
    linear-gradient(180deg, rgba(238, 243, 247, 0.72) 0, rgba(247, 250, 252, 0) 320px),
    var(--pi-canvas);
  min-width: 0;
  overflow: clip;
  padding: clamp(2rem, 5vw, 4.75rem) 0 clamp(4rem, 8vw, 7rem);
}

.pi-legal-shell {
  margin-inline: auto;
  max-width: 1100px;
  min-width: 0;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
  width: 100%;
}

.pi-legal-hero {
  border-bottom: 1px solid var(--pi-rule-strong);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  min-width: 0;
  padding-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.pi-legal-hero .pi-eyebrow {
  grid-column: 1 / -1;
  margin: 0 0 0.75rem;
}

.pi-legal-hero h1 {
  font-size: clamp(2.6rem, 6vw, 4.5rem);
  line-height: 0.98;
  margin: 0;
  max-width: 780px;
  text-wrap: balance;
}

.pi-legal-hero__lead {
  align-self: end;
  color: var(--pi-ink-650);
  font-size: clamp(1rem, 1.7vw, 1.15rem);
  grid-column: 1;
  line-height: 1.65;
  margin: 1.25rem 0 0;
  max-width: 680px;
}

.pi-legal-meta {
  align-self: end;
  display: grid;
  gap: 0.75rem;
  grid-column: 2;
  grid-row: 2 / span 2;
  margin: 0 0 0 2rem;
  min-width: 168px;
}

.pi-legal-meta > div {
  border-left: 1px solid var(--pi-rule-strong);
  padding-left: 0.9rem;
}

.pi-legal-meta dt,
.pi-legal-nav__title,
.pi-legal-boundary__label {
  color: var(--pi-ink-650);
  font-family: var(--pi-font-data);
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.4;
  margin: 0;
  text-transform: uppercase;
}

.pi-legal-meta dd {
  color: var(--pi-ink-900);
  font-size: 0.86rem;
  line-height: 1.45;
  margin: 0.25rem 0 0;
}

.pi-legal-meta code,
.pi-legal-document code {
  background: var(--pi-surface-muted);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
  padding: 0.18rem 0.35rem;
}

.pi-legal-boundary {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-top: 4px solid var(--pi-amber-700);
  border-radius: var(--pi-radius-md);
  box-shadow: var(--pi-shadow-sm);
  display: grid;
  gap: 0.4rem clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: minmax(140px, 0.27fr) minmax(0, 1fr);
  margin-bottom: clamp(2rem, 4vw, 3rem);
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 2rem);
}

.pi-legal-boundary__label {
  color: var(--pi-amber-700);
  grid-row: 1 / span 2;
  padding-top: 0.3rem;
}

.pi-legal-boundary h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.4rem, 2.7vw, 1.85rem);
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
  text-wrap: balance;
}

.pi-legal-boundary p:not(.pi-legal-boundary__label) {
  color: var(--pi-ink-650);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0.35rem 0 0;
}

.pi-legal-boundary strong {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-legal-boundary a,
.pi-legal-document a,
.pi-legal-consent a {
  color: var(--pi-blue-700);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.pi-legal-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(190px, 220px) minmax(0, 760px);
  justify-content: space-between;
  min-width: 0;
}

.pi-legal-nav {
  min-width: 0;
  position: sticky;
  top: 6rem;
}

.pi-legal-nav__title {
  border-bottom: 1px solid var(--pi-rule-strong);
  color: var(--pi-ink-900);
  padding-bottom: 0.7rem;
}

.pi-legal-nav ol {
  counter-reset: legal-section;
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
}

.pi-legal-nav li {
  counter-increment: legal-section;
  margin: 0;
}

.pi-legal-nav a {
  align-items: center;
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-650);
  display: grid;
  font-size: 0.83rem;
  gap: 0.65rem;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  line-height: 1.35;
  min-height: 44px;
  padding: 0.5rem 0;
  text-decoration: none;
  transition: color 150ms ease;
}

.pi-legal-nav a::before {
  color: var(--pi-blue-700);
  content: counter(legal-section, decimal-leading-zero);
  font-family: var(--pi-font-data);
  font-size: 0.66rem;
}

.pi-legal-nav a:hover {
  color: var(--pi-blue-700);
}



.pi-legal-document {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-lg);
  box-shadow: var(--pi-shadow-sm);
  min-width: 0;
  overflow-wrap: anywhere;
  padding: clamp(1.5rem, 4vw, 3.25rem);
}

.pi-legal-document section {
  border-bottom: 1px solid var(--pi-rule);
  margin: 0;
  padding: clamp(1.75rem, 3.5vw, 2.5rem) 0;
  scroll-margin-top: 6.5rem;
}

.pi-legal-document section:first-child {
  padding-top: 0;
}

.pi-legal-document section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pi-legal-document h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.35rem, 2.5vw, 1.7rem);
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.25;
  margin: 0 0 1rem;
  text-wrap: balance;
}

.pi-legal-document h2 + p {
  margin-top: 0;
}

.pi-legal-document p,
.pi-legal-document li {
  color: #33465a;
  font-size: 1rem;
  line-height: 1.78;
}

.pi-legal-document p {
  margin: 1rem 0 0;
}

.pi-legal-document ul,
.pi-legal-document ol {
  margin: 1rem 0 0;
  padding-left: 1.35rem;
}

.pi-legal-document li + li {
  margin-top: 0.6rem;
}

.pi-legal-document strong {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-legal-shell--acceptance {
  max-width: 860px;
}

.pi-legal-shell--acceptance .pi-legal-hero {
  grid-template-columns: minmax(0, 1fr);
}

.pi-legal-shell--acceptance .pi-legal-hero__lead {
  grid-column: 1;
}

.pi-legal-shell--acceptance .pi-legal-boundary {
  grid-template-columns: minmax(120px, 0.24fr) minmax(0, 1fr);
}

.pi-legal-acceptance-form {
  border-top: 1px solid var(--pi-rule);
  margin-top: 1.75rem;
  padding-top: 1.5rem;
}

.pi-legal-acceptance-form .pi-button {
  margin-top: 1rem;
  min-height: 44px;
}

.pi-legal-consent {
  align-items: start;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule-strong);
  border-radius: var(--pi-radius-md);
  display: grid;
  gap: 0.35rem 0.8rem;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  margin: 1rem 0;
  min-height: 44px;
  padding: 0.9rem 1rem;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.pi-legal-consent input[type="checkbox"],
.pi-legal-consent .form-check-input {
  accent-color: var(--pi-blue-700);
  grid-column: 1;
  height: 1.15rem;
  margin: 0.18rem 0 0;
  position: static;
  width: 1.15rem;
}

.pi-legal-consent label {
  color: #33465a;
  font-size: 0.94rem;
  grid-column: 2;
  line-height: 1.55;
  margin: 0;
}

.pi-legal-consent .invalid-feedback {
  grid-column: 2;
}



.pi-legal-consent:has(.is-invalid) {
  border-color: var(--pi-red-650);
}

@media (max-width: 767.98px) {
  .pi-page--legal {
    padding-top: 1.75rem;
  }

  .pi-legal-shell {
    padding-inline: 1rem;
  }

  .pi-legal-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-legal-hero h1 {
    font-size: clamp(2.35rem, 12vw, 3.5rem);
  }

  .pi-legal-meta {
    display: grid;
    grid-column: 1;
    grid-row: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1.5rem 0 0;
    min-width: 0;
  }

  .pi-legal-boundary,
  .pi-legal-shell--acceptance .pi-legal-boundary {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-legal-boundary__label {
    grid-row: auto;
  }

  .pi-legal-layout {
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-legal-nav {
    background: var(--pi-paper);
    border: 1px solid var(--pi-rule);
    border-radius: var(--pi-radius-md);
    padding: 1rem;
    position: static;
  }

  .pi-legal-nav ol {
    display: grid;
    gap: 0 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  .pi-legal-document {
    border-radius: var(--pi-radius-md);
  }
}

@media (max-width: 479.98px) {
  .pi-legal-nav ol,
  .pi-legal-meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-legal-meta > div {
    min-width: 0;
  }

  .pi-legal-document {
    padding: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-legal-nav a,
  .pi-legal-consent {
    scroll-behavior: auto;
    transition: none;
  }
}

@media print {
  .pi-page--legal {
    background: #fff;
    overflow: visible;
    padding: 0;
  }

  .pi-page--legal .pi-legal-shell {
    max-width: none;
    padding: 0;
  }

  .pi-page--legal .pi-legal-nav,
  .pi-page--legal .pi-legal-acceptance-form {
    display: none;
  }

  .pi-page--legal .pi-legal-layout {
    display: block;
  }

  .pi-page--legal .pi-legal-boundary,
  .pi-page--legal .pi-legal-document {
    border-color: #9aa8b6;
    box-shadow: none;
  }

  .pi-page--legal .pi-legal-document {
    padding: 24pt;
  }

  .pi-page--legal .pi-legal-document section {
    break-inside: avoid-page;
    scroll-margin-top: 0;
  }
}

/* Phase 6 custom strategy execution record */
.pi-custom-run-form {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 22px;
  margin-top: 26px;
  padding-top: 24px;
}

.pi-custom-run-form fieldset {
  border: 0;
  display: grid;
  gap: 20px;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.pi-custom-run-form legend,
.pi-custom-run-form__label {
  color: var(--pi-ink-900);
  font-weight: 700;
}

.pi-custom-run-form legend {
  font-family: var(--pi-font-display);
  font-size: 1.12rem;
  margin-bottom: 18px;
}

.pi-custom-run-form__dates,
.pi-custom-run__evidence-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-custom-strategy-field--choice ul {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 2px 0 0;
  padding: 0;
}

.pi-custom-strategy-field--choice label {
  align-items: flex-start;
  background: var(--pi-canvas);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-sm);
  cursor: pointer;
  display: flex;
  gap: 10px;
  line-height: 1.45;
  min-height: 48px;
  padding: 12px 13px;
}

.pi-custom-strategy-field--choice input {
  flex: 0 0 auto;
  margin: 3px 0 0;
  min-height: 20px;
  padding: 0;
  width: 20px;
}



.pi-custom-run-form__authority {
  background: var(--pi-surface-muted);
  border-left: 3px solid var(--pi-blue-600);
  border-radius: var(--pi-radius-sm);
  padding: 15px 17px;
}

.pi-custom-run-form__authority p {
  color: var(--pi-ink-650);
  font-size: 0.88rem;
  line-height: 1.55;
  margin: 6px 0 0;
}

.pi-custom-runs {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  margin-top: clamp(32px, 5vw, 54px);
  overflow: hidden;
}

.pi-custom-runs > div {
  padding: 24px 30px 18px;
}

.pi-custom-runs p,
.pi-custom-runs h2 {
  margin: 0;
}

.pi-custom-runs h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  margin-top: 6px;
}

.pi-custom-runs ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-custom-runs li {
  border-top: 1px solid var(--pi-rule);
}

.pi-custom-runs a {
  align-items: center;
  color: var(--pi-ink-900);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  min-height: 72px;
  padding: 15px 30px;
  text-decoration: none;
}

.pi-custom-runs a:hover {
  background: var(--pi-surface-muted);
}

.pi-custom-runs a > span:first-child {
  display: grid;
  gap: 4px;
}

.pi-custom-runs small {
  color: var(--pi-ink-650);
}

.pi-custom-run__header {
  align-items: end;
  display: grid;
  gap: clamp(28px, 5vw, 64px);
  grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
}

.pi-custom-run__header h1,
.pi-custom-run__header p {
  margin: 0;
}

.pi-custom-run__header h1 {
  margin-top: 10px;
}

.pi-custom-run__header > div:first-child > p:last-child {
  color: var(--pi-ink-650);
  line-height: 1.6;
  margin-top: 16px;
}

.pi-custom-run__status {
  border: 1px solid var(--pi-rule);
  border-left: 4px solid var(--pi-blue-600);
  border-radius: var(--pi-radius-sm);
  display: grid;
  gap: 7px;
  padding: 18px 20px;
}

.pi-custom-run__status strong {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: 1.3rem;
}

.pi-custom-run__status small {
  color: var(--pi-ink-650);
}

.pi-custom-run__status--succeeded {
  border-left-color: var(--pi-green-650);
}

.pi-custom-run__status--failed,
.pi-custom-run__status--cancelled {
  border-left-color: var(--pi-red-650);
}

.pi-custom-run__live,
.pi-custom-run__terminal {
  align-items: center;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  display: grid;
  gap: 18px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  margin-top: clamp(38px, 6vw, 64px);
  padding: clamp(22px, 4vw, 34px);
}

.pi-custom-run__live h2,
.pi-custom-run__live p,
.pi-custom-run__terminal h2,
.pi-custom-run__terminal p {
  margin: 0;
}

.pi-custom-run__live h2,
.pi-custom-run__terminal h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: 1.25rem;
}

.pi-custom-run__live p,
.pi-custom-run__terminal > p:last-child {
  color: var(--pi-ink-650);
  line-height: 1.55;
  margin-top: 7px;
}

.pi-custom-run__pulse {
  animation: pi-custom-run-pulse 1.8s ease-in-out infinite;
  background: var(--pi-blue-600);
  border: 5px solid rgba(21, 94, 239, 0.16);
  border-radius: 50%;
  height: 22px;
  width: 22px;
}

@keyframes pi-custom-run-pulse {
  50% { box-shadow: 0 0 0 8px rgba(21, 94, 239, 0.08); }
}

.pi-custom-run__terminal {
  align-items: start;
  border-left: 4px solid var(--pi-red-650);
  grid-template-columns: minmax(0, 1fr);
}

.pi-custom-run__summary {
  background: var(--pi-ink-900);
  border-radius: var(--pi-radius-md);
  color: var(--pi-paper);
  display: grid;
  gap: clamp(28px, 5vw, 58px);
  grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr);
  margin-top: clamp(38px, 6vw, 64px);
  padding: clamp(28px, 5vw, 52px);
}

.pi-custom-run__summary h2,
.pi-custom-run__summary p {
  margin: 0;
}

.pi-custom-run__summary h2 {
  color: var(--pi-paper);
  font-family: var(--pi-font-display);
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  margin-top: 7px;
}

.pi-custom-run__summary-heading > p:last-child {
  color: var(--pi-text-inverse);
  line-height: 1.6;
  margin-top: 16px;
}

.pi-custom-run__metrics {
  display: grid;
  gap: 0 26px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.pi-custom-run__metrics > div {
  border-top: 1px solid var(--pi-ink-650);
  display: grid;
  gap: 8px;
  padding: 16px 0;
}

.pi-custom-run__metrics dt {
  color: var(--pi-text-inverse);
  font-size: 0.86rem;
}

.pi-custom-run__metrics dd {
  color: var(--pi-paper);
  font-family: var(--pi-font-display);
  font-size: 1.2rem;
  margin: 0;
  overflow-wrap: anywhere;
}

.pi-custom-run__evidence-grid {
  gap: 24px;
  margin-top: 24px;
}

.pi-custom-run__evidence-grid > section {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  padding: clamp(24px, 4vw, 34px);
}

.pi-custom-run__evidence-grid p,
.pi-custom-run__evidence-grid h2,
.pi-custom-run__evidence-grid dl {
  margin: 0;
}

.pi-custom-run__evidence-grid h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: 1.3rem;
  margin-top: 7px;
}

.pi-custom-run__evidence-grid dl {
  margin-top: 22px;
}

.pi-custom-run__evidence-grid dl > div {
  align-items: baseline;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 12px 0;
}

.pi-custom-run__evidence-grid dt {
  color: var(--pi-ink-650);
}

.pi-custom-run__evidence-grid dd {
  color: var(--pi-ink-900);
  font-weight: 600;
  margin: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

.pi-custom-run__provenance {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  margin-top: 24px;
  padding: 14px 24px;
}

.pi-custom-run__provenance summary {
  color: var(--pi-blue-700);
  cursor: pointer;
  font-weight: 600;
  min-height: 44px;
  padding: 10px 0;
}

.pi-custom-run__provenance dl > div {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 7px;
  padding: 12px 0;
}

.pi-custom-run__provenance dd {
  margin: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
  .pi-custom-run__header,
  .pi-custom-run__summary {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  .pi-custom-run-form__dates,
  .pi-custom-run__metrics,
  .pi-custom-run__evidence-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-custom-runs a,
  .pi-custom-run__live {
    align-items: flex-start;
    flex-direction: column;
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-custom-run__pulse {
    animation: none;
  }
}

/* Moving-average strategy workspace */
.pi-ma-crossover {
  container-name: moving-average;
  container-type: inline-size;
  min-width: 0;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-top: 3px solid var(--pi-blue-600);
  box-shadow: 0 14px 34px rgba(18, 32, 51, 0.08);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  margin-block: 1.75rem;
  padding: clamp(1.1rem, 2.6vw, 2rem);
}

.pi-ma-crossover__header {
  align-items: start;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.58fr);
}

.pi-ma-crossover__eyebrow {
  color: var(--pi-blue-700);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.pi-ma-crossover__header h3 {
  font-family: var(--pi-font-display);
  font-size: clamp(1.55rem, 2.8vw, 2rem);
  line-height: 1.08;
  margin: 0;
}

.pi-ma-crossover__header p:not(.pi-ma-crossover__eyebrow) {
  color: var(--pi-ink-650);
  margin: 0.55rem 0 0;
  max-width: 55ch;
}

.pi-ma-crossover__signal {
  align-content: center;
  background: var(--pi-surface-muted);
  border-left: 3px solid var(--pi-blue-600);
  display: grid;
  gap: 0.45rem;
  min-height: 100%;
  padding: 0.9rem 1rem;
}

.pi-ma-crossover__signal span {
  align-items: center;
  color: var(--pi-ink-650);
  display: flex;
  font-size: 0.82rem;
  gap: 0.55rem;
}

.pi-ma-crossover__signal strong {
  align-items: baseline;
  display: flex;
  font-size: 0.88rem;
  gap: 0.5rem;
  margin-top: 0.15rem;
}

.pi-ma-crossover__signal em {
  color: var(--pi-green-650);
  font-size: 0.72rem;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pi-ma-crossover__line {
  border-top: 3px solid;
  display: inline-block;
  width: 2.25rem;
}

.pi-ma-crossover__line--fast {
  border-color: var(--pi-blue-600);
}

.pi-ma-crossover__line--slow {
  border-color: var(--pi-ink-650);
}

.pi-ma-bulk {
  align-items: end;
  background: var(--pi-surface-muted);
  border: 1px solid var(--pi-rule);
  display: grid;
  gap: 0.9rem;
  grid-template-columns: minmax(150px, 1fr) minmax(110px, 0.62fr) minmax(110px, 0.62fr) auto;
  margin: 1.5rem 0 1rem;
  padding: 1rem;
}

.pi-ma-bulk > p:first-child {
  color: var(--pi-ink-900);
  font-size: 0.88rem;
  font-weight: 600;
  grid-column: 1 / -1;
  margin: 0;
}

.pi-ma-fixed {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.pi-ma-shared {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.pi-ma-shared[hidden], .pi-ma-fixed[hidden] {
  display: none;
}

.pi-ma-shared__help {
  grid-column: 1 / -1;
  margin: 0;
}

.pi-ma-bulk label {
  color: var(--pi-ink-650);
  display: grid;
  font-size: 0.78rem;
  font-weight: 600;
  gap: 0.4rem;
  letter-spacing: 0.02em;
  margin: 0;
}

.pi-ma-bulk .form-control,
.pi-ma-rule-grid .form-control {
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  height: 44px;
  min-width: 0;
  width: 100%;
}

.pi-ma-bulk__error,
.pi-ma-rule-row__error {
  color: var(--pi-red-650);
  font-size: 0.8rem;
  font-weight: 500;
  margin: 0;
}

.pi-ma-bulk__error {
  grid-column: 1 / -1;
}

.pi-ma-crossover__empty {
  border: 1px dashed var(--pi-rule-strong);
  color: var(--pi-ink-650);
  margin: 1rem 0 0;
  padding: 1.2rem;
  text-align: center;
}

.pi-ma-rule-grid {
  border: 1px solid var(--pi-rule);
}

.pi-ma-rule-grid__header,
.pi-ma-rule-row {
  align-items: center;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: minmax(150px, 1.2fr) minmax(135px, 0.9fr) minmax(105px, 0.62fr) minmax(105px, 0.62fr) minmax(6.5rem, auto);
  padding: 0.8rem 1rem;
}

.pi-ma-rule-grid__header {
  background: var(--pi-ink-900);
  color: var(--pi-text-inverse);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pi-ma-rule-row {
  border-top: 1px solid var(--pi-rule);
}

.pi-ma-rule-grid__header + #moving_average_list .pi-ma-rule-row:first-child {
  border-top: 0;
}

.pi-ma-rule-row__instrument strong {
  font-family: var(--pi-font-data);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.pi-ma-rule-row__error {
  grid-column: 2 / -1;
}



.pi-ma-rule-grid [aria-invalid="true"],
.pi-ma-bulk [aria-invalid="true"] {
  border-color: var(--pi-red-650);
}

@media (max-width: 767px) {
  .pi-ma-crossover {
    margin-inline: -0.35rem;
    padding: 1rem;
  }

  .pi-ma-crossover__header,
  .pi-ma-bulk {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-ma-bulk .pi-button {
    min-height: 44px;
    width: 100%;
  }

  .pi-ma-rule-grid {
    border: 0;
  }

  .pi-ma-rule-grid__header {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  #moving_average_list {
    display: grid;
    gap: 0.8rem;
  }

  .pi-ma-rule-row {
    align-items: stretch;
    background: var(--pi-paper);
    border: 1px solid var(--pi-rule);
    border-left: 3px solid var(--pi-blue-600);
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1rem;
  }

  .pi-ma-rule-row > [role="cell"]::before {
    color: var(--pi-ink-650);
    content: attr(data-label);
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
  }

  .pi-ma-rule-row__instrument,
  .pi-ma-rule-row > [data-label="Method"],
  .pi-ma-rule-row > [data-label="Preview"],
  .pi-ma-rule-row__error {
    grid-column: 1 / -1;
  }

  .pi-ma-rule-row .pi-button {
    min-height: 44px;
    width: 100%;
  }
}

/* The builder panel can be narrow even on a wide screen. Use its available
   width, not only the viewport, before five columns crowd the Preview action. */
@container moving-average (max-width: 700px) {
  .pi-ma-crossover__header { grid-template-columns: minmax(0, 1fr); }
  .pi-ma-crossover__signal { max-width: 100%; }
  .pi-ma-bulk { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pi-ma-bulk > label[for="all_moving_average_type"],
  .pi-ma-bulk > label[for="pit_moving_average_type"],
  .pi-ma-bulk > .pi-button { grid-column: 1 / -1; }
  .pi-ma-bulk > .pi-button { width: 100%; }
  .pi-ma-rule-grid__header {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  .pi-ma-rule-row {
    align-items: stretch;
    gap: .85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pi-ma-rule-row > [role="cell"] { min-width: 0; }
  .pi-ma-rule-row > [role="cell"]::before {
    color: var(--pi-ink-650);
    content: attr(data-label);
    display: block;
    font-family: var(--pi-font-ui);
    font-size: .8125rem;
    margin-bottom: .35rem;
  }
  .pi-ma-rule-row__instrument,
  .pi-ma-rule-row > [data-label="Method"],
  .pi-ma-rule-row > [data-label="Preview"],
  .pi-ma-rule-row__error { grid-column: 1 / -1; }
  .pi-ma-rule-row .pi-button { min-height: 44px; width: 100%; }
}

@container moving-average (max-width: 340px) {
  .pi-ma-bulk, .pi-ma-rule-row { grid-template-columns: minmax(0, 1fr); }
  .pi-ma-rule-row > [role="cell"] { grid-column: 1; }
}

/* Backtest method chooser */
.pi-backtest-chooser__hero {
  padding: clamp(64px, 8vw, 104px) 0 clamp(76px, 10vw, 128px);
}

.pi-backtest-chooser__header {
  max-width: 760px;
}

.pi-backtest-chooser__header .pi-eyebrow {
  margin: 0 0 14px;
}

.pi-backtest-chooser__header h1 {
  margin: 0;
}

.pi-backtest-chooser__header > p:last-child {
  color: var(--pi-ink-650);
  font-size: clamp(1rem, 1.6vw, 1.125rem);
  line-height: 1.7;
  margin: 20px 0 0;
  max-width: 680px;
}

.pi-backtest-chooser__section-heading {
  align-items: end;
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 460px);
  margin-top: clamp(40px, 6vw, 64px);
  padding-top: 28px;
}

.pi-backtest-chooser__section-heading .pi-eyebrow,
.pi-backtest-chooser__section-heading h2,
.pi-backtest-chooser__section-heading > p {
  margin: 0;
}

.pi-backtest-chooser__section-heading h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-top: 8px;
}

.pi-backtest-chooser__section-heading > p {
  color: var(--pi-ink-650);
  line-height: 1.65;
}

.pi-backtest-chooser__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 28px;
}

.pi-custom-strategy-entry {
  align-items: center;
  background: var(--pi-ink-900);
  border-radius: var(--pi-radius-md);
  color: var(--pi-paper);
  display: grid;
  gap: clamp(22px, 4vw, 42px);
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.85fr) auto;
  margin-top: clamp(24px, 4vw, 38px);
  overflow: hidden;
  padding: clamp(28px, 4vw, 42px);
  position: relative;
}

.pi-custom-strategy-entry::before {
  background: var(--pi-blue-600);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 4px;
}

.pi-custom-strategy-entry .pi-eyebrow,
.pi-custom-strategy-entry h2,
.pi-custom-strategy-entry p {
  margin: 0;
}

.pi-custom-strategy-entry .pi-eyebrow {
  color: var(--pi-accent-inverse);
}

.pi-custom-strategy-entry h2 {
  color: var(--pi-paper);
  font-family: var(--pi-font-display);
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.15;
  margin-top: 9px;
}

.pi-custom-strategy-entry__copy > p:last-child {
  color: var(--pi-text-inverse);
  line-height: 1.65;
  margin-top: 13px;
  max-width: 680px;
}

.pi-custom-strategy-entry__scope {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pi-custom-strategy-entry__scope span {
  border: 1px solid var(--pi-rule-inverse);
  border-radius: 999px;
  color: var(--pi-text-inverse);
  font-size: 0.78rem;
  line-height: 1;
  padding: 8px 10px;
}

.pi-custom-strategy-entry .pi-button {
  justify-content: center;
  min-width: 190px;
}

.pi-backtest-choice {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-top: 3px solid var(--pi-blue-600);
  border-radius: var(--pi-radius-md);
  display: flex;
  flex-direction: column;
  grid-column: span 2;
  min-height: 286px;
  padding: clamp(26px, 3vw, 34px);
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.pi-backtest-choice:nth-child(4) {
  grid-column: 2 / span 2;
}

.pi-backtest-choice:nth-child(5) {
  grid-column: 4 / span 2;
}

.pi-backtest-choice:hover {
  border-color: var(--pi-rule-strong);
  border-top-color: var(--pi-blue-600);
  box-shadow: var(--pi-shadow-sm);
}

.pi-backtest-choice__method {
  color: var(--pi-blue-700);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin: 0;
  text-transform: uppercase;
}

.pi-backtest-choice h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.55rem, 2vw, 1.8rem);
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: 1.16;
  margin: 28px 0 12px;
}

.pi-backtest-choice > div > p:last-child {
  color: var(--pi-ink-650);
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0;
}

.pi-backtest-choice__link {
  align-items: center;
  color: var(--pi-blue-700);
  display: inline-flex;
  font-weight: 600;
  justify-content: space-between;
  line-height: 1.35;
  margin-top: auto;
  min-height: 44px;
  padding-top: 22px;
  text-decoration: none;
}

.pi-backtest-choice__link > .pi-link-arrow {
  margin-left: 16px;
  transition: transform 140ms ease;
}

.pi-backtest-choice__link:hover {
  color: var(--pi-action-primary-hover);
  text-decoration: none;
}





.pi-backtest-chooser__guidance {
  align-items: center;
  border-top: 1px solid var(--pi-rule);
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin-top: clamp(36px, 5vw, 54px);
  padding-top: 24px;
}

.pi-backtest-chooser__guidance p {
  color: var(--pi-ink-650);
  line-height: 1.6;
  margin: 0;
}

.pi-backtest-chooser__guidance strong {
  color: var(--pi-ink-900);
}

.pi-backtest-chooser__guidance a:not(.pi-button) {
  color: var(--pi-blue-700);
  flex: 0 0 auto;
  font-weight: 600;
  min-height: 44px;
  padding: 11px 0;
  text-decoration: none;
}

.pi-backtest-chooser__guidance a:not(.pi-button):hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 991.98px) {
  .pi-backtest-chooser__section-heading,
  .pi-custom-strategy-entry {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-custom-strategy-entry .pi-button {
    justify-self: start;
  }

  .pi-backtest-chooser__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pi-backtest-choice,
  .pi-backtest-choice:nth-child(4) {
    grid-column: auto;
  }

  .pi-backtest-choice:nth-child(5) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - 9px);
  }
}

@media (max-width: 575.98px) {
  .pi-backtest-chooser__hero {
    padding: 48px 0 72px;
  }

  .pi-backtest-chooser__grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 34px;
  }

  .pi-backtest-chooser__section-heading {
    align-items: start;
  }

  .pi-custom-strategy-entry {
    padding: 28px 24px;
  }

  .pi-custom-strategy-entry .pi-button {
    justify-self: stretch;
    width: 100%;
  }

  .pi-backtest-choice {
    min-height: 0;
  }

  .pi-backtest-choice:nth-child(5) {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }

  .pi-backtest-chooser__guidance {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

/* Custom strategy drafting and immutable review */
.pi-custom-strategy {
  padding: clamp(44px, 7vw, 84px) 0 clamp(72px, 9vw, 120px);
}

.pi-custom-strategy__breadcrumb {
  margin-bottom: clamp(30px, 5vw, 52px);
}

.pi-custom-strategy__breadcrumb a {
  color: var(--pi-blue-700);
  display: inline-flex;
  font-weight: 600;
  gap: 0.25em;
  min-height: 44px;
  padding: 10px 0;
  text-decoration: none;
}

.pi-custom-strategy__breadcrumb a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.pi-custom-strategy__hero,
.pi-custom-review__header {
  align-items: end;
  display: grid;
  gap: clamp(28px, 5vw, 64px);
  grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
}

.pi-custom-strategy__hero .pi-eyebrow,
.pi-custom-strategy__hero h1,
.pi-custom-strategy__hero p,
.pi-custom-review__header .pi-eyebrow,
.pi-custom-review__header h1,
.pi-custom-review__header p {
  margin: 0;
}

.pi-custom-strategy__hero h1,
.pi-custom-review__header h1 {
  margin-top: 10px;
}

.pi-custom-strategy__hero > div > p:last-child,
.pi-custom-review__header > div > p:last-child {
  color: var(--pi-ink-650);
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.7;
  margin-top: 18px;
  max-width: 760px;
}

.pi-custom-strategy__boundary,
.pi-custom-review__seal {
  border-left: 3px solid var(--pi-blue-600);
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 8px 0 8px 22px;
}

.pi-custom-strategy__boundary strong,
.pi-custom-review__seal strong {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: 1.3rem;
}

.pi-custom-strategy__boundary span,
.pi-custom-review__seal small {
  color: var(--pi-ink-650);
  line-height: 1.5;
}

.pi-custom-strategy__builder-grid {
  align-items: start;
  display: grid;
  gap: clamp(24px, 4vw, 46px);
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.7fr);
  margin-top: clamp(46px, 7vw, 78px);
}

.pi-custom-strategy-panel,
.pi-custom-strategy-notes,
.pi-custom-strategy-drafts,
.pi-custom-review__brief,
.pi-custom-review__actions,
.pi-custom-review__empty {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
}

.pi-custom-strategy-panel,
.pi-custom-review__brief,
.pi-custom-review__actions,
.pi-custom-review__empty {
  padding: clamp(26px, 4vw, 42px);
}

.pi-custom-strategy-panel__heading .pi-data,
.pi-custom-strategy-panel__heading h2,
.pi-custom-strategy-notes .pi-data,
.pi-custom-strategy-notes h2,
.pi-custom-review__actions > .pi-data,
.pi-custom-review__actions > h2 {
  margin: 0;
}

.pi-custom-strategy-panel__heading h2,
.pi-custom-strategy-notes h2,
.pi-custom-review__actions > h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 600;
  line-height: 1.25;
  margin-top: 8px;
}

.pi-custom-strategy-form {
  display: grid;
  gap: 24px;
  margin-top: 32px;
}

.pi-custom-strategy-field {
  display: grid;
  gap: 8px;
}

.pi-custom-strategy-field label {
  color: var(--pi-ink-900);
  font-weight: 600;
}

.pi-custom-strategy-field input,
.pi-custom-strategy-field textarea {
  background: var(--pi-paper);
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font: inherit;
  line-height: 1.55;
  min-height: 48px;
  padding: 12px 14px;
  resize: vertical;
  width: 100%;
}

.pi-custom-strategy-field textarea {
  min-height: 140px;
}



.pi-custom-strategy-field__help,
.pi-custom-strategy-form__boundary,
.pi-custom-review__run-note,
.pi-custom-review__approve-form p {
  color: var(--pi-ink-650);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0;
}

.pi-custom-strategy-field__error {
  color: var(--pi-red-650);
  font-size: 0.9rem;
  margin: 0;
}

.pi-custom-strategy-field__error p {
  margin: 0;
}

.pi-custom-strategy-field__error p + p {
  margin-top: 4px;
}

.pi-custom-strategy-field--error input,
.pi-custom-strategy-field--error textarea {
  border-color: var(--pi-red-650);
}

.pi-custom-strategy-alert {
  background: var(--pi-action-risk-surface);
  border: 1px solid var(--pi-red-650);
  border-left: 3px solid var(--pi-red-650);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  margin: 24px 0;
  padding: 15px 18px;
}

.pi-custom-strategy-alert p {
  line-height: 1.55;
  margin: 0;
}

.pi-custom-strategy-notes {
  border-top: 3px solid var(--pi-blue-600);
  padding: 28px;
}

.pi-custom-strategy-notes ul {
  color: var(--pi-ink-650);
  line-height: 1.65;
  margin: 24px 0;
  padding-left: 20px;
}

.pi-custom-strategy-notes li + li {
  margin-top: 9px;
}

.pi-custom-strategy-notes details,
.pi-custom-review__json {
  border-top: 1px solid var(--pi-rule);
  padding-top: 18px;
}

.pi-custom-strategy-notes summary,
.pi-custom-review__json summary {
  color: var(--pi-blue-700);
  cursor: pointer;
  font-weight: 600;
  min-height: 44px;
  padding: 10px 0;
}

.pi-custom-strategy-notes details p {
  color: var(--pi-ink-650);
  line-height: 1.6;
}

.pi-custom-strategy-drafts {
  margin-top: clamp(36px, 6vw, 66px);
  overflow: hidden;
}

.pi-custom-strategy-drafts__heading {
  padding: 28px 30px 18px;
}

.pi-custom-strategy-drafts__heading p,
.pi-custom-strategy-drafts__heading h2 {
  margin: 0;
}

.pi-custom-strategy-drafts__heading h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  margin-top: 6px;
}

.pi-custom-strategy-drafts ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-custom-strategy-drafts li {
  border-top: 1px solid var(--pi-rule);
}

.pi-custom-strategy-drafts a {
  align-items: center;
  color: var(--pi-ink-900);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  min-height: 72px;
  padding: 16px 30px;
  text-decoration: none;
}

.pi-custom-strategy-drafts a:hover {
  background: var(--pi-surface-muted);
}

.pi-custom-strategy-drafts a span:first-child {
  display: grid;
  gap: 4px;
}

.pi-custom-strategy-drafts small,
.pi-custom-strategy-state {
  color: var(--pi-ink-650);
}

.pi-custom-review__seal {
  border: 1px solid var(--pi-rule);
  border-left: 4px solid var(--pi-amber-700);
  border-radius: var(--pi-radius-sm);
  padding: 18px 20px;
}

.pi-custom-review__seal--valid {
  border-left-color: var(--pi-green-650);
}

.pi-custom-review__layout {
  align-items: start;
  display: grid;
  gap: clamp(24px, 4vw, 38px);
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.7fr);
  margin-top: clamp(42px, 6vw, 70px);
}

.pi-custom-review__brief > h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  margin: 0;
}

.pi-custom-review__named-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 32px;
}

.pi-custom-review__named-grid > section {
  background: var(--pi-canvas);
  border-radius: var(--pi-radius-sm);
  min-width: 0;
  padding: 20px;
}

.pi-custom-review__named-grid p,
.pi-custom-review__named-grid dl,
.pi-custom-review__named-grid dd {
  margin: 0;
}

.pi-custom-review__named-grid dl > div + div {
  border-top: 1px solid var(--pi-rule);
  margin-top: 14px;
  padding-top: 14px;
}

.pi-custom-review__named-grid dt {
  color: var(--pi-ink-900);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.pi-custom-review__named-grid dd {
  color: var(--pi-ink-650);
  line-height: 1.55;
  margin-top: 5px;
}

.pi-custom-review__sections {
  counter-reset: evidence;
  margin-top: 34px;
}

.pi-custom-review__sections > section {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 10px 18px;
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 24px 0;
}

.pi-custom-review__sections .pi-data,
.pi-custom-review__sections h3,
.pi-custom-review__sections ul {
  margin: 0;
}

.pi-custom-review__sections h3 {
  color: var(--pi-ink-900);
  font-size: 1.05rem;
}

.pi-custom-review__sections ul {
  color: var(--pi-ink-650);
  grid-column: 2;
  line-height: 1.6;
  padding-left: 19px;
}

.pi-custom-review__risk {
  background: var(--pi-ink-900);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-paper);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(140px, 0.5fr) minmax(0, 1fr);
  margin-top: 12px;
  padding: 24px;
}

.pi-custom-review__risk p,
.pi-custom-review__risk h3,
.pi-custom-review__risk dl {
  margin: 0;
}

.pi-custom-review__risk h3 {
  color: var(--pi-paper);
  font-family: var(--pi-font-display);
  margin-top: 5px;
}

.pi-custom-review__risk dl > div {
  align-items: baseline;
  border-bottom: 1px solid var(--pi-ink-650);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 8px 0;
}

.pi-custom-review__risk dt {
  color: var(--pi-text-inverse);
}

.pi-custom-review__risk dd {
  color: var(--pi-paper);
  flex: 0 0 auto;
  margin: 0;
  text-align: right;
  white-space: nowrap;
}

.pi-custom-review__json {
  margin-top: 28px;
}

.pi-custom-review__json > p {
  color: var(--pi-ink-650);
  line-height: 1.55;
}

.pi-custom-review__json pre {
  background: var(--pi-ink-900);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-text-inverse-strong);
  font-size: 0.78rem;
  line-height: 1.55;
  max-height: 460px;
  overflow: auto;
  padding: 20px;
  white-space: pre-wrap;
  word-break: break-word;
}

.pi-custom-review__actions {
  position: sticky;
  top: 92px;
}

.pi-custom-review__actions .pi-button {
  justify-content: center;
  width: 100%;
}

.pi-custom-review__actions .pi-button[disabled] {
  cursor: not-allowed;
  opacity: 0.55;
}

.pi-custom-review__approved {
  background: var(--pi-surface-muted);
  border-left: 3px solid var(--pi-green-650);
  border-radius: var(--pi-radius-sm);
  margin: 28px 0 20px;
  padding: 16px 18px;
}

.pi-custom-review__approved p {
  color: var(--pi-ink-650);
  line-height: 1.55;
  margin: 7px 0 0;
}

.pi-custom-review__approve-form {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 12px;
  margin-top: 26px;
  padding-top: 24px;
}

.pi-custom-review__empty {
  margin-top: 48px;
  max-width: 760px;
}

.pi-custom-review__empty h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
}

@media (max-width: 991.98px) {
  .pi-custom-strategy__hero,
  .pi-custom-review__header,
  .pi-custom-strategy__builder-grid,
  .pi-custom-review__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-custom-strategy__boundary,
  .pi-custom-review__seal {
    max-width: 520px;
  }

  .pi-custom-review__actions {
    position: static;
  }
}

@media (max-width: 575.98px) {
  .pi-custom-strategy {
    padding: 34px 0 68px;
  }

  .pi-custom-review__named-grid,
  .pi-custom-review__risk {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-custom-review__sections > section {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .pi-custom-strategy-drafts a {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-backtest-choice,
  .pi-backtest-choice__link > .pi-link-arrow {
    transition: none;
  }

  .pi-backtest-choice:hover,
.pi-backtest-choice__link:hover > .pi-link-arrow {
    transform: none;
  }
}

/* Founder note: an investment brief organized around a visible evidence thread. */
.pi-founder {
  background:
    linear-gradient(180deg, rgba(238, 243, 247, 0.82) 0, rgba(247, 250, 252, 0) 420px),
    var(--pi-canvas);
  min-width: 0;
  overflow: clip;
  padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(4rem, 9vw, 7.5rem);
}

.pi-founder__shell {
  margin-inline: auto;
  max-width: 1180px;
  min-width: 0;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
  width: 100%;
}

.pi-founder__hero {
  align-items: end;
  border-bottom: 1px solid var(--pi-rule-strong);
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.65fr);
  min-width: 0;
  padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.pi-founder__hero-copy,
.pi-founder__brief {
  min-width: 0;
}

.pi-founder__hero-copy .pi-eyebrow {
  margin: 0 0 1rem;
}

.pi-founder__hero h1 {
  font-size: clamp(3.25rem, 7vw, 5.75rem);
  line-height: 0.93;
  margin: 0;
  max-width: 760px;
  text-wrap: balance;
}

.pi-founder__lead {
  color: #33465a;
  font-family: var(--pi-font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  line-height: 1.45;
  margin: clamp(1.5rem, 3vw, 2rem) 0 0;
  max-width: 690px;
}

.pi-founder__byline {
  border-left: 2px solid var(--pi-blue-600);
  color: var(--pi-ink-650);
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 1.5rem 0 0;
  max-width: 590px;
  padding-left: 0.9rem;
}

.pi-founder__brief {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-top: 4px solid var(--pi-blue-600);
  border-radius: var(--pi-radius-md);
  box-shadow: var(--pi-shadow-sm);
  padding: clamp(1.35rem, 3vw, 2rem);
}

.pi-founder__brief-kicker,
.pi-founder__brief-label,
.pi-founder__rail-title,
.pi-founder__method-label,
.pi-founder__boundary-label,
.pi-founder__decision-label {
  font-family: var(--pi-font-data);
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.11em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pi-founder__brief-kicker {
  color: var(--pi-blue-700);
  margin: 0 0 0.65rem;
}

.pi-founder__brief h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
  font-weight: 600;
  line-height: 1.22;
  margin: 0;
}

.pi-founder__brief ul {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}

.pi-founder__brief li {
  border-top: 1px solid var(--pi-rule);
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 0;
}

.pi-founder__brief li:last-child {
  padding-bottom: 0;
}

.pi-founder__brief-label {
  color: var(--pi-ink-650);
}

.pi-founder__brief strong {
  color: var(--pi-ink-900);
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.45;
}

.pi-founder__chapters {
  background: var(--pi-paper);
  border-bottom: 1px solid var(--pi-rule);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: clamp(3rem, 7vw, 5.75rem);
}

.pi-founder__chapters a {
  border-left: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  display: grid;
  gap: 0.15rem;
  min-height: 76px;
  padding: 1rem 1.1rem;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}

.pi-founder__chapters a:last-child {
  border-right: 1px solid var(--pi-rule);
}

.pi-founder__chapters a:hover {
  background: var(--pi-surface-muted);
  color: var(--pi-blue-700);
}

.pi-founder__chapters span {
  font-family: var(--pi-font-data);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pi-founder__chapters small {
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  line-height: 1.35;
}

.pi-founder__story {
  align-items: start;
  display: grid;
  gap: clamp(2.5rem, 7vw, 6rem);
  grid-template-columns: minmax(130px, 170px) minmax(0, 720px);
  justify-content: center;
  min-width: 0;
}

.pi-founder__rail {
  min-width: 0;
  position: sticky;
  top: 6rem;
}

.pi-founder__rail-title {
  color: var(--pi-ink-650);
  margin: 0 0 1rem;
}

.pi-founder__rail ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pi-founder__rail li {
  border-left: 1px solid var(--pi-rule-strong);
  color: var(--pi-ink-650);
  font-family: var(--pi-font-data);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  min-height: 48px;
  padding: 0.15rem 0 1.2rem 1.25rem;
  position: relative;
  text-transform: uppercase;
}

.pi-founder__rail li::before {
  background: var(--pi-canvas);
  border: 2px solid var(--pi-blue-600);
  border-radius: 50%;
  content: "";
  height: 9px;
  left: -5px;
  position: absolute;
  top: 0.3rem;
  width: 9px;
}

.pi-founder__rail li:last-child {
  border-left-color: transparent;
  min-height: 0;
  padding-bottom: 0;
}

.pi-founder__article {
  min-width: 0;
}

.pi-founder__article > section {
  border-bottom: 1px solid var(--pi-rule);
  padding: 0 0 clamp(3rem, 7vw, 5rem);
  scroll-margin-top: 6.5rem;
}

.pi-founder__article > section + section {
  padding-top: clamp(3rem, 7vw, 5rem);
}

.pi-founder__article > section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pi-founder__article .pi-eyebrow {
  margin: 0 0 0.8rem;
}

.pi-founder__article h2 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.08;
  margin: 0 0 1.5rem;
  text-wrap: balance;
}

.pi-founder__article p {
  color: #33465a;
  font-size: clamp(1.02rem, 1.6vw, 1.1rem);
  line-height: 1.82;
  margin: 1.15rem 0 0;
}

.pi-founder__article h2 + p {
  margin-top: 0;
}

.pi-founder__article blockquote {
  border: 0;
  margin: clamp(2rem, 5vw, 3.25rem) 0 0;
  padding: 0 0 0 clamp(1.25rem, 3vw, 2rem);
  position: relative;
}

.pi-founder__article blockquote::before {
  background: var(--pi-blue-600);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 3px;
}

.pi-founder__article blockquote p {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: 1.3;
  margin: 0;
}

.pi-founder__method {
  counter-reset: founder-method;
  display: grid;
  gap: 0;
  list-style: none;
  margin: 2.25rem 0 0;
  padding: 0;
}

.pi-founder__method li {
  border-top: 1px solid var(--pi-rule);
  counter-increment: founder-method;
  display: grid;
  gap: 0.35rem 1.25rem;
  grid-template-columns: minmax(90px, 0.25fr) minmax(0, 1fr);
  padding: 1.35rem 0;
}

.pi-founder__method li::before {
  color: var(--pi-blue-700);
  content: counter(founder-method, decimal-leading-zero);
  font-family: var(--pi-font-data);
  font-size: 0.72rem;
  grid-column: 1;
  grid-row: 1 / span 3;
  letter-spacing: 0.08em;
  padding-top: 0.15rem;
}

.pi-founder__method-label {
  color: var(--pi-ink-650);
  grid-column: 2;
}

.pi-founder__method h3 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.1rem;
  font-weight: 600;
  grid-column: 2;
  line-height: 1.35;
  margin: 0;
}

.pi-founder__method p {
  font-size: 0.96rem;
  grid-column: 2;
  line-height: 1.65;
  margin: 0.15rem 0 0;
}

.pi-founder__boundary {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-top: 4px solid var(--pi-amber-700);
  border-radius: var(--pi-radius-md);
  display: grid;
  gap: 0.75rem 1.5rem;
  grid-template-columns: minmax(110px, 0.25fr) minmax(0, 1fr);
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding: clamp(1.35rem, 4vw, 2rem);
}

.pi-founder__boundary-label {
  color: var(--pi-amber-700);
  margin: 0;
}

.pi-founder__boundary h3 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-display);
  font-size: clamp(1.35rem, 2.5vw, 1.7rem);
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
}

.pi-founder__boundary p {
  font-size: 0.94rem;
  line-height: 1.65;
  margin: 0.65rem 0 0;
}

.pi-founder__boundary a,
.pi-founder__research-link {
  color: var(--pi-blue-700);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.pi-founder__decision {
  align-items: center;
  background: var(--pi-surface-inverse);
  border-radius: var(--pi-radius-lg);
  color: var(--pi-text-inverse);
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: clamp(4rem, 10vw, 7rem);
  overflow: hidden;
  padding: clamp(2rem, 5vw, 3.5rem);
  position: relative;
}

.pi-founder__decision::before {
  background: var(--pi-blue-600);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 4px;
}

.pi-founder__decision-label {
  color: var(--pi-accent-inverse);
  margin: 0 0 0.75rem;
}

.pi-founder__decision h2 {
  color: var(--pi-text-inverse-strong);
  font-family: var(--pi-font-display);
  font-size: clamp(2rem, 4.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.08;
  margin: 0;
  max-width: 760px;
  text-wrap: balance;
}

.pi-founder__decision p:not(.pi-founder__decision-label) {
  color: var(--pi-text-inverse);
  line-height: 1.65;
  margin: 1rem 0 0;
  max-width: 670px;
}

.pi-founder__actions {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-width: 190px;
}

.pi-founder__actions .pi-button {
  background: var(--pi-paper);
  border-color: var(--pi-paper);
  color: var(--pi-ink-900);
  justify-content: center;
  min-height: 48px;
  width: 100%;
}

.pi-founder__actions .pi-button:hover {
  background: var(--pi-surface-muted);
  border-color: var(--pi-surface-muted);
}

.pi-founder__research-link {
  color: var(--pi-link-inverse);
  min-height: 44px;
  padding: 0.7rem 0;
}



@media (max-width: 991.98px) {
  .pi-founder__hero {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.58fr);
  }

  .pi-founder__decision {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-founder__actions {
    align-items: flex-start;
    max-width: 250px;
  }
}

@media (max-width: 767.98px) {
  .pi-founder {
    padding-top: 2rem;
  }

  .pi-founder__shell {
    padding-inline: 1rem;
  }

  .pi-founder__hero,
  .pi-founder__story {
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-founder__hero h1 {
    font-size: clamp(2.85rem, 14vw, 4.25rem);
  }

  .pi-founder__chapters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 3rem;
  }

  .pi-founder__chapters a:nth-child(3),
  .pi-founder__chapters a:nth-child(4) {
    border-top: 1px solid var(--pi-rule);
  }

  .pi-founder__chapters a:nth-child(odd) {
    border-left: 1px solid var(--pi-rule);
  }

  .pi-founder__rail {
    display: none;
  }

  .pi-founder__boundary {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-founder__actions {
    max-width: none;
    width: 100%;
  }
}

@media (max-width: 479.98px) {
  .pi-founder__lead {
    font-size: 1.2rem;
  }

  .pi-founder__chapters a {
    padding: 0.9rem 0.75rem;
  }

  .pi-founder__chapters small {
    display: none;
  }

  .pi-founder__method li {
    gap: 0.3rem 0.9rem;
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .pi-founder__decision {
    border-radius: var(--pi-radius-md);
    padding: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-founder *,
  .pi-founder *::before,
  .pi-founder *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media print {
  .pi-founder {
    background: #fff;
    overflow: visible;
    padding: 0;
  }

  .pi-founder__chapters,
  .pi-founder__rail,
  .pi-founder__actions {
    display: none;
  }

  .pi-founder__hero,
  .pi-founder__story,
  .pi-founder__decision {
    display: block;
  }

  .pi-founder__brief,
  .pi-founder__decision {
    border-color: #9aa8b6;
    box-shadow: none;
    margin-top: 24pt;
  }
}

/* Custom run-form controls follow the later shared custom-field rules. */
.pi-custom-run-form__dates {
  grid-template-columns: minmax(0, 1fr);
}

.pi-custom-run-form .pi-custom-strategy-field input {
  min-width: 0;
}

.pi-custom-run-form .pi-custom-strategy-field--choice input {
  flex: 0 0 20px;
  height: 20px;
  margin: 2px 0 0;
  min-height: 20px;
  padding: 0;
  width: 20px;
}

/* Backtest activity: motion follows the active milestone and valid submission. */
.pi-backtest-estimate__elapsed {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-data);
  font-size: clamp(1.6rem, 2.8vw, 2rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  margin: 0 0 8px;
}
.pi-backtest-estimate .pi-backtest-estimate__value {
  font-family: var(--pi-font-ui);
  font-size: .9rem;
  line-height: 1.5;
  letter-spacing: 0;
}
.pi-backtest-progress__marker,
.pi-backtest-progress__step::before {
  transition: background-color 240ms ease, border-color 240ms ease, color 240ms ease;
}
.pi-backtest-progress__step[data-step-state="active"] .pi-backtest-progress__marker::after {
  animation: pi-backtest-activity-spin 1s linear infinite;
  border: 2px solid rgba(23, 59, 94, .14);
  border-top-color: var(--pi-action-primary);
  inset: -5px;
}
.pi-backtest-progress__step[data-step-state="completed"] .pi-backtest-progress__marker::before {
  animation: pi-backtest-check-in 220ms ease-out both;
}
.pi-backtest-submit {
  min-width: 196px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}
.pi-backtest-submit:active { background: var(--pi-action-primary-pressed); }
.pi-backtest-submit[data-submitting="true"] { cursor: wait; }
.pi-backtest-submit__spinner {
  display: none;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: currentColor;
  border-radius: 50%;
}
.pi-backtest-submit[data-submitting="true"] .pi-backtest-submit__spinner {
  display: inline-block;
  animation: pi-backtest-activity-spin .8s linear infinite;
}
@keyframes pi-backtest-activity-spin { to { transform: rotate(360deg); } }
@keyframes pi-backtest-check-in {
  from { opacity: 0; transform: scale(.6); }
  to { opacity: 1; transform: scale(1); }
}
[data-progress-stopped="true"] *,
[data-progress-stopped="true"] *::before,
[data-progress-stopped="true"] *::after { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .pi-backtest-progress__marker,
  .pi-backtest-progress__step::before,
  .pi-backtest-submit { transition: none; }
  .pi-backtest-progress__marker::before,
  .pi-backtest-progress__marker::after,
  .pi-backtest-submit__spinner { animation: none !important; }
  .pi-backtest-submit:active { transform: none; }
}

/* Phone layouts: preserve readable controls and spend width on content, not
   nested card gutters. Keep these rules scoped to small screens. */
@media (max-width: 767.98px) {


  .pi-page-header {
    gap: 1.25rem;
    padding-bottom: 1.5rem;
  }

  .pi-page-header h1,
  .pi-backtest-chooser__header h1 {
    line-height: 1.18;
    text-wrap: balance;
  }

  .pi-page-header__intro {
    margin-top: 0.75rem;
  }

  /* 16px editable text prevents automatic input zoom in iOS Safari. */
  .pi-page input.form-control,
  .pi-page select.form-control,
  .pi-page textarea.form-control,
  .pi-page .pi-form-field input,
  .pi-page .pi-form-field select,
  .pi-page .pi-form-field textarea,
  .pi-screener input.form-control,
  .pi-screener select.form-control,
  .pi-filter-bar select,
  .pi-toolbar__field .form-control {
    font-size: 1rem;
  }

  .pi-page input.form-control:not([type="checkbox"]):not([type="radio"]),
  .pi-page select.form-control,
  .pi-screener input.form-control,
  .pi-screener select.form-control,
  .pi-filter-bar select,
  .pi-toolbar__field .form-control {
    min-height: 48px;
    height: auto;
    line-height: 1.5;
  }

  .pi-page .pi-button,
  .pi-screener .pi-button {
    min-height: 46px;
    white-space: normal;
    line-height: 1.4;
    text-align: center;
  }

  .pi-page-header__actions,
  .pi-result-actions__group {
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .pi-toolbar {
    gap: 1rem;
    padding: 1rem;
  }

  .pi-form-field {
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    min-width: 0;
  }

  .pi-backtest-chooser__hero {
    padding-top: 2rem;
  }

  .pi-backtest-chooser__section-heading {
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
  }

  .pi-backtest-choice {
    padding: 1.25rem;
  }

  .pi-backtest-choice h2 {
    margin-top: 1rem;
    line-height: 1.25;
  }

  .pi-backtest-choice__link {
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 0;
  }

  .pi-strategy-card {
    padding: 1.25rem;
  }

  .pi-strategy-card__heading {
    gap: 0.75rem;
    flex-wrap: wrap;
  }

  .pi-strategy-card > p {
    font-size: 0.9375rem;
    line-height: 1.65;
  }

  .pi-strategy-card__details > div {
    gap: 0.4rem;
    grid-template-columns: minmax(0, 1fr);
    padding: 0.875rem 0;
  }

  .pi-strategy-card__details dt {
    font-size: 0.8125rem;
  }

  .pi-strategy-card__details dd {
    font-size: 0.9375rem;
    line-height: 1.55;
  }

  .pi-builder-step .pi-parameter-table tbody td::before {
    font-family: var(--pi-font-ui);
    font-size: 0.8125rem;
    letter-spacing: 0;
    text-transform: none;
  }

  .pi-builder-step .pi-parameter-table .form-control {
    min-width: 0 !important; /* Legacy fields carry inline minimum widths. */
    width: 100%;
  }

  .pi-page--results .pi-management-table td::before {
    font-size: 0.8125rem;
    letter-spacing: 0;
    text-transform: none;
  }

  .pi-instrument-subtabs .nav-tabs,
  .pi-forum-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
    padding-bottom: 0.5rem;
    overscroll-behavior-x: contain;
  }

  .pi-instrument-subtabs .nav-item,
  .pi-forum-tabs .nav-item {
    flex: 0 0 auto;
  }

  .pi-instrument-subtabs .nav-link,
  .pi-forum-tabs .nav-link {
    min-height: 44px;
    white-space: nowrap;
  }
}

@media (max-width: 575.98px) {
  .pi-builder-step {
    padding: 20px 16px !important;
  }

  .pi-builder-step .pi-benchmark-picker {
    padding: 1rem;
    box-shadow: none;
  }

  /* The surrounding builder step already provides the panel boundary. */
  .pi-builder-step .pit-universe {
    border: 0;
    border-radius: 0;
    padding: 0;
    margin-bottom: 1.5rem;
    min-width: 0;
  }

  .pi-builder-step .pit-universe legend {
    padding: 0;
    margin-bottom: 0.75rem;
  }

  .pi-builder-summary {
    padding: 1.25rem 1rem;
  }

  .pi-builder-summary .pi-evidence-ledger--compact {
    box-shadow: none;
  }

  .pi-builder-step .pi-universe-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: start;
  }

  .pi-builder-step .pi-universe-actions__choices {
    display: grid;
    gap: 0.75rem;
  }

  .pi-screener-builder__main {
    padding: 1.25rem 1rem;
  }

  .pi-screener-factor {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--pi-rule);
    padding-top: 1rem;
    margin-bottom: 0.75rem;
  }

  .pi-page--results .pi-management-table td {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.375rem;
  }

  .pi-page--results .pi-management-table td:empty {
    display: none;
  }

  .pi-custom-strategy-entry {
    padding: 1.5rem 1.25rem;
  }
}

@media (max-width: 399.98px) {
  /* At 320px, paired controls cannot accommodate their labels and values. */
  .pi-builder-step .pi-parameter-table--screen tbody tr,
  .pi-builder-step .pi-parameter-table--allocation tbody tr,
  .pi-builder-step .pi-parameter-table--signals tbody tr,
  .pi-builder-step .pi-parameter-table--instrument-rules tbody tr {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .pi-builder-step .pi-parameter-table tbody tr {
    padding: 1rem 0.875rem;
  }

  .pi-result-metrics {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Use the existing readable cards before tablet columns become cramped. */
@media (max-width: 991.98px) {
  .pi-page--results .pi-management-table,
  .pi-page--results .pi-management-table thead,
  .pi-page--results .pi-management-table tbody,
  .pi-page--results .pi-management-table tr,
  .pi-page--results .pi-management-table td {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .pi-page--results .pi-management-table {
    background: transparent;
    border: 0;
    min-width: 0;
  }

  .pi-page--results .pi-management-table-wrap {
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }

  .pi-page--results .pi-management-table thead {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .pi-page--results .pi-management-table tr {
    background: var(--pi-paper);
    border: 1px solid var(--pi-rule);
    border-radius: var(--pi-radius-md);
    box-shadow: var(--pi-shadow-sm);
    margin-bottom: 14px;
    padding: 12px 18px;
  }

  .pi-page--results .pi-management-table td {
    border: 0;
    border-bottom: 1px solid var(--pi-rule);
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(82px, 0.7fr) minmax(0, 1.3fr);
    padding: 12px 0;
    text-align: left;
  }

  .pi-page--results .pi-management-table td::before {
    color: var(--pi-ink-650);
    content: attr(data-title);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .pi-page--results .pi-management-table td:last-child {
    border-bottom: 0;
  }

  .pi-strategy-table-wrap { display: none; }
  .pi-strategy-cards { display: grid; gap: 14px; }
}

/* Backtest parameter snapshots
   A restrained, read-only specification sheet shared by every strategy type. */

.pi-body--parameter-summary {
  background: var(--pi-canvas);
  color: var(--pi-ink-900);
}

.pi-parameter-page {
  width: min(100% - 32px, 1120px);
  margin: 0 auto;
  padding: clamp(28px, 5vw, 64px) 0 72px;
  overflow-wrap: anywhere;
}

.pi-parameter-page__back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  margin: 0 0 18px;
  padding: 8px 2px;
  color: var(--pi-action-primary);
  font-size: 0.94rem;
  font-weight: 700;
  text-decoration: none;
}

.pi-parameter-page__back:hover {
  color: var(--pi-ink-900);
  text-decoration: none;
}



.pi-parameter-summary {
  overflow: hidden;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-top: 4px solid var(--pi-action-primary);
  border-radius: 10px;
  box-shadow: 0 18px 48px rgba(18, 32, 51, 0.08);
}

.pi-parameter-summary__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  padding: clamp(28px, 5vw, 52px);
}

.pi-parameter-summary__heading {
  max-width: 720px;
}

.pi-parameter-summary__eyebrow,
.pi-parameter-section__index {
  margin: 0 0 8px;
  color: var(--pi-action-primary);
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.pi-parameter-summary__header h1 {
  margin: 0;
  color: var(--pi-ink-900);
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.pi-parameter-summary__lede {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--pi-ink-650);
  font-size: 1rem;
  line-height: 1.65;
}

.pi-parameter-summary__status {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 11px;
  background: color-mix(in srgb, var(--pi-canvas) 78%, var(--pi-paper));
  border: 1px solid var(--pi-rule);
  border-radius: 999px;
  color: var(--pi-ink-650);
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
}

.pi-parameter-section {
  padding: clamp(28px, 5vw, 48px) clamp(28px, 5vw, 52px);
  border-top: 1px solid var(--pi-rule);
}

.pi-parameter-section__heading {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(260px, 1.1fr);
  align-items: end;
  gap: 36px;
  margin-bottom: 28px;
}

.pi-parameter-section__index {
  margin-bottom: 6px;
}

.pi-parameter-section__heading h2 {
  margin: 0;
  color: var(--pi-ink-900);
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.28rem, 2vw, 1.65rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.pi-parameter-section__heading > p {
  margin: 0;
  color: var(--pi-ink-650);
  font-size: 0.92rem;
  line-height: 1.6;
}

.pi-parameter-universe__overview {
  display: grid;
  grid-template-columns: minmax(180px, 0.6fr) minmax(0, 1.4fr);
  gap: 0;
  margin-bottom: 18px;
  background: color-mix(in srgb, var(--pi-canvas) 72%, var(--pi-paper));
  border: 1px solid var(--pi-rule);
  border-radius: 8px;
}

.pi-parameter-universe__count,
.pi-parameter-universe__benchmarks {
  min-width: 0;
  padding: 20px 22px;
}

.pi-parameter-universe__count {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--pi-rule);
}

.pi-parameter-universe__count strong {
  color: var(--pi-ink-900);
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1;
}

.pi-parameter-universe__count span,
.pi-parameter-universe__label {
  margin-top: 7px;
  color: var(--pi-ink-650);
  font-size: 0.78rem;
  font-weight: 700;
}

.pi-parameter-universe__benchmarks > p {
  margin: 8px 0 0;
  color: var(--pi-ink-650);
}

.pi-parameter-universe__benchmarks ul,
.pi-parameter-instrument-list {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.pi-parameter-universe__benchmarks ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.pi-parameter-universe__benchmarks a {
  color: var(--pi-action-primary);
  font-weight: 700;
  text-decoration: none;
}

.pi-parameter-universe__benchmarks a:hover {
  color: var(--pi-ink-900);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pi-parameter-universe__benchmarks a span {
  color: var(--pi-ink-650);
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.86em;
  font-weight: 600;
}

.pi-parameter-universe__details {
  border: 1px solid var(--pi-rule);
  border-radius: 8px;
}

.pi-parameter-universe__details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  padding: 11px 16px;
  color: var(--pi-ink-900);
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.pi-parameter-universe__details summary::-webkit-details-marker {
  display: none;
}

.pi-parameter-universe__summary-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pi-action-primary);
  font-size: 0.78rem;
}

.pi-parameter-universe__details[open] .pi-parameter-universe__summary-action i {
  transform: rotate(180deg);
}

.pi-parameter-universe__summary-action i {
  transition: transform 160ms ease;
}

.pi-parameter-instrument-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
  gap: 8px;
  padding: 16px;
  border-top: 1px solid var(--pi-rule);
}

.pi-parameter-instrument-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 10px;
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: 6px;
  color: var(--pi-action-primary);
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.pi-parameter-instrument-list a:hover {
  background: color-mix(in srgb, var(--pi-action-primary) 6%, var(--pi-paper));
  border-color: var(--pi-action-primary);
  color: var(--pi-ink-900);
}

.pi-parameter-instrument-list__empty {
  grid-column: 1 / -1;
  color: var(--pi-ink-650);
}

.pi-parameter-table-frame {
  border: 1px solid var(--pi-rule);
  border-radius: 8px;
  overflow: hidden;
}

.pi-parameter-table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.pi-parameter-table th,
.pi-parameter-table td {
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  text-align: left;
  vertical-align: middle;
}

.pi-parameter-table thead th {
  background: color-mix(in srgb, var(--pi-canvas) 78%, var(--pi-paper));
  color: var(--pi-ink-650);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pi-parameter-table tbody th {
  width: 55%;
  font-weight: 650;
}

.pi-parameter-table tbody tr:last-child th,
.pi-parameter-table tbody tr:last-child td {
  border-bottom: 0;
}

.pi-parameter-table data,
.pi-parameter-definition-list dd {
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
}

.pi-parameter-inline-link {
  color: var(--pi-action-primary);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.pi-parameter-inline-link:hover {
  color: var(--pi-ink-900);
}

.pi-parameter-direction {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  background: color-mix(in srgb, var(--pi-action-primary) 7%, var(--pi-paper));
  border: 1px solid color-mix(in srgb, var(--pi-action-primary) 18%, var(--pi-rule));
  border-radius: 999px;
  color: var(--pi-action-primary);
  font-size: 0.78rem;
  font-weight: 700;
}

.pi-parameter-definition-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--pi-rule);
}

.pi-parameter-definition-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 20px;
  min-width: 0;
  padding: 18px 0;
  border-bottom: 1px solid var(--pi-rule);
}

.pi-parameter-definition-list > div:nth-child(odd) {
  padding-right: 28px;
}

.pi-parameter-definition-list > div:nth-child(even) {
  padding-left: 28px;
  border-left: 1px solid var(--pi-rule);
}

.pi-parameter-definition-list dt {
  color: var(--pi-ink-650);
  font-size: 0.86rem;
  font-weight: 650;
}

.pi-parameter-definition-list dd {
  margin: 0;
  color: var(--pi-ink-900);
  font-size: 0.94rem;
  font-weight: 650;
  text-align: right;
}

@media (max-width: 760px) {
  .pi-parameter-summary__header,
  .pi-parameter-section__heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-parameter-summary__header {
    flex-direction: column;
    gap: 20px;
  }

  .pi-parameter-section__heading {
    align-items: start;
    gap: 12px;
  }

  .pi-parameter-universe__overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-parameter-universe__count {
    border-right: 0;
    border-bottom: 1px solid var(--pi-rule);
  }
}

@media (max-width: 640px) {
  .pi-parameter-page {
    width: min(100% - 20px, 1120px);
    padding-top: 18px;
    padding-bottom: 40px;
  }

  .pi-parameter-summary {
    border-radius: 8px;
  }

  .pi-parameter-summary__header,
  .pi-parameter-section {
    padding: 24px 18px;
  }

  .pi-parameter-summary__status {
    white-space: normal;
  }

  .pi-parameter-universe__details summary {
    align-items: flex-start;
  }

  .pi-parameter-instrument-list {
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    padding: 12px;
  }

  .pi-parameter-table-frame {
    overflow: visible;
    border: 0;
  }

  .pi-parameter-table,
  .pi-parameter-table tbody,
  .pi-parameter-table tr,
  .pi-parameter-table th,
  .pi-parameter-table td {
    display: block;
    width: 100%;
  }

  .pi-parameter-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .pi-parameter-table tbody {
    display: grid;
    gap: 10px;
  }

  .pi-parameter-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    background: var(--pi-paper);
    border: 1px solid var(--pi-rule);
    border-radius: 8px;
  }

  .pi-parameter-table tbody th,
  .pi-parameter-table tbody td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--pi-rule);
  }

  .pi-parameter-table tbody th {
    background: color-mix(in srgb, var(--pi-canvas) 78%, var(--pi-paper));
  }

  .pi-parameter-table tbody td::before {
    content: attr(data-label);
    color: var(--pi-ink-650);
    font-size: 0.75rem;
    font-weight: 700;
  }

  .pi-parameter-definition-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .pi-parameter-definition-list > div:nth-child(odd),
  .pi-parameter-definition-list > div:nth-child(even) {
    padding: 15px 0;
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pi-parameter-universe__summary-action i {
    transition: none;
  }
}

/* Legacy content shares PyInvesting's navy, blue and quiet reading surfaces. */
.pi-page--content .blog_message { overflow-wrap: anywhere; }
.pi-page--profile, .pi-page--directory, .pi-faq { padding-block: 32px; }
.pi-page--profile h1, .pi-page--directory h1, .pi-faq h1 { color: var(--pi-ink, #152b46); font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.18; margin: 0 0 24px; }
.pi-profile-layout { row-gap: 24px; }
.pi-profile-avatar img { width: 112px; height: 112px; object-fit: cover; border-radius: 50%; }
.pi-page--profile h2 { font-size: 1.35rem; margin: 0 0 24px; }
.pi-page--profile .form-group { margin-bottom: 24px; }
.pi-page--profile label { display: block; font-weight: 600; margin-bottom: 8px; }
.pi-page--profile input:not([type=checkbox]), .pi-page--profile textarea { max-width: 100%; font-size: 16px; }
.pi-page--profile input:not([type=checkbox]) { min-height: 48px; }
.pi-profile-photo { border-block: 1px solid var(--pi-rule, #d7dfe8); padding-block: 20px; margin-bottom: 24px; }
.pi-profile-photo .form-group { margin-bottom: 8px; }
.pi-profile-photo__current { margin: 0 0 8px; overflow-wrap: anywhere; }
.pi-page--profile .pi-profile-photo__remove { display: flex; align-items: center; gap: 12px; min-height: 48px; font-weight: 400; }
.pi-profile-photo__remove input { flex: 0 0 22px; width: 22px; height: 22px; margin: 0; }
.pi-profile-photo input[type=file] { width: 100%; height: auto; padding: 6px; }
.pi-profile-photo input[type=file]::file-selector-button { border: 1px solid var(--pi-rule, #d7dfe8); border-radius: 6px; padding: 10px 12px; margin-right: 12px; color: var(--pi-ink, #152b46); background: #f1f5fa; cursor: pointer; }
.pi-profile-photo .help-block { font-size: .9rem; line-height: 1.5; }
.pi-directory { max-width: 760px; }
.pi-directory-header p { margin-bottom: 24px; }
.pi-directory-search label { display: block; font-weight: 600; margin-bottom: 8px; }
.pi-directory-search input { width: 100%; min-height: 48px; border: 1px solid var(--pi-rule, #d7dfe8); border-radius: 6px; padding: 10px 12px; font: inherit; font-size: 16px; }
.pi-directory-search [role=status] { margin-block: 8px 16px; font-size: .9rem; color: var(--pi-muted, #526078); }
.pi-directory-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--pi-rule, #d7dfe8); }
.pi-directory-list li { border-bottom: 1px solid var(--pi-rule, #d7dfe8); }
.pi-directory-list a { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; padding: 12px .75rem; border-radius: var(--pi-radius-sm); color: var(--pi-action-primary); font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; text-decoration: none; }
.pi-directory-list a span { flex-shrink: 0; }
.pi-directory-list a:hover { color: var(--pi-action-primary-hover); text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  .pi-directory-list a:hover { background: var(--pi-surface-muted); }
}
.pi-directory-empty { padding-block: 16px; }
.pi-faq { max-width: 820px; }
.pi-faq section { padding-block: 24px; border-top: 1px solid var(--pi-rule, #d7dfe8); }
.pi-faq h2 { font-size: clamp(1.15rem, 3vw, 1.4rem); line-height: 1.35; margin: 0 0 12px; }
.pi-faq p { font-size: 1rem; line-height: 1.65; margin: 0; }
.pi-blog-topics { margin-bottom: 24px; border-block: 1px solid var(--pi-rule, #d7dfe8); }
.pi-blog-topics summary { min-height: 48px; padding: 12px 16px; cursor: pointer; color: var(--pi-ink, #152b46); font-weight: 600; list-style-position: inside; }
.pi-blog-topics summary::marker { color: var(--pi-accent, #175bb7); }
.pi-blog-topics[open] { padding-bottom: 12px; }
.pi-blog-topics > :not(summary) { margin: 8px 16px; }
.pi-blog-topics a { display: inline-flex; align-items: center; min-height: 44px; }

/* Form first in source order and on phones; retain the desktop two-column brief. */
@media (min-width: 769px) {
  .pi-contact__brief { grid-column: 1; grid-row: 1; }
  .pi-contact__form-panel { grid-column: 2; grid-row: 1; }
}
@media (max-width: 768px) {
  .pi-page--profile, .pi-page--directory, .pi-faq { padding-block: 24px; }
  .pi-profile-avatar .text-center { text-align: left !important; }
  .pi-profile-avatar img { width: 88px; height: 88px; }
  .pi-profile-save { width: 100%; min-height: 48px; }
  .pi-contact__workspace { display: flex; flex-direction: column; }
  .pi-contact__form-panel, .pi-contact__brief { padding: 20px 16px; }
  .pi-contact__form button { width: 100%; }
  .pi-contact__brief-intro { margin-bottom: 16px; }
}

/* Shared research controls. Keep layout fixes scoped; never conceal page overflow. */
#main-content details > summary {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  list-style: none;
  min-height: 48px;
  padding: 12px 16px 12px 44px;
  position: relative;
  width: auto;
  max-width: 100%;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#main-content details > summary::-webkit-details-marker { display: none; }
#main-content details > summary::marker { content: ""; }
#main-content details > summary::after { content: none; }
#main-content details > summary::before {
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  content: "";
  height: 7px;
  left: 18px;
  position: absolute;
  top: 20px;
  transform: rotate(-45deg);
  width: 7px;
}
#main-content details[open] > summary::before { transform: rotate(45deg); top: 18px; }

#main-content details > summary:hover { background-color: var(--pi-surface-muted); }
.pi-parameter-universe__summary-action i { display: none; }
.pi-selection-review summary { border: 1px solid var(--pi-rule); border-radius: 6px; }
.pi-selection-review[open] summary { border-radius: 6px 6px 0 0; }
.pi-selection-review__list { margin-top: 0; border-top: 0; border-radius: 0 0 6px 6px; }

.pi-builder-summary.pi-panel { display: block; padding: 0; }
.pi-builder-summary summary h2 { display: inline; font-size: 1rem; margin: 0; }
.pi-builder-summary__content { padding: 0 16px 16px; }
.pi-builder-summary__content .pi-builder-summary__note { margin: 16px 0 0; padding-top: 12px; }
.pi-builder-summary__content .pi-evidence-ledger { grid-template-columns: minmax(0, 1fr); }
.pi-builder-summary__content .pi-evidence-ledger > div { padding: 10px 0; }
.pi-quote-market-facts { grid-column: 1 / -1; min-width: 0; border-top: 1px solid var(--pi-rule); padding-top: 1rem; }
.pi-quote-market-facts h2 { margin: 0 0 .75rem; font-size: .875rem; font-weight: 600; }
.pi-quote-market-facts .pi-quote-facts { margin: 0; border-top: 0; padding: 0; }

/* The record table keeps its semantics and its desktop columns. */
.pi-breakout-history { max-width: 1200px; }
.pi-breakout-history .pi-record-table { width: 100%; }
.pi-record-table__name a { font-weight: 600; }
.pi-record-table td { overflow-wrap: anywhere; }

@media (max-width: 767.98px) {
  .pi-page--builder { padding-top: 24px; }
  .pi-builder-header { margin-bottom: 20px; }
  .pi-builder-header h1 { font-size: clamp(1.5rem, 5.8vw, 2rem); line-height: 1.2; }
  .pi-builder-header__intro { margin-bottom: 0; }
  .pi-builder { gap: 16px; }
  .pi-builder-summary__content .pi-evidence-ledger--compact > div { border-left: 0; }
  .pi-builder-step { box-shadow: none; }
  .pi-builder-step .pi-benchmark-picker {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--pi-rule);
    border-radius: 0;
    box-shadow: none;
    margin: 24px 0;
    padding: 24px 0 0;
  }
  .pi-builder-step .pi-benchmark-picker__header { gap: 12px; }
  .pi-selection { margin: 16px 0; padding: 16px 0; }
  .pi-selection-review { margin-top: 12px; }
  .pi-selection__preview { overflow-wrap: anywhere; }
  .pi-builder-step .pi-ma-crossover { margin-inline: 0; padding: 20px 0; border-width: 1px 0 0; border-radius: 0; }
  .pi-ma-bulk { margin: 16px 0; border: 0; border-radius: 6px; padding: 16px; }
  .pi-ma-rule-row { border: 0; border-top: 1px solid var(--pi-rule); padding: 16px 0; gap: 12px; }
  .pi-ma-rule-row > [role="cell"]::before { font-family: var(--pi-font-ui); font-size: .8125rem; letter-spacing: 0; text-transform: none; }
  .pi-ma-rule-row__instrument strong { display: block; margin-bottom: 4px; }
  .pi-ma-rule-row .form-control, .pi-ma-bulk .form-control { min-height: 48px; font-size: 16px; }
  .pi-builder-step .pi-universe-actions { grid-template-columns: minmax(0, 1fr) 48px; gap: 12px; }
  .pi-builder-step #portfolio-actions-button { min-width: 48px; min-height: 48px; }
  .pi-builder-step .pi-universe-actions__choices .pi-button { width: 100%; white-space: normal; text-align: left; justify-content: flex-start; }
  .pi-builder-step input[type="submit"], .pi-builder-step button[type="submit"] { width: 100%; min-height: 48px; }
  .pi-builder-step .pi-advanced-settings__content { padding: 16px; }
  .pi-builder-step .form-group { margin-bottom: 20px; }
  /* Labelled card rows own their spacing. Override the legacy zero-padding
     table reset so controls clear both separators at every phone breakpoint. */
  .pi-builder-step .pi-parameter-table tbody tr { row-gap: 0; }
  .pi-builder-step .pi-parameter-table tbody td { padding: 12px 0 !important; }
  .pi-builder-step .pi-parameter-table tbody td::before { margin-bottom: 0; }
  .pi-custom-strategy .pit-universe, .pi-ai-builder .pit-universe { padding: 16px; }

  .pi-instrument-picker__header { padding: 12px 16px; gap: 8px; align-items: flex-start; }
  .pi-instrument-picker__header .modal-title { font-size: 1.25rem; line-height: 1.25; }
  .pi-instrument-picker__intro { font-size: .875rem; margin: 6px 0 0; }
  .pi-instrument-picker__close { flex: 0 0 44px; min-width: 44px; min-height: 44px; margin: 0; }
  .pi-instrument-picker__body { padding: 16px; min-height: 0; }
  .pi-instrument-picker__footer { padding: 10px 16px; gap: 8px; }
  .pi-instrument-picker__feedback { width: 100%; }
  .pi-instrument-picker__selection { margin: 0; font-family: var(--pi-font-ui); letter-spacing: 0; text-transform: none; }
  .pi-instrument-picker__save-status:empty { display: none; }
  .pi-instrument-picker__actions { display: flex; justify-content: flex-end; width: 100%; gap: 8px; }
  .pi-instrument-search__field input { font-size: 16px; }
  #stock_list .modal-dialog { margin: 8px; min-height: calc(100% - 16px); }
  #stock_list .pi-instrument-picker { max-height: calc(100dvh - 16px); }

  .pi-backtest-activity { gap: 12px; margin: 16px 0; }
  .pi-backtest-activity__item { padding: 16px; box-shadow: none; }
  .pi-backtest-activity__item .pi-eyebrow { margin-bottom: 6px; }
  .pi-backtest-activity__item h3 { margin-bottom: 6px; }
  .pi-backtest-activity__item p:not(.pi-eyebrow) { margin-bottom: 8px; }
  .pi-backtest-activity__link { margin-top: 0; min-height: 44px; display: inline-flex; align-items: center; }
  .pi-backtest-activity__item--idle { border: 0; border-left: 3px solid var(--pi-rule); border-radius: 0; background: transparent; padding: 8px 12px; }
  .pi-backtest-activity__item--idle::before { content: none; }
  .pi-backtest-activity__item--idle h3 { font-size: .875rem; margin: 0; }
  .pi-backtest-activity__item--idle .pi-eyebrow { font-size: .6875rem; }
  .pi-management-list > .pi-toolbar { gap: 12px; padding: 0; margin: 16px 0; }
  .pi-management-list > .pi-toolbar .pi-toolbar__field { padding: 0; }
  #main-content button[aria-label="Edit backtest name"] { min-width: 44px; min-height: 44px; }

  .pi-record-table, .pi-record-table tbody { display: block; }
  .pi-record-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .pi-record-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; padding: 16px; margin-bottom: 12px; border: 1px solid var(--pi-rule); border-radius: 8px; background: var(--pi-paper); }
  .pi-record-table tbody td { min-width: 0; border: 0; padding: 8px 0; }
  .pi-record-table td::before { display: block; content: attr(data-title); font-size: .8125rem; color: var(--pi-ink-650); margin-bottom: 4px; }
  .pi-record-table .pi-record-table__name { grid-column: 1 / -1; font-size: 1.125rem; padding-top: 0; }
  .pi-record-table .pi-record-table__name::before { content: none; }
  .pi-record-table .pi-record-table__status { grid-column: 1 / -1; }
  .pi-breakout-history .pi-toolbar { padding: 0; margin: 20px 0; }

  /* All editor contexts use the same targets; CKEditor owns overflow grouping. */
  #main-content .ck.ck-button { min-width: 44px; min-height: 44px; }
  #main-content .ck.ck-toolbar_grouping > .ck-toolbar__items { flex-wrap: nowrap !important; }
  #main-content .ck-dropdown__panel .ck-toolbar > .ck-toolbar__items { flex-wrap: wrap !important; }
  #main-content .ck.ck-toolbar .ck-toolbar__separator { margin: 4px; }
  #main-content .ck.ck-editor { min-width: 0; max-width: 100%; }
  #main-content .ck.ck-editor__editable { font-size: 16px; overflow-wrap: anywhere; }

  .pi-quote-rail { padding: 16px; gap: 16px; }
  .pi-quote-rail__title { font-size: 1.5rem; }
  .pi-quote-rail__action { padding-top: 12px; }
  .pi-instrument-page .pi-instrument-workspace { margin-top: 20px; }
  #main-content .pi-tutorial-hero h1, #main-content .pi-forum-article h1 { font-size: clamp(1.75rem, 7vw, 2.25rem); line-height: 1.2; }
  #main-content .pi-tutorial-hero { padding-top: 28px; padding-bottom: 28px; }
}

@media (max-width: 399.98px) {
  .pi-ma-rule-row, .pi-ma-shared { grid-template-columns: minmax(0, 1fr); }
  .pi-ma-rule-row > [role="cell"] { grid-column: 1; }
  .pi-builder-step .pi-ma-bulk { padding: 12px; }
}

@media (max-width: 575.98px) {
  .pi-builder-step { padding: 20px 16px !important; }
  .pi-builder-step .pi-benchmark-picker { padding: 20px 0 0; }
  .pi-builder-step .pi-ma-crossover { padding-left: 0; padding-right: 0; }
}

/* Match the shared management-table card breakpoint on tablets. */
@media (max-width: 991.98px) {
  /* Names/status lead, comparable metrics share a row, metadata stays readable. */
  .pi-page--results .pi-management-table tbody tr.pi-linked-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 16px;
    box-shadow: none;
  }
  /* A mobile row is one card. Paint its hover once, including the padding;
     Bootstrap's row grey and separate cell fills expose grid seams. */
  .pi-page--results .pi-management-table.table-hover tbody tr.pi-linked-row:hover {
    background: var(--pi-canvas);
  }
  .pi-page--results .pi-management-table tbody tr.pi-linked-row > td,
.pi-page--results .pi-management-table tbody tr.pi-linked-row:hover > td {
    background: transparent;
  }
  .pi-page--results .pi-management-table tbody td {
    min-width: 0;
    grid-column: 1 / -1;
    padding: 8px 0;
    grid-template-columns: minmax(65px, .35fr) minmax(0, 1fr);
    gap: 8px;
    font-size: .875rem;
  }
  .pi-page--results .pi-management-table tbody .pi-table-cell--name {
    display: block; order: -3; padding-top: 0; border-bottom: 0; font-size: 1rem;
  }
  .pi-page--results .pi-management-table .pi-table-cell--name::before { content: none; }
  .pi-page--results .pi-management-table tbody .pi-table-cell--status { order: -2; display: block; border-bottom: 0; }
  .pi-page--results .pi-management-table .pi-table-cell--status::before { content: none; }
  .pi-page--results .pi-management-table tbody .pi-table-cell--metric {
    order: -1; grid-column: auto; grid-template-columns: minmax(0, 1fr); gap: 4px;
    border-top: 1px solid var(--pi-rule); font-size: 1.05rem; font-weight: 600; padding: 12px 0;
  }
  .pi-page--results .pi-management-table td::before { text-transform: none; letter-spacing: 0; font-family: var(--pi-font-ui); font-size: .8125rem; }

}

/* Shared control owners. Route sheets compose layouts, not interaction state.
   The zero-specificity button foundation lets owned route geometry compose it. */


:where(.pi-button) {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--pi-radius-sm);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--pi-font-ui);
  font-size: 0.95rem;
  font-weight: 600;
  gap: 0.45rem;
  justify-content: center;
  line-height: 1.2;
  min-height: 44px;
  padding: 0.625rem 1.1rem;
  text-decoration: none;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

/* Bootstrap's type-selector reset must not give buttons a taller inherited
   line box than anchors using the same action component. */
.pi-button {
  font-family: var(--pi-font-ui);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
}

.pi-button:hover {
  text-decoration: none;
}



.pi-button--primary {
  background: var(--pi-action-primary);
  color: var(--pi-paper);
}

.pi-button--primary:hover {
  background: var(--pi-action-primary-hover);
  color: var(--pi-paper);
}

.pi-button--primary:active {
  background: var(--pi-action-primary-pressed);
  color: var(--pi-paper);
}

.pi-button--secondary {
  background: var(--pi-paper);
  border-color: var(--pi-rule);
  color: var(--pi-ink-900);
}

.pi-button--secondary:hover {
  background: var(--pi-surface-muted);
  border-color: var(--pi-rule-strong);
  color: var(--pi-ink-900);
}

.pi-button--secondary:active {
  background: var(--pi-control-pressed-surface);
  border-color: var(--pi-control-border);
}

.pi-button--quiet {
  background: transparent;
  border-color: transparent;
  color: var(--pi-ink-900);
}

.pi-button--quiet:hover,
.pi-button--quiet[aria-expanded="true"] {
  background: var(--pi-surface-muted);
  border-color: var(--pi-rule);
  color: var(--pi-ink-900);
}

.pi-button--quiet:active {
  background: var(--pi-control-pressed-surface);
}

.pi-button--destructive {
  background: var(--pi-paper);
  border-color: rgba(192, 54, 44, 0.45);
  color: var(--pi-red-650);
}

.pi-button--destructive:hover {
  background: var(--pi-action-risk-surface);
  border-color: var(--pi-red-650);
  color: var(--pi-action-risk-hover-ink);
}

.pi-button--destructive:active {
  background: var(--pi-action-risk-pressed-surface);
  border-color: var(--pi-action-risk-hover-ink);
  color: var(--pi-action-risk-pressed-ink);
}

.pi-button--disclosure {
  background: var(--pi-paper);
  border-color: var(--pi-rule);
  color: var(--pi-ink-900);
  gap: 0.5rem;
}

.pi-button--disclosure:hover,
.pi-button--disclosure[aria-expanded="true"] {
  background: var(--pi-surface-muted);
  border-color: var(--pi-control-border);
  color: var(--pi-ink-900);
}

.pi-button--compact {
  font-size: 0.84rem;
  min-height: 36px;
  padding: 0.5rem 0.75rem;
}

.pi-button--icon {
  min-width: 44px;
  padding-left: 0;
  padding-right: 0;
}

.pi-benchmark-picker {
  background: linear-gradient(135deg, var(--pi-paper) 0%, var(--pi-benchmark-surface-end) 100%);
  border: 1px solid var(--pi-rule);
  border-left: 3px solid var(--pi-blue-600);
  border-radius: var(--pi-radius-md);
  box-shadow: 0 10px 28px rgba(18, 32, 51, 0.07);
  margin: 1.75rem 0;
  padding: clamp(1.1rem, 2.5vw, 1.5rem);
}

.pi-benchmark-picker__header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.pi-benchmark-picker__header h3 {
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.35;
  margin: 0 0 0.25rem;
}

.pi-benchmark-picker__header p {
  color: var(--pi-ink-650) !important;
  font-size: 0.925rem;
  line-height: 1.55;
  margin: 0;
}

.pi-benchmark-picker__count {
  background: var(--pi-control-accent-surface);
  border: 1px solid var(--pi-control-accent-border);
  border-radius: 999px;
  color: var(--pi-blue-700);
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.5rem 0.65rem;
}

.pi-benchmark-picker__search {
  margin-top: 1.2rem;
  max-width: 680px;
}

.pi-benchmark-picker__label,
.pi-benchmark-picker__selected-label {
  color: var(--pi-ink-650);
  display: block;
  font-family: var(--pi-font-data);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  margin-bottom: 0.45rem;
  text-transform: uppercase;
}

.pi-benchmark-picker__field {
  position: relative;
}

.pi-benchmark-picker__search-icon {
  fill: none;
  height: 1.05rem;
  left: 1rem;
  pointer-events: none;
  position: absolute;
  stroke: var(--pi-ink-650);
  stroke-linecap: round;
  stroke-width: 1.8;
  top: 50%;
  transform: translateY(-50%);
  width: 1.05rem;
  z-index: 2;
}

.pi-builder-step .pi-benchmark-picker__input {
  appearance: none;
  background: var(--pi-paper);
  border: 1px solid var(--pi-control-border);
  border-radius: var(--pi-radius-md);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: 16px;
  min-height: 48px;
  padding: 0.7rem 2.75rem 0.7rem 2.75rem;
  transition: border-color 140ms ease, box-shadow 140ms ease;
  width: 100%;
}

.pi-builder-step .pi-benchmark-picker__input::placeholder {
  color: var(--pi-ink-650);
  opacity: 1;
}



.pi-builder-step .pi-benchmark-picker__input:disabled {
  background: var(--pi-surface-muted);
  color: var(--pi-ink-650);
  cursor: not-allowed;
}

.pi-benchmark-picker__menu {
  background: var(--pi-paper);
  border: 1px solid var(--pi-rule);
  border-radius: var(--pi-radius-md);
  box-shadow: var(--pi-shadow-menu);
  left: 0;
  margin-top: 0.5rem;
  max-height: 21rem;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 1040;
}

.pi-benchmark-picker__menu[hidden] {
  display: none !important;
}

.pi-builder-step .pi-benchmark-picker__option {
  align-items: center;
  appearance: none;
  background: var(--pi-paper);
  border: 0;
  border-bottom: 1px solid var(--pi-rule);
  color: var(--pi-ink-900);
  cursor: pointer;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(78px, 0.25fr) minmax(0, 1fr) auto;
  min-height: 58px;
  padding: 0.75rem 1rem;
  text-align: left;
  width: 100%;
}

.pi-builder-step .pi-benchmark-picker__option:last-child {
  border-bottom: 0;
}

.pi-builder-step .pi-benchmark-picker__option:hover,
.pi-builder-step .pi-benchmark-picker__option.is-active,
.pi-builder-step .pi-benchmark-picker__option[aria-selected="true"] {
  background: var(--pi-control-accent-surface);
  box-shadow: inset 3px 0 0 var(--pi-blue-600);
}



.pi-benchmark-picker__ticker {
  color: var(--pi-blue-700);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.pi-benchmark-picker__description {
  color: var(--pi-ink-900);
  font-size: 0.875rem;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pi-benchmark-picker__type {
  color: var(--pi-ink-650);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pi-benchmark-picker__message {
  color: var(--pi-ink-650);
  font-size: 0.875rem;
  line-height: 1.5;
  padding: 1rem;
}

.pi-benchmark-picker__message--error {
  color: var(--pi-red-650);
}

.pi-benchmark-picker__selected {
  border-top: 1px solid var(--pi-rule);
  margin-top: 1.2rem;
  padding-top: 1rem;
}

.pi-benchmark-picker #bench_list {
  min-height: 44px;
}

.pi-benchmark-picker #bench_list:empty::before {
  color: var(--pi-ink-650);
  content: "No benchmarks selected";
  font-size: 0.875rem;
  line-height: 44px;
}

@media (max-width: 600px) {
  .pi-benchmark-picker__header {
    display: grid;
  }

  .pi-benchmark-picker__count {
    justify-self: start;
  }

  .pi-builder-step .pi-benchmark-picker__option {
    gap: 0.25rem 0.75rem;
    grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
  }

  .pi-benchmark-picker__ticker {
    grid-row: 1 / span 2;
  }

  .pi-benchmark-picker__type {
    grid-column: 2;
  }
}

/* Site-wide native dropdown affordance */
select:not([multiple]):not([size]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--pi-paper);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.25 6 6.25 11 1.25' stroke='%23536579' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 0.875rem center;
  background-repeat: no-repeat;
  background-size: 0.75rem 0.5rem;
  border-color: var(--pi-control-border);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  padding-right: 2.75rem !important;
}





select:not([multiple]):not([size]):disabled {
  background-color: var(--pi-surface-muted);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.25 6 6.25 11 1.25' stroke='%237b8da0' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  border-color: var(--pi-rule);
  color: var(--pi-ink-650);
  cursor: not-allowed;
  opacity: 1;
}

@media (forced-colors: active) {
  select:not([multiple]):not([size]) {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    background-image: none !important;
    padding-right: 0.75rem !important;
  }
}


/* Selected and disabled remain authoritative across hover, focus and press. */
.pi-button.pi-button--selected,
.pi-button[aria-pressed="true"] {
  background: var(--pi-control-selected-surface);
  border-color: var(--pi-blue-600);
  color: var(--pi-ink-900);
  box-shadow: inset 3px 0 0 var(--pi-blue-600);
}
.pi-button[aria-busy="true"] {
  background: var(--pi-surface-muted);
  border-color: var(--pi-control-border);
  color: var(--pi-ink-650);
  cursor: wait;
}
.pi-button:disabled,
.pi-button[aria-disabled="true"] {
  background: var(--pi-surface-muted);
  border-color: var(--pi-control-border);
  color: var(--pi-ink-650);
  cursor: not-allowed;
  opacity: 1;
}

/* Help descriptions have one visibility owner: accessibility.js. */
.tooltips {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  position: relative;
  vertical-align: middle;
}
.tooltips > .fa-question-circle { font-size: 14px; }
.tooltips > span {
  background: var(--pi-ink-900);
  border-radius: var(--pi-radius-sm);
  color: var(--pi-paper);
  display: none;
  font-family: var(--pi-font-ui);
  font-size: 0.875rem;
  font-weight: 400;
  left: 0;
  letter-spacing: normal;
  line-height: 1.5;
  max-width: min(320px, calc(100vw - 40px));
  max-height: min(24rem, calc(100vh - 100px));
  max-height: min(24rem, calc(100dvh - 100px));
  overflow: auto;
  padding: 0.75rem 0.875rem;
  position: absolute;
  text-align: left;
  text-transform: none;
  top: 100%;
  white-space: normal;
  width: min(320px, calc(100vw - 40px));
  z-index: 1055;
}
.tooltips[data-tooltip-state="open"] > span { display: block; }
.tooltips > span[hidden] { display: none; }
.tooltips[tooltip-position="top"] > span { bottom: 100%; top: auto; }
.tooltips[tooltip-position="left"] > span { left: auto; right: 100%; top: 0; }
.tooltips[tooltip-position="right"] > span { left: 100%; top: 0; }

/* Label surfaces preserve native label/input semantics across their entire height. */
.pi-check-field__control label {
  align-items: center;
  cursor: pointer;
  display: flex;
  min-height: 44px;
}
.pi-choice-group label,
.pi-composer__topic-options label,
.pi-custom-strategy-field--choice label,
.pi-screener-choice { min-height: 44px; cursor: pointer; }

/* Bound overlays in short landscape viewports. Modal header/actions stay reachable. */
.pi-menu__panel {
  max-height: calc(100vh - 100px);
  max-height: calc(100dvh - 100px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.pi-stock-search__results,
.pi-benchmark-picker__menu {
  max-height: min(21rem, calc(100vh - 100px));
  max-height: min(21rem, calc(100dvh - 100px));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.modal.show .modal-dialog { margin-top: 1rem; margin-bottom: 1rem; }
.modal.show .modal-content {
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}
.modal.show .modal-header,
.modal.show .modal-footer { flex-shrink: 0; }
.modal.show .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }

@media (max-width: 767.98px) {
  /* Same selectors as their desktop owners. No weakened specificity patch. */
  .pi-builder-step .pi-benchmark-picker__input { font-size: 16px; }
  html body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
  html body select,
  html body textarea { font-size: 16px; }
}
@media (max-width: 1199.98px) {
  .tooltips > span,
  .tooltips[tooltip-position="top"] > span,
  .tooltips[tooltip-position="left"] > span,
  .tooltips[tooltip-position="right"] > span {
    left: 0;
    position: fixed;
    right: 0;
    bottom: 1rem;
    top: auto;
    margin: 0 auto;
    max-width: 36rem;
    max-height: calc(100dvh - 120px);
    width: calc(100vw - 40px);
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .pi-method-card:hover { transform: translateY(-3px); }
  .pi-backtest-choice:hover { transform: translateY(-2px); }
  .pi-contact__form .pi-button:hover .pi-contact__button-arrow { transform: translateX(2px); }
  .pi-backtest-choice__link:hover > .pi-link-arrow { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .pi-button, .tooltips > span { transition: none; }
}
@media (forced-colors: active) {
  .tooltips > span { background: Canvas; border: 1px solid CanvasText; color: CanvasText; }
  .pi-button[aria-pressed="true"] { border: 2px solid Highlight; }
  .pi-button:disabled { color: GrayText; border-color: GrayText; }
}

/* Secondary copy and empty messages share the account surface palette. */
.text-muted { color: var(--pi-ink-650) !important; }
caption { color: var(--pi-ink-650); }
code { color: #a81d5d; }
.alert-light { background: var(--pi-paper); border-color: var(--pi-rule); color: var(--pi-ink-650); }
/* Consent remains one inline sentence, including its two legal links. */
.pi-legal-consent label { cursor: pointer; display: block; min-height: 44px; min-width: 0; overflow-wrap: anywhere; white-space: normal; }
/* Legacy investment banners keep their existing copy inside the viewport. */
#site_title_div.pi-invest-heading, #site_title_div2.pi-invest-heading { position: absolute; top: 260px; width: calc(100% - 2rem) !important; max-width: 500px; height: auto; padding-inline: 0; }
.pi-invest-heading #site_title { font-size: clamp(2rem, 6vw, 2.875rem) !important; overflow-wrap: anywhere; }

.pi-builder-review__pagination { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-block: 1rem; }
.pi-builder-review__pagination p { flex-basis: 100%; margin: 0; }

/* Retain the methodology illustration size while fitting its narrow column. */
.pi-invest-methodology-image { width: 350px; max-inline-size: 100%; height: auto; }

/* Secondary route layout and reading content. Shared controls remain authoritative. */
.pi-prose, .reading-font { overflow-wrap: anywhere; }
.pi-prose :is(h2,h3,h4), .reading-font :is(h2,h3,h4), .pi-legal-section { scroll-margin-top: 7rem; }
.pi-prose :is(img,video,iframe), .reading-font :is(img,video,iframe) { max-width: 100%; }
.pi-prose img, .reading-font img { height: auto; }
.pi-prose figure, .reading-font figure { max-width: 100%; margin-inline: 0; }
.pi-prose figcaption, .reading-font figcaption { margin-block: .75rem 1.5rem; font-size: .9375rem; color: var(--pi-ink-650); }
.pi-prose pre, .reading-font pre, .pi-reading-table { max-width: 100%; overflow-x: auto; }
.pi-prose table, .reading-font table { font-variant-numeric: tabular-nums; }
.pi-reading-table { margin-block: 1.5rem; }

.pi-reading-table table { margin: 0; }
.pi-page--community :is(.ck-editor,.ck-editor__main,.pi-composer__draft) { min-width: 0; max-width: 100%; }
.pi-page--community .ck-toolbar__items { flex-wrap: wrap !important; }
.pi-page--community .ck-editor__editable { min-height: 14rem; overflow-wrap: anywhere; }
.pi-save-status { margin-block: 1rem; padding: 1rem; border-inline-start: 4px solid var(--pi-blue-600); background: var(--pi-canvas); color: var(--pi-ink-900); }
.pi-save-recovery { margin-block: 1rem; }
.pi-save-recovery > :is(a,button) { margin-block: .25rem; }
.pi-profile-photo__preview { display: block; width: 8rem; height: 8rem; object-fit: cover; margin-block: 1rem; border-radius: .5rem; }
.pi-profile-photo__preview[hidden], .pi-save-status[hidden], .pi-save-recovery[hidden] { display: none; }
.pi-page--profile .bootstrap3-multi-input { margin-inline: 0; }
.pi-reply-edit { max-width: 60rem; }
@media (max-width: 767px) {
  .pi-page--community .ck-editor__editable { font-size: 16px; }
  .pi-save-recovery > :is(a,button) { display: flex; width: 100%; }
}
@media print {
  .pi-content-back, .pi-content-share, .pi-community-note, .pi-save-recovery, .pi-composer__actions { display: none; }
  .pi-prose, .reading-font { color: #000; font-size: 11pt; }
  .pi-reading-table, .pi-prose pre, .reading-font pre { overflow: visible; }
  .pi-prose :is(h2,h3), .reading-font :is(h2,h3) { break-after: avoid; }
  .pi-prose figure, .reading-font figure { break-inside: avoid; }
  .pi-prose a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; overflow-wrap: anywhere; }
}
@media (forced-colors: active) {
  .pi-reading-table, .pi-save-status { border-color: CanvasText; }
}
.pi-instrument-directory { padding-bottom: 3rem; }
.pi-instrument-directory p a { color: var(--pi-action-primary); text-decoration: underline; text-underline-offset: .18em; }
.pi-instrument-directory__list { columns: 2; column-gap: 2rem; list-style: none; padding: 0; margin: 1.5rem 0; }
.pi-instrument-directory__list > li { break-inside: avoid; page-break-inside: avoid; }
.pi-instrument-directory__entry { display: block; padding: .8rem .75rem; border-bottom: 1px solid var(--pi-rule); border-radius: var(--pi-radius-sm); color: var(--pi-action-primary); line-height: 1.5; text-decoration: none; }
.pi-instrument-directory__symbol { display: block; font-weight: 600; }
.pi-instrument-directory__description { display: block; color: var(--pi-ink-650); font-size: .9rem; }
.pi-instrument-directory__entry:hover { color: var(--pi-action-primary-hover); border-bottom-color: var(--pi-rule); text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  .pi-instrument-directory__entry:hover { background: var(--pi-surface-muted); }
}
.pi-site-message { margin-top: 1.25rem; margin-bottom: 1.25rem; padding: 1rem 3.5rem 1rem 1.25rem; }
.pi-site-message .close { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; position: absolute; right: .25rem; top: .25rem; }
@media (max-width: 599px) { .pi-instrument-directory__list { columns: 1; } }

/* One presentation owner for first-party data tables, including older classless
   tables. Components retain their column geometry and responsive card layouts. */
#main-content table:not([role="presentation"], .highcharts-tooltip table, .ck table) {
  background: var(--pi-paper);
  color: var(--pi-ink-900);
  font-family: var(--pi-font-ui);
  font-size: var(--pi-table-body-size, .9375rem);
  line-height: 1.45;
  border-collapse: collapse;
}

#main-content table:not([role="presentation"], .highcharts-tooltip table, .ck table) > :where(thead, tbody, tfoot) > tr > :is(th, td) {
  background-color: var(--pi-paper);
  color: var(--pi-ink-900);
  border-color: var(--pi-rule);
  font-family: var(--pi-font-ui);
  font-size: var(--pi-table-body-size, .9375rem);
  line-height: 1.45;
}

#main-content table:not([role="presentation"], .highcharts-tooltip table, .ck table) > thead > tr > :is(th, td) {
  background-color: var(--pi-surface-muted);
  border-bottom: 1px solid var(--pi-rule-strong);
  color: var(--pi-ink-900);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}

#main-content table > tbody > tr > th[scope="row"] { font-weight: 500; }

#main-content table :is(.pi-table-number, .pi-portfolio-table__allocation, .pi-signal-number, .pi-quantity-number, .pi-custom-live__number, .pi-journey-evidence__number) {
  font-family: var(--pi-font-ui);
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

#main-content :is(.pi-management-table, .pi-screener-table, .pi-record-table, .pi-signals-table, .eligibility-evidence__table, .pi-table--compact) {
  --pi-table-body-size: .875rem;
}

.pi-stats-table-wrap { max-width: 100%; overflow-x: auto; }

#main-content .eligibility-evidence__table { min-width: 54rem; }
#main-content .eligibility-evidence__table .pi-table-date {
  min-width: 7rem;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-variant-numeric: tabular-nums;
}
#main-content .eligibility-evidence__table small { font-size: .8125rem; }
.pi-table-scroll-hint { color: var(--pi-ink-650); font-size: .875rem; margin-block: .5rem; }

/* The highlighted subscription remains a comparison cue in the shared palette. */
#main-content .pi-comparison-table tr > :nth-child(3) { background-color: var(--pi-canvas); }
#main-content .pi-comparison-table thead th:nth-child(3) { background-color: var(--pi-surface-muted); }

@media (min-width: 768px) {
  #main-content table:not([role="presentation"], .highcharts-tooltip table, .ck table) > :where(thead, tbody, tfoot) > tr > :is(th, td) {
    padding: .65rem .85rem;
  }
}

@media (max-width: 575px) {
  #main-content #stats_result_table th[scope="row"] { background-color: var(--pi-surface-muted); }
  #main-content #stats_result_table td[data-title] { white-space: normal; }
  #main-content #stats_result_table td[data-title]::before { min-width: 0; font-weight: 500; }
}

@media (forced-colors: active) {
  .pi-stats-table-wrap, .eligibility-evidence__table-wrap { border: 1px solid CanvasText; }
}

#main-content table.table-hover > tbody > tr:hover > :is(th, td) {
  background-color: var(--pi-canvas);
}

