/* portal.index.css — built from 7 sources */
/*!
Pure v0.6.0
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
https://github.com/yahoo/pure/blob/master/LICENSE.md
*/
/*!
normalize.css v^3.0 | MIT License | git.io/normalize
Copyright (c) Nicolas Gallagher and Jonathan Neal
*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap;-ms-align-content:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}.pure-button{display:inline-block;zoom:1;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);border:1px solid #999;border:0 rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000\9}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129FEA}.pure-form input:not([type]):focus{outline:0;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked input[type=file],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-list,.pure-menu-item{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-link,.pure-menu-heading{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-separator{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-allow-hover:hover>.pure-menu-children,.pure-menu-active>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.5em 0}.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar{display:none}.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-link,.pure-menu-disabled,.pure-menu-heading{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:hover,.pure-menu-link:focus{background-color:#eee}.pure-menu-selected .pure-menu-link,.pure-menu-selected .pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}
/*!
Pure v0.6.0
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
https://github.com/yahoo/pure/blob/master/LICENSE.md
*/
@media screen and (min-width:35.5em){.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-2,.pure-u-sm-1-3,.pure-u-sm-2-3,.pure-u-sm-1-4,.pure-u-sm-3-4,.pure-u-sm-1-5,.pure-u-sm-2-5,.pure-u-sm-3-5,.pure-u-sm-4-5,.pure-u-sm-5-5,.pure-u-sm-1-6,.pure-u-sm-5-6,.pure-u-sm-1-8,.pure-u-sm-3-8,.pure-u-sm-5-8,.pure-u-sm-7-8,.pure-u-sm-1-12,.pure-u-sm-5-12,.pure-u-sm-7-12,.pure-u-sm-11-12,.pure-u-sm-1-24,.pure-u-sm-2-24,.pure-u-sm-3-24,.pure-u-sm-4-24,.pure-u-sm-5-24,.pure-u-sm-6-24,.pure-u-sm-7-24,.pure-u-sm-8-24,.pure-u-sm-9-24,.pure-u-sm-10-24,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-sm-1-24{width:4.1667%;*width:4.1357%}.pure-u-sm-1-12,.pure-u-sm-2-24{width:8.3333%;*width:8.3023%}.pure-u-sm-1-8,.pure-u-sm-3-24{width:12.5%;*width:12.469%}.pure-u-sm-1-6,.pure-u-sm-4-24{width:16.6667%;*width:16.6357%}.pure-u-sm-1-5{width:20%;*width:19.969%}.pure-u-sm-5-24{width:20.8333%;*width:20.8023%}.pure-u-sm-1-4,.pure-u-sm-6-24{width:25%;*width:24.969%}.pure-u-sm-7-24{width:29.1667%;*width:29.1357%}.pure-u-sm-1-3,.pure-u-sm-8-24{width:33.3333%;*width:33.3023%}.pure-u-sm-3-8,.pure-u-sm-9-24{width:37.5%;*width:37.469%}.pure-u-sm-2-5{width:40%;*width:39.969%}.pure-u-sm-5-12,.pure-u-sm-10-24{width:41.6667%;*width:41.6357%}.pure-u-sm-11-24{width:45.8333%;*width:45.8023%}.pure-u-sm-1-2,.pure-u-sm-12-24{width:50%;*width:49.969%}.pure-u-sm-13-24{width:54.1667%;*width:54.1357%}.pure-u-sm-7-12,.pure-u-sm-14-24{width:58.3333%;*width:58.3023%}.pure-u-sm-3-5{width:60%;*width:59.969%}.pure-u-sm-5-8,.pure-u-sm-15-24{width:62.5%;*width:62.469%}.pure-u-sm-2-3,.pure-u-sm-16-24{width:66.6667%;*width:66.6357%}.pure-u-sm-17-24{width:70.8333%;*width:70.8023%}.pure-u-sm-3-4,.pure-u-sm-18-24{width:75%;*width:74.969%}.pure-u-sm-19-24{width:79.1667%;*width:79.1357%}.pure-u-sm-4-5{width:80%;*width:79.969%}.pure-u-sm-5-6,.pure-u-sm-20-24{width:83.3333%;*width:83.3023%}.pure-u-sm-7-8,.pure-u-sm-21-24{width:87.5%;*width:87.469%}.pure-u-sm-11-12,.pure-u-sm-22-24{width:91.6667%;*width:91.6357%}.pure-u-sm-23-24{width:95.8333%;*width:95.8023%}.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-5-5,.pure-u-sm-24-24{width:100%}}@media screen and (min-width:48em){.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-2,.pure-u-md-1-3,.pure-u-md-2-3,.pure-u-md-1-4,.pure-u-md-3-4,.pure-u-md-1-5,.pure-u-md-2-5,.pure-u-md-3-5,.pure-u-md-4-5,.pure-u-md-5-5,.pure-u-md-1-6,.pure-u-md-5-6,.pure-u-md-1-8,.pure-u-md-3-8,.pure-u-md-5-8,.pure-u-md-7-8,.pure-u-md-1-12,.pure-u-md-5-12,.pure-u-md-7-12,.pure-u-md-11-12,.pure-u-md-1-24,.pure-u-md-2-24,.pure-u-md-3-24,.pure-u-md-4-24,.pure-u-md-5-24,.pure-u-md-6-24,.pure-u-md-7-24,.pure-u-md-8-24,.pure-u-md-9-24,.pure-u-md-10-24,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-md-1-24{width:4.1667%;*width:4.1357%}.pure-u-md-1-12,.pure-u-md-2-24{width:8.3333%;*width:8.3023%}.pure-u-md-1-8,.pure-u-md-3-24{width:12.5%;*width:12.469%}.pure-u-md-1-6,.pure-u-md-4-24{width:16.6667%;*width:16.6357%}.pure-u-md-1-5{width:20%;*width:19.969%}.pure-u-md-5-24{width:20.8333%;*width:20.8023%}.pure-u-md-1-4,.pure-u-md-6-24{width:25%;*width:24.969%}.pure-u-md-7-24{width:29.1667%;*width:29.1357%}.pure-u-md-1-3,.pure-u-md-8-24{width:33.3333%;*width:33.3023%}.pure-u-md-3-8,.pure-u-md-9-24{width:37.5%;*width:37.469%}.pure-u-md-2-5{width:40%;*width:39.969%}.pure-u-md-5-12,.pure-u-md-10-24{width:41.6667%;*width:41.6357%}.pure-u-md-11-24{width:45.8333%;*width:45.8023%}.pure-u-md-1-2,.pure-u-md-12-24{width:50%;*width:49.969%}.pure-u-md-13-24{width:54.1667%;*width:54.1357%}.pure-u-md-7-12,.pure-u-md-14-24{width:58.3333%;*width:58.3023%}.pure-u-md-3-5{width:60%;*width:59.969%}.pure-u-md-5-8,.pure-u-md-15-24{width:62.5%;*width:62.469%}.pure-u-md-2-3,.pure-u-md-16-24{width:66.6667%;*width:66.6357%}.pure-u-md-17-24{width:70.8333%;*width:70.8023%}.pure-u-md-3-4,.pure-u-md-18-24{width:75%;*width:74.969%}.pure-u-md-19-24{width:79.1667%;*width:79.1357%}.pure-u-md-4-5{width:80%;*width:79.969%}.pure-u-md-5-6,.pure-u-md-20-24{width:83.3333%;*width:83.3023%}.pure-u-md-7-8,.pure-u-md-21-24{width:87.5%;*width:87.469%}.pure-u-md-11-12,.pure-u-md-22-24{width:91.6667%;*width:91.6357%}.pure-u-md-23-24{width:95.8333%;*width:95.8023%}.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-5-5,.pure-u-md-24-24{width:100%}}@media screen and (min-width:64em){.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-2,.pure-u-lg-1-3,.pure-u-lg-2-3,.pure-u-lg-1-4,.pure-u-lg-3-4,.pure-u-lg-1-5,.pure-u-lg-2-5,.pure-u-lg-3-5,.pure-u-lg-4-5,.pure-u-lg-5-5,.pure-u-lg-1-6,.pure-u-lg-5-6,.pure-u-lg-1-8,.pure-u-lg-3-8,.pure-u-lg-5-8,.pure-u-lg-7-8,.pure-u-lg-1-12,.pure-u-lg-5-12,.pure-u-lg-7-12,.pure-u-lg-11-12,.pure-u-lg-1-24,.pure-u-lg-2-24,.pure-u-lg-3-24,.pure-u-lg-4-24,.pure-u-lg-5-24,.pure-u-lg-6-24,.pure-u-lg-7-24,.pure-u-lg-8-24,.pure-u-lg-9-24,.pure-u-lg-10-24,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-lg-1-24{width:4.1667%;*width:4.1357%}.pure-u-lg-1-12,.pure-u-lg-2-24{width:8.3333%;*width:8.3023%}.pure-u-lg-1-8,.pure-u-lg-3-24{width:12.5%;*width:12.469%}.pure-u-lg-1-6,.pure-u-lg-4-24{width:16.6667%;*width:16.6357%}.pure-u-lg-1-5{width:20%;*width:19.969%}.pure-u-lg-5-24{width:20.8333%;*width:20.8023%}.pure-u-lg-1-4,.pure-u-lg-6-24{width:25%;*width:24.969%}.pure-u-lg-7-24{width:29.1667%;*width:29.1357%}.pure-u-lg-1-3,.pure-u-lg-8-24{width:33.3333%;*width:33.3023%}.pure-u-lg-3-8,.pure-u-lg-9-24{width:37.5%;*width:37.469%}.pure-u-lg-2-5{width:40%;*width:39.969%}.pure-u-lg-5-12,.pure-u-lg-10-24{width:41.6667%;*width:41.6357%}.pure-u-lg-11-24{width:45.8333%;*width:45.8023%}.pure-u-lg-1-2,.pure-u-lg-12-24{width:50%;*width:49.969%}.pure-u-lg-13-24{width:54.1667%;*width:54.1357%}.pure-u-lg-7-12,.pure-u-lg-14-24{width:58.3333%;*width:58.3023%}.pure-u-lg-3-5{width:60%;*width:59.969%}.pure-u-lg-5-8,.pure-u-lg-15-24{width:62.5%;*width:62.469%}.pure-u-lg-2-3,.pure-u-lg-16-24{width:66.6667%;*width:66.6357%}.pure-u-lg-17-24{width:70.8333%;*width:70.8023%}.pure-u-lg-3-4,.pure-u-lg-18-24{width:75%;*width:74.969%}.pure-u-lg-19-24{width:79.1667%;*width:79.1357%}.pure-u-lg-4-5{width:80%;*width:79.969%}.pure-u-lg-5-6,.pure-u-lg-20-24{width:83.3333%;*width:83.3023%}.pure-u-lg-7-8,.pure-u-lg-21-24{width:87.5%;*width:87.469%}.pure-u-lg-11-12,.pure-u-lg-22-24{width:91.6667%;*width:91.6357%}.pure-u-lg-23-24{width:95.8333%;*width:95.8023%}.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-5-5,.pure-u-lg-24-24{width:100%}}@media screen and (min-width:80em){.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-2,.pure-u-xl-1-3,.pure-u-xl-2-3,.pure-u-xl-1-4,.pure-u-xl-3-4,.pure-u-xl-1-5,.pure-u-xl-2-5,.pure-u-xl-3-5,.pure-u-xl-4-5,.pure-u-xl-5-5,.pure-u-xl-1-6,.pure-u-xl-5-6,.pure-u-xl-1-8,.pure-u-xl-3-8,.pure-u-xl-5-8,.pure-u-xl-7-8,.pure-u-xl-1-12,.pure-u-xl-5-12,.pure-u-xl-7-12,.pure-u-xl-11-12,.pure-u-xl-1-24,.pure-u-xl-2-24,.pure-u-xl-3-24,.pure-u-xl-4-24,.pure-u-xl-5-24,.pure-u-xl-6-24,.pure-u-xl-7-24,.pure-u-xl-8-24,.pure-u-xl-9-24,.pure-u-xl-10-24,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-xl-1-24{width:4.1667%;*width:4.1357%}.pure-u-xl-1-12,.pure-u-xl-2-24{width:8.3333%;*width:8.3023%}.pure-u-xl-1-8,.pure-u-xl-3-24{width:12.5%;*width:12.469%}.pure-u-xl-1-6,.pure-u-xl-4-24{width:16.6667%;*width:16.6357%}.pure-u-xl-1-5{width:20%;*width:19.969%}.pure-u-xl-5-24{width:20.8333%;*width:20.8023%}.pure-u-xl-1-4,.pure-u-xl-6-24{width:25%;*width:24.969%}.pure-u-xl-7-24{width:29.1667%;*width:29.1357%}.pure-u-xl-1-3,.pure-u-xl-8-24{width:33.3333%;*width:33.3023%}.pure-u-xl-3-8,.pure-u-xl-9-24{width:37.5%;*width:37.469%}.pure-u-xl-2-5{width:40%;*width:39.969%}.pure-u-xl-5-12,.pure-u-xl-10-24{width:41.6667%;*width:41.6357%}.pure-u-xl-11-24{width:45.8333%;*width:45.8023%}.pure-u-xl-1-2,.pure-u-xl-12-24{width:50%;*width:49.969%}.pure-u-xl-13-24{width:54.1667%;*width:54.1357%}.pure-u-xl-7-12,.pure-u-xl-14-24{width:58.3333%;*width:58.3023%}.pure-u-xl-3-5{width:60%;*width:59.969%}.pure-u-xl-5-8,.pure-u-xl-15-24{width:62.5%;*width:62.469%}.pure-u-xl-2-3,.pure-u-xl-16-24{width:66.6667%;*width:66.6357%}.pure-u-xl-17-24{width:70.8333%;*width:70.8023%}.pure-u-xl-3-4,.pure-u-xl-18-24{width:75%;*width:74.969%}.pure-u-xl-19-24{width:79.1667%;*width:79.1357%}.pure-u-xl-4-5{width:80%;*width:79.969%}.pure-u-xl-5-6,.pure-u-xl-20-24{width:83.3333%;*width:83.3023%}.pure-u-xl-7-8,.pure-u-xl-21-24{width:87.5%;*width:87.469%}.pure-u-xl-11-12,.pure-u-xl-22-24{width:91.6667%;*width:91.6357%}.pure-u-xl-23-24{width:95.8333%;*width:95.8023%}.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-5-5,.pure-u-xl-24-24{width:100%}}
/* ArenaNet account portal fonts — CronosPro (UI) + EasonPro (headings) */

