@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root{
    color-scheme: dark;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
    max-width: 100%;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #46594c #151a18;
    font-family: 'EB Garamond', serif;
}

img, video, svg, table {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

nav, .nav-links a, nav h2, .post-job-dropdown a, .notif-dropdown, #profile-btn, #logout-btn, #notifications-btn {
    font-family: 'EB Garamond', serif;
    font-weight: 600;
    letter-spacing: .3px;
}

nav h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    letter-spacing: .5px;
}

footer, .footer-links a {
    font-family: 'EB Garamond', serif;
    font-weight: 500;
}

.job-title, .job-card .job-title, .my-job-title, .leaderboard-name, .details-header h2, .job-header h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

.job-reward, .job-reward-qty, .reward, .reward-amount, .stat-row span, .profile-reputation-amount,
.leaderboard-count, .leaderboard-rank, .step-number, .posted-jobs-count, .notif-badge, .scam-count {
    font-family: 'EB Garamond', serif;
    font-weight: 600;
}

button, .take-contract-btn, .publish-btn, .cancel-btn, .page-btn, #discord-login-btn,
.admin-action-btn, .copy-btn, .edit-profile-btn, .my-job-delete-btn, .vouch-delete-btn,
#search-bar button, #add-looking-item-btn, #add-offering-item-btn {
    font-family: 'EB Garamond', serif;
    font-weight: 600;
    letter-spacing: .3px;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 12px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
    background: #151a18;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    background: #46594c;
    border: 2px solid #151a18;
    border-radius: 6px;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
    background: #526b5c;
}

body {
    margin: 0;
    padding: 20px;
    color: #d8e0db;

    background-color: #0a0d0b;
    background-image:
        radial-gradient(ellipse at 50% 0%, #26332f 0%, #131a17 45%, #05070600 75%),
        linear-gradient(
        180deg,
        #202b2a,
        #17201d,
        #0c1110
    );

    background-repeat: no-repeat;
    background-attachment: fixed, fixed;
}
.job-card{
    display: flex;
    position: relative;
    border: 1px solid #39483f;
    border-radius: 5px;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
    padding: 14px 22px;
    height: 220px;
    box-sizing: border-box;
    align-items: flex-start;
    gap: 20px;
    background: #1a1d1a;
    margin-right: 2%;
    margin-left: 1%;
    margin-bottom: 6px;
}
.job-card:hover{
    background: #21251f;
    border-color: #5c7264;
}
.job-list{
    width: 100%;
    height: 550px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #46594c #151a18;
}

#search-bar-stuff{
width: 74%;
box-sizing: border-box;

background: rgba(20, 23, 20, 0.65);
border: 1px solid #39483f;
border-radius: 5px;

display: flex;
align-items: center;
gap: 30px;
flex-wrap: wrap;
padding: 10px;
}
#search-bar{
    display: flex;

    width: 42%;
    min-width: 0;
    flex: 0 1 260px;
    max-width: 320px;

    background: #171a17;
    border: 1px solid #39483f;
    border-radius: 5px;
    overflow: hidden;
}
#discord-icon{
    display: block;
    margin-left: auto;
    width: fit-content;
}
nav{
    background: #101210;
    display: flex;
    flex-wrap: wrap;
    row-gap: 10px;
    align-items: center;
    padding: 10px 20px;
    border-top: 1px solid #39483f;
    border-bottom: 3px double #39483f;
    border-left: 1px solid #39483f;
    border-right: 1px solid #39483f;
    position: sticky;
    top: 0;
    z-index: 200;
}
.nav-links{
    display: flex;
    gap: 30px;
    margin-left: auto;
    margin-right: 50px;
}
#search-bar input{
    flex: 1;

    background: transparent;
    border: none;
    color: #edf3ef;

    padding: 0 15px;
    height: 50px;
}
#search-bar button{
    width: 52px;
    height: 50px;

    border: none;
    background: #2b322d;
    color: #d8e0db;
    cursor: pointer;
    transition: .2s;
}

#category-option,
#region-option,
#sort-option,
#period-option{
    flex: 1 1 140px;
}
#category-option select,
#region-option select,
#sort-option select,
#period-option select{
    background: #202522;
    color: #edf3ef;

    border: 1px solid #39483f;
    border-radius: 6px;

    padding: 8px 12px;

    transition: .2s;
}
.job-profile{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}
.job-profile-detail{
    margin: 0 0 10px;
}
.job-picture{
    width: 120px;
    height: 120px;
    object-fit: cover;
    border: 1px solid #39483f;
    border-radius: 6px;
}
.job-category{
    color: #8fb89a;
    font-size: 22px;
}
.job-title{
    font-size: 32px;
    color: #f4f6f4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 100%;
}
.job-reward{
    position: relative;
    color: hsl(50, 14%, 92%);
    font-size: 19px;
    background: #2b3630;
    border: 1px solid #3a453e;
    border-radius: 6px;
    font-weight: bold;
    padding: 6px 13px 6px 26px;
    white-space: nowrap;
}
.job-reward-qty{
    position: absolute;
    left: -8px;
    top: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1b211d;
    border: 1px solid #4c6355;
    border-radius: 6px;
    color: #b6c8bc;
    font-size: 11px;
    font-weight: 700;
}
.job-reward-more{
    background: transparent;
    border: 1px solid #3a453e;
    color: #9fc7ac;
    font-weight: 600;
    padding-left: 13px;
}
.job-publisher{
    color: #74b7ff;
    font-size: 14px;
    margin-top: -4px;
}
nav h2{
    color: #f2f5f1;
    margin: 0;
}
 a {
    text-decoration: none;
    color: inherit;
}

.job-info{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.job-info h2,
.job-info p{
    margin: 0;
}
.job-footer{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    position: absolute;
    top: 0;
    right: 0;
    max-width: 230px;
}
.job-main{
    padding-right: 180px;
}
.job-description{
    font-size: 18px;
    margin-top: 15px;
    max-width: 500px;
    color: #d5ddd7;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.job-region{
    position: absolute;
    bottom: 12px;
    right: 20px;
    margin: 0;
    color: #6f8f7c;
    font-size: 13px;
    letter-spacing: .3px;
    text-transform: uppercase;
}
#get-a-job-text{
    color: #f7faf8;
    max-width: 200px;
    margin-top: 8px;
}
.nav-links a:hover{
    color: #a9bcae;
}
h3{
    color: #b6c8bc;
}
#search-bar input::placeholder{
    color: #8da297;
}
#category-option label,
#region-option label,
#sort-option label,
#period-option label{
    display:block;
    margin-bottom:6px;

    color:#b6c8bc;
    font-size:14px;
}
hr{
    height: 0;
    background: none;
    border: none;
    border-top: 3px double #46594c;
}
.carry-target{
    color: #c9a668;
}
.player-target{
    color: #b0554c;
}
.trade-target{
    color:#5fa671;
}
.job-card .job-title{
    font-size: 30px;
}
.job-card .job-category{
    font-size: 20px;
}
.job-card .job-description{
    font-size: 17px;
}
.job-card .job-picture{
    width: 120px;
    height: 120px;
}
.job-card .job-reward{
    background: rgba(75,95,84,.18);
    border: 1px solid rgba(90,110,98,.35);
    color: #b7d9c0;
    font-size: 16px;
    font-weight: 600;
    padding: 7px 14px 7px 24px;
}
.job-card .job-reward-more{
    padding: 7px 14px;
}
.job-card .job-reward-qty{
    background: #171b18;
    border-color: #4c6355;
}
.job-card .job-main{
    padding-right: 150px;
}
.account-buttons{
    display: flex;
    gap: 12px;
    align-items: center;
}
.indexcontent{
    display: flex;
    align-items: stretch;
    gap: 2%;
}
footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    margin-top: 40px;
    border-top: 3px double #39483f;
    background: #0c1110;
}
.footer-links{
    display: flex;
    align-items: center;
    gap: 25px;
}
.footer-links a{
    transition: color .2s ease;
}

.footer-links a:hover{
    color: #a9bcae;
}
#discord-icon:hover{
    opacity: .8;
}
#coffee-icon{
    width: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    flex-shrink: 0;
}
#coffee-icon img{
    width: 180px !important;
    height: auto !important;
    max-width: 100% !important;
    display: block;
}
#coffee-icon:hover{
    opacity: .8;
}
.job-list::-webkit-scrollbar{
    width: 12px;
}

