
/* === style.css === */
html{background-color:#f6f8f9}body{max-width:1250px;margin:0 auto;font-family:Helvetica,Arial;font: Helvetica, Arial;font-size:12px;color:#444;font-weight:400}input,textarea,select{outline:none;font-size:14px;color:#444;font-family:inherit}.clear{clear:both}a{text-decoration:none;color:#d00000}p{font-size:12px;margin:0;padding:5px;color:#444;font-weight:400;line-height:20px}h1{color:#444}h2{color:#444}h3{color:#444}h4{color:#777}.footer{clear:both}.footer p{text-align:center;font-size:small;border-top:1px solid #e9efee}.header{overflow:auto;padding-top:15px}.img-logo{position:absolute}.img-logo img{margin-bottom:15px}.right-session{float:right;margin-top:10px;margin-bottom:10px}.right-session-image{float:left;margin-right:4px;display:inline-block}.right-session-image img{height:50px;border-radius:50%;width:50px}.right-session-text{float:left;padding:0 2px;display:inline-block}.body-content{border-left:1px solid #e8e0e0;border-right:1px solid #e8e0e0;border-bottom:1px solid #e8e0e0;border-top-left-radius:5px;background-color:#fff;overflow:auto}.nav{border-top-left-radius:5px;background-color:#42464d;height:50px;margin:0}.nav ul{list-style:none;margin:0 -20px}.sub ul li ul{list-style:none}.nav a{padding-right:20px;color:#ddd;display:inline-block;float:left;text-decoration:none;line-height:50px;font-size:14px}.subHead{background-color:#fff;margin:18px 15px 18px 15px;border:1px solid #e8e0e0;border-radius:5px;height:30px}.subHead-logo{width:7%;float:left;display:inline-block}.subHead-icon{font-size:20px;padding-left:10px;border:none}.subHead-head h3{float:left;color:#d00000;font-weight:bolder;line-height:30px;margin-top:0;display:inline-block;font-size:14px}.subHead i{font-size:25px;padding-left:10px}.i-class{}.right{border:1px solid #e0e0e0;border-width:0 1px 1px 0;display:inline-block;padding:10px;margin-top:5px;transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.wrapper{margin:0 auto;padding:2px;width:800px}.login-page{border:1px solid #e8e0e0;border-radius:5px;margin-bottom:10px}.login-Head{margin:10px;border:1px solid #e8e0e0;height:30px;background-color:#f4f4f4}.loginHead-logo{width:3%;float:left;display:inline-block;margin:5px 10px;font-size:16px}.login-Head img{width:20px;height:20px;padding:5px;float:left}.loginHead-head h3{width:70%;float:left;font-weight:700;line-height:30px;margin-top:0;display:inline-block}input.hidden{width:0!important;height:0!important;margin:0!important;padding:0!important;outline:none!important;border:0!important}.col-1{width:80%;margin:8px;padding:3px}.col-1-editprofile{width:80%;margin:25px;padding:3px}.login-textbox{width:100%;line-height:2em;padding-top:15px}.login-textbox input[type="text"]{width:60%;display:block;margin:0 auto;margin-bottom:20px;font: 14px;line-height:2em}.input{margin:5px}.login-wrap{margin-bottom:20px}.login-textbox input[type="password"]{width:60%;display:block;margin:0 auto;margin-bottom:20px;font: 14px;line-height:2em}.login-textbox select{display:inline-block;margin-left:150px}.reg_select{padding-left:90px;padding-top:10px;padding-bottom:15px}.login-textbox img{width:200px;height:100px;display:block;margin:0 auto;margin-bottom:px}.wrapper p{text-align:justify}.login-textbox input[type="submit"]{display:block;font-size:14px;border:1px solid #d00000;border-radius:5px;padding:10px 15px;background-color:#d00000;color:#fff;margin:0 auto}.autoshop_search_submit{margin-top:10px;font-weight:600;font-size:16px;border:1px solid #d00000;border-radius:5px;padding:5px 15px;background-color:#d00000;color:#fff;cursor:pointer}.sm-nav img{width:8px;height:9px}.sm-nav{width:40%;border-top-left-radius:5px;border-top-right-radius:5px;background-color:#42464d;height:20px;margin:0 1px;float:right}.sm-nav ul{list-style:none;margin:0 -28px}.sm-nav ul li{margin-right:1px}.sm-nav a{padding-right:15px;color:#cecece;display:inline-block;float:left;text-decoration:none;line-height:18px;font-size:12px;font-weight:400}.wrapper-index{margin:10px}.left-content{width:25%;float:left;padding:0 5px;display:inline-block}#information{border:1px solid #e8e0e0;border-radius:5px;overflow:auto;margin-bottom:20px}.con-image{width:37%;float:left;padding:10px 0;display:inline-block}.con-image img{width:80%;height:90px;box-shadow:0 1px 3px #e0dede;border-radius:50%;margin-left:3px}.con-text{width:60%;padding:10px 0;display:inline-block}.con-text p{color:#4a4e51;padding:1px}.right-content{width:72%;float:left;padding:0 5px;display:inline-block}.full-content{width:100%;float:left;padding:0 5px;display:inline-block}.float-right{float:right}.padh3{padding-left:10px}.padi{padding-top:3px}.padp{padding:0;margin:0;text-align:justify}.full{width:95%;border-bottom:1px dotted #e8e0e0;margin:0 0 10px 5px}.browse ul{list-style:none}.search-textbox{padding:0 15px}.search-textbox input[type="text"]{width:40%;margin:-1px 0 0 0}.search-textbox input[type="submit"]{width:10%;font-weight:600;font-size:13px;border:1px solid #d00000;border-radius:5px;background-color:#d00000;color:#fff;padding:5px}.search-textbox input[type="submit"]:hover{background-color:#d00000;cursor:pointer}.primary_button{font-weight:600;font-size:13px;border:1px solid #d00000;border-radius:5px;background-color:#d00000;color:#fff;padding:5px}.primary_button:hover{background-color:#d00000;cursor:pointer}#myProgress{width:100%;background-color:#ddd}.Bar100{width:100%;height:10px;background-color:#4caf50;border-radius:5px;margin-bottom:10px}.Bar80{width:80%;height:10px;background-color:#4caf50;border-radius:5px}.Bar40{width:40%;background-color:#f90}.Bar65{width:65%;background-color:rgba(107,224,34,.74)}.securityinfo{display:inline-flex}.securityinfo i{line-height:2;font-size:larger;color:red}.sitemap{font-size:20px;float:right;margin:3px 10px}.user_warning{width:100%;border:1px solid;border-radius:5px;height:30px;margin-bottom:10px}.user_warning p{padding:7px}.feature_listing{width:100%;background-color:#f9f9f9;border-radius:5px;margin-bottom:10px;overflow:auto}.col-8{padding:5px;width:10.7%;float:left;word-wrap:break-word;background:#f9f9f9;margin-left:5px;margin-bottom:3px}.col-2{padding:5px;width:48%;float:left;word-wrap:break-word;margin-left:5px;margin-bottom:3px}.col-2:hover{background-color:#f3f3f3}.col-2 img{width:82px;height:83px}.col-2-img-pad{padding:5px;border:1px solid #e8e0e0;background-color:#e9efee;width:83px}.img-pad{padding:5px;border:1px solid #e8e0e0;background-color:#e9efee}.col-8 img{width:82px;height:83px}.font{font-size:12px}.col-1search{margin:10px 5px 20px;width:100%;border-bottom:2px solid #e8e0e0;overflow:auto;padding-bottom:15px;padding-top:15px;box-shadow:0 3px 10px rgba(0,0,0,.5)}.col-1search:hover{background-color:#ffc}.head>a{font-size:16px}.col-1search-img{width:10%;float:left;padding:6px 1px 6px 6px;border:1px solid #e8e0e0;background-color:#e9efee}.col-1search-img img{width:83px;height:80px}.col-1centre{width:70%;float:left;padding-left:10px}.col-1right{width:12%;float:right}.boldstats{font-weight:700;color:#4a4e51}.labelMargin{margin-bottom:10px;text-align:justify}.btnDrawMargin{margin-top:10px}.usermenu{list-style:none;padding:0;margin:0}.usermenu li{padding-left:2px;line-height:1em;border-bottom:1px dotted #e8e0e0}.usermenu a{display:block;text-decoration:none;padding:10px}.usermenu li a:hover{background:#f1f0ee}.statistics{margin:0 5px 5px 5px;padding:5px;border-bottom:1px dotted #e8e0e0}.bar{width:20%;float:left;margin:0}.bar img{width:150px;height:120px}.deposit{width:77%;float:left}.barcodetext{word-wrap:break-word;background-color:#ececec;text-align:center;font-size:20px;font-weight:bold}.lable{width:20%;float:left;margin:2px 0}.textboxDraw{width:75%;float:left;margin:2px 5px}.largetextbox{width:100%;padding:5px}.smalltextbox{width:20%;padding:5px}.btndraw{font-weight:600;font-size:13px;border:1px solid #d00000;border-radius:5px;background-color:#d00000;color:#fff;padding:5px 15px;margin-bottom:10px}.btndraw:hover{cursor:pointer;background-color:#d00000}.withdrawlTable table{border-collapse:collapse;width:100%;margin-bottom:5px}.withdrawlTable th,.withdrawlTable td{text-align:left;padding:5px;font-size:12px}.withdrawlTable  tr:nth-child(even){background-color:#f2f2f2}.withdrawlTable th{background-color:#ececec}.withdrawlTableDiv{padding:0 10px}.text_pad{padding:3px}.text-danger{color:red}.text-success{color:green}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent}.alert-disp{width:fit-content;padding:4px;margin-bottom:2px}.alert-success{color:#436943;background-color:#dff0d8;border-color:#d6e9c6}.alert-initail{color:#4984af;background-color:#d2ebfd;border-color:#cce1f1}.alert-info{color:#2f312f;background-color:#fffbe7;border-color:#fbf5d9;margin-top:-8px}.alert i{line-height:0;padding:8px 15px 0 0;font-size:medium}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.invalidCaptchaError{color:red;margin:0 0 0 150px}.login-textbox input{padding:1px 2px}.featurehead{margin:inherit;padding-bottom:7px}.paddingInit{padding:initial}.inner-header{}.inner-header h3{color:#d00000;line-height:12px;margin:9px;display:inline-block;font-size:14px}.arrow{border-width:0 1px 1px 0;padding:10px;float:right;margin-top:-4px}.right{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.btnconfirm{margin:-4px 0 0 72px;border-radius:3px;background-color:#1aab23;border:1px solid #1aab23;color:#fff;padding:5px 25px;font-weight:600;font-family:inherit;margin-top:5px}.btnconfirm:hover{cursor:pointer;background-color:#006400}.title{font-size:large;font-weight:600;margin-left:-5px;margin-top:-8px}.orderconfirm_p{padding:2px 0}.refreshqty{padding:2px 5px;font-size:15px;border:none;box-shadow:1px 1px 2px #1d1515;margin-top:-3px;margin-left:7px;background:#b5b5b5}.refreshqty:hover{background:#ccc}.refreshqty:active{transform:translateY(1px)}.replyBtn{font-weight:600;font-size:12px;border:1px solid #dc381d;border-radius:5px;background-color:#dc381d;color:#fff;padding:5px 8px}.replyBtn:hover{cursor:pointer}.imagePortion{width:18%;float:left}.bigimage{width:90%;padding:5px;background-color:#dcdcdc;border:1px solid #c5c4c4}.bigimage img{width:143px;height:150px}.smallimage{overflow:auto}.smallimage ul{list-style:none;margin:5px 0;padding:0}.smallimage li{float:left;margin-right:5px;padding:3px 3px 0 3px;background-color:#dcdcdc;border:1px solid #c5c4c4}.smallimage li img{width:40px;height:40px}.listDes{width:81%;float:left;margin-left:5px}.levelSet{background-color:#dc381d;padding:3px 10px;border-radius:20px;color:#fff;font-weight:500}.listing_fe_allowed{background-color:gray;padding:3px 10px;border-radius:20px;color:#fff;font-weight:500}.left_features{display:49.5%;float:left;display:block;padding-left:5px}.Right_features{display:49.5%;float:left;display:block}.RatingSet{width:min-content;background-color:#d00000;color:#fff;font-weight:500;float:right;margin-right:15px}.feedbackTbl{border-collapse:collapse;width:100%}.feedbackTbl span{float:right;font-size:smaller;font-style:italic;color:#909090}.feedbackTbl tr{border-bottom:1px solid #ccc}.feedbackTbl td{text-align:left;padding:5px;background-color:#fefefe;color:#000}.feedbackTbl td:nth-child(1){width:5%}.feedbackTbl td:nth-child(2){width:84%}.feedbackTbl td:nth-child(3){width:10%}div.tab{overflow:hidden;border-bottom:1px solid #ccc;margin-top:10px}div.tab a{color:#d00000;font-weight:400;float:left;outline:none;cursor:pointer;padding:5px 8px;font-size:13px;border-radius:3px;border:.5px solid #f3f0f0;background-color:#fdfdfd}div.autotab{border-bottom:1px solid #c6cacf;margin-top:10px;padding-left:15px;height:40px}div.autotab div{color:#d00000;font-weight:400;float:left;outline:none;cursor:pointer;padding:10px 15px;font-size:16px;border-radius:3px;border-left:1px solid #f4f4f4;border-right:1px solid #f4f4f4;border-top:1px solid #f4f4f4;background-color:#fdfdfd;width:auto}div.autotab div:hover{background-color:#f9f9f9}div.autotab div.focus a{background-color:#fff;color:#000}div.autotab div.focus{color:#000;background-color:#fff;border-left:1px solid #c6cacf;border-right:1px solid #c6cacf;border-top:1px solid #c6cacf;width:auto;position:relative;top:1px}div.tab a:hover{background-color:#f9f9f9}div.tab a.active{background-color:#fff;color:#000}div.tab a.focus{color:#000;background-color:#fff;border:1px solid #ccc;border-bottom:none}.tabcontent{display:none;padding:6px 12px;border-top:none}.col-1order{margin:10px;width:100%;border-bottom:2px solid #e8e0e0;overflow:auto;padding-bottom:10px}.col-1order-check{padding:0 5px 0 0;width:4%;float:left}.col-1order-check input[type="checkbox"]{width:20px;height:20px}.col-1order-img{width:8.5%;float:left;padding:6px 0 5px 5px;border:1px solid #cacaca;background-color:#dbdbdb}.col-1order-img img{width:70px;height:70px}.col-1ordercentre{width:56%;float:left;padding-left:10px}.col-1orderPrice{width:8%;float:left}.col-1orderright{width:14%;float:right;text-align:center;padding-top:8px}.sales_btn{margin-top:15px}.sales_btn input[type="submit"]{font-weight:600;font-size:13px;border-radius:5px;padding:10px 20px;margin-left:10px;border:none;color:#fff}.ShipedSet{background-color:#5bc0de;width:6em;color:#fff;font-weight:500;border-radius:10px;text-align:center}.ShipedSetshi{background-color:#428bca}.ShipedSetdis{background-color:#b85c5c}.ShipedSetfinal{background-color:#5cb85c}.ShipedSetcancel{background-color:#985c5c}.ticketstatus{padding:5px 6px}.text-capitalize{text-transform:capitalize}.refresh{width:25px;height:50px}.pagination{float:right;display:flex;list-style:none}.pagination li,ul strong{cursor:pointer;background-color:#ddd;border:1px solid #e8e0e0;width:35px;height:35px;font-size:16px;line-height:2;text-align:center;border-radius:3px;margin:0 5px;box-shadow:1px 2px 1px #060101}.pagination li a{display:block}.productTbl{border-collapse:collapse;width:100%}.productTbl th{padding:1px 5px;font-size:smaller;background-color:#f1f0f0;text-align:left}.productTbl td{font-size:smaller;padding:1px 5px;font-family:Calibri;width:25%}.productTbl tr:nth-child(even){background-color:#fff}.border{border-bottom:1px dotted #000;padding:2px 0}.pro_listing{float:left;width:50%}.textboxDraw_pro select{outline:none;width:100%;padding:5px}.lable_pro1{width:15%;float:left;margin:5px 0}.textboxDraw_pro1{width:83%;float:left;margin:5px 5px}.textboxDraw_pro1 select{padding:5px}.lable_pro{width:13%;float:left;margin:5px 5px}.textboxDraw_pro{width:33%;float:left;margin:5px 5px}.Category{width:96.5%;margin:-7px 0 10px 5px}.mainmenu,.submenu{list-style:none;padding:0;margin:0}.mainmenu li a:hover{background:#f1f0ee}.mainmenu a{display:block;text-decoration:none;padding:7px 3px;border-bottom:1px dotted #bbb;cursor:pointer;font-size:15px;font-weight:normal}.mainmenu input[type="checkbox"]{vertical-align:-2px}.mainmenu .submenu{display:none}.submenu ul{list-style:none}.submenu li a{padding-left:20px}.CategoryUL li a{padding-left:58px}.CategoryUL li{margin-left:-39px}.CategoryUL,.CategorySubUL,.CategorySubSubUL{display:none}.msgCatg,.msgCont{padding:5px;overflow-y:auto;width:95%;float:left;border:1px solid #fff;max-height:300px}.msgCont{background-color:#fff;max-height:none;margin-top:-10px;width:100%}.msgCatg ul{list-style:none;margin:0;padding:0}.msgCatg li{width:100%}.seprator{border-bottom:1px solid #ccc;padding:3px;overflow:auto}.seprator span{color:red;line-height:3}.msgCatg li img{float:left;border:1px solid #ccc;border-radius:50px;margin:4px;width:30px;height:30px}.msgCatg li a{display:block;padding:5px 0 0 10px;color:green;font-size:14px;cursor:pointer;float:left;width:70%}.msgSender{overflow:auto;float:left;margin:5px;display:block;width:98%;border:1px solid #e4e3e3;border-radius:3px;background-color:#fafafa}.msgSenderleft{margin:5px;width:20%;overflow:auto;float:left;border:1px solid #e4e3e3;border-radius:3px;word-wrap:break}.msgSenderPic{text-align:center;border-bottom:1px solid #ddd}.msgSenderName{border-bottom:1px solid #ddd}.msgSenderInfo{background-color:#fff}.msgSender p{margin:0;padding:0}.msgSenderPic img{margin:5px 0;width:70px;height:70px}.msgSenderP{width:75%;float:left;font-size:14px;padding:5px 10px}.msgSenderLeftConvo{width:80%;float:left;font-size:14px;padding:5px 10px}.msgSenderRightConvo{float:right;font-size:14px;padding-top:10px}.msgSenderP p{font-size:14px;padding:5px}.description_elipse{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.msgInput{width:98%;border:1px solid #e4e3e3;border-radius:3px;background-color:#fafafa;overflow:auto;float:left;margin:5px 0 5px 11px}.msgInputLeft{width:20%;float:left;text-align:center;background-color:#fff;border:1px solid #e4e3e3;border-radius:3px;margin:5px}.msgInputLeft img{margin:5px 0;width:100px;height:100px}.msgInputRight{width:75%;float:left;padding:5px 10px}.MsgText{width:100%;height:112px;padding:5px;font-family:sans-serif;border-color:#e4e3e3;border-radius:3px}.msgInput input[type="submit"]{font-weight:600;font-size:13px;border:1px solid #d00000;border-radius:5px;background-color:#d00000;color:#fff;padding:5px 20px;float:right;margin:0 13px 10px 0}.msgerr{padding:5px 0 0 16.3em}.seth1{margin:0;padding:6px 10px;box-shadow:0 0 5px #ccc}.seth1 i{font-size:small}.seth1 span{font-size:large}.user_info{width:96%;height:110px;overflow:auto;margin:10px 0;border:8px solid #e6e6e6;padding:15px 5px 5px 5px}.user_info_left{float:left;text-align:right;width:10%;padding:2px 8px}.user_info_left img{width:86px;height:86px;border:1px solid}.user_info_mid{float:left;width:63%}.user_info_mid_head{margin:0;padding:0}.user_info_vendor,.user_info_trust,.user_fe_allowed{background-color:#dc381d;padding:3px 7px;border-radius:20px;color:#fff;font-weight:500;font-size:smaller;margin-left:5px}.user_info_trust{background-color:green}.user_fe_allowed{background-color:gray}.setp{margin:0;padding:5px 0 0 0}.setp1{padding:0}.bold1{font-weight:500}.user_info_right{float:right;margin-top:-15px}.user_info_right ul{list-style:none;float:right;margin:0;padding-right:20px}.user_info_right ul li input[type="submit"]{outline:none;border-bottom:2px solid #ccc;border-radius:5px;font-weight:700}.seller_rating{width:49.5%;float:left}.seller_rating table{border-collapse:collapse;width:99.5%}.seller_rating th,.seller_rating td{text-align:center;padding:2px;color:#000;font-size:12px;width:25%;font-weight:400;background-color:#fff}.seller_rating th{background-color:#e6e6e6;color:#4a4e51}.seller_rating td{text-align:center;color:#d00000}.seller_rating td:nth-child(1){text-align:left;color:#000}.headfeed{margin:2px 0}.headfeedSpan{font-size:12px;font-weight:normal}.headfeedSpanInput{float:right;padding-right:10px}.headbutton{outline:none;border-bottom:2px solid #ccc;border-radius:5px;font-weight:700}.buyer_statistics{width:50%;float:left}.buyer_statistics table{border-collapse:collapse;width:100%}.buyer_statistics td{padding:2px;color:#000;font-size:12px;width:40%;font-weight:400;background-color:#fff}.buyer_statistics th{padding:2px 15px 2px 2px;color:#4a4e51;font-size:12px;width:40%;font-weight:400;background-color:#e6e6e6;text-align:right}.rating_star{width:100%}.rating_star table{border-collapse:collapse;width:100%}.rating_star th,.rating_star td{padding:2px;color:#000;font-size:12px;font-weight:600;background-color:#fff;width:20%}.rating_star th{background-color:#e6e6e6;text-align:left}.rating_star td i{font-size:16px}.seth1Detail{margin:10px 0 0;padding:0;box-shadow:0 0 15px #ccc;font-size:14px}.detail_Rating td i{font-size:16px}.tabcontent_user_feedback{padding:10px 0 0;width:100%;margin-bottom:15px}.tabcontent_user_feedback p{height:auto}.tabcontent_user_feedback textarea{width:500px;height:800px;border:none;resize:none}.hide{display:none}.user_feedbackTbl{border-collapse:collapse;width:100%}.user_feedbackTbl tr{border-bottom:1px solid #ccc}.user_feedbackTbl th{padding:2px;color:#000;font-size:12px;font-weight:bold;background-color:#e6e6e6;text-align:left}.user_feedbackTbl td{padding:2px;color:#000;font-size:12px;font-weight:600;background-color:#fff;text-align:left}.user_feedbackTbl td i{font-size:16px}.feedbackTbl_star table{border-collapse:collapse;width:100%}.feedbackTbl_star th,.feedbackTbl_star td{padding:2px;color:#000;font-size:12px;font-weight:600;background-color:#fff;width:33%}.feedbackTbl_star tr{border:none}.feedbackTbl_star th{background-color:#f7f6f6}.feedbackTbl_star td i{font-size:16px}.feedbackTbl_star td:nth-child(n){width:33%}.feedback_msg{padding-right:10px;text-align:justify}.btnlist{padding:2px 8px;line-height:2;border:1px solid #000;background-color:#f7f6f6;color:#000}.btnlist:hover{background-color:#ccc}.newmsg{width:74%;border:none;font-size:larger;height:auto;background-color:inherit}.userdiv{padding:5px 0;width:100%}.newmsg input[type="text"]{padding:5px;width:99%;font-weight:600;outline:none}.newmsg textarea{padding:5px;font-family:Calibri;font-size:inherit;width:99%;outline:none}.newmsg select{padding:5px;font-family:Calibri;font-size:inherit;width:99%;outline:none}.dropdown{width:99%;padding-left:inherit;height:38px;font-weight:900}.newmsg input[type="submit"]{float:right;width:25%;margin:5px 4px}.createLeft{width:65%;float:left}.createRight{width:25%;float:right}.create_section{padding:10px;text-align:center;font-size:small}.SupportProces{width:max-content;background-color:#67bac7;padding:3px;border-radius:20px;color:#fff;font-weight:500;margin-right:5px}.italic{font-style:italic}.supportP{padding:3px 6px;font-size:larger;font-weight:600}.SupportMsg{border:1px solid #d4d0d0;margin:10px 0;background-color:#f5f3f3}.SupportMsg p{text-align:justify}.SupportMsgInput{padding:10px}.textareaCss{width:100%}.replyBtn_s{font-weight:600;font-size:13px;border:1px solid #d00000;border-radius:5px;background-color:#d00000;color:#fff;padding:5px 40px}.closeBtn{font-weight:600;font-size:13px;background-color:#ccc;color:#000;border:1px solid #ddd;padding:5px 20px;border-radius:5px}.Seth1margin{margin:5px 0}.table_margin{margin:10px 0}.table_margin table{border-collapse:collapse;width:100%}.table_margin th,.table_margin td{padding:5px 2px;color:#000;font-size:12px;font-weight:600;background-color:#fff}.table_margin th{background-color:#ccc;font-weight:700;text-align:left}.table_margin td:nth-child(1){padding-left:12px}.table_margin th:nth-child(1){width:8%}.table_margin td:nth-child(6){text-align:center}.table_margin th:nth-child(6){text-align:center}.table_margin td i{font-size:18px;color:red}.ticketformpad{padding:4px 1px}.table_margin table tr{border-bottom:1px solid #ccc}.Contact-page{border:1px solid #e8e0e0;border-radius:5px;margin-bottom:10px;overflow:auto}.Contact-Head{margin:5px;border:1px solid #e8e0e0;height:30px;background-color:#f9f9f9}.Contact-logo{width:3%;float:left;display:inline-block;margin:5px 10px;font-size:16px}.Contact-Head img{width:20px;height:20px;padding:5px;float:left}.Contact-head h3{width:70%;float:left;color:#565657;font-weight:700;line-height:30px;margin-top:0;display:inline-block}.Contact_margin{margin:0 0 0 18px}.btn_Contact{float:right;margin-right:2em;margin-bottom:5px}.warningMsg{font-weight:100!important;color:red}.Privacy_margin{margin:0 20px 20px 20px}.Question_FAQ{margin:0;padding:0;font-size:18px;font-weight:500}.Answer_FAQ{margin:10px 0;padding:0;font-size:16px}.ins_fdbk_label{width:12%;float:left;font-size:small;line-height:2}.ins_fdbk_txtbox{width:35%;float:left;margin-bottom:20px;margin-right:20px}.ins_fdbk_txtbox input[type="text"]{width:95%;padding:5px}.ins_fdbk_Combo{width:18%;float:left;margin-bottom:15px;margin-right:21px}.ins_fdbk_Combo select{width:95%;padding:5px}.btnfeedback{float:right;margin-right:27px;padding:5px 50px}.tbluserlist{margin:10px 0}.tbluserlist table{border-collapse:collapse;width:100%}.tbluserlist table th{padding:12px 5px;color:#000;font-weight:700;font-size:14px;font-family:inherit;font-weight:600;background-color:#ccc;text-align:left}.tbluserlist table td{padding:12px 5px;color:#000;font-size:13px;font-weight:600;background-color:#fff}.tbluserlist table tr{border-bottom:1px solid #ccc}.tbluserlist td i{font-size:25px;color:red}.tbluserlist td:nth-child(1){width:7%}.tbluserlist td:nth-child(2){width:35%}.tbluserlist td:nth-child(3){width:25%}.tbluserlist td:nth-child(4){text-align:center}.tbluserlist th:nth-child(4){text-align:center}.nav{border-top-left-radius:5px;border-top-right-radius:5px;background-color:#42464d;margin:0}.nav ul{list-style:none;margin:0 -20px;position:relative;display:inline-block}.nav li{float:left}.nav a{margin-right:20px;color:#cecece;display:inline-block;float:left;text-decoration:none;line-height:50px;font-size:14px}#primary_nav_wrap{border-top-left-radius:5px;background-color:#42464d;height:50px}#primary_nav_wrap ul{list-style:none;margin:0;padding:0 0 0 15px;z-index:1}#primary_nav_wrap ul a{padding:0 10px;color:#cecece;display:inline-block;float:left;text-decoration:none;line-height:50px;font-size:14px}#primary_nav_wrap ul li{position:relative;float:left;margin-right:10px}#primary_nav_wrap ul li:hover{background:#42464d}#primary_nav_wrap ul ul{display:none;position:absolute;top:100%;left:0;background:#42464d;padding:0}#primary_nav_wrap ul ul li{width:185px}#primary_nav_wrap ul ul a{width:175px;display:block}#primary_nav_wrap ul ul a:hover{background-color:#4a4e51}#primary_nav_wrap ul li:hover>ul{display:block}.sub_head_inner_header{height:38px;background-color:#fff;margin:18px 15px 18px 15px;border:1px solid #e8e0e0;border-radius:5px}.sub_head_inner_header h3{float:left;color:#d00000;font-weight:bolder;line-height:9px;display:inline-block;font-size:14px}.sub_head_arrow{border:1px solid #ccc;border-width:0 1px 1px 0;padding:12px}.right_arrow{transform:rotate(-45deg);-webkit-transform:rotate(-45deg);float:left;margin:5px 20px 0 0}.fa-fontSet{float:left;line-height:35px;padding-left:10px;padding-top:7px}.sitemap{float:right;padding-right:10px;padding-top:3px}.sub_head_inner_header i{font-size:25px}.check{float:left}.check p:before{content:"\203A";font-size:80px;color:#f1f1f1;line-height:15px;font-weight:100}.shipping_options table{border-collapse:collapse;width:100%}.shipping_options table th{padding:5px;font-size:12px;font-weight:bold;background-color:#ececec}.shipping_options table td{font-size:12px;background-color:#fff}.shipping_options table select{width:100%}.shipping_options td i{font-size:25px;color:red}.shipping_options tr, .shipping_options td:nth-child(1){width:55%}.shipping_options tr, .shipping_options td:nth-child(2){width:15%}.shipping_options tr, .shipping_options td:nth-child(3){width:15%}.shipping_options tr, .shipping_options td:nth-child(4){width:17%}.marginShip{margin-bottom:10px}.tags{background:#f9f9f9;padding:5px;font-weight:initial;text-align:center;margin:2px;border-radius:3px;color:#de6831;text-transform:capitalize}.tagsDiv{margin-top:10px}.toogle{border-radius:3px;border:1px solid #f0f0f0;background:#18c518;color:#fff;padding:2px 5px;font-size:smaller}.disable{cursor:not-allowed}.redBell{color:red!important}.regerrordiv{margin-left:12em;margin-top:-8px}.notification_table{border-collapse:collapse;margin:30px 0 10px 0}.notification_table tr{border-top:1px solid #e8e0e0;display:inline-block}.notification_table td{font-size:12px;font-weight:600;color:#d00000;text-align:center;padding:2px}.noti_color td{font-size:13px;background-color:#fdfda0;color:#d0310d;font-weight:700}.notification_table td:nth-child(1){width:170px}.notification_table td:nth-child(2){width:590px}.notification_table td:nth-child(3){width:55px}.notification_table td:nth-child(4){width:55px}.notification_table tr:last-child{border-bottom:1px solid #e8e0e0}.product_list_info{border-collapse:collapse;width:100%}.product_list_info tr{border-bottom:1px dotted #ccc}.product_list_info th,.product_list_info td{text-align:left;padding:5px;color:#000;font-size:14px}.admin-color{background-color:#0d0187}.mod-color{background-color:#f9d9b0;color:#000}.vendor-color{background-color:#3cb83c}.level-9{background-color:#6cb392}.level-8{background-color:#ae8111}.level-7{background-color:#737310}.level-6{background-color:#5c5cb8}.level-5{background-color:#a95f5f}.level-4{background-color:#c36161}.level-3{background-color:#428bca}.level-2{background-color:#5bc0de}.level-1{background-color:#5cb85c}.level-0{background-color:#888}.sales_detailbtn input[type="submit"]{font-weight:600;font-size:13px;border-radius:5px;padding:10px 20px;border:none;color:#fff}.order_finalize:hover{cursor:pointer;background-color:#006400}.order_dispute:hover{cursor:pointer;background-color:#8b0000}.sale_notes:hover{cursor:pointer}.sale_shipped:hover{cursor:pointer}.sale_cancel:hover{cursor:pointer}.sales_textarea{width:100%;height:100px;border-radius:5px;font-family:inherit;outline:none;padding:0 5px}.sales_detailTable{border-collapse:collapse;width:50%}.sales_detailTable tr{border-bottom:1px solid #ccc}.sales_detailTable td{text-align:left;padding:10px 5px;font-size:11px;background-color:rgba(254,254,254,.6);color:#000;width:50%}.sales_detailTable td:nth-child(1){font-weight:700}.feedbackwrapper{width:100%}.feedbackresponse{width:49%;float:left;margin-right:20px}.feedbackresponse ul{margin:0;padding:0}.feedbackresponse ul li{list-style:none;padding-bottom:5px}.feedbackresponse i{color:#989c9e;font-weight:400}.feedbackrating{width:40%;float:left;padding-left:40px}.ratingdiv{width:40%;float:left}.ratingdiv ul{margin:0;padding:0}.ratingdiv ul li{list-style:none;padding-bottom:5px}.ratingdiv button{font-size:medium;color:#ffd700;border:none;background:none;padding:1px}#commentdiv{width:55%}#commentdiv textarea{width:100%;border:3px solid #ccc;height:10em;font-family:inherit;font-size:inherit}#commentdiv input[type="submit"]{margin-top:5px;color:#fff;background:#1b1;border:1px solid #1b1;border-radius:3px;float:right;padding:6px 10px}#commentdiv input[type="submit"]:hover{background:#10d410;border:1px solid #10d410}#comment{width:60%;color:#4b4e50;padding-top:0}#disablebtns input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#ship,#origin{height:195px}#detailbtn{color:#000;background-color:#f9f9f9;border-color:#bfbfbf;padding:2px 9px}#detailbtn:hover{background-color:#f7f7f7}#desc_prod{text-align:justify;display:block;max-width:100%;max-height:10px;line-height:1.3;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px;white-space:nowrap}.align-right{text-align:right}#javadisbaled{display:none;height:26px;border:1px solid #e8e0e0;border-radius:5px;margin:5px;padding:5px;line-height:2}#javadisbaled i{color:#d00000;font-size:larger}.c_424648{color:#424648}.text-lower{text-transform:lowercase}.edit_list{width:26%}#imgname_wid{width:-webkit-fill-available}.edit_list img{width:100px!important;height:100px!important;margin-top:10px!important;border:5px solid #dbdbdb}button.boxclose{margin-top:2px;font-size:20px;padding:12px 3px;color:#d40303;opacity:.4;border:none;background:none;cursor:pointer}button.boxclose:hover{opacity:1;transition:.8s}.enc_msg{margin-left:5px;width:500px;resize:none;height:250px;border:1px solid #fdf9f9}.disp_p{padding:3px 6px}.avatar_img{margin-left:7px}.avatar_img button.boxclose{margin-left:10.2em!important}.off{background:#fd3c3c!important}.confirmation_box{width:400px;position:fixed;top:30%;left:50%;margin-left:-200px}.text-center{text-align:center}.tooltip:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext{visibility:hidden;width:200px;background-color:#000;color:#fff;text-align:center;padding:5px;border-radius:6px;position:absolute;z-index:1}.tooltip{position:relative;display:inline-block;border-bottom:1px dotted #00f;cursor:pointer}.btnbuy{margin-left:3px;background-color:#8b0000;border:1px solid #8b0000;background-repeat:no-repeat;background-position:left 2px center;background-size:20px;padding-left:25px}.btnbuy:hover{background-color:red;cursor:pointer}.btnQueue{margin-left:3px;background-color:green;border:1px solid green;font-weight:600;font-size:12px;border-radius:5px;color:#fff;padding:5px 8px}.btnQueue:hover{background-color:#5cb85c;cursor:pointer}.btnDelete{margin-left:3px;background-color:#8b0000;border:1px solid #8b0000;font-weight:600;font-size:12px;border-radius:5px;color:#fff;padding:5px 8px}.btnDelete:hover{background-color:red;border:1px solid red;cursor:pointer}.reveal-if-active{opacity:0;max-height:0;overflow:hidden}input[type="checkbox"]:checked ~ .reveal-if-active,
a.reveal ~ .reveal-if-active {opacity:1;max-height:100px;overflow:visible}.reveal-if-active2{opacity:0;max-height:0;overflow:hidden}input[type="checkbox"].second_check:checked ~ .reveal-if-active2,
a.reveal2 ~ .reveal-if-active2 {opacity:1;max-height:100px;overflow:visible}input.test{display:none;visibility:hidden}label.orderconf{display:block;padding:.5em;text-align:left;color:#666}label.orderconf:hover{color:#000}label.orderconf::before{font-family:Consolas,monaco,monospace;font-weight:bold;font-size:15px;content:"+";vertical-align:text-top;display:inline-block;width:20px;height:20px;margin-right:3px;background:radial-gradient(ellipse at center,#ccc 50%,transparent 50%);padding-left:10px}#expand{height:0;overflow:hidden;transition:height .5s}#toggle:checked ~ #expand {height:300px;word-wrap:break-word;overflow:auto}#toggle:checked ~ label::before {content:"-"}.fa-rotate-45{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.form-style-3{max-width:450px;font-family:Helvetica,Arial;font: Helvetica, Arial}.form-style-3 label{display:block;margin-bottom:10px}.form-style-3 label>span{float:left;width:100px;color:#d00000;font-weight:bold;font-size:13px;text-shadow:1px 1px 1px #fff}.form-style-3 fieldset{border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;margin:0 0 10px 0;border:1px solid #d59e71;padding:20px;background:#f6f8f9}.form-style-3 fieldset legend{color:#d00000;border-top:1px solid #d59e71;border-left:1px solid #d59e71;border-right:1px solid #d59e71;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;background:#f6f8f9;padding:0 8px 3px 8px;font-weight:normal;font-size:16px}.form-style-3 textarea{width:250px;height:100px}.form-style-3 input[type="text"],.form-style-3 input[type="date"],.form-style-3 input[type="datetime"],.form-style-3 input[type="number"],.form-style-3 input[type="search"],.form-style-3 input[type="time"],.form-style-3 input[type="url"],.form-style-3 input[type="email"],.form-style-3 select,.form-style-3 textarea{border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border:1px solid #d00000;outline:none;padding:5px 8px 5px 8px;width:55%}.form-style-3 input[type="submit"],.form-style-3 input[type="button"]{margin-bottom:10px;margin-right:10px;margin-left:10px;font-weight:600;font-size:13px;border:1px solid #d00000;border-radius:5px;padding:5px 15px;background-color:#d00000;color:#fff;cursor:pointer}.form-style-search{max-width:92%;font-family:Helvetica,Arial;font: Helvetica, Arial;padding-left:42px}.form-style-search label{display:block;margin-bottom:10px}.form-style-search label>span{width:100px;color:#d00000;font-weight:bold;font-size:13px;text-shadow:1px 1px 1px #fff;margin-top:5px}.form-style-search fieldset{border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;margin:0 0 10px 0;border:1px solid #d59e71;padding-left:20px;background:#f6f8f9;text-align:center}.form-style-search fieldset legend{color:#d00000;border-top:1px solid #d59e71;border-left:1px solid #d59e71;border-right:1px solid #d59e71;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;background:#f6f8f9;padding:0 8px 3px 8px;font-weight:normal;font-size:16px;text-align:left;font-weight:bold}.form-style-search textarea{width:250px;height:100px}.form-style-search input[type="text"],.form-style-search input[type="date"],.form-style-search input[type="datetime"],.form-style-search input[type="number"],.form-style-search input[type="search"],.form-style-search input[type="time"],.form-style-search input[type="url"],.form-style-search input[type="email"],.form-style-search select,.form-style-search textarea{border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border:1px solid #d00000;outline:none;padding:5px 8px 5px 8px}.form-style-search input[type="submit"],.form-style-search input[type="button"]{margin-bottom:10px;margin-right:10px;margin-left:10px;font-weight:600;font-size:16px;border:1px solid #d00000;border-radius:5px;padding:5px 15px;background-color:#d00000;color:#fff;cursor:pointer}.required{color:red;font-weight:normal}.autoshop_purchase_form{max-width:450px;font-family:Helvetica,Arial;font: Helvetica, Arial}.autoshop_purchase_form label{display:block;margin-bottom:10px}.autoshop_purchase_form label>span{float:left;color:#d00000;font-weight:bold;font-size:13px;text-shadow:1px 1px 1px #fff;margin-left:40px}.autoshop_purchase_form fieldset{border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;margin:0 0 10px 0;border:1px solid #d59e71;padding:20px;background:#f6f8f9}.autoshop_purchase_form fieldset legend{color:#d00000;border-top:1px solid #d59e71;border-left:1px solid #d59e71;border-right:1px solid #d59e71;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;background:#f6f8f9;padding:0 8px 3px 8px;font-weight:normal;font-size:16px}.autoshop_purchase_form textarea{width:250px;height:100px}.autoshop_purchase_form input[type="text"],.autoshop_purchase_form input[type="date"],.autoshop_purchase_form input[type="datetime"],.autoshop_purchase_form input[type="number"],.autoshop_purchase_form input[type="search"],.autoshop_purchase_form input[type="time"],.autoshop_purchase_form input[type="url"],.autoshop_purchase_form input[type="email"],.autoshop_purchase_form input[type="password"],.autoshop_purchase_form select,.autoshop_purchase_form textarea{border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border:1px solid #d00000;outline:none;width:23%}.autoshop_purchase_form input[type="submit"],.autoshop_purchase_form input[type="button"]{margin-bottom:10px;margin-right:10px;margin-left:20px;margin-top:20px;font-weight:600;font-size:13px;border:1px solid #d00000;border-radius:5px;padding:5px 15px;background-color:#d00000;color:#fff;cursor:pointer}.autoshop_table{border-collapse:collapse;width:100%;margin-bottom:10px}.autoshop_table tr{border-bottom:1px solid #ccc}.autoshop_table th{padding:2px;color:#000;font-size:12px;font-weight:bold;background-color:#e6e6e6;text-align:left}.autoshop_table td{padding:2px;color:#000;font-size:12px;font-weight:400;background-color:#fff;text-align:left;padding-top:4px}.autoshop_table tr:hover td{background-color:#ffc}.autoshop_table td i{font-size:16px}.purchased_table{border-collapse:collapse;width:100%;margin-bottom:10px}.purchased_table tr{border-bottom:1px solid #ccc}.purchased_table th{padding:2px;color:#000;font-size:12px;font-weight:bold;background-color:#e6e6e6;text-align:left}.purchased_table td{padding:2px;color:#000;font-size:12px;font-weight:400;background-color:#fff;text-align:left;padding-top:4px}.one_select{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}sup,sub{vertical-align:baseline;position:relative;top:-.4em}sub{top:.4em}
/* === font-awesome.css === */
/*!
 *  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 PATH
 * -------------------------- */

.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;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.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: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  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;
}
/* Deprecated as of 4.4.0 */
.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: #ffffff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.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;
}