@font-face {
    font-family: 'CronosPro';
    src: url('/assets/public/portal-auth/fonts/cronos/v1/cronospro-lt-webfont.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'CronosPro';
    src: url('/assets/public/portal-auth/fonts/cronos/v1/cronospro-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'CronosPro';
    src: url('/assets/public/portal-auth/fonts/cronos/v1/cronospro-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'CronosPro';
    src: url('/assets/public/portal-auth/fonts/cronos/v1/cronospro-semibold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'CronosPro';
    src: url('/assets/public/portal-auth/fonts/cronos/v1/cronospro-semibolditalic-webfont.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'EasonPro';
    src: url('/assets/public/portal-auth/fonts/eason/v1/easonpro-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'EasonPro';
    src: url('/assets/public/portal-auth/fonts/eason/v1/easonpro-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'EasonPro';
    src: url('/assets/public/portal-auth/fonts/eason/v1/easonpro-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'EasonProDisplayCaps';
    src: url('/assets/public/portal-auth/fonts/eason/v1/easonpro-displaycaps-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body{--black1:rgba(0,0,0,.7);--grey1:#eee;--grey2:#333;--grey3:#ccc;--grey4:#545454;--grey5:#c9c9c9;--grey6:#f7f9fa;--grey7:#464646;--grey8:#999;--grey9:#fcfcfc;--grey10:#b5b5b5;--grey11:#c1c1c1;--grey12:#262626;--grey13:#ddd;--grey14:#e6e6e6;--red1:#820e0c;--red2:#b61410;--red3:#ad0708;--red4:#ee2e24;--red5:#ff100a;--red6:#850703;--red7:#a11d20;--red8:#be2f2b;--red9:#a21d20;--moduleBg:#fff;--moduleShadow:#c9c9c9;--text:#000;--anchor:var(--grey4);--anchorHover:var(--grey5);--overlay:rgba(0,0,0,.7);--btn-primary-bg:#000;--btn-primary-hover:var(--grey2);--btn-primary-text:#fff}
*{box-sizing:border-box}
.pure-g [class*=pure-u],body,button,html,input,select,textarea{font-family:CronosPro,Helvetica,Arial,sans-serif}
body,html{background-color:var(--grey6);color:var(--text);font-size:16px;height:100%;overflow-x:hidden}
body{overflow-y:auto}
hr{border:none;border-top:1px solid var(--grey5);height:0}
ul{list-style:none;margin:0;padding:0}
p{line-height:1.3}
.pure-button-primary,.serifCaps,h1,h2,h3,h4,h5,h6{font-family:EasonProDisplayCaps,EasonPro,Times New Roman,serif;font-weight:400;margin:0}
.serifCaps,.portal-brand-title,.portal-form-heading,h1,h2,h3,h4,h5,h6{color:var(--text)}
.serif{font-family:EasonPro,Times New Roman,serif}
.pure-button{color:var(--grey4);white-space:unset}
.pure-button-primary{background-color:var(--btn-primary-bg);background-image:none;border-radius:0;color:var(--btn-primary-text);font-size:20px;margin-top:10px}
.pure-button-primary:focus,.pure-button-primary:hover{background:var(--btn-primary-hover);color:var(--btn-primary-text)}
.pure-menu-link,a{color:var(--anchor);transition:color .1s}
.pure-menu-link:focus,.pure-menu-link:hover,a:focus,a:hover{background-color:unset;color:var(--anchorHover)}
button.pure-menu-link{background:none;border:none;padding:0}
.module{background-color:var(--moduleBg);box-shadow:0 1px 5px var(--moduleShadow);margin:0 auto 15px;padding:35px 45px;position:relative;text-align:left}
@media screen and (max-width:35.49em){.module{padding:6%}}
form input{border-radius:0!important;font-size:16px;width:100%}
form.pure-form input{background-color:var(--grey9);border:1px solid var(--grey10);box-shadow:inset 0 0 5px var(--grey11)}
form.pure-form input:focus{border:1px solid var(--grey10);box-shadow:inset 0 0 5px var(--grey11),0 0 5px var(--grey8)}
form.pure-form input.error,form.pure-form input.error:focus{border-color:var(--red7)}
.body{flex-grow:1;position:relative;z-index:1}
.mc839d4325_wrap{display:flex;flex-direction:column;min-height:100vh;position:relative}
.mc839d4325_constrained{margin:0 auto;max-width:1100px;position:relative}
.mc297c7e88_anetDimebar{--shared-margin:2.5vw;--color-white:#fff;--color-black:#000;--color-ltgray:#8c8c8c;--color-dkgray:#555;--color-red:#e1261c;--transition-easing:cubic-bezier(0.34,0,0.23,1);--transition-duration:0.3s;align-items:center;box-shadow:0 0 25px rgba(0,0,0,.35);box-sizing:border-box;display:flex!important;flex-direction:column;justify-content:space-between;position:relative;top:0;width:100%;z-index:1500}
.mc297c7e88_wrapper{align-items:center;background-color:var(--color-black);box-sizing:border-box;color:var(--color-ltgray);display:flex;flex-direction:row;font-family:acumin-pro-condensed,sans-serif;font-weight:400;height:35px;justify-content:space-between;margin:0;position:relative;width:100%}
.mc297c7e88_wrapper>div{align-items:center;display:inherit;flex-flow:row nowrap}
.mc297c7e88_wrapper a{color:var(--color-ltgray);text-decoration:none;text-transform:uppercase;transition:color var(--transition-easing) var(--transition-duration);white-space:nowrap}
.mc297c7e88_wrapper a:hover{color:var(--color-red)}
.mc297c7e88_wrapper ul{align-items:center;display:inherit;justify-content:flex-start;list-style-type:none;margin:0;padding:0}
.mc297c7e88_wrapper ul li a{padding:0 1em}
.mc297c7e88_primaryNav>a:not(:first-child){display:none}
.mc297c7e88_primaryNav,.mc297c7e88_secondaryNav{font-family:acumin-pro-condensed,sans-serif;font-weight:400;text-transform:uppercase}
.mc297c7e88_primaryNav{margin-left:var(--shared-margin)}
.mc297c7e88_primaryNav a{padding:0 1em}
.mc297c7e88_primaryNav a:first-child{padding-left:0}
.mc297c7e88_secondaryNav{flex:0 1 auto;font-size:14px;line-height:14px;padding-left:0;padding-right:var(--shared-margin)}
.mc297c7e88_secondaryNav li:not(:last-child){border-right:1px solid var(--color-dkgray)}
.mc297c7e88_anetLogo{align-items:center;display:flex}
.mc297c7e88_anetLogo img{height:auto;width:55px}
@media screen and (min-width:1082px){.mc297c7e88_primaryNav>a:not(:first-child){display:block!important}}
@media screen and (max-width:1081px){.mc297c7e88_secondaryNav li:last-child{border:0!important}}
@media screen and (max-width:720px){.mc297c7e88_primaryNav .mc297c7e88_anetLogo img{width:40px}.mc297c7e88_hideable{display:none}}
.mcc4e79aa8_header{background-color:#000;border-bottom:1px solid #eee8;position:relative}
.mcc4e79aa8_header .pure-menu{height:27px}
.mcc4e79aa8_header .pure-menu-horizontal.pure-menu-scrollable{padding:0}
.mcc4e79aa8_header .pure-menu-link{color:#c9c9c9;cursor:pointer;display:inline-block;font-size:12px;line-height:1.4}
.mcc4e79aa8_header .pure-menu-link:hover{background-color:#666;color:#fff}
.mcc4e79aa8_hdActions{position:relative;text-align:right;z-index:1}
.register .pure-form a:hover{text-decoration:none}
.register .pure-form fieldset{padding:0}
.register .mcc4e79aa8_header .pure-menu-link{color:var(--grey4)}
.register .mcc4e79aa8_header .pure-menu-link:hover{background-color:var(--grey1)}
.register .footer,.register .mcc4e79aa8_header{background:#fff}
.register .footer .footerLogo{background-image:url(/assets/public/portal-auth/img/arenanet.521cce11.png)}
.register .footer .footerGradient{background:#fff}
.register .body{background:no-repeat 50% 0 #fff;padding-top:45px}
.register.gw2 .body{background-image:url(/assets/public/portal-auth/img/gw2-bg.71e0cf34.jpg);min-height:885px}
.register.gw2 .mcc2f0cfba_flourish{background-image:url(/assets/public/portal-auth/img/gw2-flourish.c15cdd3.png)}
.register.gw2 .mcc2f0cfba_tagline{padding:0 30px}
.register.gw2 .mcc2f0cfba_tagline .mcc2f0cfba_fancy{-webkit-text-fill-color:transparent;background:url(/assets/public/portal-auth/img/gw2-text-bg.60316cd6.jpg) repeat;-webkit-background-clip:text;background-clip:text;color:var(--red1);font-size:56px}
.register.gw2 .mcc2f0cfba_vidBlurb{background-image:url(/assets/public/portal-auth/img/gw2-blurb-bg.11e35a48.png);color:var(--grey1)}
.register.gw2 .pure-button-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}
.register.gw2 .pure-button-primary:focus,.register.gw2 .pure-button-primary:hover{background:var(--btn-primary-hover);color:var(--btn-primary-text)}
.register.gw2 .mcc2f0cfba_help,.register.gw2 a{color:var(--anchor)}
.register.gw2 .mcc2f0cfba_help:hover,.register.gw2 a:hover{color:var(--anchorHover)}
.mcc2f0cfba_exLink{padding-bottom:10px;text-align:center}
.mcc2f0cfba_tagline{color:#000;font-size:28px;margin:30px 0 7px;position:relative;text-align:center;width:100%}
.mcc2f0cfba_tagline .mcc2f0cfba_fancy{text-align:center}
.mcc2f0cfba_flourish{background:no-repeat 50% 0;height:16px;width:100%}
.mcc2f0cfba_vidCol{padding-right:10px}
.mcc2f0cfba_vidBlurb{font-size:18px;line-height:1.4;margin:-10px 20px 0;padding:25px 20px;text-align:left}
.mcc2f0cfba_vidBlurb p{margin:0}
.mcc2f0cfba_vidBlurb p+p{margin-top:.6em}
.mcc2f0cfba_brandLogo{margin:10px 0 15px}
.portal-forge-brand .portal-brand-title{display:none}
.portal-brand-logo{display:block;width:auto;height:72px;max-width:min(320px,85vw);margin:10px auto 15px;object-fit:contain}
@media screen and (max-width:48em){.portal-brand-logo{height:56px;max-width:min(240px,75vw)}}
.mcc2f0cfba_agree{background:url(/assets/public/portal-auth/img/form-line.cdf89eaa.png) no-repeat 50% 100%;font-size:14px;line-height:1;margin-bottom:20px;padding-bottom:12px;text-align:center}
.mcc2f0cfba_registerModule{box-shadow:0 1px 5px var(--grey5);padding:25px 48px}
@media screen and (max-width:48em){.register .mcc2f0cfba_vidCol{display:none}.register .body,.register.gw2 .body{background:var(--grey1);min-height:0;padding:0}.mcc2f0cfba_regMod{margin-top:10px}}

/* Forge Kingdom portal — layout helpers on top of ArenaNet portal.css */

/* Portal links — color-only affordance, no underlines */
body.portal-shell a,
body.portal-shell button.portal-nav-link {
    text-decoration: none;
}

body.portal-shell a:hover,
body.portal-shell a:focus-visible,
body.portal-shell button.portal-nav-link:hover,
body.portal-shell button.portal-nav-link:focus-visible {
    text-decoration: none;
}

/* Full-page edge vignette — auth hero only (index login area) */
#portalRoot > .body .portal-auth-hero {
    --portal-page-vignette-x: clamp(40px, 6vw, 96px);
    --portal-page-vignette-y: clamp(48px, 7vh, 112px);
    --portal-page-vignette-color: #000;
    isolation: isolate;
    position: relative;
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette {
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    z-index: 8;
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette-t,
#portalRoot > .body .portal-auth-hero .portal-page-vignette-r,
#portalRoot > .body .portal-auth-hero .portal-page-vignette-b,
#portalRoot > .body .portal-auth-hero .portal-page-vignette-l {
    background-color: var(--portal-page-vignette-color);
    background-image: none;
    box-sizing: border-box;
    margin: 0;
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    padding: 0;
    pointer-events: none;
    position: absolute;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette-t,
#portalRoot > .body .portal-auth-hero .portal-page-vignette-b {
    height: var(--portal-page-vignette-y);
    left: 0;
    width: 100%;
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette-t {
    height: calc(var(--portal-page-vignette-y) + 2px);
    -webkit-mask-image: url(/assets/images/vignette/border-top.png);
    mask-image: url(/assets/images/vignette/border-top.png);
    top: -2px;
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette-b {
    bottom: -2px;
    height: calc(var(--portal-page-vignette-y) + 2px);
    -webkit-mask-image: url(/assets/images/vignette/border-bottom.png);
    mask-image: url(/assets/images/vignette/border-bottom.png);
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette-l,
#portalRoot > .body .portal-auth-hero .portal-page-vignette-r {
    height: 100%;
    top: 0;
    width: var(--portal-page-vignette-x);
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette-l {
    -webkit-mask-image: url(/assets/images/vignette/border-left.png);
    left: 0;
    mask-image: url(/assets/images/vignette/border-left.png);
}

#portalRoot > .body .portal-auth-hero .portal-page-vignette-r {
    -webkit-mask-image: url(/assets/images/vignette/border-right.png);
    mask-image: url(/assets/images/vignette/border-right.png);
    right: -1px;
    width: calc(var(--portal-page-vignette-x) + 1px);
}

@media screen and (max-width: 48em) {
    #portalRoot > .body .portal-auth-hero {
        --portal-page-vignette-x: clamp(28px, 5vw, 56px);
        --portal-page-vignette-y: clamp(32px, 6vh, 64px);
        --portal-page-vignette-color: #000;
    }
}

/* ArenaNet dimebar — Acumin not bundled locally */
.mc297c7e88_wrapper,
.mc297c7e88_primaryNav,
.mc297c7e88_secondaryNav {
    font-family: CronosPro, "Arial Narrow", Arial, sans-serif;
    letter-spacing: 0.02em;
}

.mc297c7e88_secondaryNav {
    margin: 0;
}

.tcenter {
    text-align: center;
}

#view-auth {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
}

#view-auth .mcc2f0cfba_brandLogo,
#view-auth .mcc2f0cfba_tagline,
#view-auth .mcc2f0cfba_flourish {
    text-align: center;
    width: 100%;
}

.register .body .portal-auth-hero > .mc839d4325_constrained {
    align-items: center;
    display: flex;
    flex-direction: column;
    overflow: visible;
    width: 100%;
}

.portal-auth-form-panel[hidden] {
    display: none !important;
}

/* Unified auth stage (register layout + hero figures) */
.register .body {
    overflow: visible;
    padding-top: 16px;
}

/* Index auth: keep hero (and its top vignette) flush under the sticky nav.
   Desktop already zeroed this inside min-width:1100px; mid widths were left with
   the 16px padding above and looked like the vignette "snapped" off the header. */
#portalRoot.register.gw2 > .body.portal-index-main {
    padding-top: 0;
}

.portal-auth-stage {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-width: 100%;
    min-height: 420px;
    overflow: visible;
    padding-top: 24px;
    position: relative;
    width: 100%;
}

.portal-auth-layout {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}

.portal-auth-formCol {
    align-self: center;
    flex: 0 0 auto;
    margin: 0 auto;
    max-width: 420px;
    overflow: visible;
    position: relative;
    width: min(420px, calc(100% - 32px));
    z-index: 1;
}

.portal-auth-formCol .mcc2f0cfba_registerModule {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 100%;
    position: relative;
    width: 100%;
    z-index: 1;
}

.portal-auth-formCol .mcc2f0cfba_registerModule:has(.portal-prereg-ribbon),
.portal-auth-formCol .mcc2f0cfba_registerModule:has(.portal-beta-ribbon) {
    overflow: hidden;
}

.portal-auth-formCol .mcc2f0cfba_registerModule:has(#panel-preregister:not([hidden])) .portal-beta-ribbon,
.portal-auth-formCol .mcc2f0cfba_registerModule:has(#panel-preregister-thanks:not([hidden])) .portal-beta-ribbon {
    display: none;
}

.portal-auth-formCol .mcc2f0cfba_registerModule:has(#panel-login:not([hidden])) .portal-prereg-ribbon,
.portal-auth-formCol .mcc2f0cfba_registerModule:has(#panel-preregister-thanks:not([hidden])) .portal-prereg-ribbon {
    display: none;
}

.portal-auth-figures {
    top: -100px;
    bottom: auto;
    height: 720px;
    left: 50%;
    margin-left: -210px;
    overflow: visible;
    pointer-events: none;
    position: absolute;
    width: 420px;
    z-index: 0;
}

.portal-auth-figures .archer,
.portal-auth-figures .rogue {
    animation-delay: 0.5s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    bottom: 110px;
    top: auto;
    pointer-events: none;
    position: absolute;
}

.portal-auth-figures .rogue {
    --portal-hero-feather-x: linear-gradient(
        90deg,
        #000 0%,
        #000 80%,
        rgba(0, 0, 0, 0.55) 93%,
        transparent 100%
    );
    --portal-hero-feather-y: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.45) 3%,
        #000 9%,
        #000 86%,
        rgba(0, 0, 0, 0.45) 97%,
        transparent 100%
    );
    animation-name: portal-rogue-popout;
    display: block;
    height: 563px;
    left: -224px;
    width: 416px;
    transform: scaleX(-1);
    transform-origin: 50% 100%;
    filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.4));
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
    -webkit-mask-image: var(--portal-hero-feather-x), var(--portal-hero-feather-y);
    mask-image: var(--portal-hero-feather-x), var(--portal-hero-feather-y);
}

.portal-auth-figures .archer {
    --portal-hero-feather-x: linear-gradient(
        90deg,
        #000 0%,
        #000 80%,
        rgba(0, 0, 0, 0.55) 93%,
        transparent 100%
    );
    --portal-hero-feather-y: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.45) 3%,
        #000 9%,
        #000 86%,
        rgba(0, 0, 0, 0.45) 97%,
        transparent 100%
    );
    animation-name: portal-archer-popout;
    display: block;
    height: 563px;
    right: -224px;
    width: 416px;
    filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.4));
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
    -webkit-mask-image: var(--portal-hero-feather-x), var(--portal-hero-feather-y);
    mask-image: var(--portal-hero-feather-x), var(--portal-hero-feather-y);
}

@keyframes portal-archer-popout {
    0% {
        height: 563px;
        right: -224px;
        width: 416px;
    }
    100% {
        height: 606px;
        right: -288px;
        width: 448px;
    }
}

@keyframes portal-rogue-popout {
    0% {
        height: 563px;
        left: -224px;
        width: 416px;
        transform: scaleX(-1);
    }
    100% {
        height: 606px;
        left: -288px;
        width: 448px;
        transform: scaleX(-1);
    }
}

.portal-auth-blurbCol {
    align-self: center;
    display: block !important;
    float: none !important;
    margin: 36px auto 0;
    max-width: 640px;
    padding: 0 16px;
    width: min(640px, calc(100% - 32px));
}

.portal-auth-blurbCol.mcc2f0cfba_vidCol {
    padding-right: 0;
}

.portal-forge-blurb,
.mcc2f0cfba_vidBlurb.portal-forge-blurb {
    aspect-ratio: 475 / 161;
    box-sizing: content-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 100%;
    padding: 16px 24px;
    width: calc(100% - 48px);
}

.portal-auth-blurbCol .mcc2f0cfba_vidBlurb.portal-forge-blurb {
    aspect-ratio: auto;
    display: block;
    height: auto;
    padding: 18px 24px;
}

.portal-auth-blurbCol .mcc2f0cfba_vidBlurb {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin: 0 auto;
    text-align: center;
}

.portal-form-heading {
    font-family: EasonProDisplayCaps, EasonPro, "Times New Roman", serif;
    font-size: 28px;
    font-weight: 400;
    margin: 0 0 16px;
    text-align: center;
}

.portal-loginForm label,
.mcc2f0cfba_registerModule label {
    display: block;
    font-size: 14px;
    margin: 12px 0 4px;
}

.portal-auth-helpLinks {
    font-size: 14px;
    margin-top: 12px;
    text-align: center;
}

.portal-auth-helpLinks .portal-nav-link {
    color: var(--anchor);
}

.portal-auth-helpLinks .portal-nav-link + .portal-nav-link::before {
    color: var(--color-ltgray);
    content: "\00b7";
    display: inline-block;
    margin: 0 0.4em;
    pointer-events: none;
    text-decoration: none;
}

.portal-auth-helpLinks .portal-nav-link:hover {
    color: var(--anchorHover);
}

.mcc2f0cfba_exLink .portal-nav-link {
    color: var(--anchor);
    font-size: inherit;
    padding: 0;
}

.mcc2f0cfba_exLink .portal-nav-link:hover {
    color: var(--anchorHover);
}

/* Register branding */
.portal-brand-title {
    font-family: EasonProDisplayCaps, EasonPro, "Times New Roman", serif;
    font-size: 42px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.1;
    margin: 10px 0 15px;
    text-align: center;
}

.register.gw2 .mcc2f0cfba_brandLogo.portal-forge-brand {
    background: none;
    height: auto;
}

.mcc2f0cfba_registerModule .pure-button-primary {
    font-family: EasonProDisplayCaps, EasonPro, "Times New Roman", serif;
    font-weight: 400;
    width: 100%;
}

.mcc2f0cfba_registerModule button.gdpr-cookie-accept {
    margin-top: 10px;
    width: 100%;
}

.mcc2f0cfba_agree {
    margin-top: 14px;
    text-align: left;
}

.mcc2f0cfba_agree label {
    display: inline;
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.mcc2f0cfba_agree input {
    margin-right: 6px;
    vertical-align: middle;
    width: auto;
}

.authAgree--error label {
    color: var(--red7);
}

/* Errors */
.portal-field-error {
    color: var(--red7);
    display: block;
    font-size: 0.9em;
    margin-top: 6px;
    text-align: left;
}

.portal-field-error::before {
    background: url(/assets/public/portal-auth/img/alert.103e8ed.png) no-repeat 0 0;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 18px;
    margin-right: 4px;
    position: relative;
    top: 3px;
    width: 20px;
}

.portal-form-error {
    color: var(--red7);
    margin: 10px 0 0;
    text-align: center;
}

.portal-auth-apple-error {
    margin: 0 0 14px;
}

.portal-flash.is-error {
    background: rgba(120, 20, 20, 0.92);
    border: 1px solid var(--red7);
    color: #fff;
}

.portal-auth-divider {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: center;
    margin: 20px 0 14px;
    text-align: center;
}

.portal-auth-divider__rule {
    background: linear-gradient(
        90deg,
        rgba(38, 38, 38, 0) 0%,
        rgba(38, 38, 38, 0.34) 42%,
        rgba(38, 38, 38, 0.34) 58%,
        rgba(38, 38, 38, 0) 100%
    );
    flex: 1 1 52px;
    height: 1px;
    max-width: 132px;
}

.portal-auth-divider__label {
    color: rgba(38, 38, 38, 0.72);
    flex: 0 0 auto;
    font-family: EasonProDisplayCaps, EasonPro, "Times New Roman", serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.14em;
    line-height: 1;
    padding: 0 2px;
    text-transform: lowercase;
}

.portal-auth-divider__label::before,
.portal-auth-divider__label::after {
    background: rgba(38, 38, 38, 0.3);
    content: "";
    display: inline-block;
    height: 4px;
    transform: rotate(45deg);
    vertical-align: middle;
    width: 4px;
}

.portal-auth-divider__label::before {
    margin-right: 8px;
}

.portal-auth-divider__label::after {
    margin-left: 8px;
}

/* OAuth sign-in buttons — shared layout; provider classes keep Apple/Google branding */
.portal-oauth-sign-in {
    align-items: center;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    box-sizing: border-box;
    display: flex;
    font-size: 14px;
    font-style: normal;
    font-synthesis: none;
    font-weight: 500;
    height: 44px;
    justify-content: center;
    line-height: 20px;
    margin: 0;
    max-width: 100%;
    padding: 0 12px;
    text-decoration: none;
    text-transform: none;
    width: 100%;
}

.portal-oauth-sign-in + .portal-oauth-sign-in {
    margin-top: 10px;
}

.portal-oauth-sign-in:hover,
.portal-oauth-sign-in:focus-visible {
    background: #f2f2f2;
    outline: 2px solid rgba(255, 255, 255, 0.45);
    outline-offset: 2px;
    text-decoration: none;
}

.portal-oauth-sign-in__logo {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    height: 18px;
    justify-content: center;
    margin-right: 8px;
    width: 18px;
}

.portal-oauth-sign-in__label {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-transform: none;
}

/* Apple HIG: white button, black border/text, system font, black Apple mark */
.portal-apple-sign-in {
    border-color: #000;
    color: #000;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    letter-spacing: normal;
}

.portal-apple-sign-in:hover,
.portal-apple-sign-in:focus-visible {
    border-color: #000;
    color: #000;
}

.portal-apple-sign-in__logo svg {
    display: block;
    height: 18px;
    width: 15px;
}

/* Google branding: light theme #fff / #747775 stroke / #1F1F1F text, standard-color G */
.portal-google-sign-in {
    border-color: #747775;
    color: #1f1f1f;
    font-family: "Google Sans", Roboto, Arial, sans-serif;
    letter-spacing: 0.25px;
}

.portal-google-sign-in:hover,
.portal-google-sign-in:focus-visible {
    border-color: #747775;
    color: #1f1f1f;
}

.portal-google-sign-in__logo svg {
    display: block;
    height: 18px;
    width: 18px;
}

.mcc2f0cfba_registerModule a.portal-oauth-sign-in,
.mcc2f0cfba_registerModule a.portal-oauth-sign-in .portal-oauth-sign-in__label {
    text-transform: none;
}

.mcc2f0cfba_registerModule a.portal-apple-sign-in,
.mcc2f0cfba_registerModule a.portal-apple-sign-in .portal-apple-sign-in__label {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-weight: 500;
    letter-spacing: normal;
}

.mcc2f0cfba_registerModule a.portal-google-sign-in,
.mcc2f0cfba_registerModule a.portal-google-sign-in .portal-google-sign-in__label {
    font-family: "Google Sans", Roboto, Arial, sans-serif;
    font-weight: 500;
    letter-spacing: 0.25px;
}

.portal-auth-google-error {
    margin-bottom: 0.75rem;
}

/* Auth modal */
.portal-auth-overlay {
    align-items: center;
    background: var(--overlay);
    box-sizing: border-box;
    display: none;
    inset: 0;
    justify-content: center;
    overflow: auto;
    padding: 24px 16px;
    position: fixed;
    z-index: 10000;
}

.portal-auth-overlay.is-open {
    display: flex;
}

.portal-auth-overlay .module {
    max-width: 440px;
    position: relative;
    text-align: left;
    width: 100%;
}

.portal-auth-overlay h3 {
    font-family: EasonProDisplayCaps, EasonPro, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;
}

.portal-auth-overlay .auth-panel {
    display: none;
}

.portal-auth-overlay .auth-panel.active {
    display: block;
}

.portal-auth-overlay .pure-form label {
    display: block;
    font-size: 14px;
    margin: 12px 0 4px;
}

.portal-auth-overlay .authAgree {
    font-size: 13px;
    line-height: 1.45;
    margin: 14px 0 0;
}

.portal-auth-overlay .authAgree input {
    margin-right: 6px;
    vertical-align: middle;
    width: auto;
}

.portal-auth-overlay .authModalLink {
    margin-top: 14px;
    text-align: center;
}

.portal-auth-overlay .pure-button-primary {
    font-family: EasonProDisplayCaps, EasonPro, "Times New Roman", serif;
    font-weight: 400;
    margin-top: 16px;
    width: 100%;
}

.portal-auth-close {
    background: none;
    border: none;
    color: var(--grey4);
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    padding: 0;
    position: absolute;
    right: 12px;
    top: 8px;
}

.portal-auth-close:hover {
    color: var(--grey2);
}

@media screen and (max-width: 1100px) {
    .portal-auth-figures {
        display: none;
    }

    .portal-auth-stage {
        min-height: 0;
        padding-top: 0;
    }
}

@media screen and (max-width: 35.5em) {
    .portal-auth-blurbCol {
        margin-top: 24px;
        padding: 0 12px;
    }

    .mcc2f0cfba_registerModule {
        padding: 20px 18px !important;
    }
}

/* Desktop-only screenshot showcase (index) */
.portal-screenshot-showcase,
.portal-screenshot-flourish,
.portal-screenshot-divider {
    display: none;
}

@media screen and (min-width: 1100px) {
    body.portal-shell:has(#portalRoot.register.gw2) {
        background-color: #0f1014;
    }

    #portalRoot.register.gw2 > .body.portal-index-main {
        background: transparent !important;
        background-image: none !important;
        min-height: 0;
        overflow: visible;
        padding-bottom: 0;
        padding-top: 0;
    }

    #portalRoot.register.gw2 .portal-auth-hero {
        background-color: #1a1612;
        background-image: url(/assets/public/portal-auth/img/gw2-bg.71e0cf34.jpg);
        background-position: center top;
        background-repeat: no-repeat;
        background-size: cover;
        box-sizing: border-box;
        min-height: calc(100vh - var(--portal-nav-height));
        padding-bottom: 56px;
        position: relative;
        width: 100%;
    }

    #portalRoot.register.gw2 .portal-auth-hero::after {
        background: linear-gradient(180deg, transparent 0%, rgba(15, 16, 20, 0.55) 72%, #0f1014 100%);
        bottom: 0;
        content: "";
        height: 140px;
        left: 0;
        pointer-events: none;
        position: absolute;
        right: 0;
        z-index: 4;
    }

    #portalRoot.register.gw2 .portal-auth-hero > .mc839d4325_constrained {
        position: relative;
        z-index: 2;
    }

    .portal-screenshot-showcase {
        --portal-showcase-bg: #12141a;
        --portal-showcase-bg-top: #0f1014;
        --portal-screenshot-vignette-color: var(--portal-showcase-bg);
        background: linear-gradient(
            180deg,
            var(--portal-showcase-bg-top) 0%,
            var(--portal-showcase-bg) 24%,
            var(--portal-showcase-bg) 100%
        );
        border-top: 1px solid rgba(255, 253, 248, 0.06);
        box-sizing: border-box;
        display: block;
        margin-top: 0;
        overflow: visible;
        padding: 48px 0 72px;
        position: relative;
        width: 100%;
        z-index: 2;
    }

    .portal-screenshot-showcase__inner {
        box-sizing: border-box;
        margin: 0 auto;
        max-width: 1040px;
        padding: 0 32px;
        position: relative;
        width: 100%;
        z-index: 1;
    }

    .portal-screenshot-header {
        margin-bottom: 48px;
        position: relative;
        text-align: center;
        z-index: 2;
    }

    .portal-screenshot-flourish,
    .portal-screenshot-divider {
        display: block;
        margin: 0 auto;
        opacity: 0.92;
        width: min(100%, 720px);
    }

    .portal-screenshot-divider {
        margin: 12px auto 44px;
        opacity: 0.65;
        position: relative;
        transform: scaleY(0.85);
        z-index: 2;
    }

    .portal-screenshot-title {
        color: #fffdf8;
        font-size: 34px;
        letter-spacing: 0.06em;
        line-height: 1.15;
        margin: 18px 0 0;
        text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
    }

    .portal-screenshot-row {
        align-items: center;
        display: grid;
        gap: 44px;
        grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
        isolation: isolate;
        margin-bottom: 0;
        overflow: visible;
        position: relative;
    }

    .portal-screenshot-row:not(.portal-screenshot-row--flip) .portal-screenshot-textCol {
        align-items: flex-start;
        margin-left: -52px;
        margin-right: auto;
        max-width: 380px;
        width: min(380px, 100%);
    }

    .portal-screenshot-row--flip .portal-screenshot-textCol {
        align-items: flex-start;
        align-self: center;
        margin-left: auto;
        max-width: 380px;
        order: 1;
        width: min(380px, 100%);
    }

    .portal-screenshot-row--flip .portal-screenshot-media {
        order: 2;
    }

    .portal-screenshot-textCol {
        align-self: center;
        display: flex;
        flex-direction: column;
        gap: 0;
        position: relative;
        z-index: 1;
    }

    .portal-screenshot-copy {
        min-height: 0;
        position: relative;
        width: 100%;
        z-index: 1;
    }

    .portal-screenshot-label {
        color: #fffdf8;
        font-size: 22px;
        letter-spacing: 0.08em;
        line-height: 1.2;
        margin: 0 0 10px;
        position: relative;
        text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
        z-index: 2;
    }

    .portal-screenshot-row--flip .portal-screenshot-label {
        max-width: 380px;
        text-align: left;
        width: 100%;
    }

    .portal-screenshot-copy .mcc2f0cfba_vidBlurb {
        margin: 0;
        max-width: 380px;
        position: relative;
        text-align: left;
        z-index: 2;
    }

    .portal-screenshot-media {
        line-height: 0;
        position: relative;
        z-index: 1;
    }

    .portal-screenshot-media--overlay {
        overflow: visible;
    }

    .portal-screenshot-media--overlay .portal-screenshot-frame {
        overflow: visible;
    }

    .portal-screenshot-hero {
        --portal-hero-feather-x: linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.35) 7%,
            #000 18%,
            #000 82%,
            rgba(0, 0, 0, 0.35) 93%,
            transparent 100%
        );
        --portal-hero-feather-y: linear-gradient(
            180deg,
            transparent 0%,
            rgba(0, 0, 0, 0.3) 6%,
            #000 16%,
            #000 80%,
            rgba(0, 0, 0, 0.35) 94%,
            transparent 100%
        );
        display: block;
        height: auto;
        max-width: none;
        mix-blend-mode: lighten;
        object-fit: contain;
        pointer-events: none;
        position: absolute;
        user-select: none;
        width: auto;
        z-index: 0;
        -webkit-mask-composite: source-in;
        mask-composite: intersect;
        -webkit-mask-image: var(--portal-hero-feather-x), var(--portal-hero-feather-y);
        mask-image: var(--portal-hero-feather-x), var(--portal-hero-feather-y);
    }

    .portal-screenshot-hero--behind-copy {
        height: clamp(380px, 118%, 520px);
        opacity: 0.9;
        right: -6%;
        top: 50%;
        transform: translateY(-46%);
        --portal-hero-feather-x: linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.25) 5%,
            #000 20%,
            #000 70%,
            rgba(0, 0, 0, 0.2) 88%,
            transparent 100%
        );
    }

    .portal-screenshot-hero--overlay-left {
        bottom: 0;
        filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.4));
        height: auto;
        left: -14%;
        max-height: 130%;
        max-width: 95%;
        mix-blend-mode: normal;
        opacity: 1;
        width: auto;
        z-index: 5;
        --portal-hero-feather-x: linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.2) 4%,
            #000 14%,
            #000 40%,
            rgba(0, 0, 0, 0.15) 68%,
            transparent 96%
        );
        --portal-hero-feather-y: linear-gradient(
            180deg,
            transparent 0%,
            rgba(0, 0, 0, 0.15) 3%,
            #000 12%,
            #000 78%,
            rgba(0, 0, 0, 0.25) 92%,
            transparent 100%
        );
    }

    .portal-screenshot-hero--on-media {
        bottom: -6%;
        filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.4));
        height: auto;
        left: -20%;
        max-height: 130%;
        max-width: 95%;
        mix-blend-mode: normal;
        opacity: 1;
        width: auto;
        z-index: 5;
        --portal-hero-feather-x: linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.3) 8%,
            #000 22%,
            #000 100%
        );
    }

    .portal-screenshot-frame {
        --portal-screenshot-vignette-x: 28px;
        --portal-screenshot-vignette-y: 32px;
        background: var(--portal-screenshot-vignette-color);
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
        isolation: isolate;
        overflow: hidden;
        position: relative;
        z-index: 1;
    }

    .portal-screenshot-frame .portal-screenshot-image,
    .portal-screenshot-frame img:not(.portal-screenshot-hero),
    .portal-screenshot-frame video.portal-screenshot-video {
        display: block;
        height: auto;
        max-width: 100%;
        object-fit: cover;
        position: relative;
        vertical-align: top;
        width: 100%;
        z-index: 1;
    }

    .portal-screenshot-frame .portal-screenshot-hero {
        height: auto;
        max-width: none;
        width: auto;
    }

    .portal-screenshot-vignette {
        inset: 0;
        overflow: hidden;
        pointer-events: none;
        position: absolute;
        z-index: 2;
    }

    .portal-screenshot-vignette-t,
    .portal-screenshot-vignette-r,
    .portal-screenshot-vignette-b,
    .portal-screenshot-vignette-l {
        background-color: var(--portal-screenshot-vignette-color);
        background-image: none;
        box-sizing: border-box;
        margin: 0;
        mask-repeat: no-repeat;
        mask-size: 100% 100%;
        padding: 0;
        pointer-events: none;
        position: absolute;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
    }

    .portal-screenshot-vignette-t,
    .portal-screenshot-vignette-b {
        height: var(--portal-screenshot-vignette-y);
        left: 0;
        width: 100%;
    }

    .portal-screenshot-vignette-t {
        height: calc(var(--portal-screenshot-vignette-y) + 2px);
        -webkit-mask-image: url(/assets/images/vignette/border-top.png);
        mask-image: url(/assets/images/vignette/border-top.png);
        top: -2px;
    }

    .portal-screenshot-vignette-b {
        bottom: -2px;
        height: calc(var(--portal-screenshot-vignette-y) + 2px);
        -webkit-mask-image: url(/assets/images/vignette/border-bottom.png);
        mask-image: url(/assets/images/vignette/border-bottom.png);
    }

    .portal-screenshot-vignette-l,
    .portal-screenshot-vignette-r {
        height: 100%;
        top: 0;
        width: var(--portal-screenshot-vignette-x);
    }

    .portal-screenshot-vignette-l {
        -webkit-mask-image: url(/assets/images/vignette/border-left.png);
        left: 0;
        mask-image: url(/assets/images/vignette/border-left.png);
    }

    .portal-screenshot-vignette-r {
        -webkit-mask-image: url(/assets/images/vignette/border-right.png);
        mask-image: url(/assets/images/vignette/border-right.png);
        right: -1px;
        width: calc(var(--portal-screenshot-vignette-x) + 1px);
    }

    @media screen and (min-width: 1100px) and (max-width: 1240px) {
        .portal-screenshot-hero--behind-copy {
            opacity: 0.82;
        }

        .portal-screenshot-hero--overlay-left {
            left: -16%;
            max-height: 120%;
            max-width: 88%;
        }

        .portal-screenshot-hero--on-media {
            left: -24%;
            max-height: 120%;
            max-width: 88%;
        }
    }
}