.job-list::-webkit-scrollbar-track{
    background: #151a18;
    border-left: 1px solid #39483f;
    border-radius: 6px;
}

.job-list::-webkit-scrollbar-thumb{
    background: #46594c;
    border: 2px solid #151a18;
    border-radius: 6px;
}

.job-list::-webkit-scrollbar-thumb:hover{
    background: #526b5c;
}
#discord-login-btn{
    background: #edf3ef;
    color: #14201a;
    border: none;
    border-radius: 8px;
    padding: 11px 20px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .15s ease;
}

#discord-login-btn:hover{
    background: #ffffff;
}
.nav-links a{
    transition: color .2s ease;
    font-weight: 600;
}
.right-side{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 40px;
    width: 25%;
}
.ferryman-quote-link{
    display: block;
    width: 100%;
    max-width: 220px;
}
.ferryman-quote{
    background: #262d29;
    border: 1px solid #39483f;
    border-radius: 8px;
    padding: 16px 20px;
    text-align: center;
    transition: border-color .2s ease;
}
.ferryman-quote p{
    margin: 0;
    color: #a8c2b0;
    font-style: italic;
    font-size: 15px;
    line-height: 1.4;
}
.ferryman-attribution{
    display: block;
    margin-top: 8px;
    color: #5f7c6c;
    font-size: 12px;
    letter-spacing: .4px;
}
.ferryman-quote-link:hover .ferryman-quote{
    border-color: #4c6355;
}
.job-post{
    width: 70%;
    min-height: 700px;

    margin: 40px auto;
    padding: 30px;

    display: flex;
    flex-direction: column;
    gap: 25px;

    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;
}
.job-header{
    text-align: center;
    margin-bottom: 25px;
}
.job-header h2{
    margin: 0;
    font-size: 42px;
    color: #f4f6f4;
    overflow-wrap: break-word;
    word-break: break-word;
}

.details-info{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;

    color: #b6c8bc;
    font-size: 22px;
}
.details-info p{
    margin: 0;
}
.job-post hr{
    width: 92%;
    height: 2px;

    margin: 35px auto;

    border: none;
    border-radius: 8px;

    background: #39483f;
}
.details-description h3{
    margin: 0 0 15px;
    color: #f4f6f4;
}

.details-description{
    margin: 25px 0;
}
.details-description p{
    margin: 0;

    font-size: 20px;
    line-height: 1.8;

    color: #d5ddd7;
}
.details-rewards{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;

    margin: 25px 0;
}
.reward{
    position: relative;
    background: #2b3630;

    border: 1px solid #3a453e;
    border-radius: 6px;

    padding: 10px 16px 10px 28px;

    color: white;
    font-weight: bold;
}

.reward-amount{
    color: #d8e0db;
}
.details-contact{
    display: flex;
    align-items: center;
    gap: 15px;

    margin-top: 25px;
}

.publisher-discord{
    color: #74b7ff;
    font-size: 20px;
    font-weight: 600;
}
.take-contract-btn{
    margin-left: auto;

    background: #3d5a48;
    color: white;
    font-size: 15px;
    font-weight: 700;

    padding: 11px 22px;

    border: none;
    border-radius: 8px;

    cursor: pointer;
    transition: .15s ease;
}
.take-contract-btn:hover{
    background: #46614f;
}
.contact-notice{
    font-size: 13px;
    color: #aeb8b2;

    background: rgba(0, 0, 0, 0.15);

    border-left: 3px solid #4c6355;
    border-radius: 8px;

    padding: 10px 14px;

    line-height: 1.5;
}
.details-publisher{
    color: #74b7ff;
    font-size: 22px;
    font-weight: 600;
}
.details-category{
    color: #8fb89a;
    font-size: 22px;
    font-weight: 600;
}
.details-pfp{
    width: 120px;
    height: 120px;
    object-fit: cover;
    border: 3px solid #33402f;
    border-radius: 6px;
    margin-bottom: 12px;
}
.reputation-range{
    margin: 0 !important;
    color: #8da297 !important;
    font-size: 13px;
}
.profile-reputation-amount.negative{
    color: #e0645f !important;
}
.profile-trust-level.rank-traitor{
    background: rgba(224,100,95,.18);
    border-color: #e0645f;
    color: #e0645f;
}
.profile-trust-level.rank-distrusted{
    background: rgba(224,140,95,.16);
    border-color: #e08c5f;
    color: #e08c5f;
}
.profile-trust-level.rank-suspect{
    background: rgba(224,190,95,.16);
    border-color: #e0be5f;
    color: #e0be5f;
}
.profile-trust-level.rank-unproven{
    background: rgba(182,200,188,.14);
    border-color: #8da297;
    color: #b6c8bc;
}
.profile-trust-level.rank-known{
    background: rgba(116,183,255,.14);
    border-color: #74b7ff;
    color: #74b7ff;
}
.profile-trust-level.rank-reliable{
    background: rgba(90,110,98,.14);
    border-color: #55705f;
    color: #55705f;
}
.profile-trust-level.rank-trusted{
    background: rgba(90,110,98,.2);
    border-color: #55705f;
    color: #55705f;
}
.profile-trust-level.rank-highly-trusted{
    background: rgba(178,140,255,.18);
    border-color: #b28cff;
    color: #b28cff;
}
.profile-trust-level.rank-exalted{
    background: rgba(255,209,102,.2);
    border-color: #ffd166;
    color: #ffd166;
}
.scam-count{
    color: #e0645f !important;
}
.profile-header{
    width: 80%;

    margin: 40px auto;

    padding: 25px;

    display: flex;
    align-items: center;

    gap: 35px;

    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;

}
.profile-picture{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.profile-picture img{
    width: 130px;
    height: 130px;

    object-fit: cover;

    border: 3px solid #33402f;
    border-radius: 8px;
}
.profile-reputation{
    display: flex;
    flex-direction: column;

    gap: 10px;

    width: 230px;
    flex-shrink: 0;
}
.profile-user-info{
    flex: 1;
}
.profile-reputation-amount{
    color: #55705f;
    font-size: 30px;
    font-weight: bold;
}
.profile-trust-level{
    display: inline-block;

    margin-top: 8px;
    padding: 4px 10px;

    background: rgba(90, 110, 98, .15);
    border: 1px solid #55705f;
    border-radius: 8px;

    color: #55705f;
    font-size: 16px;
    font-weight: bold;

    width: fit-content;
}
.profile-username{
    margin: 0;
    font-size: 46px;
    font-weight: bold;
    color: #f4f6f4;
}
.profile-status{
    margin-top: 10px;
    margin-left: 20px;

    color: #aeb8b2;

    font-style: italic;
    font-size: 17px;
    letter-spacing: .2px;
}
.edit-profile-btn{
    background: #3d5a48;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px 16px;
    font-weight: 600;
    cursor: pointer;
    transition: .15s ease;
}

.edit-profile-btn:hover{
    background: #46614f;
}
.profile-user-info{
    flex: 1;

    padding-left: 10px;
}
.profile-reputation p{
    margin: 0;

    color: #b6c8bc;
}
.profile-info-row{
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

.profile-info-row p{
    margin: 0;
}
#search-bar button:hover{
    background: #38423b;
}
#category-option select:hover,
#sort-option select:hover{
    border-color: #4c6355;
}
.jobs-section{
    width: 75%;

    display: flex;
    flex-direction: column;
}
.page-navigation{
    display: flex;
    justify-content: center;
    gap: 12px;

    margin-top: 20px;
}

.page-btn{
    width: 40px;
    height: 40px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;

    background: rgba(255,255,255,.04);
    color: #d8e0db;

    font-size: 16px;
    font-weight: 600;
    line-height: 1;

    cursor: pointer;
    transition: .15s;
}

.page-btn:hover{
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.16);
}

.active-page{
    background: #3d5a48;
    border-color: #3d5a48;
    color: white;
}
.profile-about{
    width: 100%;
    max-width: 900px;

    margin: 0 0 30px 0;

    padding: 25px;

    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;
}

.profile-about h2{
    margin: 0 0 18px;

    color: #f4f6f4;
    font-size: 32px;
}