/* === comments (shared) === */
.tw-comments{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--border,rgba(255,255,255,.14));}
.tw-c-heading{font-size:1.15rem;margin:0 0 1rem;font-weight:700;}
.tw-c-list{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.8rem;}
.tw-c-item{background:var(--panel,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.12));border-left:3px solid var(--primary,#3a7afe);border-radius:8px;padding:.9rem 1.1rem;}
.tw-c-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.45rem;}
.tw-c-author{font-weight:700;font-size:.92rem;}
.tw-c-time{font-size:.76rem;opacity:.6;font-variant-numeric:tabular-nums;}
.tw-c-body{font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;}
.tw-c-empty{font-size:.88rem;opacity:.65;padding:1.1rem 0;font-style:italic;}
.tw-c-form{background:var(--panel,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.12));border-radius:10px;padding:1.2rem;}
.tw-c-form-heading{font-size:1rem;margin:0 0 .3rem;font-weight:700;}
.tw-c-form-note{font-size:.8rem;opacity:.7;margin:0 0 .9rem;}
.tw-c-row{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.8rem;}
.tw-c-label{font-size:.8rem;font-weight:600;opacity:.85;}
.tw-c-input,.tw-c-textarea{width:100%;background:rgba(0,0,0,.18);border:1px solid var(--border,rgba(255,255,255,.18));border-radius:6px;padding:.55rem .7rem;color:inherit;font:inherit;box-sizing:border-box;}
.tw-c-textarea{resize:vertical;min-height:5.5rem;}
.tw-c-actions{margin-top:.4rem;}
.tw-c-submit{display:inline-block;background:var(--primary,#3a7afe);color:#fff;border:0;border-radius:6px;padding:.6rem 1.3rem;font:inherit;font-weight:600;cursor:pointer;}
.tw-c-submit:hover{filter:brightness(1.08);}
.tw-c-result{margin-top:.7rem;font-size:.85rem;min-height:1.2em;}
.tw-c-ok{color:#3ecf8e;}.tw-c-err{color:#ff6b6b;}.tw-c-loading{opacity:.7;}
@media (max-width:600px){.tw-c-meta{flex-direction:column;gap:.15rem;}}

/* === contact / ticket form + lookup (shared) === */
.ticket-form,.ticket-lookup{margin-top:1.6rem;}
.ticket-form h2,.ticket-lookup h1{font-size:1.2rem;margin:0 0 .6rem;font-weight:700;}
.ticket-form .muted,.ticket-lookup .muted{font-size:.85rem;opacity:.72;margin:0 0 1rem;line-height:1.55;}
#ticket-form,#lookup-form{display:flex;flex-direction:column;gap:.9rem;background:var(--panel,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.12));border-radius:12px;padding:1.3rem;max-width:640px;}
.tf-row{display:flex;flex-direction:column;}
.tf-row label{display:flex;flex-direction:column;gap:.32rem;font-size:.84rem;font-weight:600;opacity:.9;}
.tf-row input,.tf-row textarea{width:100%;background:rgba(0,0,0,.18);border:1px solid var(--border,rgba(255,255,255,.18));border-radius:6px;padding:.55rem .7rem;color:inherit;font:inherit;box-sizing:border-box;font-weight:400;}
.tf-row textarea{resize:vertical;min-height:6.5rem;}
.tf-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.2rem;}
.tf-actions .btn-primary,.tf-actions button[type=submit]{display:inline-block;background:var(--primary,#3a7afe);color:#fff;border:0;border-radius:6px;padding:.6rem 1.3rem;font:inherit;font-weight:600;cursor:pointer;}
.tf-actions .btn-outline{display:inline-block;border:1px solid var(--border,rgba(255,255,255,.3));border-radius:6px;padding:.55rem 1.1rem;color:inherit;text-decoration:none;font-weight:600;font-size:.9rem;}
.tf-status{font-size:.85rem;margin-top:.2rem;}
.tf-status[data-err]{color:#ff6b6b;}
.tl-card,.tl-reply{background:var(--panel,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.12));border-radius:8px;padding:.9rem 1.1rem;margin-top:.8rem;}
.tl-reply{border-left:3px solid var(--primary,#3a7afe);}
.tl-meta{font-size:.78rem;opacity:.65;margin:0 0 .3rem;}
.tl-body{font-size:.9rem;line-height:1.6;white-space:pre-wrap;}
.tl-error{color:#ff6b6b;font-size:.9rem;}


/* ===== shared extended-components overlay (.ct-* + base HTML vocabulary) ===== */

/* =====================================================================
   EXTENDED COMPONENTS — base HTML + full .ct-* vocabulary
   ---------------------------------------------------------------------
   Generated by base.extended_components_css(). Theming via palette dict.
   Wrapped under `.ct-main` so it doesn't fight the source CSS for chrome.
   ===================================================================== */

/* ---- Base HTML element styling (scoped to .ct-main) ---- */
.ct-main {
    color: #444444;
    font-family: Helvetica, Arial, sans-serif;
    line-height: 1.65;
}
.ct-main h1, .ct-main h2, .ct-main h3,
.ct-main h4, .ct-main h5, .ct-main h6 {
    color: #444444;
    margin: 1.4em 0 0.5em;
    line-height: 1.25;
    font-weight: 700;
    text-wrap: balance;
}
.ct-main h1 { font-size: 1.65rem; }
.ct-main h2 {
    font-size: 1.35rem;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8e1e0;
    position: relative;
}
.ct-main h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 60px;
    height: 2px;
    background: #d02600;
}
.ct-main h3 { font-size: 1.1rem; color: #444444; }
.ct-main h4 { font-size: 1rem; }
.ct-main h5 { font-size: 0.92rem; }
.ct-main h6 { font-size: 0.84rem; color: #777777; }
.ct-main p { margin: 0 0 0.9em; color: #444444; text-wrap: pretty; }
.ct-main strong, .ct-main b { color: #444444; font-weight: 700; }
.ct-main em, .ct-main i { font-style: italic; }
.ct-main mark {
    background: #c85d06;
    color: #444444;
    padding: 0 4px;
    border-radius: 3px;
}
.ct-main small { font-size: 0.85em; color: #777777; }
.ct-main sub, .ct-main sup { font-size: 0.75em; line-height: 0; }
.ct-main abbr[title] {
    text-decoration: underline dotted #777777;
    cursor: help;
}
.ct-main time {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-variant-numeric: tabular-nums;
    color: #777777;
}
.ct-main address {
    font-style: normal;
    color: #777777;
    margin: 0.5em 0;
}
.ct-main a {
    color: #d04c00;
    text-decoration: none;
    text-underline-offset: 2px;
}
.ct-main a:hover {
    color: #d02600;
    text-decoration: underline;
}
.ct-main hr {
    border: 0;
    border-top: 1px solid #e8e1e0;
    margin: 2em 0;
}

/* Lists */
.ct-main ul, .ct-main ol { margin: 0 0 1em 1.4em; padding: 0; }
.ct-main li { margin: 0.35em 0; }
.ct-main li::marker { color: #d02600; font-weight: 700; }
.ct-main ul ul, .ct-main ul ol,
.ct-main ol ul, .ct-main ol ol { margin: 0.3em 0 0.3em 1.2em; }
.ct-main dl { margin: 1em 0; }
.ct-main dt {
    font-weight: 700;
    color: #444444;
    margin-top: 0.7em;
}
.ct-main dd {
    margin: 0.2em 0 0.6em 1.2em;
    color: #777777;
}

/* Quotes */
.ct-main blockquote {
    margin: 1.2em 0;
    padding: 12px 18px;
    border-left: 3px solid #d02600;
    background: #f2f2f2;
    color: #777777;
    border-radius: 0 3px 3px 0;
}
.ct-main blockquote p:last-child { margin-bottom: 0; }
.ct-main blockquote cite {
    display: block;
    font-style: italic;
    color: #777777;
    margin-top: 0.5em;
    font-size: 0.9em;
}
.ct-main blockquote cite::before { content: "— "; }
.ct-main q { font-style: italic; }
.ct-main q::before { content: "\201C"; }
.ct-main q::after { content: "\201D"; }

/* Code */
.ct-main code {
    background: #efefef;
    color: #42464d;
    border: 1px solid #e8e1e0;
    padding: 1px 6px;
    border-radius: 3px;
    font-size: 0.88em;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    word-break: break-word;
}
.ct-main pre {
    background: #3d4048;
    color: #42464d;
    border: 1px solid #e8e1e0;
    padding: 14px 18px;
    border-radius: 5px;
    overflow-x: auto;
    font-size: 0.85em;
    line-height: 1.55;
    margin: 1.2em 0;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}
.ct-main pre code {
    background: transparent;
    border: 0;
    color: inherit;
    padding: 0;
    font-size: 1em;
}
.ct-main kbd {
    background: #444444;
    color: #f6f8f9;
    border-radius: 3px;
    padding: 2px 6px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.78em;
    font-weight: 700;
    box-shadow: 0 1px 0 #cecece;
}
.ct-main samp {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    background: #f2f2f2;
    padding: 1px 4px;
    border-radius: 2px;
}

/* Tables */
.ct-main table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.2em 0;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    overflow: hidden;
    font-size: 0.95em;
}
.ct-main caption {
    caption-side: top;
    padding: 0.5em 0;
    color: #777777;
    font-style: italic;
    font-size: 0.9em;
}
.ct-main thead { background: #efefef; }
.ct-main tbody tr:nth-child(even) { background: #efefef; }
.ct-main th, .ct-main td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid #e8e1e0;
    vertical-align: top;
    color: #444444;
}
.ct-main th {
    font-weight: 700;
    color: #444444;
    font-size: 0.78em;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #cecece;
}
.ct-main tbody tr:last-child td { border-bottom: 0; }

/* Figures + media */
.ct-main figure { margin: 1.4em 0; text-align: center; }
.ct-main figure img {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
}
.ct-main figcaption {
    font-size: 0.85em;
    color: #777777;
    margin-top: 0.5em;
    font-style: italic;
}
.ct-main img { max-width: 100%; height: auto; }
.ct-main video, .ct-main audio, .ct-main iframe {
    max-width: 100%;
    border-radius: 5px;
}

/* Forms */
.ct-main form { margin: 1em 0; }
.ct-main fieldset {
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 14px 16px;
    margin: 1em 0;
}
.ct-main legend {
    padding: 0 8px;
    color: #444444;
    font-weight: 700;
    font-size: 0.9em;
}
.ct-main label, .ct-main .form-label {
    display: block;
    color: #444444;
    font-size: 0.85em;
    font-weight: 600;
    margin: 10px 0 5px;
}
.ct-main input[type="text"],
.ct-main input[type="search"],
.ct-main input[type="email"],
.ct-main input[type="url"],
.ct-main input[type="tel"],
.ct-main input[type="password"],
.ct-main input[type="number"],
.ct-main input[type="date"],
.ct-main input[type="time"],
.ct-main input[type="datetime-local"],
.ct-main textarea,
.ct-main select {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    color: #444444;
    padding: 9px 12px;
    font-size: 0.9rem;
    width: 100%;
    max-width: 100%;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ct-main input:focus,
.ct-main textarea:focus,
.ct-main select:focus {
    outline: none;
    border-color: #d02600;
    box-shadow: 0 0 0 2px color-mix(in oklab, #d02600 25%, transparent);
}
.ct-main input::placeholder, .ct-main textarea::placeholder {
    color: #777777;
    opacity: 0.7;
}
.ct-main input[type="checkbox"],
.ct-main input[type="radio"] {
    accent-color: #d02600;
    width: auto;
    margin-right: 6px;
}
.ct-main input[type="file"] {
    background: transparent;
    padding: 6px 0;
}
.ct-main button,
.ct-main input[type="submit"],
.ct-main input[type="button"] {
    background: #d02600;
    color: #f2f2f2;
    border: 0;
    padding: 10px 18px;
    border-radius: 3px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.9rem;
    font-family: inherit;
    transition: opacity 0.15s ease, transform 0.1s ease;
}
.ct-main button:hover,
.ct-main input[type="submit"]:hover {
    opacity: 0.9;
}
.ct-main button:active { transform: translateY(1px); }
.ct-main output {
    display: inline-block;
    padding: 4px 8px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}
.ct-main progress, .ct-main meter {
    width: 100%;
    height: 10px;
    border-radius: 5px;
}

/* Details / summary (bare — get FAQ-accordion treatment) */
.ct-main details {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    margin: 8px 0;
    overflow: hidden;
}
.ct-main details[open] { background: #efefef; }
.ct-main details > summary {
    padding: 12px 16px;
    cursor: pointer;
    font-weight: 600;
    color: #444444;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    user-select: none;
}
.ct-main details > summary::-webkit-details-marker { display: none; }
.ct-main details > summary::after {
    content: "+";
    color: #d02600;
    font-size: 1.2em;
    font-weight: 700;
    transition: transform 0.15s ease;
}
.ct-main details[open] > summary::after { content: "\2212"; }
.ct-main details > *:not(summary) { padding: 0 16px 12px; }


/* =====================================================================
   .ct-* EXTENDED COMPONENT VOCABULARY (full coverage)
   ===================================================================== */

/* ---- Skip-link + back-to-top (chrome-side, but defined here too) ---- */
.ct-skip-link {
    position: absolute;
    left: -9999px;
}
.ct-skip-link:focus {
    position: fixed;
    top: 8px; left: 8px;
    background: #d02600;
    color: #f2f2f2;
    padding: 8px 14px;
    border-radius: 3px;
    z-index: 9999;
    text-decoration: none;
}
.ct-to-top {
    position: fixed;
    right: 18px; bottom: 18px;
    width: 44px; height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    text-decoration: none;
    z-index: 100;
    /* Self-contained themed circle: the affordance is drawn entirely by
       this rule + an inline SVG chevron (see back_to_top.html_anchor),
       so it is always visible even when no per-site PNG exists and
       renders identically under Tor "safest" (inline SVG, no JS/font). */
    background: #d02600;
    color: #f2f2f2;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.28);
    transition: opacity 0.2s ease, transform 0.2s ease,
                background 0.2s ease;
}
.ct-to-top img,
.ct-to-top .ct-to-top-ico {
    display: block;
    border: 0;
    background: transparent;
}
.ct-to-top img { width: 100%; height: 100%; }
.ct-to-top:hover {
    transform: translateY(-2px);
    text-decoration: none;
    filter: brightness(1.08);
}
.ct-to-top:focus-visible {
    outline: 2px solid #d02600;
    outline-offset: 3px;
}

/* ---- Surface + card primitives ---- */
.ct-surface, .ct-card {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 16px 18px;
    margin: 12px 0;
}
.ct-card--accent { border-left: 3px solid #d02600; }
.ct-card-title {
    color: #444444;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 8px;
}
.ct-prose { color: #444444; line-height: 1.7; max-width: 72ch; }
.ct-prose p { margin: 0 0 1.05em; }
.ct-prose p:last-child { margin-bottom: 0; }

/* Modern section rhythm — slightly tighter top, more breathing room
   between blocks. Each H2 gets a subtle subhead style. Per-replica
   color identity preserved (only spacing + typography are uniform). */
.ct-section { margin: 2.2em 0 1.6em; scroll-margin-top: 80px; }
.ct-section:first-child { margin-top: 0.4em; }
.ct-section__title {
    color: #444444;
    font-size: clamp(1.25rem, 2.2vw, 1.5rem);
    font-weight: 700;
    margin: 0 0 0.6em;
    line-height: 1.25;
    letter-spacing: -0.005em;
}
.ct-section__title--accent {
    position: relative;
    padding-left: 14px;
}
.ct-section__title--accent::before {
    content: "";
    position: absolute;
    left: 0; top: 4px; bottom: 4px;
    width: 4px;
    background: #d02600;
    border-radius: 2px;
}
.ct-section__lede {
    color: #777777;
    font-size: 1.02rem;
    margin: 0 0 1em;
    max-width: 70ch;
}
.ct-section__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: #d02600;
    color: #f2f2f2;
    font-weight: 700;
    font-size: 0.85rem;
    margin-right: 8px;
}

/* ---- Hero — modern card aesthetic. Subtle gradient overlay reads
   as "hero" via the tinted background + accent-tinted border alone.
   (Removed the full-height left-edge ::before rail — it bled past
   content on tall heros and looked like a stuck sidebar rather than
   an accent. The border + gradient give enough visual hierarchy.) */
.ct-hero {
    position: relative;
    background:
        linear-gradient(135deg,
            color-mix(in oklab, #d02600 4%, #efefef),
            #efefef 60%);
    border: 1px solid color-mix(in oklab, #d02600 12%, #e8e1e0);
    border-radius: 8px;
    /* Generous padding so the title/lede/CTAs never kiss the border.
       Earlier 36/32 produced visible text-edge collisions on every
       replica. Use 48/44 desktop, 32/24 mobile. */
    padding: 48px 44px;
    margin: 0 0 1.8em;
    overflow: hidden;
    isolation: isolate;
}
@media (max-width: 760px) {
    .ct-hero { padding: 32px 24px; }
}
@media (max-width: 480px) {
    .ct-hero { padding: 24px 18px; }
}
.ct-hero h1, .ct-hero__title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    margin: 0 0 0.4em;
    color: #444444;
    line-height: 1.2;
    text-wrap: balance;
}
.ct-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #d02600;
    margin: 0 0 12px;
    padding: 4px 12px;
    background: #f2f2f2;
    border: 1px solid #d02600;
    border-radius: 3px;
}
.ct-hero__lede {
    font-size: 1.02rem;
    color: #777777;
    max-width: 60ch;
    margin: 0 0 16px;
    line-height: 1.6;
}
.ct-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 8px;
}
.ct-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #d02600;
    color: #f2f2f2;
    padding: 10px 18px;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none;
}
.ct-hero__cta:hover {
    opacity: 0.9;
    color: #f2f2f2;
    text-decoration: none;
}
.ct-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: center;
}
@media (min-width: 900px) {
    .ct-hero--split .ct-hero__grid { grid-template-columns: 1.4fr 1fr; }
}
/* Direct-child layout fallback: the AI often emits a plain `.ct-hero`
   WITHOUT the `__grid`/`--split` scaffold, which left the title/lede/CTAs
   in a cramped narrow flow that read as "squished + pushed left". Give the
   hero's own content a comfortable measure and consistent vertical rhythm so
   even a bare hero fills its box and reads intentionally. Scoped to direct
   children so it never fights an explicit __grid when one IS present. */
.ct-hero > h1, .ct-hero > h2,
.ct-hero > p, .ct-hero > .ct-hero__lede {
    max-width: 68ch;
}
.ct-hero > * + * { margin-top: 0.85em; }
.ct-hero > .ct-hero__actions,
.ct-hero > .ct-cta-bar { margin-top: 1.2em; }
.ct-hero__aside {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 16px 18px;
    /* Hero aside content (rate tables, status pills) sometimes computes
       a min-content wider than the grid track and pushes the aside out
       beyond the page container's right edge on desktop. Hard-cap it. */
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
}
.ct-hero__aside > * { max-width: 100%; min-width: 0; }

/* ---- Feature card — gentle elevation + hover lift. The shadow
   uses the page bg as its base so it works on light AND dark themes
   without manual tuning per replica. */
.ct-feature-card {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 18px 20px;
    margin: 10px 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04),
                0 1px 6px rgba(0, 0, 0, 0.025);
    transition: transform 0.15s ease, box-shadow 0.15s ease,
                border-color 0.15s ease;
}
.ct-feature-card:hover {
    transform: translateY(-1px);
    border-color: color-mix(in oklab, #d02600 35%, #e8e1e0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06),
                0 4px 14px rgba(0, 0, 0, 0.05);
}
.ct-feature-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    border-radius: 8px;
    background: #d02600;
    color: #f2f2f2;
    margin-bottom: 10px;
}
.ct-feature-card__title {
    color: #444444;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 6px;
}
.ct-feature-card__text {
    color: #777777;
    margin: 0;
    font-size: 0.95em;
}

/* ---- Network statistics ({stats} component) ---- */
.ct-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: 12px;
    margin: 20px 0;
}
.ct-stat {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 14px 16px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
}
.ct-stat-value {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    color: #d02600;
}
.ct-stat-label {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #777777;
}

/* ---- Operational updates ({updates} component) ---- */
.ct-updates {
    list-style: none;
    margin: 20px 0;
    padding: 0;
}
.ct-update {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    padding: 10px 0;
    border-bottom: 1px solid #e8e1e0;
}
.ct-update:last-child { border-bottom: none; }
.ct-update-when {
    font-family: ui-monospace, monospace;
    font-size: 0.78rem;
    color: #777777;
    flex: 0 0 auto;
}
.ct-update-title { font-weight: 600; color: #444444; }
.ct-update-meta {
    font-size: 0.78rem;
    color: #777777;
    margin-left: auto;
}

/* ---- Callout ---- */
.ct-callout {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-left: 4px solid #d02600;
    border-radius: 3px;
    padding: 14px 18px;
    margin: 16px 0;
    display: flex;
    gap: 14px;
}
.ct-callout__mark {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    width: 24px; height: 24px;
    color: #d02600;
    flex-shrink: 0;
    margin-top: 2px;
}
.ct-callout__mark .ct-icon { width: 20px; height: 20px; }
.ct-callout__title {
    color: #444444;
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.ct-callout__text {
    color: #444444;
    margin: 0;
    font-size: 0.95em;
}
.ct-callout--warn   { border-left-color: #c85d06; }
.ct-callout--warn .ct-callout__mark    { color: #c85d06; }
.ct-callout--danger { border-left-color: #d00000; }
.ct-callout--danger .ct-callout__mark  { color: #d00000; }
.ct-callout--success { border-left-color: #00bb00; }
.ct-callout--success .ct-callout__mark { color: #00bb00; }
.ct-callout--info   { border-left-color: #5bc0de; }
.ct-callout--info .ct-callout__mark    { color: #5bc0de; }

/* ---- Alert (compact callout) ---- */
.ct-alert {
    padding: 10px 14px;
    border-radius: 3px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    color: #444444;
    margin: 10px 0;
    font-size: 0.92em;
}

/* ---- Pill + Tag + Status dot ---- */
.ct-pill, .ct-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    background: #f2f2f2;
    color: #444444;
    border: 1px solid #e8e1e0;
    font-size: 0.78em;
    font-weight: 600;
    line-height: 1.4;
}
.ct-tag { background: #efefef; }
.ct-status-dot {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #777777;
    margin-right: 6px;
    vertical-align: middle;
    flex-shrink: 0;
}
.ct-status-dot.is-online  { background: #00bb00; }
.ct-status-dot.is-offline { background: #d00000; }
.ct-status-dot.is-degraded{ background: #c85d06; }

/* ---- Stat ---- */
.ct-stat {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 14px 16px;
    text-align: left;
    margin: 8px 0;
}
.ct-stat__label {
    color: #777777;
    font-size: 0.78em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    margin: 0 0 6px;
}
.ct-stat__value {
    color: #444444;
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}
.ct-stat__delta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85em;
    color: #00bb00;
    margin-left: 6px;
}
.ct-stat__delta.is-down { color: #d00000; }
.ct-stat__hint {
    color: #777777;
    font-size: 0.82em;
    margin-top: 4px;
}
.ct-stat--hero .ct-stat__value { font-size: 2.2rem; }

/* ---- Meta strip ---- */
.ct-meta-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    padding: 10px 14px;
    border-radius: 3px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    color: #777777;
    font-size: 0.85em;
    margin: 12px 0;
    align-items: center;
}
.ct-meta-strip__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ---- Pull-quote ---- */
.ct-pull-quote {
    border-left: 4px solid #d02600;
    background: #efefef;
    color: #444444;
    padding: 18px 22px;
    margin: 1.6em 0;
    border-radius: 0 5px 5px 0;
    font-size: 1.1rem;
    font-style: italic;
    line-height: 1.5;
}
.ct-pull-quote::before {
    content: "\201C";
    color: #d02600;
    font-size: 2em;
    line-height: 0.8;
    margin-right: 6px;
    vertical-align: -0.3em;
    font-style: normal;
}
.ct-pull-quote cite {
    display: block;
    color: #777777;
    font-style: normal;
    font-size: 0.85em;
    margin-top: 8px;
}
.ct-pull-quote cite::before { content: "\2014 "; }

/* ---- CTA bar ---- */
.ct-cta-bar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: center;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-left: 4px solid #d02600;
    border-radius: 5px;
    padding: 16px 20px;
    margin: 1.4em 0;
}
.ct-cta-bar__title {
    color: #444444;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 4px;
}
.ct-cta-bar__text {
    color: #777777;
    margin: 0;
    font-size: 0.92em;
}
.ct-cta-bar > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #d02600;
    color: #f2f2f2;
    padding: 10px 16px;
    border-radius: 3px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.ct-cta-bar > a:hover { opacity: 0.9; color: #f2f2f2; text-decoration: none; }
@media (max-width: 640px) {
    .ct-cta-bar {
        /* `1fr` alone won't shrink below child min-content; use
           `minmax(0, 1fr)` so the grid track can collapse and let
           long onion URLs wrap inside the column. */
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ---- Onion card (primary endpoint + per-onion entries) ---- */
.ct-onion-card {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 14px 16px;
    margin: 14px 0;
}
.ct-primary-endpoint, .ct-onion-card.is-primary {
    border-left: 4px solid #d02600;
    background: color-mix(in oklab, #d02600 6%, #f2f2f2);
}
.ct-onion-card__label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #d02600;
    font-weight: 700;
    margin-bottom: 6px;
}
.ct-onion-card__url {
    display: block;
    background: #3d4048;
    color: #42464d;
    padding: 10px 12px;
    border-radius: 3px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 13px;
    word-break: break-all;
}
.ct-onion-card__copy {
    display: inline-block;
    background: #efefef;
    color: #444444;
    border: 1px solid #e8e1e0;
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}
.ct-onion-card__verify {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #00bb00;
    font-size: 0.85em;
    font-weight: 600;
}

/* ---- Onion table + mirror table ---- */
.ct-onion-table, .ct-mirror-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    overflow: hidden;
    font-size: 0.92em;
}
.ct-onion-table th, .ct-mirror-table th {
    background: #efefef;
    text-align: left;
    padding: 10px 14px;
    color: #444444;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.78em;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #cecece;
}
.ct-onion-table td, .ct-mirror-table td {
    padding: 10px 14px;
    border-top: 1px solid #e8e1e0;
    vertical-align: top;
    color: #444444;
}
.ct-onion-table tr:hover td, .ct-mirror-table tr:hover td {
    background: #efefef;
}

/* ---- Compare table ---- */
.ct-compare-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    overflow: hidden;
}
.ct-compare-table th {
    background: #efefef;
    padding: 10px 14px;
    text-align: left;
    color: #444444;
    font-weight: 700;
    border-bottom: 2px solid #cecece;
}
.ct-compare-table td {
    padding: 10px 14px;
    border-top: 1px solid #e8e1e0;
    color: #444444;
}
.ct-compare-table th:first-child,
.ct-compare-table td:first-child {
    background: #efefef;
    font-weight: 600;
}

/* ---- Verified strip ---- */
.ct-verified-strip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border: 1px solid #00bb00;
    background: color-mix(in oklab, #00bb00 12%, #f2f2f2);
    color: #444444;
    border-radius: 5px;
    font-size: 0.88em;
    margin: 12px 0 18px;
}
.ct-verified-strip::before {
    content: "";
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #00bb00;
}
.ct-verified-strip time {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-weight: 700;
    color: #444444;
}

/* ---- FAQ (uses <details>) ---- */
.ct-faq { margin: 1em 0; }
.ct-faq details {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    margin: 8px 0;
    overflow: hidden;
}
.ct-faq details[open] { background: #efefef; }
.ct-faq summary {
    padding: 12px 16px;
    cursor: pointer;
    font-weight: 600;
    color: #444444;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.ct-faq summary::-webkit-details-marker { display: none; }
.ct-faq summary::after {
    content: "+";
    color: #d02600;
    font-size: 1.2em;
    font-weight: 700;
}
.ct-faq details[open] summary::after { content: "\2212"; }
.ct-faq details > *:not(summary) { padding: 0 16px 12px; }

/* ---- Tabs (CSS-only via :target) ---- */
.ct-tabs {
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    overflow: hidden;
    margin: 1em 0;
}
.ct-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    background: #efefef;
    border-bottom: 1px solid #e8e1e0;
    padding: 4px 8px 0;
    gap: 4px;
}
.ct-tabs__nav a {
    padding: 8px 14px;
    color: #777777;
    text-decoration: none;
    border-radius: 3px 3px 0 0;
    font-weight: 600;
    font-size: 0.9em;
    border: 1px solid transparent;
    border-bottom: 0;
}
.ct-tabs__nav a.is-active,
.ct-tabs__nav a:hover {
    color: #444444;
    background: #f2f2f2;
    border-color: #e8e1e0;
}
.ct-tabs__panel {
    padding: 16px 18px;
    background: #f2f2f2;
}

/* ---- Steps (numbered process list) ---- */
.ct-steps {
    counter-reset: step-counter;
    list-style: none;
    padding: 0;
    margin: 1.2em 0;
}
.ct-steps > li {
    position: relative;
    padding-left: 44px;
    margin: 0 0 14px;
    min-height: 32px;
}
.ct-steps > li::before {
    content: counter(step-counter);
    counter-increment: step-counter;
    position: absolute;
    left: 0; top: -2px;
    width: 30px; height: 30px;
    border-radius: 50%;
    background: #d02600;
    color: #f2f2f2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9em;
}

/* ---- Timeline ---- */
.ct-timeline {
    list-style: none;
    padding: 0;
    margin: 1.2em 0;
    position: relative;
}
.ct-timeline::before {
    content: "";
    position: absolute;
    left: 9px; top: 6px; bottom: 6px;
    width: 2px;
    background: #e8e1e0;
}
.ct-timeline > li {
    position: relative;
    padding-left: 36px;
    margin: 0 0 18px;
}
.ct-timeline > li::before {
    content: "";
    position: absolute;
    left: 4px; top: 6px;
    width: 12px; height: 12px;
    border-radius: 50%;
    background: #d02600;
    border: 2px solid #f6f8f9;
    box-sizing: content-box;
}

/* ---- Trust row (logos / partner row) ---- */
.ct-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    padding: 12px 14px;
    margin: 1em 0;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    background: #f2f2f2;
    align-items: center;
}
.ct-trust-row > * {
    color: #777777;
    font-size: 0.85em;
    font-weight: 600;
}

/* ---- Breadcrumb ---- */
.ct-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0 0 1em;
    font-size: 0.85em;
    color: #777777;
}
.ct-breadcrumb a {
    color: #d04c00;
    text-decoration: none;
}
.ct-breadcrumb a:hover { color: #d02600; }
.ct-breadcrumb__sep {
    color: #777777;
    user-select: none;
    margin: 0 4px;
}

/* ---- Empty state ---- */
.ct-empty-state {
    text-align: center;
    padding: 36px 18px;
    background: #f2f2f2;
    border: 1px dashed #cecece;
    border-radius: 5px;
    color: #777777;
    margin: 1.2em 0;
}
.ct-empty-state__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px; height: 48px;
    border-radius: 50%;
    background: #efefef;
    color: #777777;
    margin: 0 auto 12px;
}
.ct-empty-state__title {
    color: #444444;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 6px;
}

/* ---- Codeblock (semantic wrapper around <pre>/<code>) ---- */
.ct-codeblock {
    background: #3d4048;
    color: #42464d;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 12px 16px;
    overflow-x: auto;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.85em;
    margin: 1em 0;
}
.ct-codeblock--pgp {
    border-left: 3px solid #8b3300;
    font-size: 0.82em;
    white-space: pre-wrap;
    word-break: break-all;
}

/* ---- Divider (named horizontal separator with optional icon) ---- */
.ct-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 1.6em 0;
    color: #777777;
    font-size: 0.82em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}
.ct-divider::before, .ct-divider::after {
    content: "";
    flex: 1 1 0;
    height: 1px;
    background: #e8e1e0;
}
.ct-divider__icon {
    display: inline-flex;
    width: 18px; height: 18px;
    color: #d02600;
}

/* ---- Key-Value list ---- */
.ct-kv {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 16px;
    margin: 1em 0;
    padding: 12px 14px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    font-size: 0.92em;
}
.ct-kv dt {
    color: #777777;
    font-weight: 600;
}
.ct-kv dd {
    margin: 0;
    color: #444444;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    word-break: break-all;
}

/* ---- Meter ---- */
.ct-meter {
    width: 100%;
    height: 10px;
    background: #efefef;
    border-radius: 5px;
    overflow: hidden;
    margin: 6px 0;
}
.ct-meter__bar {
    height: 100%;
    background: #d02600;
    border-radius: 5px;
    transition: width 0.3s ease;
}

/* ---- Layout (sidebar + main, generic) ---- */
.ct-layout {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin: 1.2em 0;
}
.ct-layout__aside { flex: 0 0 220px; }
.ct-layout__main { flex: 1 1 auto; min-width: 0; }
@media (max-width: 760px) {
    .ct-layout { flex-direction: column; }
    .ct-layout__aside { flex: 1 1 auto; width: 100%; }
}

/* ---- Grid (generic 2/3/4-col responsive grid) ---- */
.ct-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
    margin: 1em 0;
}
@media (min-width: 600px) {
    .ct-grid--2 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 760px) {
    .ct-grid--3 { grid-template-columns: repeat(3, 1fr); }
    .ct-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/* ---- Jump nav + TOC ---- */
.ct-jump-nav, .ct-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 10px 14px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    margin: 1em 0;
    font-size: 0.85em;
}
.ct-jump-nav a, .ct-toc a {
    color: #d04c00;
    text-decoration: none;
    padding: 2px 6px;
    border-radius: 3px;
}
.ct-jump-nav a:hover, .ct-toc a:hover {
    background: #efefef;
    color: #d02600;
}
.ct-toc { display: block; }
.ct-toc ul { list-style: none; padding-left: 16px; margin: 4px 0; }
.ct-toc > li { margin: 4px 0; }

/* ---- Icon (semantic wrapper for SVG/font-icons) ---- */
.ct-icon {
    display: inline-flex;
    width: 16px; height: 16px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    vertical-align: -0.18em;
    color: currentColor;
}
.ct-icon--lg { width: 22px; height: 22px; }
.ct-icon--xl { width: 32px; height: 32px; }
/* SVG-icon variants are injected via masks in the chrome CSS — placeholder
   class so the sanitiser keeps them alive even when no rules match. */
.ct-icon--svg-check, .ct-icon--svg-shield, .ct-icon--svg-info,
.ct-icon--svg-key, .ct-icon--svg-link, .ct-icon--svg-activity,
.ct-icon--svg-file-check, .ct-icon--svg-server, .ct-icon--svg-arrow {
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}


/* =====================================================================
   DEFENSIVE DEFAULTS — guarantee that any utility class the AI emits
   (Bootstrap/Tailwind-style) renders meaningfully, even if the source
   replica's CSS doesn't define it. Scoped to .ct-main so chrome
   utility usage is unaffected.

   This is the "safety net" that turns AI-emitted bare utility classes
   into presentable layouts. If a replica's source CSS already provides
   the rule, that wins via specificity.
   ===================================================================== */

/* ---- Semantic HTML5 element defaults (when inside main) ---- */
.ct-main section {
    padding: 14px 0;
    margin: 14px 0;
}
.ct-main section + section {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #e8e1e0;
}
.ct-main section:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.ct-main aside {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 16px 18px;
    margin: 12px 0;
}
.ct-main aside + aside { margin-top: 14px; }
.ct-main aside h3 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 0.92rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #777777;
}
.ct-main aside nav ul,
.ct-main aside > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ct-main aside nav li a {
    display: block;
    padding: 7px 10px;
    color: #444444;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.15s ease, color 0.15s ease;
    border-left: 3px solid transparent;
}
.ct-main aside nav li a:hover {
    background: #efefef;
    color: #d02600;
    border-left-color: #d02600;
    text-decoration: none;
}
.ct-main aside > ul > li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #e8e1e0;
    font-size: 0.92em;
}
.ct-main aside > ul > li:last-child { border-bottom: 0; }
.ct-main aside > ul > li > span:last-child {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    color: #444444;
    font-weight: 600;
}

/* ---- Sidebar-row layout when <aside> + <main> are siblings ---- */
.ct-main > div:has(> aside + main),
.ct-main > div.mx-auto:has(aside) {
    display: flex;
    flex-direction: column;
    gap: 18px;
    align-items: stretch;
    margin: 12px 0;
}
@media (min-width: 900px) {
    .ct-main > div:has(> aside + main),
    .ct-main > div.mx-auto:has(aside),
    .ct-main > div.lg\:flex-row:has(aside) {
        flex-direction: row;
        align-items: flex-start;
    }
    .ct-main > div:has(> aside + main) > aside,
    .ct-main > div.mx-auto:has(aside) > aside,
    .ct-main > div.lg\:flex-row:has(aside) > aside {
        flex: 0 0 250px;
    }
    .ct-main > div:has(> aside + main) > main,
    .ct-main > div.mx-auto:has(aside) > main,
    .ct-main > div.lg\:flex-row:has(aside) > main {
        flex: 1 1 auto;
        min-width: 0;
    }
}

/* ---- Adjacent <div class="border"> siblings → 2-col grid ---- */
.ct-main section > div:has(> div.border + div.border) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 14px 0;
}
@media (min-width: 640px) {
    .ct-main section > div:has(> div.border + div.border) {
        grid-template-columns: 1fr 1fr;
    }
}

/* ---- data-rc-slot panels (server-rendered slots) ----
   Dual selectors keep already-published pages (cached CSS targets the
   legacy data-mitm-slot) styled until they're rebuilt. */
.ct-main [data-rc-slot]:not(span):not(time),
.ct-main [data-mitm-slot]:not(span):not(time) {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-left: 3px solid #d02600;
    border-radius: 5px;
    padding: 14px 16px;
    margin: 14px 0;
}
.ct-main [data-rc-slot] h3,
.ct-main [data-mitm-slot] h3 {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 1rem;
    color: #444444;
}
.ct-main [data-rc-slot] > ul,
.ct-main [data-mitm-slot] > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ct-main [data-rc-slot] > ul > li,
.ct-main [data-mitm-slot] > ul > li {
    padding: 8px 0;
    border-bottom: 1px solid #e8e1e0;
}
.ct-main [data-rc-slot] > ul > li:last-child,
.ct-main [data-mitm-slot] > ul > li:last-child { border-bottom: 0; }
.ct-main [data-rc-slot] > ul > li > span:first-child,
.ct-main [data-mitm-slot] > ul > li > span:first-child {
    font-weight: 700;
    color: #444444;
    margin-right: 6px;
}

/* ---- Anchor styled as button (a.py-3 / a.btn etc) ---- */
.ct-main a[class*="rounded"],
.ct-main a[class*="py-"][class*="border"],
.ct-main a.btn,
.ct-main a[class*="bg-"][class*="rounded"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 0.15s, background 0.15s;
}
.ct-main a[class*="text-white"][class*="rounded"] {
    background: #d02600;
    color: #f2f2f2;
}
.ct-main a[class*="text-white"][class*="rounded"]:hover {
    opacity: 0.92;
    color: #f2f2f2;
    text-decoration: none;
}
.ct-main a[class*="border"][class*="rounded"]:not([class*="bg-"]):not([class*="text-white"]) {
    background: transparent;
    color: #d02600;
    border: 1px solid #d02600;
}
.ct-main a[class*="border"][class*="rounded"]:not([class*="bg-"]):not([class*="text-white"]):hover {
    background: #d02600;
    color: #f2f2f2;
    text-decoration: none;
}

/* ---- Action button row (any flex-wrap container with multiple anchors) ---- */
.ct-main div[class*="flex-wrap"]:has(> a + a),
.ct-main div[class*="gap-"]:has(> a + a) {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0;
}

/* ---- Bootstrap accordion fallback (used when DH ships .accordion-* HTML) ---- */
.ct-main .accordion {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 14px 0;
}
.ct-main .accordion-item,
.ct-main .accordion > div {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 12px 16px;
}
.ct-main .accordion-item > h3,
.ct-main .accordion > div > h3,
.ct-main .accordion-header {
    margin: 0 0 6px;
    font-size: 1rem;
    color: #444444;
    position: relative;
    padding-right: 20px;
}
.ct-main .accordion-item > h3::after,
.ct-main .accordion > div > h3::after,
.ct-main .accordion-header::after {
    content: "+";
    position: absolute;
    right: 0; top: 0;
    color: #d02600;
    font-weight: 700;
}
.ct-main .accordion-body,
.ct-main .accordion-item > p,
.ct-main .accordion > div > p {
    margin: 0;
    color: #777777;
    font-size: 0.92em;
    line-height: 1.55;
}

/* ---- Inline-form (verify form pattern: label + input + button on one row) ---- */
.ct-main form:has(input[type="text"] + button),
.ct-main form:has(input[type="search"] + button) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 14px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    margin: 14px 0;
}
.ct-main form:has(input + button) > label {
    flex: 1 0 100%;
    color: #444444;
    font-weight: 600;
    margin: 0;
}
.ct-main form:has(input + button) > input {
    flex: 1 1 240px;
    margin: 0;
}
.ct-main form:has(input + button) > button {
    flex: 0 0 auto;
}

/* ---- Table rows with data-status (active = highlight) ---- */
.ct-main tr[data-status="active"] td {
    background: color-mix(in oklab, #00bb00 8%, #f2f2f2);
    font-weight: 600;
}
.ct-main tr[data-status="degraded"] td {
    background: color-mix(in oklab, #c85d06 8%, #f2f2f2);
}
.ct-main tr[data-status="offline"] td {
    background: color-mix(in oklab, #d00000 8%, #f2f2f2);
}

/* ---- "copy" button styling (data-copy attribute or button text) ---- */
.ct-main button[data-copy],
.ct-main [data-copy]:not(a):not(div) {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: #efefef;
    color: #444444;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    font-size: 0.78em;
    font-weight: 600;
    font-family: Helvetica, Arial, sans-serif;
    cursor: pointer;
    transition: background 0.15s;
}
.ct-main button[data-copy]:hover {
    background: #3d4048;
    color: #444444;
}


/* =====================================================================
   UTILITY-CLASS FALLBACKS — covers Bootstrap + Tailwind atomic classes
   the AI may emit. Each fallback applies ONLY inside .ct-main so it
   doesn't fight chrome that uses the source CSS's own utilities.
   ===================================================================== */

/* ---- Display utilities ---- */
.ct-main .d-block, .ct-main .block { display: block; }
.ct-main .d-inline, .ct-main .inline { display: inline; }
.ct-main .d-inline-block, .ct-main .inline-block { display: inline-block; }
.ct-main .d-flex, .ct-main .flex { display: flex; }
.ct-main .d-inline-flex, .ct-main .inline-flex { display: inline-flex; }
.ct-main .d-grid, .ct-main .grid { display: grid; }
.ct-main .d-none, .ct-main .hidden { display: none; }

/* ---- Flex direction + wrap ---- */
.ct-main .flex-row, .ct-main .flex-direction-row { flex-direction: row; }
.ct-main .flex-column, .ct-main .flex-col { flex-direction: column; }
.ct-main .flex-row-reverse { flex-direction: row-reverse; }
.ct-main .flex-column-reverse, .ct-main .flex-col-reverse { flex-direction: column-reverse; }
.ct-main .flex-wrap { flex-wrap: wrap; }
.ct-main .flex-nowrap { flex-wrap: nowrap; }
.ct-main .flex-shrink-0 { flex-shrink: 0; }
.ct-main .flex-grow-1 { flex-grow: 1; }
.ct-main .flex-1 { flex: 1 1 0%; }

/* ---- Responsive flex direction (md+, lg+) ---- */
@media (min-width: 768px) {
    .ct-main .md\:flex-row { flex-direction: row; }
    .ct-main .md\:flex-col, .ct-main .md\:flex-column { flex-direction: column; }
}
@media (min-width: 1024px) {
    .ct-main .lg\:flex-row { flex-direction: row; }
    .ct-main .lg\:flex-col, .ct-main .lg\:flex-column { flex-direction: column; }
}

/* ---- Justify + align ---- */
.ct-main .justify-content-start, .ct-main .justify-start { justify-content: flex-start; }
.ct-main .justify-content-end, .ct-main .justify-end { justify-content: flex-end; }
.ct-main .justify-content-center, .ct-main .justify-center { justify-content: center; }
.ct-main .justify-content-between, .ct-main .justify-between { justify-content: space-between; }
.ct-main .justify-content-around, .ct-main .justify-around { justify-content: space-around; }
.ct-main .justify-content-evenly, .ct-main .justify-evenly { justify-content: space-evenly; }
.ct-main .align-items-start, .ct-main .items-start { align-items: flex-start; }
.ct-main .align-items-end, .ct-main .items-end { align-items: flex-end; }
.ct-main .align-items-center, .ct-main .items-center { align-items: center; }
.ct-main .align-items-baseline, .ct-main .items-baseline { align-items: baseline; }
.ct-main .align-items-stretch, .ct-main .items-stretch { align-items: stretch; }

/* ---- Gap utilities (0.25rem step, 0-5; matches Bootstrap+Tailwind) ---- */
.ct-main .gap-0 { gap: 0; }
.ct-main .gap-1 { gap: 0.25rem; }
.ct-main .gap-2 { gap: 0.5rem; }
.ct-main .gap-3 { gap: 1rem; }
.ct-main .gap-4 { gap: 1.5rem; }
.ct-main .gap-5 { gap: 2rem; }
.ct-main .gap-6 { gap: 2.5rem; }
.ct-main .gap-8 { gap: 3rem; }
/* When `.gap-N` is on a list/non-flex container, force flex so it renders */
.ct-main ul[class*="gap-"],
.ct-main ol[class*="gap-"],
.ct-main dl[class*="gap-"] {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0;
    margin: 14px 0;
}

/* ---- Padding ---- */
.ct-main .p-0 { padding: 0; }
.ct-main .p-1 { padding: 0.25rem; }
.ct-main .p-2 { padding: 0.5rem; }
.ct-main .p-3 { padding: 1rem; }
.ct-main .p-4 { padding: 1.5rem; }
.ct-main .p-5 { padding: 2rem; }
.ct-main .p-6 { padding: 2.5rem; }
.ct-main .p-8 { padding: 3rem; }
.ct-main .px-0 { padding-left: 0; padding-right: 0; }
.ct-main .px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.ct-main .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.ct-main .px-3 { padding-left: 1rem; padding-right: 1rem; }
.ct-main .px-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.ct-main .px-5 { padding-left: 2rem; padding-right: 2rem; }
.ct-main .py-0 { padding-top: 0; padding-bottom: 0; }
.ct-main .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.ct-main .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.ct-main .py-3 { padding-top: 1rem; padding-bottom: 1rem; }
.ct-main .py-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.ct-main .py-5 { padding-top: 2rem; padding-bottom: 2rem; }
.ct-main .pt-1 { padding-top: 0.25rem; } .ct-main .pt-2 { padding-top: 0.5rem; }
.ct-main .pt-3 { padding-top: 1rem; } .ct-main .pt-4 { padding-top: 1.5rem; }
.ct-main .pb-1 { padding-bottom: 0.25rem; } .ct-main .pb-2 { padding-bottom: 0.5rem; }
.ct-main .pb-3 { padding-bottom: 1rem; } .ct-main .pb-4 { padding-bottom: 1.5rem; }
.ct-main .pl-1 { padding-left: 0.25rem; } .ct-main .pl-2 { padding-left: 0.5rem; }
.ct-main .pl-3 { padding-left: 1rem; } .ct-main .pl-4 { padding-left: 1.5rem; }
.ct-main .pr-1 { padding-right: 0.25rem; } .ct-main .pr-2 { padding-right: 0.5rem; }
.ct-main .pr-3 { padding-right: 1rem; } .ct-main .pr-4 { padding-right: 1.5rem; }

/* ---- Margin ---- */
.ct-main .m-0 { margin: 0; }
.ct-main .m-1 { margin: 0.25rem; } .ct-main .m-2 { margin: 0.5rem; }
.ct-main .m-3 { margin: 1rem; } .ct-main .m-4 { margin: 1.5rem; }
.ct-main .mx-auto { margin-left: auto; margin-right: auto; }
.ct-main .my-auto { margin-top: auto; margin-bottom: auto; }
.ct-main .mt-1 { margin-top: 0.25rem; } .ct-main .mt-2 { margin-top: 0.5rem; }
.ct-main .mt-3 { margin-top: 1rem; } .ct-main .mt-4 { margin-top: 1.5rem; }
.ct-main .mt-5 { margin-top: 2rem; } .ct-main .mt-6 { margin-top: 2.5rem; }
.ct-main .mb-1 { margin-bottom: 0.25rem; } .ct-main .mb-2 { margin-bottom: 0.5rem; }
.ct-main .mb-3 { margin-bottom: 1rem; } .ct-main .mb-4 { margin-bottom: 1.5rem; }
.ct-main .mb-5 { margin-bottom: 2rem; } .ct-main .mb-6 { margin-bottom: 2.5rem; }
.ct-main .ml-1 { margin-left: 0.25rem; } .ct-main .ml-2 { margin-left: 0.5rem; }
.ct-main .ml-3 { margin-left: 1rem; } .ct-main .ml-4 { margin-left: 1.5rem; }
.ct-main .mr-1 { margin-right: 0.25rem; } .ct-main .mr-2 { margin-right: 0.5rem; }
.ct-main .mr-3 { margin-right: 1rem; } .ct-main .mr-4 { margin-right: 1.5rem; }

/* ---- Borders ---- */
.ct-main .border { border: 1px solid #e8e1e0; }
.ct-main .border-0 { border: 0; }
.ct-main .border-top { border-top: 1px solid #e8e1e0; }
.ct-main .border-bottom, .ct-main .border-b { border-bottom: 1px solid #e8e1e0; }
.ct-main .border-start, .ct-main .border-l { border-left: 1px solid #e8e1e0; }
.ct-main .border-end, .ct-main .border-r { border-right: 1px solid #e8e1e0; }
.ct-main .border-2 { border-width: 2px; }
.ct-main .border-3 { border-width: 3px; }

/* ---- Border radii ---- */
.ct-main .rounded { border-radius: 5px; }
.ct-main .rounded-0 { border-radius: 0; }
.ct-main .rounded-sm { border-radius: 3px; }
.ct-main .rounded-lg { border-radius: 8px; }
.ct-main .rounded-xl { border-radius: calc(8px * 1.4); }
.ct-main .rounded-2xl { border-radius: calc(8px * 1.8); }
.ct-main .rounded-pill { border-radius: 999px; }
.ct-main .rounded-circle { border-radius: 50%; }

/* ---- Shadows ---- */
.ct-main .shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.08); }
.ct-main .shadow { box-shadow: 0 2px 6px rgba(0,0,0,0.10); }
.ct-main .shadow-md { box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
.ct-main .shadow-lg { box-shadow: 0 6px 20px rgba(0,0,0,0.15); }
.ct-main .shadow-none { box-shadow: none; }

/* ---- Backgrounds ---- */
.ct-main .bg-white { background-color: #ffffff; }
.ct-main .bg-light { background-color: #f2f2f2; }
.ct-main .bg-dark { background-color: #3d4048; color: #42464d; }
.ct-main .bg-primary { background-color: #d02600; color: #f2f2f2; }
.ct-main .bg-secondary { background-color: #efefef; color: #444444; }
.ct-main .bg-success { background-color: #00bb00; color: #fff; }
.ct-main .bg-warning { background-color: #c85d06; color: #444444; }
.ct-main .bg-danger { background-color: #d00000; color: #fff; }
.ct-main .bg-info { background-color: #5bc0de; color: #fff; }
.ct-main .bg-transparent { background-color: transparent; }

/* ---- Text colors ---- */
.ct-main .text-white { color: #ffffff; }
.ct-main .text-light { color: #777777; }
.ct-main .text-dark { color: #444444; }
.ct-main .text-primary { color: #d02600; }
.ct-main .text-secondary { color: #777777; }
.ct-main .text-success { color: #00bb00; }
.ct-main .text-warning { color: #c85d06; }
.ct-main .text-danger { color: #d00000; }
.ct-main .text-info { color: #5bc0de; }
.ct-main .text-muted { color: #777777; }

/* ---- Text alignment ---- */
.ct-main .text-center { text-align: center; }
.ct-main .text-start, .ct-main .text-left { text-align: left; }
.ct-main .text-end, .ct-main .text-right { text-align: right; }
.ct-main .text-justify { text-align: justify; }

/* ---- Font weight + style ---- */
.ct-main .fw-normal, .ct-main .font-normal { font-weight: 400; }
.ct-main .fw-medium, .ct-main .font-medium { font-weight: 500; }
.ct-main .fw-semibold, .ct-main .font-semibold { font-weight: 600; }
.ct-main .fw-bold, .ct-main .font-bold { font-weight: 700; }
.ct-main .fw-bolder, .ct-main .font-extrabold { font-weight: 800; }
.ct-main .fst-italic, .ct-main .italic { font-style: italic; }
.ct-main .text-uppercase, .ct-main .uppercase { text-transform: uppercase; letter-spacing: 0.05em; }
.ct-main .text-lowercase, .ct-main .lowercase { text-transform: lowercase; }
.ct-main .text-capitalize, .ct-main .capitalize { text-transform: capitalize; }
.ct-main .font-mono { font-family: Consolas, "Liberation Mono", Menlo, monospace; }

/* ---- Font sizes (Bootstrap-compat) ---- */
.ct-main .fs-1 { font-size: 2rem; }
.ct-main .fs-2 { font-size: 1.6rem; }
.ct-main .fs-3 { font-size: 1.4rem; }
.ct-main .fs-4 { font-size: 1.2rem; }
.ct-main .fs-5 { font-size: 1.05rem; }
.ct-main .fs-6 { font-size: 0.92rem; }
.ct-main .text-xs { font-size: 0.75rem; }
.ct-main .text-sm { font-size: 0.875rem; }
.ct-main .text-base { font-size: 1rem; }
.ct-main .text-lg { font-size: 1.125rem; }
.ct-main .text-xl { font-size: 1.25rem; }
.ct-main .text-2xl { font-size: 1.5rem; }
.ct-main .text-3xl { font-size: 1.875rem; }

/* ---- Widths ---- */
.ct-main .w-25 { width: 25%; }
.ct-main .w-50 { width: 50%; }
.ct-main .w-75 { width: 75%; }
.ct-main .w-100, .ct-main .w-full { width: 100%; }
.ct-main .h-100, .ct-main .h-full { height: 100%; }
.ct-main .mw-100, .ct-main .max-w-full { max-width: 100%; }
.ct-main .min-w-0 { min-width: 0; }

/* ---- Overflow ---- */
.ct-main .overflow-hidden { overflow: hidden; }
.ct-main .overflow-auto { overflow: auto; }
.ct-main .overflow-x-auto { overflow-x: auto; }
.ct-main .overflow-y-auto { overflow-y: auto; }

/* ---- Bootstrap card + nav + alert + badge (full recipes) ---- */
.ct-main .card {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    margin: 12px 0;
}
.ct-main .card-header {
    padding: 12px 16px;
    background: #efefef;
    border-bottom: 1px solid #e8e1e0;
    font-weight: 600;
    color: #444444;
}
.ct-main .card-body { padding: 16px; }
.ct-main .card-footer {
    padding: 12px 16px;
    background: #efefef;
    border-top: 1px solid #e8e1e0;
}
.ct-main .card-title {
    color: #444444;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.ct-main .alert {
    padding: 12px 16px;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    margin: 14px 0;
}
.ct-main .alert-primary {
    background: color-mix(in oklab, #d02600 10%, #f2f2f2);
    border-color: #d02600;
    color: #444444;
}
.ct-main .alert-success {
    background: color-mix(in oklab, #00bb00 10%, #f2f2f2);
    border-color: #00bb00;
    color: #444444;
}
.ct-main .alert-warning {
    background: color-mix(in oklab, #c85d06 10%, #f2f2f2);
    border-color: #c85d06;
    color: #444444;
}
.ct-main .alert-danger {
    background: color-mix(in oklab, #d00000 10%, #f2f2f2);
    border-color: #d00000;
    color: #444444;
}
.ct-main .alert-info {
    background: color-mix(in oklab, #5bc0de 10%, #f2f2f2);
    border-color: #5bc0de;
    color: #444444;
}

.ct-main .badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.75em;
    font-weight: 700;
    background: #d02600;
    color: #f2f2f2;
    line-height: 1.4;
}
.ct-main .badge.rounded-pill, .ct-main .badge-pill { border-radius: 999px; }
.ct-main .badge.bg-primary { background: #d02600; }
.ct-main .badge.bg-secondary {
    background: #efefef; color: #444444;
}
.ct-main .badge.bg-success { background: #00bb00; color: #fff; }
.ct-main .badge.bg-warning { background: #c85d06; color: #444444; }
.ct-main .badge.bg-danger { background: #d00000; color: #fff; }
.ct-main .badge.bg-info { background: #5bc0de; color: #fff; }

/* ---- Bootstrap buttons ---- */
.ct-main .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 5px;
    border: 1px solid transparent;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.15s, background 0.15s;
    background: #efefef;
    color: #444444;
}
.ct-main .btn:hover { opacity: 0.9; text-decoration: none; }
.ct-main .btn-sm { padding: 5px 10px; font-size: 0.85em; }
.ct-main .btn-lg { padding: 12px 20px; font-size: 1.05em; }
.ct-main .btn-primary {
    background: #d02600; color: #f2f2f2; border-color: #d02600;
}
.ct-main .btn-secondary {
    background: #efefef; color: #444444; border-color: #e8e1e0;
}
.ct-main .btn-success { background: #00bb00; color: #fff; border-color: #00bb00; }
.ct-main .btn-danger { background: #d00000; color: #fff; border-color: #d00000; }
.ct-main .btn-warning { background: #c85d06; color: #444444; border-color: #c85d06; }
.ct-main .btn-outline-primary {
    background: transparent; color: #d02600; border-color: #d02600;
}
.ct-main .btn-outline-primary:hover {
    background: #d02600; color: #f2f2f2;
}
.ct-main .btn-outline-secondary {
    background: transparent; color: #444444; border-color: #e8e1e0;
}

/* ---- topic-btn: hero CTA row + onion "Copy" buttons ----
   The static-render hero card (scripts/static_render.py) and the onion
   widgets emit `<a|button class="topic-btn topic-btn-primary|secondary">`.
   Their original styling lives in the Grav/Tailwind theme, which replica
   mode does NOT load — so without these rules they render as bare links /
   unstyled boxes. Style them from the palette here so every replica gets
   a real button. (`topic-btn` is allow-listed and never domain-prefixed,
   so this selector is stable regardless of css-scoper rewrites.) */
.ct-main .topic-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    font-size: 0.92em; font-weight: 600; line-height: 1.2;
    border-radius: 5px;
    border: 1px solid transparent;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease,
                border-color 0.15s ease, transform 0.12s ease;
}
.ct-main .topic-btn-primary {
    background: #d02600; color: #f2f2f2 !important;
    border-color: #d02600;
}
.ct-main .topic-btn-primary:hover {
    filter: brightness(1.08); transform: translateY(-1px);
    color: #f2f2f2 !important;
}
.ct-main .topic-btn-secondary {
    background: #f2f2f2; color: #444444 !important;
    border-color: #cecece;
}
.ct-main .topic-btn-secondary:hover {
    border-color: #d02600; color: #444444 !important;
    transform: translateY(-1px);
}
/* The hero CTA row wrapper (may be domain-prefixed, so match by suffix). */
.ct-main [class$="hero-cta-row"] {
    display: flex; flex-wrap: wrap; gap: 12px;
    align-items: center; margin: 18px 0 6px;
}

/* ---- onion-primary-card: the hero endpoint card -------------------
   Same story as topic-btn — the static-render hero emits an
   `.onion-primary-card` whose styling lives in the Grav/Tailwind theme
   that replica mode never loads. Without these rules the card is
   unstyled and, worst of all, its inline `.opc-icon` lock SVG renders
   at full natural size (a giant black padlock filling the page). Port
   the theme's card styling here, palette-driven. */
.ct-main .onion-primary-card {
    background: #f2f2f2;
    border: 1px solid #d02600;
    border-radius: 8px;
    padding: 20px 22px;
    position: relative;
    overflow: hidden;
    margin: 16px 0 22px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.ct-main .opc-topline {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 14px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.74rem; letter-spacing: 0.12em;
    text-transform: uppercase; font-weight: 700;
    color: #d02600;
}
.ct-main .opc-icon { width: 16px; height: 16px; flex-shrink: 0; }
.ct-main .opc-label { flex: 1; }
.ct-main .onion-url-row {
    display: flex; flex-wrap: wrap; border-radius: 6px;
}
.ct-main .onion-url-addon {
    display: inline-flex; align-items: center; padding: 0 14px;
    border: 1px solid #cecece; border-right: 0;
    border-radius: 6px 0 0 6px;
    background: #efefef; color: #777777;
    font-family: Consolas, "Liberation Mono", Menlo, monospace; font-size: 0.82rem;
    white-space: nowrap; user-select: none;
}
.ct-main .onion-url,
.ct-main .onion-url-xl {
    flex: 1 1 auto; min-width: 0; display: block;
    padding: 12px 14px;
    border: 1px solid #cecece;
    background: #efefef;
    color: #d02600; font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.9rem; font-weight: 500; text-align: center;
    word-break: break-all; overflow-wrap: anywhere;
    user-select: all; -webkit-user-select: all;
}
.ct-main .onion-url-xl:focus {
    outline: none; border-color: #d02600;
}
.ct-main .onion-copy-big {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 12px 20px; min-width: 80px;
    border: 1px solid #d02600; border-radius: 0 6px 6px 0;
    background: #d02600; color: #f2f2f2 !important;
    font-size: 0.875rem; font-weight: 600; cursor: pointer;
    text-decoration: none !important;
}
.ct-main .onion-copy-big:hover { filter: brightness(1.08); }
.ct-main .opc-hint {
    text-align: center; font-size: 0.72rem;
    color: #777777; margin-top: 8px;
}
.ct-main .opc-verified {
    display: block; text-align: center; font-size: 0.72rem;
    color: #777777; margin-top: 16px;
}
.ct-main .onion-pulse {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; color: #00bb00;
}
.ct-main .opulse-dot {
    display: inline-block; width: 7px; height: 7px;
    border-radius: 50%; background: currentColor; flex-shrink: 0;
}
@media (max-width: 639px) {
    .ct-main .onion-url-row { flex-direction: column; }
    .ct-main .onion-url-addon {
        border-radius: 6px 6px 0 0; border-right: 1px solid #cecece;
        border-bottom: 0; justify-content: center; padding: 6px 14px;
    }
    .ct-main .onion-url-xl { border-radius: 0; }
    .ct-main .onion-copy-big {
        width: 100%; border-radius: 0 0 6px 6px;
        border-left: 1px solid #d02600; border-top: 0;
    }
}

/* ---- Bootstrap nav ---- */
.ct-main .nav {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    gap: 4px;
}
.ct-main .nav-item { list-style: none; }
.ct-main .nav-link {
    display: block;
    padding: 7px 14px;
    color: #444444;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.15s, color 0.15s;
}
.ct-main .nav-link:hover {
    background: #efefef;
    color: #d02600;
    text-decoration: none;
}
.ct-main .nav-link.active {
    background: #d02600;
    color: #f2f2f2;
}
.ct-main .nav-pills .nav-link { border-radius: 999px; }
.ct-main .nav-tabs {
    border-bottom: 2px solid #e8e1e0;
}
.ct-main .nav-tabs .nav-link {
    border-radius: 3px 3px 0 0;
    margin-bottom: -2px;
}
.ct-main .nav-tabs .nav-link.active {
    background: #f2f2f2;
    color: #444444;
    border-bottom: 2px solid #d02600;
}

/* ---- Position utilities ---- */
.ct-main .position-relative, .ct-main .relative { position: relative; }
.ct-main .position-absolute, .ct-main .absolute { position: absolute; }
.ct-main .position-fixed, .ct-main .fixed { position: fixed; }
.ct-main .position-sticky, .ct-main .sticky { position: sticky; }
.ct-main .top-0 { top: 0; } .ct-main .bottom-0 { bottom: 0; }
.ct-main .start-0, .ct-main .left-0 { left: 0; }
.ct-main .end-0, .ct-main .right-0 { right: 0; }

/* ---- Cursor + select ---- */
.ct-main .cursor-pointer { cursor: pointer; }
.ct-main .user-select-none, .ct-main .select-none { user-select: none; }
.ct-main .pointer-events-none { pointer-events: none; }


/* =====================================================================
   PLACEHOLDER FALLBACKS — guarantee that server-rendered placeholders
   (`{onions}`, `{verify_form}`, `{screenshots}`, `{rates}`,
   `{share_buttons}`, `{breadcrumbs}`, `{verified_status}`,
   `{enter_market}`) always render with full styling, REGARDLESS of
   whether `placeholder_css.build_placeholder_css(prefix)` made it
   through the Tailwind compile pipeline.

   Classes are brand-prefixed at render time (e.g. `blackops-onions`,
   `wethenorth-onion-row`). Tailwind `theme()` calls in placeholder_css
   may not resolve if the per-site config is stale, leaving the
   placeholder fully unstyled. These attribute-suffix selectors hit
   regardless of prefix, so the worst case is the prefixed rules just
   override these with the same value — not a missing-style page.
   ===================================================================== */

/* ---- {onions} verified-access section + mirror table ---- */
.ct-main [class$="-onions"],
.ct-main [class*="-onions "] {
    margin: 18px 0;
    padding: 18px 20px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.ct-main [class$="-onions"] table,
.ct-main [class*="-onions "] table {
    width: 100%;
    min-width: 30rem;
    border-collapse: collapse;
    margin: 0;
    background: transparent;
}
.ct-main [class$="-onion-row"] td {
    padding: 12px 14px;
    vertical-align: middle;
    border-bottom: 1px solid #e8e1e0;
}
.ct-main [class$="-onion-row"]:last-child td { border-bottom: 0; }
.ct-main [class$="-onion-row"] td:nth-child(1) {
    white-space: nowrap;
    font-weight: 600;
    color: #444444;
}
.ct-main [class$="-onion-row"] td:nth-child(2) {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.85rem;
    word-break: break-all;
}
.ct-main [class$="-onion-row"][data-status="active"] td:nth-child(1),
.ct-main [class$="-onion-row"][data-status="online"] td:nth-child(1) {
    color: #444444;
}
.ct-main [class$="-status-dot"] {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
    background: #777777;
    box-shadow: 0 0 0 2px color-mix(in oklab, #f2f2f2 80%, transparent);
}
.ct-main [class$="-status-dot"].is-online,
.ct-main .is-online[class$="-status-dot"] { background: #00bb00; }
.ct-main [class$="-status-dot"].is-mirror,
.ct-main .is-mirror[class$="-status-dot"] { background: #c85d06; }
.ct-main [class$="-status-dot"].is-offline,
.ct-main .is-offline[class$="-status-dot"] { background: #d00000; }
.ct-main [class$="-primary-badge"] {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 7px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #f2f2f2;
    background: #d02600;
    border-radius: 3px;
    vertical-align: middle;
    line-height: 1.5;
}
.ct-main [class$="-onion-url"] {
    color: #d04c00;
    text-decoration: none;
    border-bottom: 1px dotted color-mix(in oklab, #d04c00 40%, transparent);
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    user-select: all;
    word-break: break-all;
    transition: color 0.15s, border-color 0.15s;
}
.ct-main [class$="-onion-url"]:hover {
    color: #d02600;
    border-bottom-color: #d02600;
    text-decoration: none;
}
.ct-main [class$="-copy-btn"] {
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    font-size: 0.78em;
    font-weight: 600;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    background: #efefef;
    color: #444444;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ct-main [class$="-copy-btn"]:hover {
    background: #d02600;
    color: #f2f2f2;
    border-color: #d02600;
}
.ct-main [class$="-bluf"] {
    margin: 6px 0 10px;
    padding: 10px 14px;
    font-size: 0.86em;
    line-height: 1.55;
    color: #444444;
    background: color-mix(in oklab, #d02600 4%, #efefef);
    border-left: 3px solid #d02600;
    border-radius: 0 3px 3px 0;
}
.ct-main [class$="-bluf-prose"] {
    background: transparent;
    border-left: 0;
    padding: 4px 0;
    font-size: 0.94em;
}

/* ---- Card-grid mirror presentation ---- */
.ct-main [class$="-mirror-cards"] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    margin: 18px 0;
    overflow: visible;
}
.ct-main [class$="-mirror-card"] {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.ct-main [class$="-mirror-card"]:hover {
    border-color: #d02600;
    box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}
.ct-main [class$="-mirror-card-head"] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #444444;
    font-weight: 700;
    font-size: 0.95rem;
}

/* ---- Definition-list mirror presentation ---- */
.ct-main [class$="-mirror-deflist"] dl {
    margin: 14px 0;
    display: grid;
    gap: 10px;
}
.ct-main [class$="-mirror-term"] {
    color: #444444;
    font-weight: 700;
    margin-bottom: 4px;
}
.ct-main [class$="-mirror-def"] {
    margin: 0 0 6px 0;
    padding: 8px 12px;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
}

/* ---- Prose mirror presentation ---- */
.ct-main [class$="-mirror-prose"] { margin: 14px 0; }

/* ---- {verify_form} PGP verifier — fleet-wide canonical styling.
   `main` ancestor (no `.ct-` requirement) so the form looks right even
   when the AI plants it outside `.ct-main`. `!important` on a few
   critical declarations because AI-emitted Tailwind utility classes
   would otherwise repaint the input/button to the dark default. */
main [class$="-verify-form"]:not([class*="-input"]) {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    margin: 24px 0;
    padding: 20px 22px;
    background: #f2f2f2 !important;
    color: #444444 !important;
    border: 1px solid #e8e1e0 !important;
    border-left: 4px solid #d02600;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    max-width: 720px;
}
main [class$="-verify-form"] > * { min-width: 0; }
main [class$="-verify-label"] {
    font-weight: 700;
    color: #444444 !important;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    margin: 0 0 2px;
    display: block;
}
main [class$="-verify-input"] {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.9rem;
    padding: 10px 14px;
    background: #f6f8f9 !important;
    color: #444444 !important;
    border: 1px solid #e8e1e0 !important;
    border-radius: 3px;
    outline: 0;
    width: 100%;
    min-height: 0 !important;
    max-height: 2.6em !important;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}
main [class$="-verify-input"]::placeholder {
    color: #777777 !important;
    opacity: 0.85;
}
main [class$="-verify-input"]:focus {
    border-color: #d02600 !important;
    box-shadow: 0 0 0 3px color-mix(in oklab, #d02600 22%, transparent);
}
main [class$="-verify-submit"] {
    align-self: flex-start;
    padding: 10px 22px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #f2f2f2 !important;
    background: #d02600 !important;
    border: 1px solid #d02600 !important;
    border-radius: 3px;
    cursor: pointer;
    background-image: none !important;
    padding-bottom: 10px !important;
    transition: opacity 0.15s, transform 0.1s;
}
main [class$="-verify-submit"]:hover { opacity: 0.9; }
main [class$="-verify-submit"]:active { transform: translateY(1px); }
main [class$="-verify-submit"]:disabled { opacity: 0.6; cursor: wait; }
.ct-main [class$="-verify-result"] {
    margin-top: 8px;
    padding: 10px 14px;
    border-radius: 3px;
    font-size: 0.92rem;
    line-height: 1.55;
}
.ct-main [class$="-verify-result"] .verify-ok {
    background: color-mix(in oklab, #00bb00 10%, #f2f2f2);
    border-left: 3px solid #00bb00;
    color: #444444;
    padding: 8px 12px;
    border-radius: 0 3px 3px 0;
}
.ct-main [class$="-verify-result"] .verify-bad {
    background: color-mix(in oklab, #d00000 10%, #f2f2f2);
    border-left: 3px solid #d00000;
    color: #444444;
    padding: 8px 12px;
    border-radius: 0 3px 3px 0;
}
.ct-main [class$="-verify-result"] code {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    word-break: break-all;
    font-size: 0.85em;
}

/* ---- {screenshots} interface preview grid ---- */
.ct-main [class$="-shots"] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    margin: 18px 0;
}
.ct-main [class$="-shot-thumb"] {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: zoom-in;
}
.ct-main [class$="-shot"] {
    margin: 0;
    border: 1px solid #e8e1e0;
    background: #f2f2f2;
    padding: 8px;
    border-radius: 5px;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.ct-main [class$="-shot-thumb"]:hover [class$="-shot"] {
    border-color: #d02600;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.ct-main [class$="-shot"] img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: calc(5px - 2px);
    background: #efefef;
}
.ct-main [class$="-shot"] figcaption {
    font-size: 0.82rem;
    margin-top: 8px;
    padding: 0 4px;
    color: #777777;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
}
.ct-main [class$="-shot-zoom"] {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.78em;
    color: #d02600;
    letter-spacing: 0.04em;
}
/* Lightbox modal (CSS-only :target) */
.ct-main [class$="-shot-modal"] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.ct-main [class$="-shot-modal"]:target { display: flex; }
.ct-main [class$="-shot-backdrop"] {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.86);
    cursor: zoom-out;
}
.ct-main [class$="-shot-modal-inner"] {
    position: relative;
    max-width: min(96vw, 1400px);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    background: #f6f8f9;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.6);
    overflow: hidden;
}
.ct-main [class$="-shot-modal-inner"] img {
    display: block;
    max-width: 100%;
    max-height: calc(92vh - 3rem);
    object-fit: contain;
    margin: 0 auto;
    background: #efefef;
}
.ct-main [class$="-shot-modal-bar"] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #f2f2f2;
    border-top: 1px solid #e8e1e0;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.85rem;
}
.ct-main [class$="-shot-modal-caption"] {
    flex: 1;
    color: #777777;
}
.ct-main [class$="-shot-prev"],
.ct-main [class$="-shot-next"],
.ct-main [class$="-shot-close"] {
    color: #444444;
    text-decoration: none;
    padding: 4px 10px;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    transition: color 0.15s, border-color 0.15s;
}
.ct-main [class$="-shot-prev"]:hover,
.ct-main [class$="-shot-next"]:hover,
.ct-main [class$="-shot-close"]:hover {
    color: #d02600;
    border-color: #d02600;
}

/* ---- {rates} crypto-rate widget ---- */
.ct-main [class$="-rates"] {
    display: inline-block;
    min-width: 14rem;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    background: #f2f2f2;
    font-size: 0.86rem;
    margin: 8px 0;
}
.ct-main [class$="-rate"] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 12px;
    border-bottom: 1px solid #e8e1e0;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}
.ct-main [class$="-rate"]:last-child { border-bottom: 0; }
.ct-main [class$="-rate"] strong { color: #444444; font-weight: 700; }

/* ---- {share_buttons} ---- */
.ct-main [class$="-share-row"] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
}
.ct-main [class$="-share-btn"] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-size: 0.78em;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    border: 1px solid #e8e1e0;
    background: #f2f2f2;
    color: #444444;
    text-decoration: none;
    border-radius: 3px;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.ct-main [class$="-share-btn"]:hover {
    color: #f2f2f2;
    background: #d02600;
    border-color: #d02600;
}

/* ---- {breadcrumbs} ---- */
.ct-main [class$="-breadcrumbs"] {
    font-size: 0.85rem;
    margin: 8px 0 14px;
    color: #777777;
}
.ct-main [class$="-breadcrumbs"] a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted transparent;
}
.ct-main [class$="-breadcrumbs"] a:hover {
    color: #d02600;
    border-bottom-color: #d02600;
}
.ct-main [class$="-breadcrumbs"] .sep {
    margin: 0 6px;
    color: #777777;
}

/* ---- {verified_status} live status pill ---- */
.ct-main [class$="-verified-status"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 11px;
    margin: 6px 0;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.78rem;
    letter-spacing: 0.03em;
    color: #777777;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 12px;
    white-space: nowrap;
}
.ct-main [class$="-verified-status"]::before {
    content: "●";
    color: #00bb00;
    font-size: 0.7rem;
    animation: ct-status-pulse 2s ease-in-out infinite;
}
.ct-main [class$="-verified-status"] time { color: #444444; }
.ct-main [class$="-verified-state"] {
    color: #00bb00;
    font-weight: 700;
}
.ct-main [class$="-verified-state"][data-state="DEGRADED"],
.ct-main [class$="-verified-state"][data-state="CHECKING"] {
    color: #c85d06;
}
.ct-main [class$="-verified-state"][data-state="OFFLINE"] {
    color: #d00000;
}
@keyframes ct-status-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.35; }
}

/* ---- {enter_market} CTA ---- */
.ct-main [class$="-enter-market"] {
    display: inline-flex;
    align-items: center;
    padding: 9px 18px;
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
    background: #d02600;
    color: #f2f2f2;
    border: 1px solid #d02600;
    border-radius: 5px;
    text-decoration: none;
    transition: opacity 0.15s, transform 0.1s;
}
.ct-main [class$="-enter-market"]::before {
    content: "→";
    margin-right: 8px;
    font-weight: 800;
}
.ct-main [class$="-enter-market"]:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}
.ct-main [class$="-enter-market"]:active { transform: translateY(0); }

/* ---- Replica chrome eyebrow (slim brand-breadcrumb between chrome
   and AI body — used in place of a duplicate page-title heading) ---- */
[class$="-eyebrow"] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.74rem;
    font-weight: 600;
    color: #777777;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 14px;
    padding: 6px 0;
    line-height: 1.4;
}
[class$="-eyebrow"] strong,
[class$="-eyebrow"] .page,
[class$="-eyebrow"] .text-dark,
[class$="-eyebrow"] .text-gray-200,
[class$="-eyebrow"] .text-gray-300,
[class$="-eyebrow"] .text-slate-200 {
    color: #444444;
    font-weight: 700;
}
[class$="-eyebrow"] .brand,
[class$="-eyebrow"] > span:first-child:not(.page) {
    color: #d02600;
    font-weight: 700;
}

/* ---- {disclaimer} ---- */
.ct-main [class$="-disclaimer"] {
    margin: 20px 0;
    padding: 12px 16px;
    border-top: 1px solid #e8e1e0;
    font-size: 0.82rem;
    line-height: 1.55;
    color: #777777;
}
.ct-main [class$="-disclaimer"] strong { color: #444444; }
.ct-main [class$="-disclaimer"] em {
    color: #d02600;
    font-style: normal;
}

/* =====================================================================
   ATTRIBUTE-BASED FALLBACKS — placeholder-emitted markup that lost
   its class= attributes to the sanitizer in earlier builds. These
   target data-* attrs that survive sanitization, so the verified-
   access cards, copy buttons, mirror grids and screenshot galleries
   render with full styling even when the legacy classes are gone.
   ===================================================================== */

/* Verified-access cards: container holding multiple
   <article data-mirror-idx="N"> children. Grid them out and style
   each as a proper card. Works for ANY parent of mirror articles. */
.ct-main *:has(> article[data-mirror-idx]),
.ct-main *:has(> * > article[data-mirror-idx]) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin: 16px 0;
}
.ct-main article[data-mirror-idx] {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: border-color 160ms ease, transform 160ms ease;
}
.ct-main article[data-mirror-idx]:hover {
    border-color: #d02600;
    transform: translateY(-1px);
}
.ct-main article[data-mirror-idx] > a {
    display: block;
    background: #3d4048;
    color: #42464d;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.85rem;
    line-height: 1.45;
    padding: 10px 12px;
    border-radius: 3px;
    border: 1px solid #e8e1e0;
    word-break: break-all;
    overflow-wrap: anywhere;
    text-decoration: none;
    font-weight: 500;
}
.ct-main article[data-mirror-idx] > a:hover {
    border-color: #d02600;
    color: #d02600;
}
.ct-main article[data-mirror-idx] > p {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.55;
    color: #777777;
}
.ct-main article[data-mirror-idx] > button[data-copy] {
    align-self: flex-start;
    background: transparent;
    color: #444444;
    border: 1px solid #e8e1e0;
    padding: 4px 12px;
    border-radius: 3px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: all 140ms ease;
}
.ct-main article[data-mirror-idx] > button[data-copy]:hover {
    border-color: #d02600;
    color: #d02600;
}

/* Highlight the primary mirror (idx=N where label/title contains "main"
   or where the AI's paragraph mentions "(primary)" / "primary endpoint"). */
.ct-main article[data-mirror-idx="0"] {
    border-color: #d02600;
    border-left-width: 3px;
}

/* Interface preview gallery — figure+img+figcaption sequences inside
   AI-emitted screenshot containers. The AI emits multiple <figure>
   children inside an outer div with no class; we detect via :has(). */
.ct-main *:has(> a > figure):not(html):not(body),
.ct-main *:has(> figure > img) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin: 16px 0;
}
.ct-main figure:has(> img) {
    margin: 0;
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: transform 160ms ease, box-shadow 160ms ease;
}
.ct-main figure:has(> img):hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.10);
}
.ct-main figure > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    object-fit: cover;
}
.ct-main figure > figcaption {
    padding: 8px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #777777;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-top: 1px solid #e8e1e0;
    background: #efefef;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ct-main figure > figcaption span[aria-hidden] {
    color: #d02600;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

/* Click-to-zoom modal — the AI emits role="dialog" containers with
   :target activation. Style consistently across all replicas. */
.ct-main [role="dialog"] {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15,20,25,0.86);
    z-index: 1000;
    padding: 20px;
    overflow-y: auto;
}
.ct-main [role="dialog"]:target {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ct-main [role="dialog"] > div {
    position: relative;
    max-width: min(1100px, 95vw);
    background: #f2f2f2;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0,0,0,0.6);
}
.ct-main [role="dialog"] > div > img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
    background: #3d4048;
}
.ct-main [role="dialog"] > div > div:last-child {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    background: #efefef;
    border-top: 1px solid #e8e1e0;
    font-size: 0.84rem;
}
.ct-main [role="dialog"] > div > div:last-child a {
    color: #d02600;
    text-decoration: none;
    padding: 4px 10px;
    border-radius: 3px;
    border: 1px solid #e8e1e0;
    font-weight: 600;
}
.ct-main [role="dialog"] > div > div:last-child a:hover {
    background: #f2f2f2;
    border-color: #d02600;
}

/* Verifier widget — the AI emits <section id="verifier"> with a
   container and a checklist. Style the inner card. */
.ct-main section[id*="verif"],
.ct-main section[id*="signat"] {
    margin: 32px 0;
}
.ct-main section[id*="verif"] > div,
.ct-main section[id*="signat"] > div {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-left: 3px solid #d02600;
    border-radius: 5px;
    padding: 24px 26px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.ct-main section[id*="verif"] > div > div > h2,
.ct-main section[id*="signat"] > div > div > h2 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.25rem;
    color: #444444;
}
.ct-main section[id*="verif"] ul,
.ct-main section[id*="signat"] ul {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ct-main section[id*="verif"] li,
.ct-main section[id*="signat"] li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: #efefef;
    border-radius: 3px;
    border: 1px solid #e8e1e0;
    font-size: 0.9rem;
    line-height: 1.5;
}
.ct-main .text-success,
.ct-main [class*="text-success"] {
    color: #16a34a;
    font-weight: 700;
}
.ct-main .text-danger,
.ct-main [class*="text-danger"] {
    color: #dc2626;
    font-weight: 700;
}

/* Verify FORM (when AI actually emits a form with input) — separate
   from the read-only verifier widget above. */
.ct-main form[action*="verify"],
.ct-main form:has(textarea[name*="onion"]),
.ct-main form:has(input[name*="onion"]) {
    background: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 5px;
    padding: 22px 24px;
    margin: 20px 0;
    display: grid;
    gap: 14px;
}
.ct-main form[action*="verify"] textarea,
.ct-main form[action*="verify"] input[type="text"],
.ct-main form[action*="verify"] input[type="url"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.88rem;
    background: #3d4048;
    color: #42464d;
    box-sizing: border-box;
    min-height: 100px;
    resize: vertical;
}
.ct-main form[action*="verify"] button,
.ct-main form[action*="verify"] input[type="submit"] {
    background: #d02600;
    color: #fff;
    border: none;
    padding: 10px 22px;
    border-radius: 3px;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    justify-self: start;
    letter-spacing: 0.04em;
}
.ct-main form[action*="verify"] button:hover {
    filter: brightness(1.05);
}

/* Primary access strip — the AI emits <div class="p-4 border flex flex-wrap gap-4">
   with "Primary Routing Node:" label + .onion url. Frame as a strip.
   CRITICAL: when we put a dark `surface_deep` background on a `<p>`, the
   prose color MUST flip to a light inverse — otherwise every paragraph
   containing an inline onion link renders as dark-on-dark (invisible
   text outside the link). */
.ct-main p:has(> a[href*=".onion"]) {
    background: #3d4048;
    color: #f2f2f2;
    border: 1px solid #e8e1e0;
    border-radius: 3px;
    padding: 10px 14px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.85rem;
    margin: 12px 0;
    overflow-wrap: anywhere;
}
.ct-main p:has(> a[href*=".onion"]) a,
.ct-main p:has(> a[href*=".onion"]) [class*="-onion-inline"],
.ct-main p:has(> a[href*=".onion"]) [class*="-onion-url"] {
    color: #d02600;
}
.ct-main p:has(> a[href*=".onion"]) strong,
.ct-main p:has(> a[href*=".onion"]) b,
.ct-main p:has(> a[href*=".onion"]) em,
.ct-main p:has(> a[href*=".onion"]) code {
    color: #f2f2f2;
}

/* Hero-CTA defensive default — every replica framework ships a
   `.<prefix>-main a { color: ... }` rule with specificity (0,1,1)
   that overrides the (0,1,0) `.ct-hero__cta { color }` from this
   bundle. When the link color happens to equal `primary` (the CTA's
   background), the CTA reads as primary-on-primary (invisible text).
   Use a higher-specificity (0,2,1) `.ct-main a.ct-hero__cta` selector
   so the CTA's primary_text color always wins, fleet-wide. */
.ct-main a.ct-hero__cta,
.ct-main a.ct-hero__cta:hover,
.ct-main a.ct-hero__cta:focus,
.ct-main a.ct-hero__cta:active,
.ct-main a.ct-hero__cta:visited,
.ct-main .ct-cta-bar > a,
.ct-main .ct-cta-bar > a:hover,
.ct-main .ct-cta-bar > a:focus,
.ct-main .ct-cta-bar > a:active,
.ct-main .ct-cta-bar > a:visited {
    color: #f2f2f2 !important;
}
.ct-main a.ct-hero__cta--ghost,
.ct-main a.ct-hero__cta--ghost:hover,
.ct-main a.ct-hero__cta--ghost:focus {
    background: transparent !important;
    color: #d02600 !important;
    border: 1px solid #d02600;
}

/* =====================================================================
   MOBILE RESPONSIVE OVERRIDES
   --------------------------------------------------------------------
   Below ~600px (mobile portrait) reflow the AI-content widgets that
   are otherwise built for desktop. These hit every replica via
   prefix-agnostic [class$="..."] selectors.
   ===================================================================== */
@media (max-width: 600px) {
  /* Verified-access table: collapse to stacked rows so the URL column
     does not require horizontal scrolling. */
  .ct-main [class$="-onions"],
  .ct-main [class*="-onions "] {
    padding: 12px 12px;
    overflow-x: visible;
  }
  .ct-main [class$="-onions"] table,
  .ct-main [class*="-onions "] table {
    min-width: 0;
    display: block;
  }
  .ct-main [class$="-onions"] tbody,
  .ct-main [class*="-onions "] tbody { display: block; }
  .ct-main [class$="-onion-row"],
  .ct-main [class$="-onion-bluf"] {
    display: block;
    width: 100%;
  }
  .ct-main [class$="-onion-row"] td {
    display: block;
    width: 100%;
    padding: 6px 0;
    border-bottom: 0;
  }
  .ct-main [class$="-onion-row"] td:nth-child(1) {
    padding-top: 10px;
    white-space: normal;
  }
  .ct-main [class$="-onion-row"] td:nth-child(2) {
    padding-left: 14px;
    border-left: 2px solid #e8e1e0;
  }
  .ct-main [class$="-onion-row"] td:nth-child(3) {
    padding-bottom: 10px;
    text-align: left;
  }
  .ct-main [class$="-onion-bluf"] td {
    padding: 4px 0 12px;
    border-bottom: 1px solid #e8e1e0;
  }
  .ct-main [class$="-onion-row"]:last-of-type td { border-bottom: 0; }

  /* Force onion URLs to break inside the word — long .onion strings
     would otherwise blow out the column on a 375px viewport. */
  .ct-main [class$="-onion-url"] {
    overflow-wrap: anywhere;
    word-break: break-all;
    display: inline-block;
    max-width: 100%;
    font-size: 0.82em;
    line-height: 1.45;
  }

  /* Mirror-card grid → single column (auto-fit already does this at
     280px min, but force it for safety on devices that round oddly). */
  .ct-main [class$="-mirror-cards"] {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .ct-main [class$="-mirror-card"] { padding: 12px 14px; }

  /* Verify form: shrink padding so it fits a 375px viewport without
     hugging the page edge. */
  .ct-main [class$="-verify-form"] {
    padding: 14px 14px;
  }
  .ct-main [class$="-verify-input"] {
    min-height: 110px;
    font-size: 0.86em;
  }

  /* Shot grid: stack screenshots vertically below 600px. */
  .ct-main [class$="-shots"] {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  /* Eyebrow / breadcrumbs may wrap onto a second line on narrow
     viewports — allow it and lighten letter-spacing. */
  [class$="-eyebrow"],
  .ct-main [class$="-breadcrumbs"] {
    flex-wrap: wrap;
    letter-spacing: 0.04em;
    font-size: 0.7rem;
  }

  /* Stat strips collapse to vertical stack. */
  .ct-main [class$="-rates"] {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  /* Section headings: reduce h2/h3 size so they fit the column. */
  .ct-main h2 { font-size: 1.35rem; line-height: 1.25; }
  .ct-main h3 { font-size: 1.1rem; line-height: 1.3; }

  /* Back-to-top PNG: shrink slightly + clear the right gutter. */
  .ct-to-top {
    width: 36px;
    height: 36px;
    right: 12px;
    bottom: 12px;
  }
  .ct-to-top img { width: 36px; height: 36px; }

  /* === Universal content overflow defense ===
     Long .onion URLs in plain <a>, <code>, <pre> or any .ct-* element
     would otherwise stretch parent containers past viewport. Force
     word-breaking everywhere inside the main content area. */
  .ct-main a,
  .ct-main code,
  .ct-main pre,
  .ct-main kbd,
  .ct-main samp,
  .ct-main [class*="onion"],
  .ct-main [class*="-url"] {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: 100%;
  }
  .ct-main pre {
    overflow-x: auto;
    white-space: pre-wrap;
  }

  /* .ct-onion-card variants: AI emits these as content cards holding
     a long .onion URL. Force the <code> child to wrap. */
  .ct-main .ct-onion-card,
  .ct-main .ct-primary-endpoint {
    max-width: 100%;
    min-width: 0;
  }
  .ct-main .ct-onion-card__url {
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Hero copy / verified strip / actions — make them shrink to fit.
     Some replica chromes use a non-`.ct-main` wrapper (e.g. prime emits
     `<main class="prime-main-col">` outside `.ct-main`); broaden the
     scope to ANY ancestor that ends in `-main-col` or `-main` so the
     rule lands regardless of the chrome's wrapper class. */
  .ct-hero,
  .ct-hero__main,
  .ct-hero__content,
  .ct-hero__lede,
  .ct-hero__actions,
  .ct-hero__aside,
  .ct-hero__grid,
  .ct-hero__title,
  .ct-verified-strip,
  .ct-onion-card,
  .ct-primary-endpoint,
  .ct-cta-bar,
  .ct-cta-bar__title,
  .ct-cta-bar__text {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  /* Inline onion URLs inside flowing copy don't break on character;
     force them to break-anywhere so a 56-char onion address fits a
     375px viewport. */
  [class*="-onion-inline"],
  [class*="-onion-url"] {
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
    max-width: 100% !important;
    width: auto !important;
    display: inline !important;
  }
  /* CTA bar columns sometimes compute their grid track to max-content
     because a child onion URL has no break opportunity; force the
     title/text columns to 100% of their (now wrap-shrunk) grid track. */
  .ct-cta-bar__title,
  .ct-cta-bar__text {
    width: 100% !important;
    max-width: 100% !important;
  }
  .ct-hero__actions { flex-wrap: wrap; gap: 8px; }
  /* Long .onion / hash strings inside hero title or verified-status
     pills don't break on character without an explicit hint. */
  .ct-hero__title,
  [class$="-verified-status"],
  [class$="-verified-status"] strong,
  [class$="-verified-status"] time {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  /* The verified-status pill defaults to `white-space: nowrap` for the
     desktop one-liner aesthetic; on mobile that overflows the viewport.
     Allow it to wrap and re-flow flexibly. */
  [class$="-verified-status"] {
    white-space: normal !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
  }

  /* TorZon dashboard column — `.torzon-main-col` is flex:1 1 auto with
     min-width:0, but children with min-content larger than viewport
     can still stretch it. Belt-and-suspenders cap. */
  .torzon-main-col,
  .torzon-side,
  .torzon-main-col .block,
  .torzon-stats,
  .torzon-stats .stat,
  .torzon-stats .stat-val,
  .torzon-stats .stat-label {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .torzon-row { overflow-x: hidden; }
  .torzon-main-col {
    overflow-x: hidden;
    word-wrap: break-word;
  }

  /* Markdown content paragraphs / list items — break long URLs inline. */
  .ct-main p,
  .ct-main li,
  .ct-main td,
  .ct-main dd {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* Images cannot exceed their container — AI commonly emits banners
     with natural-width attributes that blow past 375px. */
  .ct-main img,
  .ct-main video,
  .ct-main iframe,
  .ct-main svg,
  .ct-main canvas,
  .ct-main picture {
    max-width: 100%;
    height: auto;
  }

  /* Final defense — clip horizontal overflow at the page level so AI
     content that escapes its container doesn't trigger viewport scroll.
     Content inside still wraps via the rules above; this just prevents
     the page from horizontally scrolling. */
  html, body, .ct-page {
    overflow-x: hidden;
    max-width: 100vw;
  }
  .ct-main {
    max-width: 100vw;
    box-sizing: border-box;
  }

  /* `.ct-stat__value` and `.ct-stat__label` inside `.ct-stats` — the AI
     wraps them in containers that don't always force single-column on
     mobile. Cap them to 100% so the value/label spans don't push out. */
  .ct-main .ct-stat,
  .ct-main .ct-stat__value,
  .ct-main .ct-stat__label,
  .ct-main .ct-stats,
  .ct-main .ct-stats > * {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
}


/* ===== wethenorth.framework.css overlay (replica-specific tweaks) ===== */
/* =====================================================================
   WETHENORTH REPLICA FRAMEWORK OVERLAY
   ---------------------------------------------------------------------
   Appended AFTER real WeTheNorth CSS (style.css + FontAwesome 4.7) AND
   base.extended_components_css(_PALETTE). Provides:
     01  Dashboard layout polish (.wrapper-index / .right-content)
     02  Main content area (.wethenorth-main inside .login-page card)
     03  Per-market placeholder widgets (banner / mirror-card /
         onion-row / verify-form / enter-market / rates / share /
         screenshots / status-dot / verified-status / breadcrumbs /
         bluf / logo) — the full set of `wethenorth-*` class selectors
         emitted by ai_html/placeholders.py, themed in the WTN palette.
     04  Chrome utility classes (wethenorth-eyebrow / wethenorth-crumb)
         + topic-prefix safety net
     05  Sidebar (.usermenu) nav polish — hover + active states
     06  Responsive polish (380 / 540 / 640 / 760 / 880 / 960 px)
     07  Header polish — brand mark + right-session alignment
     08  Real-WTN inherited helpers (.clear / .check / .padh3 / .padi
         / .padp / .sitemap / .loginHead-logo)
     09  Footer (.wtn-footer) polish
     10  Sticky / fixed-pane helpers (PGP / list-view scrollers)
     11  CSS-only modal + show/hide helpers
     12  Back-to-top scroll-arrow

   `.ct-*` components are styled by base.extended_components_css() with
   the wethenorth _PALETTE — this file does NOT re-style `.ct-*`. It
   contributes chrome polish + the `wethenorth-*` per-market widget
   vocabulary.

   Palette: page bg #f6f8f9, content #fff, dark slate nav #42464d,
   red primary #d00000, deep-red accent #8b0000, success #00bb00,
   warning #c85d06, border #e8e0e0 / #cecece, muted #777, body #444.
   ===================================================================== */


/* =====================================================================
   01 — Dashboard layout polish
   ===================================================================== */

/* Real-WTN ships `.right-content { width: 72%; float: left; display:
   inline-block }` + `.left-content { width: 25%; float: left }`. Our
   flex override must use !important to win over those rules because
   the inline-block + float combo would otherwise collapse .right-content
   to its min-content (~57px observed on actual demo render). */
.wrapper-index {
    display: flex !important;
    flex-direction: row !important;
    gap: 18px;
    align-items: flex-start;
    margin: 14px 12px;
    width: 100%;
}
.left-content {
    flex: 0 0 240px !important;
    min-width: 200px !important;
    width: 240px !important;
    float: none !important;
    display: block !important;
}
.right-content {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    float: none !important;
    display: block !important;
}
.login-page {
    background: #fff;
    border: 1px solid #e8e0e0;
    border-radius: 5px;
    padding: 14px 18px 18px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}


/* =====================================================================
   02 — Main content area (.wethenorth-main inside .login-page)
   ===================================================================== */

.wethenorth-main {
    color: #444;
    font-size: 13px;
    line-height: 1.65;
    padding: 6px 4px 16px;
}
.wethenorth-main h1,
.wethenorth-main h2,
.wethenorth-main h3,
.wethenorth-main h4 {
    color: #444;
    margin: 1.4em 0 0.5em;
    line-height: 1.25;
    font-weight: 700;
}
.wethenorth-main h1 { font-size: 20px; }
.wethenorth-main h2 {
    font-size: 17px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e8e0e0;
    position: relative;
}
.wethenorth-main h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 56px;
    height: 2px;
    background: #d00000;
}
.wethenorth-main h3 { font-size: 15px; color: #444; }
.wethenorth-main p { margin: 0 0 0.9em; color: #444; }
.wethenorth-main p strong,
.wethenorth-main li strong {
    color: #444;
    font-weight: 700;
}
.wethenorth-main a {
    color: #d00000;
    text-decoration: none;
}
.wethenorth-main a:hover {
    color: #8b0000;
    text-decoration: underline;
}
.wethenorth-main ul, .wethenorth-main ol {
    margin: 0 0 1em 1.4em;
    padding: 0;
}
.wethenorth-main li { margin: 0.35em 0; }
.wethenorth-main li::marker { color: #d00000; }
.wethenorth-main blockquote {
    margin: 1em 0;
    padding: 10px 14px;
    border-left: 3px solid #d00000;
    background: #f4f4f4;
    color: #444;
    border-radius: 0 4px 4px 0;
}
.wethenorth-main code {
    background: #f4f4f4;
    border: 1px solid #e8e0e0;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 0.9em;
    color: #d00000;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}
.wethenorth-main pre {
    background: #42464d;
    color: #e0e0e0;
    padding: 12px 16px;
    border-radius: 4px;
    overflow-x: auto;
    font-size: 12px;
    line-height: 1.5;
    margin: 1em 0;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}
.wethenorth-main pre code {
    background: transparent; border: 0; color: inherit; padding: 0;
}
.wethenorth-main table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
    background: #fff;
    border: 1px solid #e8e0e0;
    border-radius: 4px;
    overflow: hidden;
    font-size: 12px;
}
.wethenorth-main thead { background: #f4f4f4; }
.wethenorth-main th, .wethenorth-main td {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid #e8e0e0;
}
.wethenorth-main th {
    font-weight: 700;
    color: #444;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}


/* =====================================================================
   03 — Per-market placeholder widgets
   ---------------------------------------------------------------------
   Server-rendered by modules/ai_html/placeholders.py — every `{{onions}}`
   / `{{banner}}` / `{{verify_form}}` / `{{rates}}` / `{{share_buttons}}`
   / `{{enter_market}}` / `{{breadcrumbs}}` / `{{verified-status}}` /
   `{{screenshots}}` substitution emits HTML with class names prefixed
   by the topic slug (`wethenorth-`). Without these rules the widgets
   render as unstyled `<div>` / `<span>` / `<form>` cruft. Each selector
   pair uses the explicit `.wethenorth-foo` form (so the sanitizer's
   class-vocab extractor sees it) AND an attribute-substring form (so
   future prefix changes don't strand styling).
   ===================================================================== */

/* ---- {{banner}} : full-width topic banner image ----------------- */
.wethenorth-banner,
img[class$="-banner"]:not([class*="-icon"]) {
    width: 100%;
    height: auto;
    max-height: 280px;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
    border: 1px solid #e8e0e0;
    margin: 0 0 22px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    background: #f4f4f4;
    display: block;
}

/* ---- {{logo}} : small inline logo ------------------------------- */
.wethenorth-logo,
img[class$="-logo"]:not([class*="-big"]) {
    display: inline-block;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/* ---- {{breadcrumbs}} : page-context strip ----------------------- */
.wethenorth-breadcrumbs,
[class$="-breadcrumbs"]:not([class*="-card"]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 16px;
    color: #777;
    font-size: 12px;
    line-height: 1.4;
}
.wethenorth-breadcrumbs a,
[class$="-breadcrumbs"] a {
    color: #d00000;
    text-decoration: none;
}
.wethenorth-breadcrumbs a:hover,
[class$="-breadcrumbs"] a:hover { text-decoration: underline; }
.wethenorth-breadcrumbs .sep,
[class$="-breadcrumbs"] .sep {
    color: #aaa;
    margin: 0 2px;
}

/* ---- {{onions}} wrapper variants -------------------------------- */
.wethenorth-onions,
[class$="-onions"] {
    position: relative;
    margin: 18px 0 24px;
    border-radius: 5px;
}
.wethenorth-onions-empty,
[class$="-onions-empty"] {
    padding: 18px 16px;
    background: #fff5f5;
    border: 1px dashed #d00000;
    border-radius: 5px;
    color: #777;
    text-align: center;
    font-size: 13px;
}

/* ---- {{onions}} : mirror-card layout (default mode) ------------- */
.wethenorth-mirror-card,
[class$="-mirror-card"]:not([class*="-cards"]):not([class*="-head"]) {
    background: #fff;
    border: 1px solid #e8e0e0;
    border-radius: 5px;
    padding: 14px 16px;
    margin: 0 0 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.wethenorth-mirror-card:hover,
[class$="-mirror-card"]:not([class*="-cards"]):not([class*="-head"]):hover {
    border-color: #d00000;
    box-shadow: 0 1px 4px rgba(208,0,0,0.12);
}
.wethenorth-mirror-card-head,
[class$="-mirror-card-head"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8e0e0;
}
.wethenorth-mirror-card-head .label,
[class$="-mirror-card-head"] .label {
    font-weight: 700;
    color: #444;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.wethenorth-mirror-cards,
[class$="-mirror-cards"] { display: block; }

/* ---- {{onions}} : prose mode ----------------------------------- */
.wethenorth-mirror-prose,
[class$="-mirror-prose"] {
    background: #f4f4f4;
    border-left: 3px solid #d00000;
    padding: 12px 16px;
    border-radius: 0 4px 4px 0;
    margin: 0 0 12px;
}

/* ---- {{onions}} : deflist mode --------------------------------- */
.wethenorth-mirror-deflist,
[class$="-mirror-deflist"] {
    background: #fff;
    border: 1px solid #e8e0e0;
    border-radius: 5px;
    padding: 12px 16px;
}
.wethenorth-mirror-term,
dt[class$="-mirror-term"] {
    font-weight: 700;
    color: #444;
    font-size: 12px;
    margin: 0;
    padding: 6px 0 2px;
    border-top: 1px solid #e8e0e0;
}
.wethenorth-mirror-deflist dt:first-child,
.wethenorth-mirror-deflist dt.wethenorth-mirror-term:first-of-type {
    border-top: 0;
    padding-top: 0;
}
.wethenorth-mirror-def,
dd[class$="-mirror-def"] {
    margin: 0 0 8px;
    padding: 0 0 2px;
    color: #555;
    font-size: 13px;
}

/* ---- {{onions}} : table-row mode ------------------------------- */
.wethenorth-onion-row,
tr[class$="-onion-row"] td,
[class$="-onion-row"] {
    background: #fff;
    vertical-align: top;
}
.wethenorth-onion-row td,
tr[class$="-onion-row"] td {
    padding: 10px 14px;
    border-bottom: 1px solid #e8e0e0;
}
.wethenorth-onion-row .label,
[class$="-onion-row"] .label {
    font-weight: 700;
    color: #777;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* ---- onion URL / inline reference ------------------------------ */
.wethenorth-onion-url,
.wethenorth-onion-inline,
[class$="-onion-url"],
[class*="-onion-inline"] {
    color: #d00000;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.94em;
    overflow-wrap: anywhere;
    word-break: normal;
}
.wethenorth-onion-inline { font-weight: 600; }

/* ---- bottom-line up-front banner (BLUF) -----------------------
   Inner <p class="-bluf"> = visible card; outer <tr class="-onion-bluf">
   = transparent layout row. Mirrors the catharsis pattern. */
.wethenorth-bluf,
[class$="-bluf"]:not([class*="-prose"]):not([class*="-onion-bluf"]):not(tr) {
    background: #fff5f5;
    border: 1px solid #f5cccc;
    border-left: 4px solid #d00000;
    border-radius: 0 4px 4px 0;
    padding: 12px 16px;
    margin: 0 0 14px;
    color: #444;
    font-size: 13px;
    line-height: 1.5;
}
.wethenorth-bluf-prose,
[class$="-bluf-prose"] {
    background: transparent;
    border: 0;
    border-left: 3px solid #d00000;
    padding: 4px 12px;
    color: #555;
    font-style: italic;
}
/* Table-row BLUF continuation — style the <td> only. */
tr.wethenorth-onion-bluf,
tr[class$="-onion-bluf"] {
    background: transparent;
    border: 0;
    max-width: 100%;
    box-sizing: border-box;
}
tr.wethenorth-onion-bluf td,
tr[class$="-onion-bluf"] td {
    background: transparent;
    border: 0;
    padding: 4px 0 12px;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
tr.wethenorth-onion-bluf td > p.wethenorth-bluf:only-child,
tr[class$="-onion-bluf"] td > p[class$="-bluf"]:only-child {
    margin: 0;
}

/* ---- primary-mirror badge ------------------------------------- */
.wethenorth-primary-badge,
[class*="-primary-badge"] {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    background: #d4f4d4;
    color: #0a4a0a;
    border: 1px solid #a3d9a3;
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    vertical-align: middle;
}

/* ---- copy-to-clipboard button --------------------------------- */
.wethenorth-copy-btn,
[class$="-copy-btn"] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: #fff;
    color: #555;
    border: 1px solid #cecece;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease,
                border-color 0.12s ease;
    text-decoration: none;
    line-height: 1.3;
}
.wethenorth-copy-btn:hover,
[class$="-copy-btn"]:hover {
    background: #d00000;
    color: #fff;
    border-color: #d00000;
}

/* ---- status dot (live / warn / err / down / offline) ---------- */
.wethenorth-status-dot,
[class$="-status-dot"] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #aaa;
    margin-right: 6px;
    vertical-align: middle;
}
.wethenorth-status-dot--live,
[class$="-status-dot"][class*="--live"],
[class$="-status-dot"][class*="--ok"] {
    background: #00bb00;
    box-shadow: 0 0 0 3px rgba(0,187,0,0.2);
}
.wethenorth-status-dot--warn,
[class$="-status-dot"][class*="--warn"] {
    background: #c85d06;
    box-shadow: 0 0 0 3px rgba(200,93,6,0.2);
}
.wethenorth-status-dot--err,
.wethenorth-status-dot--down,
.wethenorth-status-dot--offline,
[class$="-status-dot"][class*="--err"],
[class$="-status-dot"][class*="--down"],
[class$="-status-dot"][class*="--offline"] {
    background: #d00000;
    box-shadow: 0 0 0 3px rgba(208,0,0,0.2);
}

/* ---- {{verified-status}} pill --------------------------------- */
.wethenorth-verified-status,
[class$="-verified-status"]:not([class*="-state"]),
[data-rc-slot="verified-status"],
[data-mitm-slot="verified-status"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    background: #d4f4d4;
    border: 1px solid #a3d9a3;
    border-radius: 9999px;
    color: #0a4a0a;
    font-size: 13px;
    font-weight: 500;
}
.wethenorth-verified-status::before,
[class$="-verified-status"]:not([class*="-state"])::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #00bb00;
    box-shadow: 0 0 0 3px rgba(0,187,0,0.2);
}
.wethenorth-verified-status time,
[class$="-verified-status"] time {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    color: #444;
    font-weight: 600;
}
.wethenorth-verified-state,
[class$="-verified-state"] {
    color: #00bb00;
    font-weight: 700;
    letter-spacing: 0.04em;
}

/* ---- {{rates}} : crypto-rate grid ----------------------------- */
.wethenorth-rates,
[class$="-rates"] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 14px 0;
}
.wethenorth-rate,
[class$="-rate"],
[class$="-rates"] > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #e8e0e0;
    border-radius: 5px;
    font-size: 13px;
    transition: border-color 0.15s ease;
}
.wethenorth-rate:hover,
[class$="-rate"]:hover,
[class$="-rates"] > div:hover { border-color: #d00000; }
.wethenorth-rate > span:first-child,
[class$="-rate"] > span:first-child,
[class$="-rates"] > div > span:first-child {
    font-weight: 700;
    color: #444;
    letter-spacing: 0.04em;
    font-size: 11px;
    text-transform: uppercase;
}
.wethenorth-rate > span:last-child,
[class$="-rate"] > span:last-child,
[class$="-rates"] > div > span:last-child {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    color: #00bb00;
    font-size: 13px;
    font-weight: 600;
    font-feature-settings: "tnum","zero";
    font-variant-numeric: tabular-nums;
}
/* per-currency tint */
.wethenorth-price-btc, [class*="-price-btc"] { color: #f7931a !important; }
.wethenorth-price-xmr, [class*="-price-xmr"] { color: #ff6600 !important; }
.wethenorth-price-eth, [class*="-price-eth"] { color: #627eea !important; }
.wethenorth-price-ltc, [class*="-price-ltc"] { color: #345d9d !important; }

/* ---- {{share_buttons}} ---------------------------------------- */
.wethenorth-share-row,
[class$="-share-row"] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
    padding: 12px 14px;
    background: #f4f4f4;
    border: 1px solid #e8e0e0;
    border-radius: 5px;
    align-items: center;
}
.wethenorth-share-row::before,
[class$="-share-row"]::before {
    content: "Share:";
    font-size: 11px;
    font-weight: 600;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-right: 4px;
}
.wethenorth-share-btn,
[class$="-share-btn"] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: #fff;
    color: #444 !important;
    border: 1px solid #e8e0e0;
    border-radius: 3px;
    font-size: 12.5px;
    text-decoration: none !important;
    transition: background 0.12s ease, border-color 0.12s ease,
                color 0.12s ease;
}
.wethenorth-share-btn:hover,
[class$="-share-btn"]:hover {
    background: #d00000;
    border-color: #d00000;
    color: #fff !important;
}

/* ---- {{verify_form}} : PGP signature verifier ---------------- */
.wethenorth-verify-form,
[class$="-verify-form"]:not([class*="-input"]):not([class*="-label"]):not([class*="-submit"]):not([class*="-result"]) {
    background: linear-gradient(180deg, #fff 0%, #f6f8f9 100%);
    border: 1px solid #e8e0e0;
    border-radius: 6px;
    padding: 22px;
    margin: 24px 0;
    position: relative;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    overflow: hidden;
}
.wethenorth-verify-form::after,
[class$="-verify-form"]:not([class*="-input"]):not([class*="-label"]):not([class*="-submit"]):not([class*="-result"])::after {
    content: "PGP";
    position: absolute;
    top: 10px;
    right: 12px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #00bb00;
    background: #d4f4d4;
    border: 1px solid #a3d9a3;
    border-radius: 3px;
    padding: 2px 7px;
}
.wethenorth-verify-label,
[class*="-verify-label"] {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin: 0 0 6px;
}
.wethenorth-verify-input,
[class*="-verify-input"] {
    width: 100%;
    padding: 10px 12px;
    background: #fff;
    color: #444;
    border: 1px solid #cecece;
    border-radius: 3px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 13px;
    box-sizing: border-box;
    margin: 0 0 12px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.wethenorth-verify-input:focus,
[class*="-verify-input"]:focus {
    outline: none;
    border-color: #d00000;
    box-shadow: 0 0 0 0.18rem rgba(208,0,0,0.15);
}
.wethenorth-verify-submit,
[class*="-verify-submit"] {
    background: #d00000;
    color: #fff;
    border: 0;
    padding: 8px 22px;
    border-radius: 3px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.15s ease;
    letter-spacing: 0.04em;
}
.wethenorth-verify-submit:hover,
[class*="-verify-submit"]:hover {
    background: #8b0000;
    color: #fff;
}
.wethenorth-verify-result,
[class*="-verify-result"] {
    margin: 12px 0 0;
    padding: 11px 13px;
    border-radius: 3px;
    background: #f4f4f4;
    border: 1px solid #e8e0e0;
    color: #555;
    font-size: 13px;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    min-height: 1.5em;
}
.verify-ok { color: #00bb00; font-weight: 600; }
.verify-bad { color: #d00000; font-weight: 600; }

/* ---- {{enter_market}} : pill-shaped CTA ---------------------- */
.wethenorth-enter-market,
[class$="-enter-market"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #00bb00;
    color: #fff !important;
    padding: 10px 24px;
    border-radius: 3px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none !important;
    border: 1px solid #009900;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    letter-spacing: 0.04em;
    transition: background 0.15s ease, transform 0.12s ease,
                box-shadow 0.15s ease;
}
.wethenorth-enter-market:hover,
[class$="-enter-market"]:hover {
    background: #009900;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.16);
}

/* ---- {{direct_access_point}} alias of .ct-onion-card --------- */
.wethenorth-direct-access-point,
[class$="-direct-access-point"] {
    display: block;
    background: #fff5f5;
    border: 1px solid #f5cccc;
    border-left: 4px solid #d00000;
    border-radius: 0 5px 5px 0;
    padding: 16px 18px;
    margin: 18px 0;
    text-decoration: none !important;
    color: #444 !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.wethenorth-direct-access-point:hover,
[class$="-direct-access-point"]:hover {
    background: #ffe6e6;
    border-left-color: #8b0000;
}

/* ---- {{screenshots}} : zoomable thumbnail grid --------------- */
.wethenorth-shots,
[class$="-shots"]:not([class*="-shot-"]) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 18px 0 22px;
}
.wethenorth-shot,
[class$="-shot"]:not([class*="-thumb"]):not([class*="-modal"]):not([class*="-backdrop"]):not([class*="-close"]):not([class*="-zoom"]):not([class*="-prev"]):not([class*="-next"]):not([class*="-bar"]):not([class*="-caption"]):not([class*="-inner"]) {
    position: relative;
    margin: 0;
    background: #f4f4f4;
    border: 1px solid #e8e0e0;
    border-radius: 5px;
    overflow: hidden;
}
.wethenorth-shot-thumb,
[class$="-shot-thumb"] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: #f4f4f4;
    cursor: zoom-in;
    transition: opacity 0.15s ease, transform 0.2s ease;
}
.wethenorth-shot-thumb:hover,
[class$="-shot-thumb"]:hover { opacity: 0.92; transform: scale(1.02); }

/* CSS-only zoom modal — the placeholder emits an <input type=checkbox>
   with id `wethenorth-shot-zoom-N`, a clickable `<label class="wethenorth-
   shot-thumb">` that toggles it, and a sibling `.wethenorth-shot-modal`
   that flips visible when checked. */
.wethenorth-shot-zoom,
input[class$="-shot-zoom"] { display: none; }
.wethenorth-shot-modal,
[class$="-shot-modal"]:not([class*="-bar"]):not([class*="-caption"]):not([class*="-inner"]) {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9000;
    background: rgba(0,0,0,0.85);
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.wethenorth-shot-zoom:checked ~ .wethenorth-shot-modal,
input[class$="-shot-zoom"]:checked ~ [class$="-shot-modal"]:not([class*="-bar"]):not([class*="-caption"]):not([class*="-inner"]) {
    display: flex;
}
.wethenorth-shot-modal-inner,
[class$="-shot-modal-inner"] {
    background: #fff;
    border-radius: 5px;
    max-width: 96vw;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 32px rgba(0,0,0,0.4);
}
.wethenorth-shot-modal-bar,
[class$="-shot-modal-bar"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    background: #f4f4f4;
    border-bottom: 1px solid #e8e0e0;
    font-size: 13px;
    color: #444;
}
.wethenorth-shot-modal-caption,
[class$="-shot-modal-caption"] {
    padding: 8px 14px;
    color: #555;
    font-size: 13px;
    line-height: 1.4;
    background: #fff;
    border-top: 1px solid #e8e0e0;
}
.wethenorth-shot-modal img,
[class$="-shot-modal"] img {
    display: block;
    max-width: 100%;
    max-height: 75vh;
    object-fit: contain;
    margin: 0 auto;
}
.wethenorth-shot-backdrop,
[class$="-shot-backdrop"] {
    position: absolute;
    inset: 0;
    cursor: zoom-out;
    background: transparent;
}
.wethenorth-shot-close,
[class$="-shot-close"] {
    background: transparent;
    border: 0;
    color: #444;
    font-size: 18px;
    line-height: 1;
    cursor: zoom-out;
    padding: 0 6px;
    text-decoration: none;
}
.wethenorth-shot-close:hover,
[class$="-shot-close"]:hover { color: #d00000; }
.wethenorth-shot-prev,
.wethenorth-shot-next,
[class$="-shot-prev"],
[class$="-shot-next"] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.85);
    border: 1px solid #e8e0e0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #444;
    text-decoration: none;
    cursor: pointer;
    font-size: 18px;
    z-index: 2;
}
.wethenorth-shot-prev, [class$="-shot-prev"] { left: 16px; }
.wethenorth-shot-next, [class$="-shot-next"] { right: 16px; }
.wethenorth-shot-prev:hover, .wethenorth-shot-next:hover,
[class$="-shot-prev"]:hover, [class$="-shot-next"]:hover {
    background: #fff;
    color: #d00000;
}


/* =====================================================================
   04 — Chrome utility classes + topic-prefix safety
   ---------------------------------------------------------------------
   wethenorth-eyebrow / wethenorth-crumb live in body_open's dashboard
   scaffold; everything else is the safety net.
   ===================================================================== */

.wethenorth-eyebrow {
    background: #f6f8f9;
    border-bottom: 1px solid #e8e0e0;
    margin: 0 -18px 14px;
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.wethenorth-eyebrow .loginHead-logo {
    flex: 0 0 auto;
}
.wethenorth-eyebrow .loginHead-logo i.fa {
    color: #d00000;
    font-size: 13px;
}
.wethenorth-eyebrow .loginHead-head {
    flex: 1 1 auto;
    min-width: 0;
}
.wethenorth-crumb {
    font-size: 11px;
    color: #777;
    letter-spacing: 0.06em;
    line-height: 1.4;
    text-transform: uppercase;
}
.wethenorth-crumb .brand {
    color: #d00000;
    font-weight: 700;
}
.wethenorth-crumb .page {
    color: #444;
    font-weight: 600;
}

/* Topic-prefix safety net — anything `wethenorth-*` that we missed
   inherits colour rather than visually dropping out. NOT a substitute
   for an explicit rule, but stops complete unstyledness if the
   placeholder set grows. */
[class^="wethenorth-"]:not(.wethenorth-onion-url):not(.wethenorth-onion-inline):not(.wethenorth-verify-input):not(.wethenorth-verified-state):not(.wethenorth-share-btn):not(.wethenorth-copy-btn):not(.wethenorth-enter-market),
[class*=" wethenorth-"]:not(.wethenorth-onion-url):not(.wethenorth-onion-inline):not(.wethenorth-verify-input):not(.wethenorth-verified-state):not(.wethenorth-share-btn):not(.wethenorth-copy-btn):not(.wethenorth-enter-market) {
    color: inherit;
}


/* =====================================================================
   05 — Sidebar (.usermenu) polish — icon + active state
   ===================================================================== */

nav.full ul.usermenu {
    list-style: none;
    margin: 0;
    padding: 0;
}
nav.full ul.usermenu li {
    border-bottom: 1px dotted #e8e0e0;
    margin: 0;
}
nav.full ul.usermenu li:last-child {
    border-bottom: 0;
}
nav.full ul.usermenu li a {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    color: #444;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.15s ease, color 0.15s ease;
}
nav.full ul.usermenu li a:hover {
    background: #f1f0ee;
    color: #d00000;
    text-decoration: none;
}
nav.full ul.usermenu li a i.fa {
    font-size: 14px;
    color: #909090;
    width: 16px;
    text-align: center;
}
nav.full ul.usermenu li a:hover i.fa {
    color: #d00000;
}
nav.full ul.usermenu li.active a {
    background: #f4f4f4;
    color: #d00000;
    font-weight: 700;
    border-left: 3px solid #d00000;
    padding-left: 9px;
}
nav.full ul.usermenu li.active a i.fa {
    color: #d00000;
}


/* =====================================================================
   06 — Responsive polish (380 / 540 / 640 / 760 / 880 / 960 px)
   ---------------------------------------------------------------------
   Six breakpoints — matches the catharsis design contract. Real WTN
   ships only a couple of width-specific tweaks, so this layer adds
   the missing reflows for the dashboard chrome + per-market widgets.
   ===================================================================== */

/* Tablet landscape — narrow sidebar */
@media (max-width: 960px) {
    .wrapper-index { gap: 12px; }
    .left-content { flex: 0 0 200px; }
    nav.full ul.usermenu li a {
        font-size: 12px;
        padding: 9px 10px;
        gap: 7px;
    }
    .wethenorth-shots {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
}

/* Tablet portrait — 880 polish */
@media (max-width: 880px) {
    .wethenorth-mirror-card { padding: 12px 14px; }
    .wethenorth-rates { grid-template-columns: repeat(2, 1fr); }
    .wethenorth-shots {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .wethenorth-eyebrow { font-size: 10.5px; }
    .wethenorth-breadcrumbs { font-size: 11.5px; gap: 4px; }
    .wtn-footer .col-12 > div.d-flex {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Stack sidebar above main — 760 */
@media (max-width: 760px) {
    .header {
        flex-wrap: wrap;
        padding: 6px 10px;
    }
    .header .right-session {
        flex: 1 1 auto;
        margin: 6px 4px;
    }
    .header .img-logo svg {
        height: 44px;
    }
    #primary_nav_wrap ul {
        flex-wrap: wrap;
    }
    #primary_nav_wrap ul li a {
        font-size: 12px;
        padding: 8px 10px;
    }
    .sub_head_inner_header h3 {
        font-size: 13px;
    }
    /* Override `.wrapper-index { flex-direction: row !important }` from
       the desktop base rule at line 47 — `!important` here is required
       to win specificity against the base. */
    .wrapper-index {
        flex-direction: column !important;
        margin: 12px 8px;
    }
    .left-content {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .right-content {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
    }
    .wethenorth-main {
        padding: 4px 2px 12px;
    }
    .wethenorth-main h1 { font-size: 18px; }
    .wethenorth-main h2 { font-size: 16px; }
    .login-page { padding: 12px 14px; }
    .wethenorth-verify-form { padding: 16px; }
}

/* Phone landscape — 640 */
@media (max-width: 640px) {
    .wethenorth-rates { grid-template-columns: repeat(1, 1fr); }
    .wethenorth-share-row { flex-direction: row; flex-wrap: wrap; }
    .wethenorth-onions {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .wethenorth-shots { grid-template-columns: 1fr; }
    .wethenorth-enter-market { padding: 9px 18px; font-size: 13px; }
    .wethenorth-verify-form { padding: 14px; margin: 18px 0; }
    .wethenorth-mirror-card { padding: 10px 12px; }
    .wethenorth-eyebrow {
        margin: 0 -14px 12px;
        padding: 6px 14px;
    }
}

/* Phone landscape — 540 */
@media (max-width: 540px) {
    /* Clamp the header chrome row to viewport — `.right-session` floats
       right and the .search-textbox child computes a width relative to
       the floated parent, which on narrow screens overshoots vw. */
    .header {
        max-width: 100vw;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .header .right-session {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    .header .right-session .search-textbox {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    .header .right-session .search-textbox input[type="text"] {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    .header .right-session input[type="submit"] {
        font-size: 12px;
        padding: 7px 10px;
    }
    .header .right-session #right-session-information {
        display: flex;
        gap: 8px;
        align-items: center;
    }
    .header .right-session-text {
        font-size: 11px;
    }
    #primary_nav_wrap ul li a {
        font-size: 11px;
        padding: 6px 8px;
    }
    .login-Head {
        margin: 6px;
    }
    .loginHead-head h3 {
        font-size: 13px;
    }
    .wethenorth-main {
        font-size: 12.5px;
        line-height: 1.55;
    }
    .wethenorth-main table { font-size: 11px; }
    .wethenorth-main pre {
        font-size: 11px;
        padding: 10px 12px;
    }
    .wethenorth-breadcrumbs { font-size: 11px; }
    .pgpdiv { max-height: 8em; }
    .listdiv { max-height: 14em; }
}

/* Phone portrait — tightest */
@media (max-width: 380px) {
    .header .img-logo svg { height: 36px; }
    .header .right-session-text { font-size: 10px; }
    .header .right-session-image i.fa {
        font-size: 22px !important;
        line-height: 36px !important;
    }
    .sub_head_inner_header h3 { font-size: 11px; }
    .wethenorth-main h1 { font-size: 16px; }
    .wethenorth-main h2 { font-size: 14px; }
    .wethenorth-main h3 { font-size: 13px; }
    nav.full ul.usermenu li a {
        font-size: 11px;
        padding: 7px 9px;
    }
    .wtn-footer { padding: 12px 10px; }
    .wtn-footer a {
        display: inline-block;
        margin: 4px 6px !important;
        font-size: 12px;
    }
}


/* =====================================================================
   07 — Header polish — brand mark sizing + right-session alignment
   ===================================================================== */

.header .img-logo {
    padding: 8px 12px;
}
.header .img-logo svg {
    display: block;
    height: 55px;
    width: auto;
}
.header .right-session {
    align-items: center;
}
.header .right-session .right-session-image i.fa {
    background: transparent;
}


/* =====================================================================
   08 — Real-WTN inherited chrome helpers
   ---------------------------------------------------------------------
   `.clear` (float clear), `.check` (vertical inline spacer in the
   sub-header), `.padh3` / `.padp` / `.padi` (zero-margin reset on h3 /
   p / i used inside dashboard headers), `.sitemap` (the right-edge
   sitemap icon), `.loginHead-logo`. Real WTN's style.css defines some
   of these but with class-name collisions we sometimes lose them —
   this layer re-asserts the expected behavior.
   ===================================================================== */

.clear { clear: both; }
.check {
    display: inline-block;
    width: 1px;
    height: 12px;
    margin: 0 4px;
    vertical-align: middle;
}
.check p { display: none; }
.padh3 { margin: 0; padding: 0; line-height: 1.2; }
.padp  { margin: 0; padding: 0; }
.padi  { margin: 0; padding: 0; }
.sitemap { float: right; }
.loginHead-logo i.fa {
    color: #d00000;
}
.sub_head_inner_header {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #f4f4f4;
    border-bottom: 1px solid #e8e0e0;
}
.sub_head_inner_header h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
}
.sub_head_inner_header h3 a {
    color: #444;
    text-decoration: none;
}
.sub_head_inner_header h3 a:hover {
    color: #d00000;
}
.sub_head_inner_header .sitemap {
    margin-left: auto;
    color: #909090;
}
.sub_head_inner_header i.fa-home {
    color: #d00000;
}


/* =====================================================================
   09 — Footer (.wtn-footer) polish
   ===================================================================== */

.wtn-footer a {
    transition: color 0.15s ease;
}
.wtn-footer a:hover {
    color: #8b0000 !important;
    text-decoration: underline !important;
}


/* =====================================================================
   10 — Scrollable content panes (PGP / list view scrollers)
   ===================================================================== */

.listdiv {
    min-height: 4em;
    max-height: 18em;
    overflow-y: auto;
}
.pgpdiv {
    min-height: 3em;
    max-height: 10em;
    overflow-y: auto;
    white-space: pre;
    overflow-wrap: normal;
    overflow-x: auto;
}


/* =====================================================================
   11 — CSS-only modal helper (announcement / info overlays)
   ===================================================================== */

.custom-modal {
    text-align: center;
    vertical-align: middle;
    z-index: 10000;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.5);
    display: none;
}
.modal-checkbox { display: none; }
#modal_checkbox:checked ~ .custom-modal {
    display: block;
}


/* =====================================================================
   12 — Back-to-top scroll-arrow
   ===================================================================== */

.scroll-arrow {
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #d00000;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.18);
    z-index: 100;
    transition: background 0.15s ease, transform 0.15s ease;
}
.scroll-arrow:hover {
    background: #8b0000;
    color: #fff;
    transform: translateY(-2px);
}

/* =====================================================================
   13 — AI .ct-layout collision defense
   ---------------------------------------------------------------------
   When the AI emits its own `<div class="ct-layout"><aside...><main...></div>`
   inside the chrome's content area, base.extended_components_css ships
   `.ct-layout { display:flex; gap:18px }` which creates a 220px aside
   floating inside main. In wethenorth chrome, the chrome already owns
   page layout — flatten the inner layout so the aside renders as an
   inline info-strip above the main content. dh ships this same block.
   ===================================================================== */

.ct-main .ct-layout {
    display: block !important;
    flex-direction: initial;
    gap: 0;
    margin: 0;
}
.ct-main .ct-layout__aside {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    background: #fff5f5;
    border: 1px solid #f5cccc;
    border-radius: 6px;
    padding: 14px 16px;
    margin: 0 0 18px;
}
.ct-main .ct-layout__aside .ct-jump-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0 0 10px;
}
.ct-main .ct-layout__aside .ct-jump-nav a {
    color: #d00000;
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 600;
}
.ct-main .ct-layout__aside .ct-jump-nav a:hover { text-decoration: underline; }
.ct-main .ct-layout__main {
    display: block !important;
    width: auto !important;
    flex: 1 1 auto !important;
}

/* =====================================================================
   14 — Inline onion-link prose visibility
   ---------------------------------------------------------------------
   AI bodies often emit `<p>` containing an inline onion-URL link
   (`<a class="<prefix>-onion-inline <prefix>-onion-url">`). Base rules
   cascade the link's accent color onto the paragraph, making the
   surrounding prose invisible against the surface. This explicit
   :has() rule restores prose color on those paragraphs while keeping
   the link itself accent-colored. dh ships the same rule.
   ===================================================================== */

.wethenorth-main p:has(> [class*="-onion-inline"]),
.wethenorth-main p:has(> [class*="-onion-url"]) { color: #444; }
.wethenorth-main li:has(> [class*="-onion-inline"]),
.wethenorth-main li:has(> [class*="-onion-url"]) { color: #444; }

/* =====================================================================
   15 — Mobile hamburger (CSS-only checkbox + label)
   ---------------------------------------------------------------------
   `wethenorth-nav-toggle` checkbox + `wethenorth-nav-burger` label, sibling
   to `wethenorth-nav-list`. Hidden on desktop, visible <992px. Real
   WeTheNorth chrome has no mobile menu; this is purely additive.
   ===================================================================== */

.wethenorth-nav-toggle { position: absolute; left: -9999px; }
.wethenorth-nav-burger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 36px;
    margin: 0 8px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 4px;
    color: #ffffff;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}
.wethenorth-nav-burger:hover {
    background: rgba(255,255,255,0.10);
    border-color: rgba(255,255,255,0.50);
}
.wethenorth-nav-burger svg { display: block; }

@media (max-width: 991.98px) {
    .wethenorth-nav-burger { display: inline-flex; }
    .wethenorth-nav-list {
        display: none !important;
        width: 100%;
        flex-direction: column;
        gap: 6px;
        padding-top: 8px;
    }
    .wethenorth-nav-toggle:checked ~ .wethenorth-nav-list {
        display: flex !important;
    }
    .wethenorth-nav-list a { display: block; padding: 8px 14px; }
}

/* ---- Footer (WTN-styled, DH 4-column pattern) -------------------- */
/* Dark plate footer with red accent — matches the wtn-nav header bar
   so the page reads top-to-bottom as one consistent brand surface. */
.wtn-footer {
    background: #42464d;
    color: #ffffff;
    padding: 28px 24px 16px;
    margin-top: 28px;
    border-top: 3px solid #d00000;
    font-size: 13px;
    line-height: 1.55;
}
.wtn-foot-brand {
    text-align: center;
    margin: 0 0 18px;
}
.wtn-foot-brand img {
    max-width: 220px;
    height: auto;
    background: transparent;
}
.wtn-foot-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
}
.wtn-foot-col h3 {
    color: #d00000;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    margin: 0 0 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #5a5e66;
}
.wtn-foot-col a {
    color: #e8e0e0;
    text-decoration: none;
    display: inline-block;
    padding: 2px 0;
    transition: color 0.15s;
}
.wtn-foot-col a:hover {
    color: #ffffff;
    text-decoration: underline;
}
.wtn-foot-row { margin: 0 0 2px; }
.wtn-time {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 13px;
    color: #ffffff;
    background: #2b2e33;
    border: 1px solid #5a5e66;
    border-radius: 3px;
    padding: 5px 10px;
    display: inline-block;
}
/* NB: footer rate class is `.wtn-fx` (not `.wtn-rate`) — the
   `[class$="-rate"]` selector earlier in this file would otherwise
   paint these rows as white boxed cards. */
.wtn-fx {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 12px;
    color: #e8e0e0;
    margin: 0 0 3px;
    background: transparent;
    border: none;
    padding: 0;
}
.wtn-foot-bottom {
    max-width: 1100px;
    margin: 18px auto 0;
    padding: 14px 0 0;
    border-top: 1px solid #5a5e66;
    text-align: center;
    color: #aab;
    font-size: 11px;
}
.wtn-foot-bottom time {
    color: #ffffff;
    font-weight: 600;
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}

/* Footer responsive: stack on small viewports */
@media (max-width: 760px) {
    .wtn-foot-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}
@media (max-width: 420px) {
    .wtn-foot-grid {
        grid-template-columns: 1fr;
    }
    .wtn-footer { padding: 20px 14px 12px; }
}

/* ---- Header responsive stack (mobile) ---------------------------- */
/* Real WTN's .header uses position:absolute on .img-logo + float:right
   on .right-session — fine for the 1250px desktop layout, but on
   small viewports the right widgets float up and overlap the brand.
   Force a clean vertical stack below 760px. */
@media (max-width: 760px) {
    .header {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 12px 14px !important;
        overflow: visible !important;
    }
    .header .img-logo {
        position: static !important;
        height: auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .header .img-logo img {
        max-width: 220px;
        height: auto;
        margin: 0 !important;
    }
    .header .right-session {
        float: none !important;
        margin: 0 !important;
        width: 100%;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .header .right-session .right-session-image {
        float: none !important;
        line-height: 1 !important;
        padding: 0 6px 0 0 !important;
    }
    .header .right-session .right-session-text {
        float: none !important;
        text-align: left;
    }
    .header .right-session .search-textbox,
    .header .right-session form {
        width: 100%;
    }
}

/* =====================================================================
   POLISH PASS — readability + spacing
   ---------------------------------------------------------------------
   Targeted fixes for awkward placement uncovered after the chrome
   rewrite landed:
     • Search placeholder text inherited WTN's `input { color:#444 }`
       and read too dark. Lighten the placeholder pseudo-color.
     • Sidebar `.login-Head` had no gap between briefcase icon and
       "DIRECTORY" — icon glued to text.
     • `.right-session` widgets distributed unevenly on desktop —
       VERIFIED kissed the right edge.
     • Primary nav strip items were tight.
   ===================================================================== */

/* ---- Search placeholder — readable but quiet --------------------- */
.header .right-session input[type="search"]::placeholder,
.header .right-session input[type="text"]::placeholder,
.header input[type="search"]::placeholder,
.header input[type="text"]::placeholder {
    color: #9aa0a6 !important;
    opacity: 1;          /* Firefox dims by default */
    font-weight: 400;
    font-style: normal;
}
.header .right-session input[type="search"],
.header .right-session input[type="text"] {
    color: #222 !important;   /* typed text stays high-contrast */
}

/* ---- Sidebar header (.login-Head with DIRECTORY title) ----------- */
/* Real WTN's source rule floats both children with no margin. Force
   flex + an honest gap so the briefcase icon doesn't kiss the title. */
.left-content .login-Head,
#information .login-Head {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    margin: 0 0 4px;
    background: #f6f8f9;
    border-bottom: 1px solid #e8e0e0;
    border-radius: 4px 4px 0 0;
}
.left-content .login-Head .loginHead-logo,
#information .login-Head .loginHead-logo {
    float: none !important;
    width: auto !important;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    line-height: 0;
}
.left-content .login-Head .loginHead-logo i.fa,
#information .login-Head .loginHead-logo i.fa {
    color: #d00000;
    font-size: 16px;
    line-height: 1;
}
.left-content .login-Head .loginHead-head,
#information .login-Head .loginHead-head {
    float: none !important;
    width: auto !important;
    flex: 1 1 auto;
    min-width: 0;
}
.left-content .login-Head .loginHead-head h3,
#information .login-Head .loginHead-head h3 {
    margin: 0;
    padding: 0;
    color: #444;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
}

/* ---- Header right-session widgets — even spacing ----------------- */
/* On desktop the .header is flex; give each right-session child a
   consistent right-margin so the search box / Enter Market / VERIFIED
   trio doesn't bunch together and the last child doesn't kiss the
   viewport edge. */
@media (min-width: 761px) {
    .header {
        padding-right: 18px;
    }
    .header .right-session {
        margin: 10px 0 10px 14px;   /* even left-gap between widgets */
    }
    .header .right-session:last-child {
        margin-right: 6px;          /* breathing room from right edge */
    }
    /* VERIFIED widget — keep its inner text from wrapping under itself */
    .header .right-session #right-session-information {
        display: flex;
        align-items: center;
        gap: 10px;
        padding-right: 4px;
    }
    .header .right-session .right-session-text p {
        white-space: nowrap;
    }
}

/* ---- Primary nav (#primary_nav_wrap) — breathing room ------------ */
#primary_nav_wrap ul {
    padding: 0 8px;
}
#primary_nav_wrap ul li a {
    padding-left: 14px;
    padding-right: 14px;
    letter-spacing: 0.04em;
}

/* ---- Sub-header breadcrumb strip — better visual rhythm --------- */
.sub_head_inner_header {
    padding: 10px 16px;
}
.sub_head_inner_header h3 {
    margin: 0 6px;
}
.sub_head_inner_header > i.fa {
    color: #d00000;
}