.portal-index-notice {
    background: #edf5e4;
    border: 1px solid #8aab5a;
    border-radius: 3px;
    color: #3f5218;
    font-size: 0.92rem;
    margin: 0;
    max-width: 720px;
    padding: 10px 12px;
    position: relative;
    z-index: 30;
}

.portal-prereg-ribbon,
.portal-beta-ribbon {
    height: 108px;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 108px;
    z-index: 3;
}

.portal-prereg-ribbon__text,
.portal-beta-ribbon__text {
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.35);
    color: #fffdf8;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    padding: 6px 0;
    position: absolute;
    right: -30px;
    text-align: center;
    text-transform: uppercase;
    top: 20px;
    transform: rotate(45deg);
    width: 150px;
}

.portal-prereg-ribbon__text {
    background: linear-gradient(180deg, #72b842 0%, #4a8f2a 55%, #3d7a24 100%);
}

.portal-beta-ribbon__text {
    background: linear-gradient(180deg, #d64541 0%, #b71c1c 55%, #8f1414 100%);
}

.portal-prereg-subtleSignIn {
    color: var(--grey3, #8a8a8a);
    font-size: 0.88rem;
    margin-top: 1.25rem;
    padding-bottom: 10px;
    text-align: center;
}

.portal-prereg-subtleSignIn .portal-nav-link,
.portal-prereg-subtleSignIn button.portal-nav-link {
    appearance: none;
    background: none;
    border: none;
    box-shadow: none;
    color: var(--anchor);
    cursor: pointer;
    display: inline;
    font: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

.portal-prereg-subtleSignIn .portal-nav-link:hover,
.portal-prereg-subtleSignIn button.portal-nav-link:hover,
.portal-prereg-subtleSignIn .portal-nav-link:focus-visible,
.portal-prereg-subtleSignIn button.portal-nav-link:focus-visible {
    color: var(--anchorHover);
    outline: none;
}

.auth-mode-preregister .portal-auth-form-panel--subtle .portal-form-heading {
    font-size: 1.35rem;
}

/* Keep hero figures aligned when shorter panels replace the full pre-register form */
.auth-mode-login .portal-auth-formCol .mcc2f0cfba_registerModule,
.auth-mode-preregistered .portal-auth-formCol .mcc2f0cfba_registerModule {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 420px;
}

.auth-mode-preregistered #panel-preregister-thanks {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    padding-bottom: 8px;
    width: 100%;
}

.auth-mode-preregistered #panel-preregister-thanks .portal-form-heading {
    margin-bottom: 12px;
}

.auth-mode-preregistered #panel-preregister-thanks .portal-prereg-thanks__body {
    margin: 0;
    text-align: center;
}

.portal-prereg-thanks__discord {
    margin-top: 24px;
    text-align: center;
}

.portal-prereg-thanks__discord-hint {
    color: #888;
    font-size: 0.92rem;
    line-height: 1.45;
    margin: 0 0 12px;
    text-align: center;
}

.portal-prereg-discord-link {
    align-items: center;
    color: #5865f2;
    display: inline-flex;
    font-size: 0.95rem;
    gap: 8px;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: color 0.15s ease;
}

.portal-prereg-discord-link:hover,
.portal-prereg-discord-link:focus-visible {
    color: #7289da;
    outline: none;
}

.portal-prereg-discord-link svg {
    flex-shrink: 0;
    height: 22px;
    width: 28px;
}

@media (max-width: 720px) {
    .portal-prereg-ribbon,
    .portal-beta-ribbon {
        height: 92px;
        width: 92px;
    }

    .portal-prereg-ribbon__text,
    .portal-beta-ribbon__text {
        font-size: 0.6rem;
        padding: 5px 0;
        right: -28px;
        top: 16px;
        width: 132px;
    }
}

/* Hide scrollbars globally — wheel, trackpad, and touch scrolling still work. */

html,
body {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

* {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

*::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

/* Shared portal navigation + page shell (index, lobby, account, gdpr) */
:root {
    --portal-nav-height: 44px;
    --portal-nav-bg: #141414;
    --portal-nav-bg-elevated: #1c1c1c;
    --portal-nav-text: #b8b4ac;
    --portal-nav-hover: #f0ebe3;
    --portal-nav-accent: #c41e1a;
    --portal-nav-active: #fffdf8;
    --portal-nav-border: rgba(255, 253, 248, 0.08);
}

html {
    scroll-padding-top: var(--portal-nav-height);
}

body.portal-shell {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    min-height: 100dvh;
}

/* Kill legacy lobby header grid row (was 80px) — nav lives outside #root */
body.portal-shell #root {
    display: block !important;
    grid-template-rows: unset !important;
    min-height: calc(100vh - var(--portal-nav-height)) !important;
    min-height: calc(100dvh - var(--portal-nav-height)) !important;
}

body.portal-shell #portalRoot.mc839d4325_wrap {
    min-height: calc(100vh - var(--portal-nav-height));
    min-height: calc(100dvh - var(--portal-nav-height));
}

/* Legacy selector — body never has .register.gw2 (those live on #portalRoot).
   Kept for any shell that still sets them on body; index uses portal-index-main. */
body.portal-shell.register.gw2 .body {
    padding-top: 16px !important;
    min-height: calc(100vh - var(--portal-nav-height) - 120px);
}

body.portal-shell #portalRoot.register.gw2 > .body.portal-index-main {
    padding-top: 0 !important;
}