.profile-about-text{
    margin: 0;

    color: #d5ddd7;
    font-size: 18px;
    line-height: 1.7;

    white-space: pre-wrap;
}
.profile-stats{
    width: 100%;

    padding: 25px;

    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;

}
.profile-stats h2{
    margin: 0 0 20px;

    color: #f4f6f4;
    font-size: 32px;
}
.stat-row{
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 14px 0;

    border-bottom: 1px solid #39483f;
}
.stat-row:last-child{
    border-bottom: none;
}
.stat-row span:first-child{
    color: #b6c8bc;
    font-size: 18px;
}

.stat-row span:last-child{
    color: #f4f6f4;
    font-size: 18px;
    font-weight: bold;
}
.completed-jobs{
    width: 100%;
    max-width: 900px;

    padding: 25px;

    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;

}

.completed-jobs h2{
    margin: 0 0 20px;
    color: #f4f6f4;
    font-size: 32px;
}

.completed-job{
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 15px 0;

    border-bottom: 1px solid #39483f;

    color: #d5ddd7;
    font-size: 18px;
}

.completed-job:last-child{
    border-bottom: none;
}

.completed-job span:last-child{
    color: #55705f;
    font-weight: bold;
}
.profile-vouches{
    width: 100%;
    max-width: 900px;

    padding: 25px;

    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;

}

.profile-vouches h2{
    margin: 0 0 20px;
    color: #f4f6f4;
}
.vouch-tabs{
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}
.vouch-tab-btn{
    padding: 8px 16px;
    background: transparent;
    color: #8da297;
    border: 2px solid #39483f;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}
.vouch-tab-btn:hover{
    background: rgba(255,255,255,.03);
}
.vouch-tab-btn.active{
    background: #33453a;
    color: #f4f6f4;
    border-color: #55705f;
}

.vouch-list{
    max-height: 350px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #46594c #151a18;
}
.vouch-list::-webkit-scrollbar{
    width: 12px;
}
.vouch-list::-webkit-scrollbar-track{
    background: #151a18;
    border-left: 1px solid #39483f;
    border-radius: 6px;
}
.vouch-list::-webkit-scrollbar-thumb{
    background: #46594c;

    border: 2px solid #151a18;
    border-radius: 6px;
}
.vouch-list::-webkit-scrollbar-thumb:hover{
    background: #526b5c;
}

.vouch{
    padding: 15px;

    margin-bottom: 15px;

    background: rgba(0,0,0,.18);

    border: 1px solid #39483f;
    border-radius: 6px;
    transition: background .2s ease;
}
.vouch:hover{
    background: rgba(0,0,0,.08);
}

.vouch-author{
    margin: 0 0 8px;

    color: #74b7ff;
    font-weight: bold;
}

.vouch-text{
    margin: 0;

    color: #d5ddd7;
    line-height: 1.6;
}
.profile-badges{
    width: 100%;
    max-width: 900px;

    padding: 25px;

    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;

}

.profile-badges h2{
    margin: 0 0 20px;

    color: #f4f6f4;
    font-size: 32px;
}

.badges-coming-soon{
    margin: 0;

    text-align: center;

    color: #b6c8bc;
    font-size: 20px;
    font-style: italic;
}
.profile-columns{
    display: flex;
    gap: 40px;
    width: 80%;
    margin: 40px auto;
    align-items: flex-start;
}
.profile-left,
.profile-right{
    display:flex;
    flex-direction:column;
    width: 50%;
    box-sizing: border-box;
    gap: 30px;
}

.profile-columns > div{
    min-width: 0;
}
.profile-about,
.profile-stats,
.profile-vouches,
.completed-jobs,
.profile-badges{
    box-sizing: border-box;
}
.profile-about{
    margin-bottom: 10px;
}
div[style]{
  display: none !important;
}

.completed-job{
    text-decoration: none;
    cursor: pointer;
}
.completed-job:hover{
    background: rgba(255,255,255,.03);
}

.vouch.scam-vouch{
    background: rgba(224,100,95,.08);
    border-color: #7a3a3a;
}
.vouch-author a{
    color: #74b7ff;
    text-decoration: none;
}
.vouch-author a:hover{
    text-decoration: underline;
}
.vouch.scam-vouch .vouch-author{
    color: #e0645f;
}
.vouch-job{
    margin: 8px 0 0;
    color: #8da297;
    font-size: 14px;
}
.vouch-job a{
    color: #8da297;
}

.profile-picture img{
    width: 130px;
    height: 130px;
    object-fit: cover;
    border: 3px solid #33402f;
    border-radius: 8px;
}
.edit-profile-form{
    margin-top: 18px;
    max-width: 500px;
}

.takers-list{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}
.taker-chip{
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 6px 12px 6px 6px;

    background: rgba(255,255,255,.04);
    border: 1px solid #39483f;
    border-radius: 8px;

    color: #d8e0db;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;

    transition: .15s ease;
}
.taker-chip:hover{
    background: rgba(255,255,255,.08);
    border-color: #4c6355;
}
.taker-chip img{
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
}

.form-error{
    padding: 12px 16px;
    margin-bottom: 18px;

    background: rgba(224,100,95,.12);
    border: 1px solid #7a3a3a;
    border-radius: 6px;

    color: #e0645f;
    font-weight: 600;
}

.star-input{
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
}
.star-input input{
    display: none;
}
.star-input label{
    font-size: 34px;
    line-height: 1;
    color: #39483f;
    cursor: pointer;
    transition: color .1s ease;
}
.star-input input:checked ~ label,
.star-input label:hover,
.star-input label:hover ~ label{
    color: #ffd166;
}

.vouch-radios{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.vouch-radios label{
    display: flex;
    align-items: center;
    gap: 6px;
    color: #d8e0db;
    cursor: pointer;
}
.vouch-radios input{
    accent-color: #55705f;
}

.rate-vouch-card{
    border-color: #3d4b40;
}
.my-rating-display{
    font-size: 26px;
    color: #ffd166;
    margin: 0 0 8px;
}
.my-vouch-display{
    font-size: 16px;
    margin: 0;
}
.vouch-text-good{
    color: #55705f;
}
.scam-vouch-text{
    color: #e0645f;
}

.vouch-page{
    width: 90%;
    max-width: 560px;
    margin: 60px auto;
}
.vouch-target{
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 22px;
    margin-bottom: 22px;
    border-bottom: 1px solid #39483f;
}
.vouch-target img{
    width: 54px;
    height: 54px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #39483f;
}
.vouch-target-name{
    margin: 0;
    font-size: 19px;
    font-weight: 700;
}
.vouch-target-name a{
    color: #f4f6f4;
}
.vouch-target-job{
    margin: 2px 0 0;
    color: #b6c8bc;
    font-size: 14px;
}
.create-job-page{
    width: 75%;
    max-width: 950px;
    margin: 40px auto;
}

.create-job-page h1{
    margin-bottom: 8px;
    color: #f4f6f4;
    font-size: 42px;
}

.page-description{
    color: #b6c8bc;
    margin-bottom: 35px;
    font-size: 18px;
}

#pve-request-form{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.form-card{
    background: #262d29;

    border: 2px solid #39483f;
    border-radius: 8px;

    padding: 30px;
    overflow-wrap: break-word;
    word-break: break-word;

}

.form-card h2{
    margin: 0 0 25px;
    color: #f4f6f4;
    font-size: 30px;
}

.input-group{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 22px;
}

.input-group label{
    color: #b6c8bc;
    font-weight: bold;
}

.input-group input,
.input-group select,
.input-group textarea{

    width: 100%;
    box-sizing: border-box;

    background: #1a1f1c;
    color: #edf3ef;

    border: 2px solid #39483f;
    border-radius: 6px;

    padding: 14px 16px;

    font-size: 16px;

    transition: .2s ease;
}

.input-group textarea{

    resize: vertical;
    min-height: 120px;

}

.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus{

    outline: none;

    border-color: #55705f;

}

.input-group textarea::placeholder,
.input-group input::placeholder{

    color: #8da297;

}

.two-column{

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 30px;

}

.section-header{

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 25px;

}

#add-reward-btn{
    background: #3d5a48;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px 16px;
    cursor: pointer;
    font-weight: 600;
    transition: .15s ease;
}

#add-reward-btn:hover{
    background: #46614f;
}

#reward-container{

    display: flex;

    flex-direction: column;

    gap: 18px;

}

.reward-row{

    background: rgba(0,0,0,.18);

    border: 1px solid #39483f;

    border-radius: 8px;

    padding: 20px;

}