.portalNav {
    position: sticky;
    top: 0;
    z-index: 1600;
    width: 100%;
    background: var(--portal-nav-bg);
    border-bottom: 1px solid var(--portal-nav-border);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    /* lobby.css sets white-space:pre-line on nav; indented markup adds ghost line boxes */
    white-space: normal;
    line-height: 1;
}

.portalNav__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-sizing: border-box;
    max-width: 1200px;
    min-height: var(--portal-nav-height);
    margin: 0 auto;
    padding: 0 clamp(12px, 2.5vw, 24px);
}

.portalNav__brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    color: var(--portal-nav-active);
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-decoration: none;
    transition: color 0.15s ease;
}

.portalNav__brand:hover {
    color: #fff;
}

.portalNav__burger {
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 253, 248, 0.18);
    border-radius: 3px;
    background: var(--portal-nav-bg-elevated);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.portalNav__burger:hover,
.portalNav__burger:focus {
    border-color: rgba(255, 253, 248, 0.35);
    outline: none;
}

.portalNav__burgerBars,
.portalNav__burgerBars::before,
.portalNav__burgerBars::after {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 1px;
    background: var(--portal-nav-active);
    transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
    content: "";
}

.portalNav__burgerBars {
    position: relative;
}

.portalNav__burgerBars::before {
    position: absolute;
    top: -5px;
    left: 0;
}

.portalNav__burgerBars::after {
    position: absolute;
    top: 5px;
    left: 0;
}

.portalNav.is-open .portalNav__burgerBars {
    background: transparent;
}

.portalNav.is-open .portalNav__burgerBars::before {
    top: 0;
    transform: rotate(45deg);
}

.portalNav.is-open .portalNav__burgerBars::after {
    top: 0;
    transform: rotate(-45deg);
}

.portalNav__menu {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0;
}

.portalNav__link {
    display: inline-block;
    position: relative;
    padding: 0.65em 0.95em;
    color: var(--portal-nav-text);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 0.15s ease;
}

.portalNav__link::after {
    position: absolute;
    right: 0.95em;
    bottom: 0.45em;
    left: 0.95em;
    height: 2px;
    border-radius: 1px;
    background: transparent;
    transition: background 0.15s ease;
    content: "";
}

.portalNav__link:hover,
.portalNav__link:focus {
    color: var(--portal-nav-hover);
    outline: none;
}

.portalNav__link.is-active {
    color: var(--portal-nav-active);
}

.portalNav__link.is-active::after {
    background: var(--portal-nav-active);
}

.portalNav__link[data-nav-role="signout"]:hover,
.portalNav__link[data-nav-role="signout"]:focus {
    color: #f5a8a6;
}