.reward-grid{

    display: grid;

    grid-template-columns: 1fr 1fr 120px auto;

    gap: 18px;

    align-items: end;

}

.remove-reward{
    height: 48px;
    background: rgba(180,70,70,.18);
    color: #e8b6b6;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: .15s ease;
}

.remove-reward:hover{
    background: rgba(180,70,70,.3);
}

.form-buttons{

    display: flex;

    justify-content: flex-end;

    gap: 18px;

}

.cancel-btn{
    background: rgba(255,255,255,.06);
    color: #d8e0db;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    padding: 12px 26px;
    cursor: pointer;
    transition: .15s;
}

.cancel-btn:hover{
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.2);
}

.publish-btn{
    background: #3d5a48;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 13px 28px;
    font-weight: 700;
    cursor: pointer;
    transition: .15s;
}

.publish-btn:hover{
    background: #46614f;
}

.admin-action-form{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.admin-action-btn{
    width: 100%;
    background: rgba(255,255,255,.06);
    color: #d8e0db;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 6px;
    padding: 9px 14px;
    font-size: 14px;
    cursor: pointer;
    transition: .15s;
    text-align: left;
}

.admin-action-btn:hover{
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.2);
}

.admin-action-btn.danger{
    background: rgba(224,100,95,.12);
    border-color: #7a3a3a;
    color: #ff9a94;
}

.admin-action-btn.danger:hover{
    background: rgba(224,100,95,.22);
}

.admin-timeout-select{
    width: 100%;
    background: #1c2622;
    color: #d8e0db;
    border: 1px solid #39483f;
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 14px;
}

.admin-status-note{
    display: inline-block;
    margin: 6px 0 0;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
}

.admin-status-banned{
    background: rgba(224,100,95,.14);
    color: #ff9a94;
    border: 1px solid #7a3a3a;
}

.admin-status-timeout{
    background: rgba(230,183,90,.14);
    color: #e6b75a;
    border: 1px solid #7a6a3a;
}

.vouch-delete-form{
    margin-top: 8px;
}

.vouch-delete-btn{
    background: none;
    border: none;
    color: #e0645f;
    font-size: 12px;
    cursor: pointer;
    padding: 0;
    opacity: .75;
}

.vouch-delete-btn:hover{
    opacity: 1;
    text-decoration: underline;
}

@media(max-width:800px){

    .create-job-page{

        width:95%;

    }

    .two-column{

        grid-template-columns:1fr;

    }

    .reward-grid{

        grid-template-columns:1fr;

    }

    .form-buttons{

        flex-direction:column;

    }

}
#trade-request-form{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

#looking-item-container,
#offering-item-container{
    display: flex;
    flex-direction: column;
    gap: 18px;
}

#add-looking-item-btn,
#add-offering-item-btn{
    background: #3d8250;
    color: white;
    border: 2px solid #55705f;
    border-radius: 6px;
    padding: 10px 18px;
    font-weight: bold;
    cursor: pointer;
    transition: .2s ease;
}

#add-looking-item-btn:hover,
#add-offering-item-btn:hover{
    background: #4a9660;
}

.trade-section h3{
    margin-bottom: 18px;
    color: #f4f6f4;
    font-size: 28px;
}

.about-page{
    width: 75%;
    max-width: 1000px;
    margin: 40px auto;
}

.about-header{
    text-align: center;
    margin-bottom: 40px;
}

.about-header h1{
    margin: 0 0 15px;
    color: #f4f6f4;
    font-size: 48px;
}

.about-header p{
    margin: 0 auto;
    max-width: 700px;
    color: #b6c8bc;
    font-size: 20px;
    line-height: 1.6;
}

.support-page{
    width: 92%;
    max-width: 900px;
    margin: 55px auto 40px;
}

.support-card{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 22px;
    box-sizing: border-box;
    background: #262d29;
    border: 2px solid #39483f;
    border-radius: 8px;
}

.support-card a{
    display: block;
    width: 55%;
    flex-shrink: 0;
}

.support-card img{
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.support-card a:hover img{
    transform: scale(1.03);
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

.support-info{
    flex: 1;
    text-align: left;
}

.support-info h1{
    margin: 0 0 12px;
    color: #f4f6f4;
    font-size: 42px;
}

.support-info p{
    margin: 0;
    color: #b6c8bc;
    font-size: 19px;
    line-height: 1.6;
}

@media(max-width:800px){
    .support-page{
        width: 92%;
        margin-top: 35px;
    }

    .support-card{
        flex-direction: column;
        gap: 20px;
        padding: 16px;
    }

    .support-card a{
        width: 100%;
    }

    .support-info{
        width: 100%;
        text-align: center;
    }

    .support-info h1{
        font-size: 32px;
    }

    .support-info p{
        font-size: 17px;
    }
}

.about-card{
    margin-bottom: 30px;
    padding: 30px;
    background: #262d29;
    border: 2px solid #39483f;
    border-radius: 8px;
}

.about-card h2{
    margin: 0 0 20px;
    color: #f4f6f4;
    font-size: 32px;
}

.about-card p{
    margin: 0 0 18px;
    color: #d5ddd7;
    font-size: 18px;
    line-height: 1.8;
}

.about-card p:last-child{
    margin-bottom: 0;
}

.about-steps{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.about-step{
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    background: rgba(0,0,0,.18);
    border: 1px solid #39483f;
    border-radius: 8px;
}

.step-number{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    background: #33453a;
    border: 2px solid #55705f;
    border-radius: 50%;
    color: white;
    font-size: 20px;
    font-weight: bold;
}

.step-content h3{
    margin: 0 0 8px;
    color: #f4f6f4;
    font-size: 22px;
}

.step-content p{
    margin: 0;
    font-size: 16px;
}

.about-highlight{
    margin-top: 25px;
    padding: 20px;
    background: rgba(90,110,98,.08);
    border-left: 4px solid #55705f;
    border-radius: 6px;
}

.about-highlight h3{
    margin: 0 0 8px;
    color: #55705f;
    font-size: 24px;
}

.about-highlight p{
    margin: 0;
    color: #b6c8bc;
    font-size: 17px;
}

.about-types{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.about-type{
    padding: 20px;
    background: rgba(0,0,0,.18);
    border: 1px solid #39483f;
    border-radius: 8px;
    transition:
        background .2s ease,
        border-color .2s ease;
}

.about-type:hover{
    border-color: #4c6355;
    background: rgba(0,0,0,.28);
}

.about-type h3{
    margin: 0 0 10px;
    color: #f4f6f4;
    font-size: 22px;
}

.about-type p{
    margin: 0;
    color: #b6c8bc;
    font-size: 16px;
    line-height: 1.6;
}

.about-coming-soon{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
    padding: 20px;
    background: rgba(0,0,0,.15);
    border: 1px dashed #46594c;
    border-radius: 6px;
}

.about-coming-soon span{
    color: #8fb89a;
    font-size: 18px;
    font-style: italic;
}

.about-final{
    margin: 50px auto;
    text-align: center;
}

.about-final h2{
    margin: 0 0 10px;
    color: #f4f6f4;
    font-size: 36px;
}

.about-final p{
    margin: 0;
    color: #8fb89a;
    font-size: 19px;
}

@media(max-width:800px){

    .about-page{
        width: 95%;
    }

    .about-header h1{
        font-size: 36px;
    }

    .about-header p{
        font-size: 17px;
    }

    .about-card{
        padding: 22px;
    }

    .about-card h2{
        font-size: 27px;
    }

    .about-card p{
        font-size: 16px;
    }

    .about-types{
        grid-template-columns: 1fr;
    }

    .about-step{
        gap: 15px;
    }

    .step-number{
        width: 38px;
        height: 38px;
        font-size: 17px;
    }

    .about-final h2{
        font-size: 28px;
    }

}
#profile-btn,
#logout-btn,
#notifications-btn {
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    transition: .15s ease;
}

#profile-btn {
    background: rgba(255,255,255,.06);
    color: #d8e0db;
    border: 1px solid rgba(255,255,255,.1);
    padding: 11px 18px;
    font-size: 14px;
}

#profile-btn:hover {
    background: rgba(255,255,255,.12);
}

#logout-btn {
    background: transparent;
    color: #9aa79f;
    border: 1px solid rgba(255,255,255,.1);
    padding: 11px 16px;
    font-size: 14px;
}

#logout-btn:hover {
    background: rgba(255,255,255,.08);
    color: #d8e0db;
}

#notifications-btn {
    width: 44px;
    height: 44px;
    background: #202522;
    color: #d8e0db;
    border: 1px solid #39483f;
    font-size: 18px;
    position: relative;
}

#notifications-btn:hover {
    background: #2d3631;
    border-color: #4c6355;
}

.notif-menu {
    position: relative;
}

.notif-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 8px;
    background: #d64545;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

.notif-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 340px;
    max-width: 90vw;
    background: #1a1e1b;
    border: 1px solid #39483f;
    border-radius: 8px;
    z-index: 50;
    overflow: hidden;
}

.notif-menu.open .notif-dropdown {
    display: block;
}

.notif-dropdown-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid #2b332e;
}

.notif-dropdown-header h3 {
    margin: 0;
    font-size: 14px;
    color: #d8e0db;
}

.notif-mark-read-btn {
    background: transparent;
    border: none;
    color: #4c6355;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.notif-mark-read-btn:hover {
    color: #7ec190;
    text-decoration: underline;
}

.notif-empty {
    padding: 18px 14px;
    margin: 0;
    color: #9aa79f;
    font-size: 13px;
}

.notif-list {
    max-height: 360px;
    overflow-y: auto;
}

.notif-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    text-decoration: none;
    border-bottom: 1px solid #22271f;
    transition: background .15s ease;
}

.notif-item:last-child {
    border-bottom: none;
}

.notif-item:hover {
    background: #212722;
}

.notif-item.notif-unread {
    background: rgba(88,105,94,.08);
}

.notif-icon {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    background: #202522;
    border: 1px solid #39483f;
    border-radius: 6px;
}

.notif-text {
    display: block;
    color: #d8e0db;
    font-size: 13px;
    line-height: 1.45;
}

.notif-time {
    display: block;
    margin-top: 3px;
    color: #79867e;
    font-size: 11px;
}

.post-job-menu{
    position: relative;
}

#post-job-btn{
    background: #3d5a48;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: .15s ease;
}

#post-job-btn:hover{
    background: #46614f;
}

.post-job-dropdown{
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 190px;
    flex-direction: column;
    background: #202522;
    border: 1px solid #39483f;
    border-radius: 6px;
    padding: 8px;
    gap: 4px;
    z-index: 20;
}

.post-job-menu:hover .post-job-dropdown,
.post-job-menu:focus-within .post-job-dropdown,
.post-job-menu.open .post-job-dropdown{
    display: flex;
}

.post-job-dropdown a{
    padding: 8px 10px;
    border-radius: 8px;
    color: #d8e0db;
    text-decoration: none;
    font-weight: 600;
}

.post-job-dropdown a:hover{
    background: #2d3631;
    color: #a9bcae;
}

a.page-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
}

.page-btn.disabled{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: .4;
    cursor: not-allowed;
}

.page-ellipsis{
    display: flex;
    align-items: center;
    color: #6b7a70;
}

#search-bar-stuff{
    display: flex;
}

.no-jobs-message{
    color: #9aa79f;
    padding: 40px 0;
    text-align: center;
}

.posted-jobs-panel{
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;
    padding: 4px 16px;
    margin: 20px 0;
}

.posted-jobs-panel summary{
    display: flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    cursor: pointer;
    padding: 12px 0;
    font-weight: 600;
    color: #d8e0db;
    font-size: 15px;
}

.posted-jobs-panel summary::-webkit-details-marker{
    display: none;
}

.posted-jobs-panel summary::before{
    content: "▸";
    color: #8fb89a;
    transition: transform .15s ease;
    font-size: 12px;
}

.posted-jobs-panel[open] summary::before{
    transform: rotate(90deg);
}

.posted-jobs-count{
    background: rgba(255,255,255,.08);
    color: #9aa79f;
    font-size: 12px;
    font-weight: 600;
    border-radius: 8px;
    padding: 2px 9px;
}

.posted-jobs-panel .my-jobs-list{
    padding: 0 4px 14px 0;
    max-height: 280px;
    overflow-y: auto;
}

.posted-jobs-panel .page-description{
    padding-bottom: 14px;
}

.my-jobs-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.my-job-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border: 1px solid #39483f;
    border-radius: 6px;
    background: #202522;
    transition: background .2s ease;
}
.my-job-row:hover{
    background: #262c28;
}

.my-job-info{
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.my-job-title{
    font-weight: 600;
    color: #f4f6f4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.my-job-actions{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.my-job-actions .cancel-btn{
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    height: auto;
}

.my-job-actions form{
    margin: 0;
}

.my-job-delete-btn{
    background: rgba(180,70,70,.18);
    color: #e8b6b6;
    border: none;
    border-radius: 8px;
    padding: 8px 16px;
    font-weight: 600;
    cursor: pointer;
    transition: .15s ease;
}

.my-job-delete-btn:hover{
    background: rgba(180,70,70,.3);
}

.leaderboard-page{
    width: 60%;
    max-width: 700px;
    margin: 30px auto 60px;
}

#leaderboard-filter{
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

#leaderboard-board-option{
    display: flex;
    align-items: center;
    gap: 10px;
}

#leaderboard-board-option label{
    color: #8fb89a;
    font-weight: 600;
    font-size: 14px;
}

#leaderboard-board-option select{
    background: #202522;
    color: #edf3ef;
    border: 1px solid #39483f;
    border-radius: 6px;
    padding: 8px 12px;
    max-width: 100%;
    transition: .2s;
}

.job-gallery{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    max-width: 360px;
}

.job-gallery-thumb{
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border: 1px solid #39483f;
    border-radius: 6px;
    overflow: hidden;
    background: #1b211d;
    transition: border-color .2s ease;
}

.job-gallery-thumb:hover{
    border-color: #4c6355;
}