@media screen and (min-width: 721px) {
    .portalNav__link + .portalNav__link {
        border-left: 1px solid rgba(255, 253, 248, 0.07);
    }

    .portalNav__lang {
        border-left: 1px solid rgba(255, 253, 248, 0.07);
    }
}

@media screen and (max-width: 720px) {
    .portalNav__burger {
        display: inline-flex;
    }

    .portalNav__menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        padding: 6px 0 10px;
        background: var(--portal-nav-bg);
        border-top: 1px solid rgba(255, 253, 248, 0.06);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
    }

    .portalNav.is-open .portalNav__menu {
        display: flex;
    }

    .portalNav__link {
        padding: 0.9em 1.25em;
        border-top: 1px solid rgba(255, 253, 248, 0.05);
    }

    .portalNav__link::after {
        display: none;
    }

    .portalNav__link:first-child {
        border-top: none;
    }

    .portalNav__link + .portalNav__link {
        border-left: none;
    }
}

/* Language selector — reuses in-game flag sprite (country_flag_html) */
.portalNav__lang {
    position: relative;
    flex-shrink: 0;
}

.portalNav__langToggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0.5em 0.85em;
    border: none;
    border-radius: 2px;
    background: transparent;
    color: var(--portal-nav-text);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.portalNav__langToggle:hover,
.portalNav__langToggle:focus {
    color: var(--portal-nav-hover);
    background: rgba(255, 253, 248, 0.04);
    outline: none;
}

.portalNav__lang.is-open .portalNav__langToggle {
    color: var(--portal-nav-active);
    background: rgba(255, 253, 248, 0.06);
}

.portalNav__lang .flags {
    display: inline-flex;
    line-height: 0;
}

.portalNav__langCode {
    min-width: 1.4em;
    text-transform: uppercase;
}

.portalNav__langCaret {
    width: 0;
    height: 0;
    margin-top: 1px;
    border-top: 4px solid currentColor;
    border-right: 3.5px solid transparent;
    border-left: 3.5px solid transparent;
    opacity: 0.72;
    transition: transform 0.15s ease;
}

.portalNav__lang.is-open .portalNav__langCaret {
    transform: rotate(180deg);
}

.portalNav__langMenu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 10;
    min-width: 208px;
    max-height: min(62vh, 460px);
    margin: 0;
    padding: 4px 0;
    list-style: none;
    overflow-y: auto;
    border: 1px solid rgba(255, 253, 248, 0.1);
    border-radius: 3px;
    background: var(--portal-nav-bg-elevated);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}

.portalNav__langMenu[hidden] {
    display: none !important;
}