.job-gallery-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.job-lightbox{
    position: fixed;
    inset: 0;
    background: rgba(6, 10, 8, .92);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.job-lightbox[hidden]{
    display: none;
}

.job-lightbox-stage{
    max-width: 85vw;
    max-height: 85vh;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.job-lightbox-stage img{
    max-width: 85vw;
    max-height: 85vh;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    object-fit: contain;
    cursor: zoom-in;
    border-radius: 6px;
    border: 1px solid #39483f;
    transition: transform .2s ease;
}

.job-lightbox-stage img.zoomed{
    transform: scale(1.6);
    cursor: zoom-out;
}

.job-lightbox-stage video{
    max-width: 85vw;
    max-height: 85vh;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    border-radius: 6px;
    border: 1px solid #39483f;
}

.job-lightbox-close,
.job-lightbox-nav{
    position: absolute;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .2);
    color: #edf3ef;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease;
}

.job-lightbox-close:hover,
.job-lightbox-nav:hover{
    background: rgba(88, 105, 94, .35);
}

.job-lightbox-close{
    top: 20px;
    right: 20px;
}

.job-lightbox-prev{
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.job-lightbox-next{
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.job-lightbox-count{
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    color: #9aa79f;
    font-size: 13px;
}

@media (max-width: 600px){
    .job-gallery{
        max-width: 100%;
    }
}

.leaderboard-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.leaderboard-row{
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 18px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    transition: background .2s ease;
}
.leaderboard-row:hover{
    background: rgba(255,255,255,.07);
}

.leaderboard-row.top-three{
    border-color: rgba(90,110,98,.35);
    background: rgba(90,110,98,.06);
}

.leaderboard-rank{
    min-width: 34px;
    flex-shrink: 0;
    color: #8fb89a;
    font-weight: 700;
    font-size: 15px;
}

.leaderboard-avatar{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.leaderboard-name{
    flex: 1;
    font-weight: 600;
    color: #f4f6f4;
}

.leaderboard-count{
    color: #9aa79f;
    font-size: 14px;
}

@media (max-width: 800px){
    .leaderboard-page{
        width: 92%;
    }
}

.announcement-bar{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;

    overflow: hidden;
    width: 100%;
    height: 42px;

    background: #ffffff;
    border-bottom: 1px solid #2c2c2c;
}

.announcement-bar-text{
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(0%, -50%);

    white-space: nowrap;

    color: #000000;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.2px;

    animation-name: announcement-scroll;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes announcement-scroll{
    from{
        left: 100%;
        transform: translate(0%, -50%);
    }
    to{
        left: 0%;
        transform: translate(-100%, -50%);
    }
}

.announcement-bar-close{
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translate(0%, -50%);

    background: none;
    border: 1px solid #000000;
    border-radius: 8px;
    padding: 3px 10px;

    color: #000000;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.about-page h2{
    margin: 30px 0 10px;
    color: #f4f6f4;
    font-size: 26px;
}

.about-page p{
    color: #d5ddd7;
    font-size: 18px;
    line-height: 1.8;
}

.about-page a{
    color: #8fbf9a;
}

.about-page a:hover{
    color: #b6e0bf;
}

.about-page hr{
    margin: 30px 0;
}

details{
    border: 2px solid #39483f;
    border-radius: 8px;
    background: rgba(0,0,0,.18);
    margin-bottom: 14px;
    padding: 14px 20px;
}

details summary{
    cursor: pointer;
    color: #f4f6f4;
    font-size: 18px;
    font-weight: 700;
    list-style: none;
}

details summary::-webkit-details-marker{
    display: none;
}

details summary::before{
    content: "+ ";
    color: #8fbf9a;
}

details[open] summary::before{
    content: "- ";
}

details p{
    margin: 12px 0 0;
}

.charts-explainer{
    max-width: 620px;
    margin: 12px 0 20px;
    padding: 10px 16px;
}

.charts-explainer summary{
    font-size: 14px;
}

.charts-explainer p{
    font-size: 13px;
    color: #b7c2bb;
}

.copy-row{
    display: flex;
    align-items: center;
    gap: 12px;
}

.copy-btn{
    padding: 6px 14px;
    background: #33453a;
    border: 2px solid #55705f;
    border-radius: 6px;
    color: #f4f6f4;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.copy-btn:hover{
    background: #3d5344;
}
@media (max-width: 900px){
    .indexcontent{
        flex-direction: column;
    }
    .jobs-section{
        width: 100%;
    }
    .right-side{
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }
    .profile-columns{
        width: 92%;
        flex-direction: column;
        gap: 25px;
    }
    .profile-left,
    .profile-right{
        width: 100%;
    }
    .profile-header{
        width: 92%;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
    .profile-user-info{
        padding-left: 0;
    }
    .profile-info-row{
        justify-content: center;
        gap: 14px;
    }
    .job-post{
        width: 92%;
    }
    .profile-about,
    .profile-stats,
    .profile-vouches,
    .completed-jobs,
    .profile-badges{
        max-width: 100%;
    }
}

@media (max-width: 800px){
    body{
        padding: 12px;
    }
    nav{
        flex-wrap: wrap;
        row-gap: 10px;
        padding: 12px;
    }
    nav h2{
        font-size: 19px;
        width: 100%;
        text-align: center;
        order: 1;
    }
    .nav-links{
        margin: 0 auto;
        gap: 16px;
        flex-wrap: wrap;
        justify-content: center;
        order: 2;
        width: 100%;
    }
    .account-buttons{
        margin: 0 auto;
        flex-wrap: wrap;
        justify-content: center;
        order: 3;
        width: 100%;
    }
    #search-bar-stuff{
        width: 100%;
        gap: 14px;
    }
    #search-bar{
        width: 100%;
        max-width: 100%;
        flex-basis: 100%;
    }
    #category-option,
    #region-option,
    #sort-option{
        flex: 1 1 140px;
    }
    #category-option select,
    #region-option select,
    #sort-option select{
        width: 100%;
    }
    #get-a-job-text{
        max-width: 100%;
        text-align: center;
    }
    h3{
        text-align: center;
    }
    .job-card{
        flex-direction: row;
        height: auto;
        align-items: flex-start;
        text-align: left;
        padding: 10px 12px;
        gap: 12px;
    }
    .job-profile{
        flex-direction: column;
        gap: 4px;
        flex-shrink: 0;
    }
    .job-publisher{
        font-size: 11px;
        max-width: 64px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .job-main{
        padding-right: 0;
        width: 100%;
    }
    .job-card .job-main{
        padding-right: 0;
    }
    .job-info{
        width: 100%;
        align-items: flex-start;
        gap: 4px;
    }
    .job-footer{
        position: static;
        max-width: 100%;
        justify-content: flex-start;
        margin-top: 2px;
        gap: 4px;
    }
    .job-region{
        position: static;
        margin-top: 2px;
        display: block;
    }
    .job-title{
        white-space: normal;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }
    .job-picture{
        width: 56px;
        height: 56px;
    }
    .job-card .job-picture{
        width: 56px;
        height: 56px;
    }
    .job-card .job-title{
        font-size: 16px;
    }
    .job-card .job-category{
        font-size: 12px;
    }
    .job-card .job-description{
        font-size: 12px;
        margin-top: 2px;
        -webkit-line-clamp: 2;
    }
    .job-card .job-reward{
        font-size: 11px;
        padding: 3px 8px 3px 14px;
    }
    .job-card .job-reward-qty{
        font-size: 9px;
        min-width: 14px;
        height: 14px;
    }
    .job-description{
        max-width: 100%;
    }
    .job-header h2{
        font-size: 32px;
    }
    .details-info,
    .details-category,
    .details-publisher{
        font-size: 18px;
    }
    .details-description p{
        font-size: 17px;
    }
    .details-contact{
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .take-contract-btn{
        margin-left: 0;
        width: 100%;
    }
    .profile-header{
        padding: 20px;
        gap: 20px;
    }
    .profile-username{
        font-size: 32px;
    }
    .profile-reputation{
        width: 100%;
        align-items: center;
    }
    .profile-status{
        margin-left: 0;
    }
    .form-card{
        padding: 20px;
    }
    .create-job-page{
        width: 92%;
    }
    .create-job-page h1{
        font-size: 32px;
    }
    .vouch-page{
        width: 92%;
    }
    .vouch-target{
        flex-wrap: wrap;
    }
    .my-job-row{
        flex-wrap: wrap;
        gap: 10px;
    }
    .my-job-actions{
        flex-wrap: wrap;
    }
    .leaderboard-row{
        flex-wrap: wrap;
        gap: 10px;
    }
    footer{
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
    .footer-links{
        flex-wrap: wrap;
        justify-content: center;
        gap: 14px;
    }
    .notif-dropdown{
        width: min(320px, 90vw);
    }
    .job-lightbox-prev{
        left: 6px;
    }
    .job-lightbox-next{
        right: 6px;
    }
    .job-lightbox-close{
        top: 10px;
        right: 10px;
    }
    .announcement-bar-text{
        font-size: 14px;
    }
}

@media (max-width: 480px){
    body{
        padding: 8px;
    }
    nav{
        padding: 10px 8px;
    }
    .nav-links{
        gap: 12px;
        font-size: 14px;
    }
    #post-job-btn,
    #discord-login-btn,
    #profile-btn,
    #logout-btn{
        padding: 9px 12px;
        font-size: 13px;
    }
    #get-a-job-text{
        font-size: 26px;
    }
    .job-card{
        padding: 10px;
        gap: 10px;
    }
    .job-card .job-title{
        font-size: 15px;
    }
    .job-card .job-category{
        font-size: 11px;
    }
    .job-card .job-description{
        font-size: 12px;
    }
    .job-publisher{
        max-width: 46px;
    }
    .job-picture,
    .job-card .job-picture{
        width: 46px;
        height: 46px;
    }
    .job-post{
        width: 96%;
        padding: 18px;
    }
    .job-header h2{
        font-size: 26px;
    }
    .details-pfp{
        width: 90px;
        height: 90px;
    }
    .profile-header{
        width: 96%;
        padding: 16px;
    }
    .profile-picture img{
        width: 100px;
        height: 100px;
    }
    .profile-username{
        font-size: 26px;
    }
    .profile-columns{
        width: 96%;
    }
    .reward-grid{
        grid-template-columns: 1fr;
    }
    .create-job-page{
        width: 96%;
    }
    .form-card{
        padding: 16px;
    }
    .form-buttons{
        flex-direction: column;
    }
    .publish-btn,
    .cancel-btn{
        width: 100%;
    }
    .vouch-page{
        width: 96%;
    }
    .leaderboard-page{
        width: 96%;
    }
    .leaderboard-name{
        font-size: 15px;
    }
    .stat-row span:first-child,
    .stat-row span:last-child{
        font-size: 15px;
    }
    .about-page{
        width: 92%;
    }
    .about-header h1{
        font-size: 28px;
    }
    .about-card{
        padding: 18px;
    }
    .job-lightbox-stage img,
    .job-lightbox-stage video{
        max-width: 92vw;
    }
}


.nav-grind-session {
    margin-left: 8px;
    position: relative;
    min-width: 150px;
}
.nav-grind-session summary {
    cursor: pointer;
    list-style: none;
    border: 1px solid #52675a;
    background: #1b241f;
    color: #b9d0c0;
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 14px;
}
.nav-grind-session summary::-webkit-details-marker {
    display: none;
}
.nav-grind-session-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 240px;
    background: #111612;
    border: 1px solid #39483f;
    border-radius: 7px;
    padding: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.nav-grind-session-panel strong {
    color: #edf3ef;
}
.nav-grind-timer {
    color: #8fb89a;
    font-size: 14px;
}
.nav-grind-members {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 4px;
    max-width: 100%;
}
.nav-grind-members img {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 50%;
    border: 1px solid #4b5d51;
}
.nav-grind-session-panel a {
    color: #b8d1c0;
}
.grind-create-page {
    max-width: 1050px;
    margin: 35px auto;
}
.grind-region-selects {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.grind-region-selects select {
    width: 100%;
    background: #171b18;
    color: #edf3ef;
    border: 1px solid #39483f;
    border-radius: 6px;
    padding: 11px 12px;
}
.grind-plan-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px;
}
.grind-plan-row {
    display: grid;
    grid-template-columns: 1fr 75px auto;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    background: rgba(75,95,84,.1);
    border: 1px solid rgba(90,110,98,.25);
    border-radius: 5px;
}
.grind-plan-row input {
    width: 75px;
    background: #111512;
    border: 1px solid #39483f;
    color: #edf3ef;
    border-radius: 5px;
    padding: 7px;
}
.grind-plan-row small {
    color: #82968a;
}
.grind-inline-btn {
    display: inline-flex;
    text-decoration: none;
    align-items: center;
    justify-content: center;
}
.grind-session-page {
    max-width: 1050px;
    margin: 35px auto;
}
.grind-session-card {
    background: rgba(16,20,17,.88);
    border: 1px solid #39483f;
    border-radius: 8px;
    padding: 20px;
}
.grind-session-hero {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 20px;
}
.grind-session-hero img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 7px;
    border: 1px solid #4b5d51;
}
.grind-session-kicker {
    color: #8fb89a;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 13px;
}
.grind-session-hero h1 {
    margin: 5px 0;
    font-size: 38px;
}
.grind-session-desc {
    color: #c7d3cb;
    line-height: 1.5;
    margin: -8px 0 18px;
    white-space: pre-line;
}
.grind-session-share {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 150px;
    border: 1px solid #39483f;
    border-radius: 7px;
    background: #151a17;
    margin-bottom: 18px;
    min-height: 70px;
}
.grind-session-share-text {
    text-align: center;
}
.grind-session-share .copy-btn {
    margin-left: 20px;
    flex-shrink: 0;
}
.grind-session-share p {
    margin: 4px 0 0;
    color: #98aa9e;
}
.grind-session-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.grind-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.grind-chip {
    padding: 7px 10px;
    border: 1px solid #4a5e50;
    border-radius: 6px;
    color: #b9d2c0;
    background: rgba(75,95,84,.15);
}
.grind-plan-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.grind-plan-list div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(80,100,87,.2);
}
.grind-plan-list strong {
    color: #c9a668;
}
.grind-members-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.grind-members {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.grind-member {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(80,100,87,.25);
    border-radius: 5px;
}
.grind-member img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
}
.grind-member span {
    margin-left: auto;
    color: #82968a;
    font-size: 12px;
}
.grind-end-form {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}
.grind-feedback-button {
    display: inline-flex;
    text-decoration: none;
    margin-top: 15px;
}
.grind-feedback-done {
    margin-top: 15px;
    color: #8fb89a;
}
.grind-feedback-page {
    max-width: 650px;
    margin: 70px auto;
}
.grind-feedback-options {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}
.grind-feedback-options button {
    padding: 14px;
    background: #1a211c;
    color: #dce7df;
    border: 1px solid #405145;
    border-radius: 6px;
    cursor: pointer;
    font-size: 17px;
}
.grind-feedback-options button:hover {
    background: #243027;
}
@media (max-width: 800px) {
    .grind-region-selects,
    .grind-session-grid,
    .grind-plan-grid {
        grid-template-columns: 1fr;
    }
    .grind-members {
        grid-template-columns: 1fr 1fr;
    }
    .grind-session-share {
        padding: 15px;
        flex-wrap: wrap;
        row-gap: 12px;
    }
    .grind-session-share .copy-btn {
        margin-left: 0;
    }
    .grind-session-share-text {
        padding-bottom: 45px;
    }
    .grind-end-form {
        right: 15px;
        top: auto;
        bottom: 12px;
        transform: none;
    }
}

.grind-event-row .reward-grid {
    align-items: center;
}
.grind-planned-label {
    font-size: 13px;
    opacity: .7;
    white-space: nowrap;
}
#add-grind-event-btn {
    cursor: pointer;
}
.grind-end-form {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}
.grind-end-form .publish-btn {
    cursor: pointer;
}

.demand-page{
    width: 90%;
    max-width: 1200px;
    margin: 20px auto 60px;
}

.demand-warning{
    background: rgba(224,100,95,.1);
    border: 1px solid rgba(224,100,95,.35);
    color: #e0645f;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
}

#search-bar-stuff{
    margin-bottom: 24px;
}

.category-legend{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
}

.category-legend-item{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #8fa094;
}

.demand-stats{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.demand-stat-card{
    flex: 1 1 160px;
    border: 1px solid #39483f;
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    padding: 12px 16px;
}

.demand-stat-card .stat-value{
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 700;
    color: #f4f6f4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.demand-stat-card .stat-label{
    font-size: 12px;
    color: #8fa094;
    margin-top: 4px;
}

.demand-layout{
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
}

.demand-chart-card,
.demand-catalog{
    border: 1px solid #39483f;
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    padding: 18px 20px;
}

.demand-catalog{
    margin-top: 20px;
}

.demand-chart-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.demand-chart-header h3{
    margin: 0;
}

.demand-chart-header-btns{
    display: flex;
    gap: 8px;
}

.demand-chart-card:fullscreen{
    background: #10140f;
    padding: 24px 28px;
    overflow-y: auto;
}

.demand-chart-card:fullscreen .demand-rank-list{
    max-height: calc(100vh - 160px);
}

.demand-refresh-btn{
    background: #202522;
    color: #edf3ef;
    border: 1px solid #39483f;
    border-radius: 6px;
    width: 32px;
    height: 32px;
    font-size: 16px;
    cursor: pointer;
    line-height: 1;
}

.demand-refresh-btn:hover{
    background: #2c3a32;
}

.demand-chart-sub{
    color: #8fa094;
    font-size: 13px;
    margin: 0 0 14px;
}

.demand-bar-list{
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 360px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: #46594c #151a18;
}

.demand-bar-row{
    display: grid;
    grid-template-columns: 140px auto minmax(28px, auto);
    align-items: center;
    gap: 10px;
}

.demand-bar-label{
    font-size: 13px;
    color: #d8e0db;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.demand-bar-track{
    height: 16px;
    background: linear-gradient(#202522, #202522);
    border: 1px solid #2a332e;
    border-radius: 4px;
    overflow: hidden;
}

.demand-bar-fill{
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(#5b8a6c, #5b8a6c);
    min-width: 3px;
}

.demand-block-track{
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    align-content: center;
}

.demand-block{
    width: 20px;
    height: 22px;
    border-radius: 3px;
    background: linear-gradient(#202522, #202522);
    border: 1px solid #2a332e;
    flex-shrink: 0;
}

.demand-block-filled{
    border-color: rgba(0,0,0,.35);
}

.demand-rank-list{
    display: flex;
    flex-direction: column;
    max-height: 360px;
    overflow-y: auto;
    overflow-x: auto;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: #46594c #151a18;
    border: 1px solid #2a332e;
    border-radius: 4px;
}

.demand-rank-row{
    display: grid;
    grid-template-columns: 160px 330px 40px;
    align-items: stretch;
    content-visibility: auto;
    contain-intrinsic-size: auto 34px;
    border-bottom: 1px solid #2a332e;
    min-width: max-content;
}

.demand-rank-row:last-child{
    border-bottom: none;
}

.demand-rank-label{
    font-size: 13px;
    color: #d8e0db;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-right: 1px solid #2a332e;
}

.demand-rank-track{
    display: flex;
    flex-wrap: nowrap;
    gap: 3px;
    align-items: center;
    padding: 8px 12px;
    border-right: 1px solid #2a332e;
}

.demand-rank-block{
    width: 12px;
    height: 10px;
    border-radius: 2px;
    background: linear-gradient(#202522, #202522);
    border: 1px solid #2a332e;
    flex-shrink: 0;
}

.demand-rank-block-filled{
    border-color: rgba(0,0,0,.35);
}

.demand-rank-value{
    font-size: 13px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 8px 12px;
}

.demand-bar-value{
    font-size: 13px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.reset-filters-btn{
    background: #202522;
    color: #d8e0db;
    border: 1px solid #39483f;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 13px;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: .2s;
}

.reset-filters-btn:hover{
    background: #2c3a32;
}

.demand-dot{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.demand-empty{
    color: #8fa094;
}

.demand-recent-panel,
.demand-about{
    border: 1px solid #39483f;
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    padding: 18px 20px;
    margin-top: 20px;
}

.recent-trade-list{
    max-height: 320px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: #46594c #151a18;
}

.recent-trade-row{
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.recent-trade-row:last-child{
    border-bottom: none;
}

.recent-trade-items{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 14px;
    color: #edf3ef;
}

.recent-trade-side{
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.recent-trade-side .demand-dot{
    margin-left: 6px;
}

.trade-arrow{
    color: #8fa094;
}

.recent-trade-meta{
    display: flex;
    gap: 10px;
    margin-top: 4px;
    font-size: 12px;
    color: #8fa094;
}

.demand-about{
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.demand-about-icon{
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #39483f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #8fa094;
    font-style: italic;
}

.demand-about p{
    color: #8fa094;
    font-size: 13px;
    margin: 6px 0 0;
}

.item-chip-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 420px;
    overflow-y: auto;
}

.item-chip{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #2b3630;
    border: 1px solid #3a453e;
    border-radius: 6px;
    padding: 4px 10px 4px 4px;
    font-size: 13px;
    color: #d8e0db;
    content-visibility: auto;
    contain-intrinsic-size: 26px 90px;
}

.item-chip-rank{
    color: #6d7a71;
    font-size: 11px;
}

.catalog-count{
    color: #8fa094;
    font-size: 13px;
    white-space: nowrap;
}

.catalog-ranked-by{
    color: #8fa094;
    font-size: 12px;
    font-weight: 400;
}

.catalog-local-search{
    margin: 12px 0 14px;
}

.catalog-local-search input{
    width: 100%;
    background: #202522;
    border: 1px solid #39483f;
    border-radius: 6px;
    color: #edf3ef;
    padding: 8px 12px;
    font-size: 13px;
}

.catalog-local-search input:focus{
    outline: none;
    border-color: #4f8ef5;
}

.item-chip-list{
    max-height: 260px;
}

@media (max-width: 900px){
    .demand-page{
        width: 92%;
    }
}

#player-search-panel{
    width: max-content;
    margin: 0 0 14px auto;
    box-sizing: border-box;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;
    padding: 4px 8px;
}

#player-search-panel[open]{
    width: 320px;
    display: flex;
    align-items: center;
    gap: 10px;
}

#player-search-panel summary{
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    cursor: pointer;
    padding: 9px 0;
    font-weight: 600;
    color: #d8e0db;
    font-size: 14px;
    white-space: nowrap;
}

#player-search-panel summary::-webkit-details-marker{
    display: none;
}

#player-search-panel summary::before{
    content: "▸";
    color: #8fb89a;
    transition: transform .15s ease;
    font-size: 12px;
}

#player-search-panel[open] summary::before{
    transform: rotate(90deg);
}

#player-search-box{
    position: relative;
    width: 175px;
    flex-shrink: 0;
    padding: 0;
}

#player-search-input{
    width: 100%;
    box-sizing: border-box;

    background: #171a17;
    border: 1px solid #39483f;
    border-radius: 5px;

    color: #edf3ef;
    padding: 8px 10px;
    font-size: 13px;
    height: 34px;
}

#player-search-input:focus{
    outline: none;
    border-color: #55705f;
}