.portalNav__langMenu li {
    margin: 0;
    padding: 0;
}

.portalNav__langOption {
    display: flex;
    align-items: baseline;
    gap: 7px;
    padding: 0.55em 0.9em;
    color: var(--portal-nav-text);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s ease, background 0.15s ease;
}

.portalNav__langName {
    flex: 0 1 auto;
}

.portalNav__langRegion {
    flex: 0 1 auto;
    opacity: 0.72;
    font-weight: 500;
}

.portalNav__langOption:hover,
.portalNav__langOption:focus {
    color: var(--portal-nav-hover);
    background: rgba(255, 253, 248, 0.06);
    outline: none;
}

.portalNav__langOption.is-active {
    color: var(--portal-nav-active);
    background: rgba(196, 30, 26, 0.12);
}

@media screen and (max-width: 720px) {
    .portalNav__lang {
        width: 100%;
        border-left: none;
        border-top: 1px solid rgba(255, 253, 248, 0.07);
    }

    .portalNav__langToggle {
        justify-content: flex-start;
        width: 100%;
        padding: 0.9em 1.25em;
        border-radius: 0;
    }

    .portalNav__langMenu {
        position: static;
        min-width: 0;
        margin: 0;
        padding: 0 0 6px;
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .portalNav__langOption {
        padding: 0.75em 1.25em 0.75em 2.4em;
    }
}