#player-search-results{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;

    margin-top: 4px;

    background: #171a17;
    border: 1px solid #39483f;
    border-radius: 5px;

    overflow: hidden;
}

#player-search-results[hidden]{
    display: none;
}

.player-search-result{
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 8px 12px;

    color: #edf3ef;
    text-decoration: none;
}

.player-search-result:hover{
    background: #262d29;
}

.player-search-result img{
    width: 28px;
    height: 28px;
    border-radius: 6px;
    object-fit: cover;
}

.follow-btn{
    margin-top: 8px;
}

.follow-btn.following{
    background: #2b322d;
}

.profile-follow-row{
    display: flex;
    gap: 18px;
    margin-top: 10px;
}

.profile-follow-row a{
    color: #b6c8bc;
    text-decoration: none;
}

.profile-follow-row a:hover{
    color: #edf3ef;
}

.profile-follow-row a span{
    color: #55705f;
    font-weight: bold;
}

.friends-badge{
    display: inline-block;

    margin-top: 8px;
    padding: 3px 9px;

    background: rgba(79, 142, 245, .15);
    border: 1px solid #4f8ef5;
    border-radius: 8px;

    color: #4f8ef5;
    font-size: 13px;
    font-weight: bold;

    width: fit-content;
}

.follow-list-page{
    width: 74%;
    margin: 40px auto;
}

.follow-list-header{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}

.follow-list-header h2{
    margin: 0;
    color: #f4f6f4;
}

.follow-tabs{
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.follow-tabs a{
    text-decoration: none;
    display: inline-block;
}

.follow-list{
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.follow-list-row{
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 10px 14px;

    background: #171a17;
    border: 1px solid #39483f;
    border-radius: 6px;

    color: #edf3ef;
    text-decoration: none;
    content-visibility: auto;
    contain-intrinsic-size: auto 60px;
}

.follow-list-row:hover{
    background: #262d29;
}

.follow-list-row img{
    width: 36px;
    height: 36px;
    border-radius: 6px;
    object-fit: cover;
}

.follow-list-row .friends-badge{
    margin-top: 0;
    margin-left: auto;
}

@media (max-width: 900px){
    #player-search-panel{
        width: 100%;
    }

    .follow-list-page{
        width: 92%;
    }
}

.follow-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.follow-list-user {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.remove-follower-btn, .block-btn {
    background: #242824;
    border: 1px solid #4b554d;
    color: #ddd;
    border-radius: 4px;
    padding: 7px 10px;
    cursor: pointer;
}
.remove-follower-btn:hover, .block-btn:hover {
    border-color: #777;
}
.profile-blocked-text {
    margin: 8px 0;
    color: #aaa;
    font-size: 13px;
}

.job-description,
.details-description p,
.profile-about-text,
.vouch-text,
.profile-status,
.my-vouch-display{
    overflow-wrap: break-word;
    word-break: break-word;
}

.support-page .support-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
}

.support-page .support-card a{
    width: 65%;
    max-width: 600px;
}

.support-page .support-info{
    width: 100%;
    text-align: center;
}

.support-page .support-info h1{
    margin: 0;
}

.support-page .support-info p{
    margin: 0;
}

@media(max-width:800px){
    .support-page .support-card a{
        width: 100%;
    }
}

.support-page{
    width: 100%;
    max-width: 100%;
    margin: 45px 0;
    display: flex;
    justify-content: center;
}

.support-card{
    width: 90%;
    max-width: 900px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 25px;
    box-sizing: border-box;
    text-align: center;
}

.support-card a{
    width: 65%;
    max-width: 600px;
}

.support-info{
    width: 100%;
    text-align: center;
}

.support-info h1{
    margin: 0;
}

.support-info p{
    margin: 0;
}

@media(max-width:800px){
    .support-card{
        width: 92%;
        padding: 18px;
    }

    .support-card a{
        width: 100%;
    }
}
