:root{
    --color-soft-indigo: #6798ff;
    --color-pure-black: #000000;
    --color-carbon: #0a0a0a;
    --color-graphite: #141414;
    --color-iron: #1e1e1e;
    --color-slate-edge: #313131;
    --color-smoke: #454545;
    --color-mist: #7c7c7c;
    --color-ash: #a7a7a7;
    --color-bone: #ffffff;
    --page-max-width: 1760px;
}

*{ box-sizing: border-box; }

html, body{
    margin: 0;
    padding: 0;
    min-height: 100%;
    font-family: Inter, Arial, sans-serif;
    color: var(--color-bone);
    font-size: 16px;
    background: var(--color-carbon);
}

body{
    /* Первая строка — запасной вариант для браузеров без image-set.
       Вторая перекрывает её и отдаёт WebP: 472 КБ PNG против 94 КБ WebP. */
    background-image: url(/imgs/main-bg.png);
    background-image: image-set(url(/imgs/main-bg.webp) type("image/webp"), url(/imgs/main-bg.png) type("image/png"));
    background-size: 100%;
}

body::before{
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 76% 18%, rgba(103,152,255,.12), transparent 30%),
        linear-gradient(90deg, rgba(10,10,10,.08), rgba(10,10,10,.72));
    z-index: -1;
}

.scroll::-webkit-scrollbar {
    width: 5px !important;
    height: 5px !important;
}
.scroll::-webkit-scrollbar-track {
    background: var(--bg-dark);
}
.scroll::-webkit-scrollbar-thumb {
    background: var(--bg-dark);
}

.scroll::-webkit-scrollbar-thumb {
    background: var(--secondary);
}

a{ color: inherit; }

body > header{
    position: fixed;
    inset: 0 0 auto 0;
    padding: 16px 24px;
    background: #000;
    border-bottom: 1px solid var(--color-iron);
    z-index: 1000;
}

body > header nav{
    display: flex;
    align-items: center;
    gap: 24px;
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
}

.logo{
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 600;
    white-space: nowrap;
    background-image: url(/imgs/tradingray-logo.svg);
    background-size: 36px;
    background-position: top 50% left 0;
    background-repeat: no-repeat;
    text-decoration: none;
    padding: 6px 8px 6px 44px;
}

body > header ul{
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    margin: 0;
    padding: 0;
}

body > header li{ list-style: none; }

body > header li a{
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 9999px;
    color: var(--color-bone);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

body > header li a:hover{
    background: var(--color-graphite);
    color: var(--color-soft-indigo);
}

body > header li a.active{
    background: var(--color-graphite);
    color: var(--color-soft-indigo);
}

.header-actions{
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-actions [hidden]{
    display: none !important;
}

.header-actions a,
.header-lang{
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    padding: 0 16px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.header-login{
    color: var(--color-bone);
}

.header-login:hover{
    color: var(--color-soft-indigo);
}

.header-register{
    background: var(--color-bone);
    color: var(--color-carbon);
}

.header-register:hover{
    background: #dce8ff;
}

.header-account{
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 260px;
}

.header-account span{
    min-width: 0;
    overflow: hidden;
    color: var(--color-bone);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-account button{
    min-height: 34px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    padding: 0 12px;
}

.header-account button:hover{
    color: var(--color-bone);
    border-color: var(--color-soft-indigo);
}

.header-lang{
    color: var(--color-ash);
    position: relative;
    padding: 0;
    border: 0;
    cursor: default;
}

.header-lang summary{
    min-width: 78px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
    color: var(--color-ash);
    cursor: pointer;
    font-size: 13px;
    list-style: none;
    user-select: none;
}

.header-lang summary::-webkit-details-marker{
    display: none;
}

.header-lang summary::after{
    content: "";
    width: 7px;
    height: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    opacity: .72;
}

.header-lang[open] summary,
.header-lang summary:hover{
    color: var(--color-bone);
    border-color: var(--color-soft-indigo);
    background: var(--color-graphite);
}

.header-lang[open] summary::after{
    transform: translateY(2px) rotate(225deg);
}

.header-lang-label{
    display: none;
}

.header-lang-menu{
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 1800;
    width: min(340px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 6px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: rgba(20,20,20,.98);
    max-height: min(420px, calc(100vh - 84px));
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--color-smoke) transparent;
}

/* Account deletion */
.account-deletion-body{
    min-height:100vh;
    background-color:var(--color-carbon);
    color:var(--color-bone);
}
.account-deletion-page{
    width:min(1120px,calc(100% - 48px));
    margin:0 auto;
    padding:112px 0 64px;
}
.account-deletion-hero{
    max-width:760px;
    margin-bottom:24px;
}
.account-deletion-hero > span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    margin:0 0 14px;
    padding:0 10px;
    border:1px solid var(--color-iron);
    border-radius:8px;
    background:rgba(20,20,20,.72);
    color:var(--color-soft-indigo);
    font-size:13px;
    font-weight:600;
    letter-spacing:0;
}
.account-deletion-hero h1{
    margin:0;
    color:var(--color-bone);
    font-size:clamp(34px,4vw,48px);
    font-weight:600;
}
.account-deletion-hero p{
    max-width:700px;
    margin:14px 0 0;
    color:var(--color-ash);
    font-size:16px;
}
.account-deletion-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:18px;
    align-items:start;
}
.account-deletion-info,
.account-deletion-form-card{
    border:1px solid var(--color-iron);
    border-radius:8px;
    background:rgba(20,20,20,.86);
}
.account-deletion-info section{
    padding:20px 22px;
}
.account-deletion-info section + section{
    border-top:1px solid var(--color-iron);
}
.account-deletion-info h2,
.account-deletion-form-card h2{
    margin:0 0 12px;
    color:var(--color-bone);
    font-size:20px;
    font-weight:600;
}
.account-deletion-info ol,
.account-deletion-info ul{
    display:grid;
    gap:8px;
    margin:0;
    padding-left:20px;
    color:var(--color-ash);
    font-size:14px;
}
.account-deletion-info p{
    margin:0;
    color:var(--color-ash);
    font-size:14px;
}
.account-deletion-form-card{
    position:sticky;
    top:92px;
    padding:22px;
}
.account-deletion-form-card form{
    display:grid;
    gap:10px;
}
.account-deletion-form-card form[hidden]{
    display:none;
}
.account-deletion-form-card h3{
    margin:0 0 2px;
    font-size:18px;
    font-weight:600;
}
.account-deletion-form-card form p{
    margin:0 0 6px;
    color:var(--color-ash);
    font-size:14px;
}
.account-deletion-form-card label{
    color:var(--color-ash);
    font-size:13px;
    font-weight:500;
}
.account-deletion-form-card input{
    width:100%;
    min-height:42px;
    border:1px solid var(--color-slate-edge);
    border-radius:8px;
    padding:0 12px;
    background:var(--color-iron);
    color:var(--color-bone);
    font:inherit;
    font-size:14px;
}
.account-deletion-form-card input:focus{
    border-color:var(--color-soft-indigo);
    outline:2px solid rgba(103,152,255,.16);
}
.account-deletion-form-card button{
    min-height:42px;
    border-radius:8px;
    padding:0 14px;
    font:inherit;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}
.account-deletion-primary{
    border:1px solid var(--color-bone);
    background:var(--color-bone);
    color:var(--color-carbon);
}
.account-deletion-primary:hover{
    border-color:#dce8ff;
    background:#dce8ff;
}
.account-deletion-secondary{
    border:1px solid var(--color-slate-edge);
    background:rgba(20,20,20,.72);
    color:var(--color-ash);
}
.account-deletion-secondary:hover{
    border-color:var(--color-smoke);
    background:var(--color-iron);
    color:var(--color-bone);
}
.account-deletion-link{
    border:0;
    background:transparent;
    color:var(--color-soft-indigo);
}
.account-deletion-link:hover{
    color:var(--color-bone);
}
.account-deletion-form-card button:disabled,
.account-deletion-form-card input:disabled{
    opacity:.55;
    cursor:wait;
}
.account-deletion-status{
    min-height:20px;
    margin:12px 0 0;
    color:var(--color-ash);
    font-size:13px;
}
.account-deletion-status[data-type="success"]{color:#76dfa2;}
.account-deletion-status[data-type="error"]{color:#ff8a92;}
.profile-edit-delete-account{
    display:inline-flex;
    width:max-content;
    color:#ff8f96;
    font-size:14px;
    text-decoration:underline;
    text-underline-offset:3px;
}
@media (max-width:820px){
    .account-deletion-page{padding-top:96px;}
    .account-deletion-layout{grid-template-columns:1fr;}
    .account-deletion-form-card{position:static;}
}
@media (max-width:520px){
    .account-deletion-page{width:min(100% - 24px,1120px);padding-bottom:44px;}
    .account-deletion-hero{margin-bottom:18px;}
    .account-deletion-hero h1{font-size:32px;}
    .account-deletion-hero p{font-size:15px;}
    .account-deletion-info section,
    .account-deletion-form-card{padding:18px 16px;}
}

.header-lang-menu::-webkit-scrollbar{ width: 4px; }
.header-lang-menu::-webkit-scrollbar-thumb{ background: var(--color-smoke); border-radius: 999px; }

.header-lang-option{
    min-height: 38px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 0 9px;
    border-radius: 6px;
    color: var(--color-ash);
    text-decoration: none;
    font-size: 13px;
}

.header-lang-option:hover,
.header-lang-option.is-active{
    background: var(--color-iron);
    color: var(--color-bone);
}

.header-lang-option.is-active .header-lang-code{
    color: var(--color-soft-indigo);
}

.header-lang-name{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-lang-code{
    color: var(--color-mist);
    font-size: 11px;
    font-weight: 600;
}

.site-menu-toggle{
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: rgba(20,20,20,.92);
    cursor: pointer;
    padding: 0;
}

.site-menu-toggle:hover{
    border-color: var(--color-soft-indigo);
    background: var(--color-iron);
}

.site-menu-toggle img{
    width: 22px;
    height: 22px;
    display: block;
    object-fit: contain;
}

.site-mobile-menu[hidden]{
    display: none !important;
}

.site-mobile-menu{
    position: fixed;
    inset: 0;
    z-index: 1600;
    pointer-events: none;
}

.site-mobile-menu.is-open{
    pointer-events: auto;
}

.site-menu-backdrop{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.62);
    opacity: 0;
    transition: opacity .22s ease;
}

.site-mobile-menu.is-open .site-menu-backdrop{
    opacity: 1;
}

.site-menu-panel{
    position: absolute;
    inset: 0 0 0 auto;
    width: min(86vw, 360px);
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 18px;
    border-left: 1px solid var(--color-slate-edge);
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 44%),
        #050505;
    transform: translateX(100%);
    transition: transform .22s ease;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.site-mobile-menu.is-open .site-menu-panel{
    transform: translateX(0);
}

.site-menu-head{
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.site-menu-close{
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    position: relative;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
}

.site-menu-close::before,
.site-menu-close::after{
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 2px;
    border-radius: 99px;
    background: var(--color-bone);
}

.site-menu-close::before{
    transform: translate(-50%, -50%) rotate(45deg);
}

.site-menu-close::after{
    transform: translate(-50%, -50%) rotate(-45deg);
}

.site-menu-links{
    display: grid;
    gap: 8px;
    padding-top: 4px;
}

.site-menu-link{
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--color-bone);
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
}

.site-menu-link:hover,
.site-menu-link.is-active{
    border-color: rgba(103,152,255,.28);
    background: rgba(103,152,255,.09);
    color: var(--color-soft-indigo);
}

.site-menu-auth{
    display: grid;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--color-iron);
}

.site-menu-auth [hidden]{
    display: none !important;
}

.site-menu-auth-link,
.site-menu-auth-primary,
.site-menu-auth .header-login,
.site-menu-auth .header-register{
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    padding: 0 14px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

.site-menu-auth-link,
.site-menu-auth .header-login{
    border: 1px solid var(--color-slate-edge);
    background: transparent;
    color: var(--color-bone);
}

.site-menu-auth-primary,
.site-menu-auth .header-register{
    border: 1px solid var(--color-bone);
    background: var(--color-bone);
    color: var(--color-carbon);
}

.site-menu-account{
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.site-menu-account span{
    min-height: 40px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
}

.site-menu-account button{
    min-height: 40px;
}

.site-menu-language{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--color-iron);
}

.site-menu-language span{
    color: var(--color-ash);
    font-size: 14px;
}

.site-menu-language .header-lang{
    min-width: 64px;
    margin-left: auto;
}

body.site-menu-lock{
    overflow: hidden;
}

#top{
    width: 100%;
    min-height: 100vh;
    max-width: 100vw;
    margin: 0 0;
    padding: 96px 36px 44px;
    display: grid;
    grid-template-columns: minmax(400px, .85fr) minmax(760px, 1.15fr);
    align-items: start;
    gap: clamp(32px, 4vw, 72px);
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
/*
#top::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        #0A0A0A
        url(/imgs/bg-bk.png)
        bottom 60px left 0 / 45% auto
        no-repeat;
    mask-image: linear-gradient(180deg, #000 0%, #000 calc(100% - 260px), rgba(0,0,0,.78) calc(100% - 180px), transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 calc(100% - 260px), rgba(0,0,0,.78) calc(100% - 180px), transparent 100%);
    pointer-events: none;
    z-index: 0;
}*/

#top > *{
    position: relative;
    z-index: 1;
}

.hero-left{
    min-width: 0;
    padding-top: 20px;
    height: calc(100vh - 90px);
}


.hero-kicker,
.market-tabs span,
.calendar-head span,
.home-news-row > span,
.home-news-row-link > span,
.home-news-meta,
.calendar-event-main span{
    font-family: Inter, Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.hero-kicker{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    border-radius: 8px;
    color: #6798ff;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 12px;
}

.hero-kicker::before{
    display: none;
}

.hero-left h1{
    margin: 0;
    color: var(--color-bone);
    font-size: 50px;
    letter-spacing: 0;
    font-weight: 700;
}

.hero-left h2{
    margin: 10px 0;
    color: var(--color-bone);
    font-size: 14px;
    letter-spacing: 0;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 0px;
    background-color: #3d3d3d;
}

.hero-left p{
    max-width: 480px;
    margin: 18px 0 0;
    color: var(--color-ash);
    font-size: 16px;
    letter-spacing: 0;
}

.hero-auth{
    display: grid;
    gap: 12px;
    max-width: 520px;
    margin-top: 50px;
}

.hero-email{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.hero-email input{
    height: 44px;
    border: 1px solid var(--color-slate-edge);
    background: var(--color-graphite);
    border-radius: 8px;
    color: var(--color-bone);
    font-size: 14px;
    padding: 0 14px;
    outline: none;
}

.hero-email input::placeholder{
    color: var(--color-mist);
}

.hero-email input:focus{
    border-color: var(--color-soft-indigo);
}

.hero-email button{
    height: 42px;
    border: 0;
    border-radius: 8px;
    background: var(--color-bone);
    color: var(--color-carbon);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    min-width: 150px;
    padding: 0 18px;
}

.hero-email button:hover{
    background: #dce8ff;
}

.hero-socials{
    display: flex;
    align-items: center;
    gap: 8px;
}

.hero-social[hidden],
.hero-downloads > a[hidden],
#app a[hidden],
.site-footer-downloads > a[hidden],
.auth-socials > a[hidden]{
    display: none !important;
}

.hero-socials::before{
    content: none;
}

.hero-social,
.hero-google-direct,
.hero-qr{
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--color-graphite);
    border: 1px solid var(--color-slate-edge);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    position: relative;
}

.hero-social:hover,
.hero-google-direct:hover,
.hero-qr:hover{
    background: var(--color-iron);
    border-color: var(--color-soft-indigo);
}

.hero-email .hero-google-direct{
    appearance: none;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--color-slate-edge);
    background: var(--color-graphite);
    color: var(--color-bone);
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
}
.hero-email .hero-google-direct img{
    width: 22px;
    height: 22px;
    display: block;
}
.hero-email .hero-google-direct span{
    display: none;
}

.hero-email .hero-google-direct:hover{
    background: var(--color-iron);
    border-color: var(--color-soft-indigo);
}

.hero-email .hero-google-direct.is-busy{
    opacity: .62;
    cursor: progress;
}

.hero-social.apple::before{
    content: "";
    width: 22px;
    height: 26px;
    background: var(--color-bone);
    clip-path: path("M16.7 7.2c-1.2 0-2.8.7-3.6.7-.9 0-2.2-.7-3.6-.7-2.7 0-5.5 2.3-5.5 6.5 0 2.5 1 5.1 2.2 6.9 1.1 1.5 2 2.9 3.5 2.8 1.4 0 1.9-.9 3.5-.9 1.6 0 2 .9 3.5.9 1.5 0 2.5-1.4 3.4-2.8.8-1.1 1.1-2.1 1.2-2.2-.1 0-2.9-1.1-2.9-4.3 0-2.7 2.2-4 2.3-4.1-1.2-1.9-3.1-2.1-4-2.1z M15.4 4.3c.8-1 1.3-2.3 1.2-3.6-1.1.1-2.4.8-3.2 1.7-.7.8-1.3 2.2-1.2 3.4 1.2.1 2.4-.6 3.2-1.5z");
}

.hero-qr span{
    width: 24px;
    height: 24px;
    background:
        linear-gradient(var(--color-bone),var(--color-bone)) 0 0/9px 9px,
        linear-gradient(var(--color-bone),var(--color-bone)) 15px 0/9px 9px,
        linear-gradient(var(--color-bone),var(--color-bone)) 0 15px/9px 9px,
        linear-gradient(var(--color-bone),var(--color-bone)) 15px 15px/9px 9px,
        linear-gradient(var(--color-soft-indigo),var(--color-soft-indigo)) 10px 10px/5px 5px;
    background-repeat: no-repeat;
}

.hero-qr-pop{
    position: absolute;
    left: 50%;
    bottom: calc(100% + 12px);
    transform: translateX(-50%) translateY(8px);
    width: 264px;
    padding: 16px;
    border-radius: 8px;
    background: var(--color-iron);
    border: 1px solid var(--color-slate-edge);
    opacity: 0;
    pointer-events: none;
    transition: .18s ease;
    text-align: center;
    z-index: 3;
}

.hero-qr:hover .hero-qr-pop{
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.hero-qr-pop div{
    color: var(--color-bone);
    font-size: 14px;
    margin-bottom: 12px;
}

.hero-qr-pop img{
    display: block;
    width: 164px;
    height: 164px;
    object-fit: contain;
    margin: 0 auto 12px;
    border-radius: 8px;
    background: var(--color-bone);
}

.hero-qr-pop a{
    display: block;
    border-radius: 8px;
    background: var(--color-bone);
    color: var(--color-carbon);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    padding: 10px;
}

.auth-lock{
    overflow: hidden;
}

.auth-modal[hidden]{
    display: none;
}

.auth-modal{
    position: fixed;
    inset: 0;
    z-index: 2300;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(10px);
}

.auth-dialog{
    position: relative;
    width: min(100%, 380px);
    border: 1px solid var(--color-slate-edge);
    border-radius: 16px;
    background: var(--color-graphite);
    padding: 30px;
    transform-origin: center;
    animation: authDialogIn .22s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes authDialogIn{
    from{
        transform: translateY(-18px);
    }
    to{
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce){
    .auth-dialog{
        animation: none;
    }
}

.auth-close{
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
}

.auth-close::before,
.auth-close::after{
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    top: 16px;
    height: 2px;
    border-radius: 2px;
    background: var(--color-bone);
}

.auth-close::before{ transform: rotate(45deg); }
.auth-close::after{ transform: rotate(-45deg); }

.auth-logo{
    margin-bottom: 22px;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    background-image: url(/imgs/tradingray-logo.svg);
    background-size: 24px;
    background-position: top 50% left 8px;
    background-repeat: no-repeat;
    background-color: #1D1D1D;
    padding: 8px 12px 8px 38px;
    border-radius: 8px;
}

.auth-dialog h2{
    margin: 28px 0 18px;
    color: #eaecef;
    font-size: 26px;
    font-weight: 700;
}

.auth-dialog h2 + p{
    font-size: 12px;
}

.auth-dialog p{
    margin: -12px 0 22px;
    color: var(--color-ash);
    font-size: 14px;
}

.auth-form{
    display: grid;
    gap: 14px;
}

.auth-field{
    display: grid;
    gap: 8px;
    color: var(--color-ash);
    font-size: 11px;
    font-weight: 400;
}

.auth-field input{
    width: 100%;
    height: 44px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: var(--color-iron);
    color: var(--color-bone);
    font: inherit;
    font-size: 12px;
    outline: none;
    padding: 0 13px;
    
}


.auth-code-input{
    text-align: center;
    letter-spacing: .28em;
    font-size: 20px !important;
    font-weight: 600;
}

.auth-dialog label.checkbox{
    display: block;
    color: #99A1AD;
    margin-top: 0;
    padding: 5px 5px 5px 25px;
    font-size: 12px;
    background-image: url(/imgs/r_offw.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: top 50% left 0;
    cursor: pointer;
}

.auth-dialog label.checkbox:has(input:checked){
    background-image: url(/imgs/r_on.svg);
}

.auth-dialog label.checkbox input{
    display: none;
}

.auth-modal .exist{
    font-size: 12px;
    text-align: center;
}

.auth-modal .exist > div{
    display: inline;
    color: var(--color-soft-indigo);
    cursor: pointer;
}

.auth-modal .exist > div:hover{
    text-decoration: underline;
}

.auth-dialog label.checkbox a,
.auth-link{
    color: #bbcde5;
    text-decoration: none;
}

.auth-dialog label.checkbox a:hover,
.auth-link:hover{
    color: var(--color-soft-indigo);
}

.auth-forgot,
.auth-back-link{
    width: fit-content;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.auth-forgot{
    justify-self: end;
    margin-top: -6px;
}

.auth-back-link{
    justify-self: center;
}

.auth-primary,
.auth-secondary{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border-radius: 8px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.auth-primary{
    border: 0;
    background: var(--color-bone);
    color: var(--color-carbon);
    transition: background .18s ease;
}

.auth-primary:hover{
    background: #dce8ff;
}

.auth-primary.is-loading{
    background: #dce8ff;
}

.auth-button-loader{
    display: none;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border: 2px solid rgba(10, 10, 10, .18);
    border-top-color: var(--color-carbon);
    border-radius: 50%;
    animation: authButtonSpin .72s linear infinite;
}

.auth-primary.is-loading .auth-button-loader{
    display: block;
}

@keyframes authButtonSpin{
    to{ transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
    .auth-button-loader{
        animation: none;
    }
}

.auth-primary:disabled,
.auth-secondary:disabled{
    opacity: .52;
    cursor: default;
}

.auth-primary.is-loading:disabled{
    opacity: 1;
    cursor: progress;
}

.auth-agree-action.is-agreement-locked{
    opacity: .52;
    cursor: not-allowed;
}

.auth-secondary{
    border: 1px solid var(--color-slate-edge);
    background: transparent;
    color: var(--color-bone);
}

.auth-secondary:hover:not(:disabled){
    border-color: var(--color-soft-indigo);
}

.auth-actions{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.auth-divider{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    margin: 8px 0;
    color: var(--color-mist);
    font-size: 13px;
}

.auth-divider::before,
.auth-divider::after{
    content: "";
    height: 1px;
    background: var(--color-slate-edge);
}

.auth-socials{
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.auth-socials > a,
.auth-socials > button{
    flex: 1;
    width: 100%;
    padding: 12px;
    text-align: center;
    color: var(--color-bone);
    border-radius: 8px;
    background: var(--color-graphite);
    border: 1px solid var(--color-slate-edge);
    text-decoration: none;
    font: inherit;
    font-weight: 500;
    cursor: pointer;
}

.auth-socials > a[aria-disabled="true"],
.auth-socials > button[aria-disabled="true"],
.auth-socials > button.is-busy{
    cursor: not-allowed;
    pointer-events: none;
    opacity: .55;
}

.auth-socials > .google{
    background-image: url(/imgs/socials/google.svg);
    background-size: 18px;
    background-position: top 50% left 16px;
    background-repeat: no-repeat;
}

.auth-socials > a.apple{
    background-image: url(/imgs/socials/apple.svg);
    background-size: 18px;
    background-position: top 50% left 16px;
    background-repeat: no-repeat;
}


.auth-note{
    min-height: 20px;
    color: var(--color-ash);
    font-size: 13px;
}

.auth-note:empty{
    display: none;
}

.auth-note.error{
    color: #ff8f9c;
}

.auth-note.success{
    color: var(--color-soft-indigo);
}

.auth-resend{
    color: var(--color-ash);
    font-size: 13px;
    text-align: center;
}

.auth-strength{
    display: grid;
    gap: 8px;
}

.auth-strength-bar{
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--color-slate-edge);
}

.auth-strength-bar span{
    display: block;
    width: var(--strength, 0%);
    height: 100%;
    border-radius: inherit;
    background: var(--color-soft-indigo);
    transition: width .18s ease;
}

.auth-strength-text{
    color: var(--color-mist);
    font-size: 13px;
}

.auth-reqs{
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
}

.auth-reqs li{
    display: grid;
    grid-template-columns: 16px 1fr;
    align-items: center;
    gap: 6px;
    list-style: none;
    color: var(--color-mist);
    font-size: 13px;
}

.auth-reqs li::before{
    content: "-";
    color: var(--color-mist);
    font-size: 13px;
    text-align: center;
}

.auth-reqs li.ok{
    color: var(--color-ash);
}

.auth-reqs li.ok::before{
    content: "✓";
    color: var(--color-soft-indigo);
    font-weight: 700;
}

.hero-open-chart{
    display: none;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--color-bone);
    color: var(--color-carbon);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    padding: 0 22px;
}

.hero-open-chart:hover{
    background: #dce8ff;
}

.hero-quick-actions{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.hero-support-link{
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: var(--color-graphite);
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    padding: 0 22px;
}

.hero-support-link:hover{
    border-color: var(--color-soft-indigo);
    color: var(--color-soft-indigo);
}

body.is-authenticated .hero-email{
    display: none;
}

body.is-authenticated .hero-open-chart{
    display: inline-flex;
}

.hero-market-ticker{
    #position: absolute;
    bottom: 30px;
    width: min(100%, 640px);
    height: 96px;
    margin-top: 50px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.58);
    overflow: hidden;
    display: flex;
    align-items: center;
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.ticker-track{
    display: flex;
    align-items: center;
    min-width: max-content;
    animation: tickerMove 58s linear infinite;
    will-change: transform;
    position: absolute;
}

.ticker-group{
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 8px;
}

.hero-market-ticker:hover .ticker-track{
    animation-play-state: paused;
}

.hero-downloads{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 18px;
    padding: 18px 0;
}

.hero-downloads a{
    display: inline-flex;
    align-items: center;
    height: 28px;
    text-decoration: none;
}

.hero-downloads a:hover{
    border-color: var(--color-soft-indigo);
    background: var(--color-iron);
}

.hero-downloads img{
    display: block;
    width: auto;
    height: 44px;
}

.ticker-item{
    width: 184px;
    height: 60px;
    padding: 8px 10px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: var(--color-carbon);
    display: grid;
    grid-template-columns: 30px 1fr;
    grid-template-rows: 1fr 1fr;
    column-gap: 8px;
    align-items: center;
    text-decoration: none;
}

.ticker-item img{
    grid-row: 1 / 3;
    width: 28px;
    height: 28px;
    border-radius: 50%;
}

.ticker-item span{
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.ticker-item b{
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
}

.ticker-item small{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--color-mist);
    font-size: 12px;
}

.ticker-item em{
    font-style: normal;
    font-size: 14px;
    font-weight: 600;
}

.ticker-item em.up{ color: var(--color-soft-indigo); }
.ticker-item em.down{ color: var(--color-ash); }

@keyframes tickerMove{
    from{ transform: translateX(0); }
    to{ transform: translateX(-50%); }
}

.hero-right{
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 15px;
    min-width: 0;
    align-items: stretch;
}

.market-card,
.calendar-card,
.news-card{
    background: var(--color-graphite);
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    padding: 20px;
}

.news-card{
    grid-column: 1 / -1;
}

.market-tabs,
.calendar-head,
.news-head{
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 0;
    margin-bottom: 14px;
}

.market-tabs b,
.calendar-head b,
.news-head b{
    color: var(--color-bone);
    font-size: 20px;
    font-weight: 500;
}

.market-tabs small,
.calendar-head small{
    display: block;
    margin-top: 4px;
    color: var(--color-mist);
    font-size: 12px;
    font-weight: 400;
}

.news-head a{
    margin-left: auto;
    color: var(--color-ash);
    text-decoration: none;
    font-size: 14px;
}

.news-head a:hover{
    color: var(--color-soft-indigo);
}

.market-list,
.home-calendar-list,
.home-news-list{
    min-height: 0;
}

.market-row{
    display: grid;
    grid-template-columns: 28px minmax(76px, 1fr) 86px 54px;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    text-decoration: none;
}

.market-row:first-child{
    border-top: 0;
}

.market-row img{
    width: 26px;
    height: 26px;
    border-radius: 50%;
}

.market-row span{
    min-width: 0;
}

.market-row b{
    display: inline-block;
    max-width: 70px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 600;
}

.market-row small,
.home-news-row b,
.home-news-row small,
.calendar-event-main strong,
.calendar-event-main small{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.market-row small,
.home-news-row small,
.calendar-event-main small{
    -webkit-line-clamp: 1;
}

.home-news-row b,
.calendar-event-main strong{
    -webkit-line-clamp: 2;
}

.market-row small{
    margin-top: 1px;
    color: var(--color-mist);
    font-size: 12px;
}

.market-row strong{
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 500;
    text-align: right;
}

.market-row em{
    color: var(--color-ash);
    font-style: normal;
    text-align: right;
    font-size: 12px;
    font-weight: 500;
}

.market-row .up{ color: var(--color-soft-indigo); }
.market-row .down{ color: var(--color-ash); }

.home-calendar-days{ display: none; }

.calendar-event{
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 8px;
    padding: 8px 0;
}

.calendar-event:first-child{
    border-top: 0;
}

.calendar-event-time b{
    display: block;
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.calendar-event-main{
    min-width: 0;
}

.calendar-event-time span{
    display: block;
    margin-top: 3px;
    color: var(--color-mist);
    font-size: 11px;
}

.calendar-event-main span{
    display: block;
    color: var(--color-mist);
    font-size: 10px;
}

.calendar-event-main strong{
    display: block;
    margin-top: 4px;
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 500;
}

.calendar-event-main small{
    display: block;
    margin-top: 4px;
    color: var(--color-ash);
    font-size: 11px;
}

.home-news-row{
    display: block;
    color: var(--color-bone);
    text-decoration: none;
    padding: 10px 0;
}

.home-news-row-link{
    display: block;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.home-news-row:first-child{
    border-top: 0;
    padding-top: 0;
}

.home-news-row:hover b{
    color: var(--color-soft-indigo);
}

.home-news-row > span,
.home-news-row-link > span,
.home-news-meta{
    display: block;
    margin-bottom: 5px;
    color: var(--color-mist);
    font-size: 12px;
}

.home-news-row b{
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 500;
}

.home-news-row small{
    margin-top: 6px;
    color: var(--color-ash);
    font-size: 13px;
}

.site-news-admin-actions{
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.site-news-admin-actions button{
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: var(--color-card);
    color: var(--color-bone);
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.site-news-admin-actions button:hover{
    border-color: rgba(103,152,255,.45);
    background: var(--color-elevated);
    color: #fff;
}

.site-news-admin-actions button[data-site-news-delete]{
    color: #ff8d9d;
}

.site-news-admin-actions button[data-site-news-delete]:hover{
    border-color: rgba(234,54,79,.45);
}

.home-loading,
.home-empty{
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-ash);
    font-size: 14px;
    text-align: center;
}

.market-row small,
.home-news-row b,
.home-news-row small,
.calendar-event-main strong,
.calendar-event-main small{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.market-row small,
.home-news-row small,
.calendar-event-main small{
    -webkit-line-clamp: 1;
}

.home-news-row b,
.calendar-event-main strong{
    -webkit-line-clamp: 2;
}

#animated-features,
#app{
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
    background: transparent;
}

#animated-features{
    width: 100%;
    padding: 72px 0 24px;
    position: relative;
    overflow: hidden;
}

#animated-features h2{
    margin: 0 0 40px;
    color: var(--color-bone);
    font-size: 40px;
    font-weight: 500;
    text-align: center;
    position: relative;
    z-index: 2;
}

.features-ambient-bg{
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.ambient-orb{
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    opacity: 0.15;
    animation: float-orb 12s ease-in-out infinite alternate;
}
.orb-1{
    width: 40vw;
    height: 40vw;
    background: #6798ff;
    top: -10%;
    left: -10%;
}
.orb-2{
    width: 30vw;
    height: 30vw;
    background: #a78bfa;
    bottom: -10%;
    right: -10%;
    animation-delay: -3s;
}
.orb-3{
    width: 25vw;
    height: 25vw;
    background: #4ade80;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-delay: -6s;
}

@keyframes float-orb {
    0% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(30px, -50px) scale(1.1); }
    100% { transform: translate(-20px, 20px) scale(0.9); }
}

.features-content{
    position: relative;
    z-index: 2;
}

.section-divider {
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(38, 166, 154, 0.4) 50%, transparent 100%);
    margin: 40px 0;
}

.bento-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.bento-card{
    position: relative;
    background: var(--color-graphite);
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    padding: 32px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.bento-card:hover{
    transform: translateY(-4px);
    background: #1a1a1a;
    border-color: var(--color-slate-edge);
}

.bento-card-spotlight{
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
    background: radial-gradient(400px circle at var(--mouse-x, 0) var(--mouse-y, 0), rgba(255,255,255,0.08), transparent 40%);
    z-index: 1;
    pointer-events: none;
}
.bento-card:hover .bento-card-spotlight{
    opacity: 1;
}

.bento-card-content{
    position: relative;
    z-index: 2;
}

.bento-card-head{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.bento-card-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
}

.bento-card-icon .icon{
    width: 24px;
    height: 24px;
    display: block;
}

.bento-card-1 .bento-card-icon { background: rgba(38, 166, 154, 0.15); color: #26a69a; }
.bento-card-2 .bento-card-icon { background: rgba(66, 165, 245, 0.15); color: #42a5f5; }
.bento-card-3 .bento-card-icon { background: rgba(255, 167, 38, 0.15); color: #ffa726; }
.bento-card-4 .bento-card-icon { background: rgba(239, 83, 80, 0.15); color: #ef5350; }
.bento-card-5 .bento-card-icon { background: rgba(171, 71, 188, 0.15); color: #ab47bc; }
.bento-card-6 .bento-card-icon { background: rgba(102, 187, 106, 0.15); color: #66bb6a; }

.bento-card h3{
    color: var(--color-bone);
    font-weight: 600;
    font-size: 20px;
    margin: 0;
}

.bento-card p{
    margin: 0;
    font-size: 15px;
    color: var(--color-ash);
    line-height: 1.5;
}

.bento-card-1 { grid-column: span 2; }
.bento-card-2 { grid-column: span 1; }
.bento-card-3 { grid-column: span 1; }
.bento-card-4 { grid-column: span 1; }
.bento-card-5 { grid-column: span 1; }
.bento-card-6 { grid-column: span 2; }

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-on-scroll.delay-100 { transition-delay: 100ms; }
.reveal-on-scroll.delay-200 { transition-delay: 200ms; }
.reveal-on-scroll.delay-300 { transition-delay: 300ms; }
.reveal-on-scroll.delay-400 { transition-delay: 400ms; }
.reveal-on-scroll.delay-500 { transition-delay: 500ms; }

.reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateY(0);
}

#market-dashboard,
#weekly-forecasts{
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
    padding: 56px 0 24px;
}

.section-head{
    max-width: 720px;
    margin-bottom: 24px;
}

.section-head span{
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 4px;
    color: var(--color-ash);
    font-size: 12px;
    letter-spacing: .08em;
    margin-bottom: 18px;
}

.section-head span::before{
    content: "";
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--color-soft-indigo);
}

.section-head h2{
    margin: 0;
    color: var(--color-bone);
    font-size: 40px;
    font-weight: 500;
}

.section-head p{
    max-width: 560px;
    margin: 12px 0 0;
    color: var(--color-ash);
    font-size: 16px;
}

#seo-overview{
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
    padding: 64px 0 12px;
}

.seo-overview-grid{
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.seo-overview-card{
    min-height: 188px;
    padding: 20px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.86);
    color: var(--color-bone);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.seo-overview-card:hover,
.seo-overview-card:focus-visible{
    border-color: var(--color-slate-edge);
    background: #1a1a1a;
    transform: translateY(-2px);
}

.seo-overview-card h3{
    margin: 0;
    color: var(--color-bone);
    font-size: 19px;
    font-weight: 600;
}

.seo-overview-card p{
    margin: 12px 0 18px;
    color: var(--color-ash);
    font-size: 14px;
}

.seo-overview-card > span{
    margin-top: auto;
    color: var(--color-soft-indigo);
    font-size: 13px;
    font-weight: 600;
}

.seo-overview-card > span i{
    font-style: normal;
}

.market-dash-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.dash-card{
    min-height: 286px;
    padding: 20px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: var(--color-graphite);
}

.dash-card-head{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.dash-card-head b{
    color: var(--color-bone);
    font-size: 18px;
    font-weight: 500;
}

.dash-card-head span{
    color: var(--color-mist);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: nowrap;
}

.market-dash-list{
    display: grid;
    gap: 8px;
}

.dash-row{
    min-height: 44px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    color: var(--color-bone);
    text-decoration: none;
}

.dash-row img{
    width: 26px;
    height: 26px;
    border-radius: 50%;
}

.dash-row span{
    min-width: 0;
}

.dash-row b{
    display: block;
    overflow: hidden;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-row small{
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: var(--color-mist);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-row strong{
    color: var(--color-ash);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.dash-row strong.up{ color: var(--color-soft-indigo); }
.dash-row strong.down{ color: var(--color-ash); }

.liquidation-visual .dash-row{
    grid-template-columns: 28px minmax(0, 1fr) auto;
    padding: 8px 0;
    border-bottom: 1px solid rgba(49,49,49,.5);
}

.dash-note{
    margin-top: 10px;
    color: var(--color-mist);
    font-size: 12px;
}

.sentiment-card{
    --sentiment-angle: 0deg;
    --sentiment-color: #67C7F3;
    order: -1;
    min-height: 286px;
    background: rgba(20,20,20,.86);
}

.sentiment-card .dash-card-head > span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--sentiment-color);
}

.sentiment-card .dash-card-head > span::before{
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--sentiment-color);
}

.sentiment-chart{
    width: min(240px, 84%);
    height: 112px;
    margin: -2px auto 4px;
}

.sentiment-chart svg{
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.sentiment-arc-track,
.sentiment-zone{
    fill: none;
    stroke-width: 8;
    stroke-linecap: butt;
}

.sentiment-arc-track{
    stroke: #292d33;
}

.sentiment-zone{
    stroke-dasharray: 18 82;
}

.sentiment-zone.zone-red{ stroke: #FF6B72; stroke-dashoffset: 0; }
.sentiment-zone.zone-yellow{ stroke: #F5C84B; stroke-dashoffset: -20; }
.sentiment-zone.zone-cyan{ stroke: #67C7F3; stroke-dashoffset: -40; }
.sentiment-zone.zone-green-light{ stroke: #A7E86D; stroke-dashoffset: -60; }
.sentiment-zone.zone-green{
    stroke: #43D17A;
    stroke-dasharray: 20 80;
    stroke-dashoffset: -80;
}

.sentiment-marker{
    transform: rotate(var(--sentiment-angle));
    transform-box: view-box;
    transform-origin: 120px 112px;
    transition: transform .35s cubic-bezier(.2,.8,.2,1);
}

.sentiment-marker circle{
    fill: var(--color-bone);
    stroke: var(--sentiment-color);
    stroke-width: 3;
}

.sentiment-score{
    fill: var(--sentiment-color);
    font: 700 24px Inter, Arial, sans-serif;
}

.sentiment-bound{
    fill: var(--color-mist);
    font: 500 10px Inter, Arial, sans-serif;
}

.sentiment-factors{
    display: grid;
    gap: 0;
    margin-top: 2px;
}

.sentiment-factor{
    --factor-size: 0%;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 40px;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    border-top: 1px solid rgba(49,49,49,.5);
}

.sentiment-factor > span{
    overflow: hidden;
    color: var(--color-ash);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sentiment-factor > strong{
    color: var(--factor-color, var(--color-ash));
    font-size: 12px;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

.factor-scale{
    position: relative;
    height: 6px;
    overflow: hidden;
    border-radius: 2px;
    background: var(--color-slate-edge);
}

.factor-scale::before{
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255,255,255,.5);
    z-index: 2;
}

.factor-scale i{
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--factor-size);
    background: var(--factor-color, var(--color-ash));
    transition: width .3s ease;
}

.sentiment-factor[data-direction="up"] .factor-scale i{
    left: 50%;
}

.sentiment-factor[data-direction="down"] .factor-scale i{
    right: 50%;
}

.sentiment-factor.no-data{
    opacity: .42;
}

.weekly-forecasts-card{
    grid-column: 1 / -1;
    min-height: 0;
}

.weekly-forecasts-head{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.weekly-forecasts-head > div{
    min-width: 0;
}

.weekly-forecasts-head h2{
    margin: 0;
    color: var(--color-bone);
    font-size: 40px;
    font-weight: 500;
}

.weekly-forecasts-head p{
    max-width: 560px;
    margin: 12px 0 0;
    color: var(--color-ash);
    font-size: 16px;
}

.weekly-forecasts-head > a{
    flex: 0 0 auto;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    color: var(--color-ash);
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
}

.weekly-forecasts-head > a:hover{
    border-color: var(--color-soft-indigo);
    color: var(--color-bone);
}

.home-weekly-forecasts-layout{
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(330px, .9fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
}

.home-weekly-forecast-list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-weekly-forecast-side .forecast-roi-body{
    grid-template-columns: 1fr;
    justify-items: center;
}

.home-weekly-forecast-side .forecast-roi-table{
    width: 100%;
}

.home-weekly-forecast-side .forecast-side-head b{
    font-size: 18px;
}

.home-weekly-forecast-side .forecast-leaders-card,
.home-weekly-forecast-side .forecast-roi-card{
    padding: 14px;
}

.home-weekly-forecast-list .forecast-card{
    height: 100%;
}

.weekly-forecasts-empty{
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed var(--color-iron);
    border-radius: 8px;
    color: var(--color-mist);
    font-size: 13px;
    text-align: center;
}

#site-radar{
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
    padding: 64px 0 24px;
    scroll-margin-top: 92px;
}

.radar-page #site-radar{
    padding-top: 112px;
}

.site-radar-head{
    display: block;
    max-width: 1120px;
    margin-bottom: 18px;
}

.site-radar-head > span{
    margin-bottom: 14px;
}

.site-radar-head h1{
    margin: 0;
    color: var(--color-bone);
    font-size: 44px;
    font-weight: 600;
    letter-spacing: 0;
}

.site-radar-head p{
    max-width: 760px;
    margin: 12px 0 0;
}

.site-radar-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 410px);
    gap: 36px;
    align-items: start;
}

.site-radar-main{
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(300px, .95fr) repeat(2, minmax(260px, 1fr));
    gap: 28px;
    align-items: start;
}

.site-radar-card{
    min-width: 0;
    border: 1px solid #292929;
    border-radius: 12px;
    background: #1e1e1e;
}

.site-radar-sentiment-card,
.site-radar-volume-card,
.site-radar-rank-card,
.site-radar-section-card,
.site-radar-feed-card{
    padding: 18px;
}

.site-radar-sentiment-card,
.site-radar-volume-card{
    display: flex;
    flex-direction: column;
}

.site-radar-left-stack{
    grid-column: 1;
    grid-row: 1;
    display: grid;
    gap: 28px;
    align-content: start;
    min-width: 0;
}

.site-radar-sentiment-card{
    grid-column: 1;
    grid-row: 1;
}

.site-radar-volume-card{
    grid-column: 1;
    grid-row: 2;
}

.site-radar-gainers-card{
    grid-column: 2;
    grid-row: 1;
}

.site-radar-losers-card{
    grid-column: 3;
    grid-row: 1;
}

.site-radar-card-head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.site-radar-card-head > div{
    min-width: 0;
}

.site-radar-card-head b{
    display: block;
    color: var(--color-bone);
    font-size: 18px;
    font-weight: 600;
}

.site-radar-card-head small{
    display: block;
    margin-top: 4px;
    color: var(--color-mist);
    font-size: 12px;
}

.site-radar-card-head > span{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border: 1px solid rgba(103,152,255,.32);
    border-radius: 6px;
    color: var(--color-soft-indigo);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
}

.site-radar-list{
    display: grid;
    gap: 7px;
}

.site-radar-volume-list{
    padding-top: 2px;
}

.site-radar-market-row,
.site-radar-feed-row{
    color: var(--color-bone);
    text-decoration: none;
}

.site-radar-market-row{
    min-height: 42px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
}

.site-radar-market-row img,
.site-radar-symbol img,
.site-radar-feed-row > img{
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: contain;
    background: rgba(255,255,255,.04);
}

.site-radar-market-row > span{
    min-width: 0;
}

.site-radar-market-row b,
.site-radar-symbol b{
    display: block;
    overflow: hidden;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-radar-market-row small,
.site-radar-symbol small{
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: var(--color-mist);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-radar-market-row strong,
.site-radar-market-row em{
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}

.site-radar-market-row strong{
    color: var(--color-ash);
}

.site-radar-market-row em.up,
.site-radar-value.up{ color: var(--color-soft-indigo); }
.site-radar-market-row em.down,
.site-radar-value.down{ color: #ea364f; }

.site-radar-sentiment{
    --sentiment-color: #25aeea;
    --sentiment-angle: 0deg;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
    min-height: 0;
    padding: 14px;
    border: 1px solid rgba(103,152,255,.24);
    border-radius: 8px;
    background: #050810;
}

.site-radar-sentiment-top{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 156px;
    gap: 12px;
    align-items: center;
}

.site-radar-sentiment-main span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--sentiment-color);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.site-radar-sentiment-main span i{
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--sentiment-color);
}

.site-radar-sentiment-main small{
    display: block;
    margin-top: 7px;
    color: var(--color-ash);
    font-size: 12px;
}

.site-radar-sentiment-chart{
    width: 156px;
    height: 58px;
    justify-self: end;
}

.site-radar-sentiment-chart svg{
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.site-radar-sentiment-track,
.site-radar-sentiment-zone{
    fill: none;
    stroke-width: 8;
    stroke-linecap: butt;
}

.site-radar-sentiment-track{ stroke: #292d33; }
.site-radar-sentiment-zone{ stroke-dasharray: 18 82; }
.site-radar-sentiment-zone.zone-red{ stroke: #FF6B72; stroke-dashoffset: 0; }
.site-radar-sentiment-zone.zone-yellow{ stroke: #F5C84B; stroke-dashoffset: -20; }
.site-radar-sentiment-zone.zone-cyan{ stroke: #67C7F3; stroke-dashoffset: -40; }
.site-radar-sentiment-zone.zone-green-light{ stroke: #A7E86D; stroke-dashoffset: -60; }
.site-radar-sentiment-zone.zone-green{
    stroke: #43D17A;
    stroke-dasharray: 20 80;
    stroke-dashoffset: -80;
}

.site-radar-sentiment-marker{
    transform: rotate(var(--sentiment-angle));
    transform-box: view-box;
    transform-origin: 120px 104px;
    transition: transform .35s cubic-bezier(.2,.8,.2,1);
}

.site-radar-sentiment-marker circle{
    fill: #fafafc;
    stroke: var(--sentiment-color);
    stroke-width: 3;
}

.site-radar-sentiment-score{
    fill: var(--sentiment-color);
    font: 700 20px Inter, Arial, sans-serif;
}

.site-radar-factors{
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
}

.site-radar-factor{
    --factor-score: 0;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
}

.site-radar-factor span{
    overflow: hidden;
    color: var(--color-ash);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-radar-factor div{
    position: relative;
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(90deg,
        #ea364f 0 12.5%,
        #f08a24 12.5% 37.5%,
        #25aeea 37.5% 62.5%,
        #8b5cf6 62.5% 87.5%,
        #25c96f 87.5% 100%
    );
}

.site-radar-factor div::before{
    content: "";
    position: absolute;
    left: 50%;
    top: -2px;
    bottom: -2px;
    width: 1px;
    background: rgba(255,255,255,.24);
}

.site-radar-factor b{
    position: absolute;
    left: calc(50% + (var(--factor-score) * .5%));
    top: 50%;
    width: 12px;
    height: 12px;
    border: 2px solid var(--color-bone);
    border-radius: 50%;
    background: var(--factor-color, var(--color-carbon));
    transform: translate(-50%, -50%);
}

.site-radar-factor.no-data{
    opacity: .36;
}

.site-radar-sections{
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.site-radar-section-card{
    min-height: 0;
}

.site-radar-section-title{
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.site-radar-section-title img{
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    object-fit: contain;
}

.site-radar-table-wrap{
    overflow: hidden;
}

.site-radar-table{
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
}

.site-radar-table th,
.site-radar-table td{
    padding: 8px 6px;
    border-bottom: 1px solid rgba(49,49,49,.52);
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-radar-table th{
    color: var(--color-mist);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.site-radar-table td{
    color: var(--color-ash);
    font-size: 12px;
}

.site-radar-table th:first-child,
.site-radar-table td:first-child{
    width: 34%;
    text-align: left;
}

.site-radar-table tr:last-child td{
    border-bottom: 0;
}

.site-radar-table tbody tr{
    cursor: pointer;
}

.site-radar-table tbody tr:hover{
    background: rgba(255,255,255,.035);
}

.site-radar-symbol{
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--color-bone);
}

.site-radar-table .site-radar-value{
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.site-radar-empty{
    display: flex;
    min-height: 126px;
    align-items: center;
    justify-content: center;
    padding: 16px;
    color: var(--color-mist);
    font-size: 13px;
    text-align: center;
}

.site-radar-feed-card{
    position: sticky;
    top: 92px;
    max-height: none;
    overflow: visible;
}

.site-radar-feed-list{
    display: grid;
    gap: 0;
    max-height: none;
    overflow: visible;
    padding-right: 0;
}

.site-radar-feed-row{
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    padding: 11px 0;
    border: 0;
    border-bottom: 1px solid rgba(49,49,49,.52);
    border-radius: 0;
    background: transparent;
}

.site-radar-feed-row:hover{
    border-color: rgba(49,49,49,.52);
    background: transparent;
}

.site-radar-feed-row:first-child{
    padding-top: 0;
}

.site-radar-feed-row:last-child{
    padding-bottom: 0;
    border-bottom: 0;
}

.site-radar-feed-body{
    min-width: 0;
}

.site-radar-feed-meta{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
}

.site-radar-feed-meta b{
    overflow: hidden;
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-radar-feed-meta time{
    flex: 0 0 auto;
    color: var(--color-mist);
    font-size: 11px;
}

.site-radar-feed-text{
    color: var(--color-ash);
    font-size: 12px;
}

.site-radar-feed-text b,
.site-radar-feed-text code{
    color: var(--color-bone);
    font: inherit;
    font-weight: 600;
}

.site-radar-feed-text code{
    color: var(--color-soft-indigo);
}

#app{
    padding: 72px 0;
}

#app > div{
    min-height: 440px;
    border: 1px solid var(--color-iron);
    border-radius: 24px;
    background: url(/imgs/3d-phone.png) no-repeat right center / cover;
    background-image: image-set(url(/imgs/3d-phone.webp) type("image/webp"), url(/imgs/3d-phone.png) type("image/png"));
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 56px 50% 56px 40px;
    gap: 12px;
    overflow: hidden;
}

#app h2{
    margin: 0;
    color: var(--color-bone);
    font-size: 40px;
    font-weight: 500;
}

#app p{
    color: var(--color-ash);
    font-size: 16px;
    margin: 0 0 12px;
}

#app img{
    max-height: 44px;
    margin-right: 8px;
    width: auto !important;
    object-fit: contain;
}

.app-qr{
    margin-top: 4px;
    width: 90px;
    height: 90px;
    background: #fff;
    padding: 8px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.app-qr img{
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain;
}

.site-footer{
    width: 100%;
    margin-top: 0px;
    padding: 56px 24px 26px;
    background: #000;
    border-top: 1px solid var(--color-iron);
}

.site-footer-inner{
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(280px, 1.4fr) repeat(4, minmax(148px, .75fr));
    gap: 28px;
    align-items: start;
}

.site-footer-brand .logo{
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    font-size: 22px;
}

.site-footer-brand p{
    max-width: 380px;
    margin: 16px 0 0;
    color: var(--color-ash);
    font-size: 14px;
}

.site-footer-downloads{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.site-footer-downloads img{
    display: block;
    width: auto;
    height: 38px;
}

.site-footer-col{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer-col b{
    margin-bottom: 2px;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
}

.site-footer-col a{
    color: var(--color-ash);
    text-decoration: none;
    font-size: 14px;
}

.site-footer-col a:hover{
    color: var(--color-soft-indigo);
}

.site-footer-contact-group{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--color-iron);
}

.site-footer-contact-group > b{
    margin-bottom: 2px;
}

.site-footer-socials{
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.site-footer-socials a{
    width: 36px;
    height: 36px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background-color: var(--color-graphite);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 18px;
}

.site-footer-socials a:hover{
    border-color: var(--color-soft-indigo);
    background-color: var(--color-iron);
}

.site-footer-socials .tg{ background-image: url(/imgs/icons/tg.png); }
.site-footer-socials .fb{ background-image: url(/imgs/icons/fb.png); }
.site-footer-socials .tw{ background-image: url(/imgs/icons/tw.png); }
.site-footer-socials .yb{ background-image: url(/imgs/icons/yb.png); }

.site-footer-bottom{
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 34px auto 0;
    padding-top: 18px;
    border-top: 1px solid var(--color-iron);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    color: var(--color-mist);
    font-size: 12px;
}

.site-footer-bottom span{
    color: var(--color-ash);
    white-space: nowrap;
}

.site-footer-bottom p{
    max-width: 980px;
    margin: 0;
}

.news-page-body > header{
    display: block;
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1000;
}

.news-page{
    min-height: 100vh;
    padding: 112px 24px 24px;
}

.news-shell{
    width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
}

.news-shell-article{
    width: min(1360px, calc(100vw - 48px));
}

.news-article-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}

.news-page-head{
    margin-bottom: 26px;
}

.news-page-head-tools{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.news-page-head > span,
.news-page-head-tools > span,
.news-breadcrumb{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    margin-bottom: 18px;
    padding: 0 12px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    color: var(--color-ash);
    font-size: 13px;
    text-decoration: none;
}

.news-page-head-tools > span{
    margin-bottom: 0;
}

.site-news-create-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid rgba(103,152,255,.36);
    border-radius: 8px;
    background: rgba(20,20,20,.7);
    color: var(--color-bone);
    font: 600 13px Inter, Arial, sans-serif;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.site-news-create-button:hover{
    border-color: rgba(103,152,255,.64);
    background: var(--color-elevated);
    color: #fff;
}

.news-breadcrumb a{
    color: var(--color-ash);
    text-decoration: none;
}

.news-breadcrumb a:hover{
    color: var(--color-soft-indigo);
}

.news-page-head h1,
.news-article-card h1{
    margin: 0;
    color: var(--color-bone);
    font-size: clamp(34px, 4vw, 56px);
    font-weight: 600;
    letter-spacing: 0;
}

.news-page-head p{
    max-width: 720px;
    margin: 18px 0 0;
    color: var(--color-ash);
    font-size: 18px;
}

.news-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
    align-items: start;
    width: 100%;
}

.news-side-card,
.news-article-card{
    background: rgba(20,20,20,.86);
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

.news-list-card{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
    gap: 28px;
}

.seo-calendar-card{
    overflow: hidden;
    padding: 18px;
    background: #1e1e1e;
    border: 1px solid #292929;
    border-radius: 12px;
}

.seo-calendar-head{
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

.seo-calendar-head b{
    color: var(--color-bone);
    font-size: 22px;
    font-weight: 600;
}

.seo-calendar-head small{
    color: var(--color-mist);
    font-size: 13px;
}

.seo-calendar-days{
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 16px;
}

.seo-cal-day{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 54px;
    padding: 0;
    cursor: pointer;
    color: var(--color-mist);
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    font: inherit;
}

.seo-cal-day span{
    font-size: 10px;
    text-transform: uppercase;
}

.seo-cal-day b{
    margin-top: 4px;
    color: var(--color-bone);
    font-size: 17px;
    font-weight: 500;
}

.seo-cal-day[data-has="1"]{
    border-color: rgba(103,152,255,.28);
}

.seo-cal-day[data-active="1"]{
    color: var(--color-soft-indigo);
    background: rgba(103,152,255,.12);
    border-color: var(--color-soft-indigo);
}

.seo-cal-day[data-active="1"] b{
    color: var(--color-soft-indigo);
}

.seo-calendar-panel{
    display: none;
}

.seo-calendar-panel[data-active="1"]{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.seo-calendar-list{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.seo-cal-event{
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.seo-cal-event:first-child{
    padding-top: 0;
    border-top: 0;
}

.seo-cal-time{
    padding: 8px 0;
}

.seo-cal-time b{
    display: block;
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 600;
}

.seo-cal-time span,
.seo-cal-info span{
    color: var(--color-mist);
    font-size: 12px;
}

.seo-cal-info{
    min-width: 0;
}

.seo-cal-info strong{
    display: block;
    margin-top: 3px;
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 600;
}

.seo-cal-info em,
.seo-cal-info p{
    display: block;
    margin: 5px 0 0;
    color: var(--color-ash);
    font-style: normal;
    font-size: 13px;
}

.seo-cal-info p{
    color: var(--color-mist);
}

.seo-cal-empty{
    padding: 18px 0 4px;
    color: var(--color-mist);
    font-size: 14px;
    text-align: center;
}

.seo-news-item{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #1e1e1e;
    border: 1px solid #292929;
    border-radius: 12px;
    color: var(--color-bone);
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.seo-news-item:hover{
    border-color: #3d3d3d;
    background-color: #222222;
    transform: translateY(-1px);
}

.seo-news-media{
    display: block;
    width: 100%;
    aspect-ratio: 2.5 / 1;
    overflow: hidden;
    background: #080808;
    text-decoration: none;
}

.seo-news-media img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
}

.seo-news-body{
    width: 100%;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 14px 16px 16px;
}

.seo-news-item[data-has-image="0"] .seo-news-body{
    min-height: 238px;
}

.seo-news-body,
.seo-news-meta,
.seo-news-copy,
.news-tags,
.seo-news-footer,
.seo-news-read{
    position: relative;
    z-index: 1;
}

.news-article-image{
    border-radius: 8px;
    background: var(--color-pure-black);
    border: 1px solid var(--color-slate-edge);
}

.seo-news-meta,
.news-article-meta{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
    color: var(--color-mist);
    font-size: 12px;
    text-transform: uppercase;
}

.seo-news-meta > span:not(.seo-news-badge){
    color: var(--color-soft-indigo);
}

.seo-news-meta time{
    margin-left: auto;
    color: var(--color-mist);
    text-transform: none;
}

.news-article-badge{
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    color: var(--color-bone);
    background: rgba(103,152,255,.14);
    text-transform: none;
}

.news-article-badge[data-news-badge="high"]{
    background: rgba(234,54,79,.18);
    color: #ff8d9d;
}

.news-article-badge[data-news-badge="medium"]{
    background: rgba(103,152,255,.16);
    color: #9fbbff;
}

.news-article-badge[data-news-badge="low"]{
    background: rgba(167,167,167,.14);
    color: var(--color-ash);
}

.news-article-badge[data-news-badge="post"]{
    background: rgba(20,28,44,.9);
    color: var(--color-soft-indigo);
}

.seo-news-badge{
    min-height: 22px;
    padding: 0 8px;
    font-size: 12px;
}

.seo-news-copy{
    max-width: 100%;
    display: block;
    overflow: visible;
}

.seo-news-title{
    max-width: 100%;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: var(--color-bone);
    text-decoration: none;
    font-size: 19px;
    font-weight: 600;
}

.seo-news-title:hover{
    color: #d7d7d7;
}

.seo-news-item em{
    max-width: 100%;
    display: -webkit-box;
    overflow: hidden;
    margin-top: 8px;
    color: var(--color-ash);
    font-style: normal;
    font-size: 15px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.news-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 4px 5px;
    margin: 0;
}

.news-tag{
    display: inline-flex;
    align-items: center;
    background: inherit;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    color: var(--color-soft-indigo);
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    transition: color .12s;
}

.news-tag:hover{ color: #9abaff; }
.news-tag[data-tag-type="coin"]{ color: var(--color-soft-indigo); }

.seo-news-footer{
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 18px;
}

.seo-news-read{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0;
    color: var(--color-ash);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.seo-news-read:hover{
    color: var(--color-bone);
}

.news-article-meta .site-news-admin-actions{
    margin-left: auto;
}

.site-news-edit-overlay{
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #000000;
}

.site-news-edit{
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    overflow: auto;
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 0;
    background-color: #000000;
    border-radius: 0;
    color: var(--color-bone);
}

.site-news-edit-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.site-news-edit-head b{
    color: var(--color-bone);
    font-size: 18px;
    font-weight: 600;
}

.site-news-edit-head button{
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: var(--color-elevated);
    cursor: pointer;
    position: relative;
}

.site-news-edit-head button::before,
.site-news-edit-head button::after{
    content: '';
    position: absolute;
    left: 9px;
    top: 15px;
    width: 12px;
    height: 1px;
    background: var(--color-bone);
}

.site-news-edit-head button::before{ transform: rotate(45deg); }
.site-news-edit-head button::after{ transform: rotate(-45deg); }

.site-news-edit label{
    display: grid;
    gap: 6px;
    margin: 0;
    color: var(--color-mist);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.site-news-edit input[type="text"],
.site-news-edit textarea{
    width: 100%;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: #0a0a0a;
    color: var(--color-bone);
    font: 14px Inter, Arial, sans-serif;
    outline: none;
}

.site-news-edit input[type="text"]{
    min-height: 40px;
    padding: 0 12px;
}

.site-news-edit textarea{
    min-height: 190px;
    resize: vertical;
    padding: 11px 12px;
}

.site-news-edit textarea.site-news-edit-full{
    min-height: 360px;
}

.site-news-edit textarea.site-news-edit-prompt{
    min-height: 92px;
}

.site-news-edit-prompt-row{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
}

.site-news-edit-prompt-row button{
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: var(--color-elevated);
    color: var(--color-bone);
    font: 600 13px Inter, Arial, sans-serif;
    cursor: pointer;
}

.site-news-edit-prompt-row button:hover{
    border-color: rgba(103,152,255,.45);
}

.site-news-edit-prompt-row button:disabled{
    opacity: .58;
    cursor: default;
}

.site-news-edit-prompt-row em{
    min-width: 0;
    color: var(--color-ash);
    font-size: 12px;
    font-style: normal;
}

.site-news-edit input[type="text"]:focus,
.site-news-edit textarea:focus{
    border-color: rgba(103,152,255,.62);
}

.site-news-edit-upload{
    display: grid;
    grid-template-columns: minmax(180px, 260px) 1fr;
    gap: 8px 12px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: var(--color-elevated);
}

.site-news-edit-upload img{
    grid-row: span 2;
    width: 100%;
    aspect-ratio: 2.5 / 1;
    object-fit: contain;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: #080808;
}

.site-news-edit-upload button{
    justify-self: start;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: var(--color-card);
    color: var(--color-bone);
    font: 600 13px Inter, Arial, sans-serif;
    cursor: pointer;
}

.site-news-edit-upload em{
    min-width: 0;
    color: var(--color-ash);
    font-size: 12px;
    font-style: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-news-edit-actions{
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.site-news-edit-actions button{
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: transparent;
    color: var(--color-bone);
    font: 600 13px Inter, Arial, sans-serif;
    cursor: pointer;
}

.site-news-edit-actions button[type="submit"]{
    border-color: #fff;
    background: #fff;
    color: #000;
}

.site-news-edit-actions button:disabled{
    opacity: .58;
    cursor: default;
}

.news-side-card{
    position: sticky;
    top: 96px;
    padding: 20px;
}

.news-side-card b{
    display: block;
    color: var(--color-bone);
    font-size: 20px;
    font-weight: 600;
}

.news-side-card p{
    margin: 12px 0 18px;
    color: var(--color-ash);
    font-size: 14px;
}

.news-side-card a,
.news-empty-link,
.news-article-actions a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 8px;
    background: var(--color-bone);
    color: var(--color-pure-black);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.news-pagination{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin: 22px auto 0;
    padding: 8px;
    border: 1px solid #292929;
    border-radius: 12px;
    background: #1e1e1e;
}

.news-pagination a,
.news-pagination span{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    color: var(--color-bone);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.news-pagination a:hover,
.news-pagination .is-active{
    border-color: var(--color-soft-indigo);
    color: var(--color-soft-indigo);
    background: rgba(103,152,255,.08);
}

.news-pagination .news-page-control{
    min-width: 78px;
}

.news-pagination .news-page-gap{
    min-width: 22px;
    padding: 0 2px;
    border-color: transparent;
    color: var(--color-mist);
    background: transparent;
}

.forecasts-shell{
    width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
}


.forecasts-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 480px;
    gap: 18px;
    align-items: start;
}

.forecasts-list{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 390px), 1fr));
    gap: 28px;
    min-width: 0;
    align-items: start;
}

.forecast-card,
.forecast-leaders-card,
.forecast-roi-card,
.forecast-empty{
    border: 1px solid #292929;
    border-radius: 12px;
    background: #1e1e1e;
}

.forecast-card{
    display: grid;
    gap: 10px;
    padding: 14px;
    color: var(--color-bone);
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.forecast-card:hover{
    border-color: #3d3d3d;
    background-color: #222222;
    transform: translateY(-1px);
}

.forecast-card-top,
.forecast-author,
.forecast-symbol,
.forecast-card-foot,
.forecast-leader{
    display: flex;
    align-items: center;
    min-width: 0;
}

.forecast-card-top{
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.forecast-author{
    gap: 8px;
}

.forecast-card > .forecast-author{
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.forecast-author span,
.forecast-symbol span,
.forecast-leader span{
    min-width: 0;
}

.forecast-author b,
.forecast-symbol strong,
.forecast-leader b{
    display: block;
    overflow: hidden;
    color: var(--color-bone);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.forecast-author b{
    font-size: 14px;
}

.forecast-author .forecast-avatar{
    width: 34px;
    height: 34px;
}

.forecast-author small,
.forecast-symbol small,
.forecast-leader small,
.forecast-card-foot span,
.forecast-side-head small,
.forecast-leaders-card p{
    color: var(--color-mist);
    font-size: 13px;
}

.forecast-author small,
.forecast-symbol small{
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forecast-card[data-vip="1"]{
    border-color: rgba(245, 190, 77, .34);
}

.forecast-premium-label{
    width: fit-content;
    max-width: 100%;
    min-height: 20px;
    margin: 3px 0 2px;
    padding: 0 8px 0 23px;
    display: inline-flex;
    align-items: center;
    position: relative;
    border: 1px solid rgba(245, 190, 77, .54);
    border-radius: 7px;
    background: rgba(245, 190, 77, .10);
    color: #f5c85b;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}

.forecast-premium-label i{
    position: absolute;
    left: 6px;
    top: 50%;
    width: 13px;
    height: 13px;
    transform: translateY(-50%);
    background: url("/imgs/vipdm.png") 50% / contain no-repeat;
}

.forecast-avatar,
.forecast-leader-avatar,
.forecast-comment-avatar{
    position: relative;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(103,152,255,.26);
    border-radius: 50%;
    background: #0a0a0a;
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 700;
}

.forecast-leader-avatar{
    width: 36px;
    height: 36px;
}

.forecast-comment-avatar{
    width: 28px;
    height: 28px;
    font-size: 10px;
}

.forecast-avatar::after,
.forecast-leader-avatar::after,
.forecast-comment-avatar::after{
    content: attr(data-initials);
}

.forecast-avatar[data-photo="1"]::after,
.forecast-leader-avatar[data-photo="1"]::after,
.forecast-comment-avatar[data-photo="1"]::after{
    display: none;
}

.forecast-avatar img,
.forecast-leader-avatar img,
.forecast-comment-avatar img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.forecast-status{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 92px;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: rgba(20,20,20,.82);
    text-align: right;
}

.forecast-status-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    object-fit: contain;
}

.forecast-status-text {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex: 1 1 auto;
}

.forecast-status b{
    display: block;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 700;
}

.forecast-status small{
    display: block;
    margin-top: 3px;
    color: var(--color-mist);
    font-size: 11px;
    white-space: nowrap;
}

.forecast-status[data-state="waiting"]{
    background: rgba(244, 200, 74, 0.12);
}
.forecast-status[data-state="waiting"] b{
    color: #F4C84A;
}
.forecast-status[data-state="waiting"] small{
    color: rgba(244, 200, 74, 0.7);
}

.forecast-status[data-state="active"]{
    background: rgba(103, 152, 255, 0.12);
}
.forecast-status[data-state="active"] b{
    color: var(--color-soft-indigo);
}
.forecast-status[data-state="active"] small{
    color: rgba(103, 152, 255, 0.7);
}

.forecast-status[data-state="win"]{
    background: rgba(10,210,166,.15);
}
.forecast-status[data-state="win"] b{
    color: #0ad2a6;
}
.forecast-status[data-state="win"] small{
    color: rgba(10,210,166,.8);
}

.forecast-status[data-state="loss"], .forecast-status[data-state="lose"]{
    background: rgba(234,54,79,.15);
}
.forecast-status[data-state="loss"] b, .forecast-status[data-state="lose"] b{
    color: #ff5d72;
}
.forecast-status[data-state="loss"] small, .forecast-status[data-state="lose"] small{
    color: rgba(234,54,79,.8);
}

.forecast-symbol{
    gap: 10px;
    min-height: 48px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    text-decoration: none;
}

.forecast-card-top .forecast-symbol{
    flex: 1 1 auto;
}

.forecast-symbol img{
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.forecast-symbol strong{
    font-size: 17px;
}

.forecast-symbol em{
    flex: 0 0 auto;
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(103,152,255,.12);
    color: var(--color-soft-indigo);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.forecast-symbol em[data-side="short"]{
    background: rgba(234,54,79,.13);
    color: #ff7183;
}

.forecast-snapshot{
    position: relative;
    overflow: hidden;
    margin: 0;
    aspect-ratio: 4 / 3;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 8px;
    background: #050505;
}

.forecast-snapshot img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.forecast-snapshot a{
    display: block;
    height: 100%;
}

.forecast-card > p{
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--color-ash);
    font-size: 14px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.forecast-metrics{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.forecast-metrics span{
    min-width: 0;
    padding: 9px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 8px;
    background: rgba(10,10,10,.68);
}

.forecast-metrics small{
    display: block;
    overflow: hidden;
    color: var(--color-mist);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
}

.forecast-metrics b{
    display: block;
    overflow: hidden;
    margin-top: 5px;
    color: var(--color-bone);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 600;
}

.forecast-comments{
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 8px;
    background: rgba(0,0,0,.26);
}

.forecast-comments-title{
    color: var(--color-mist);
    font-size: 11px;
    text-transform: uppercase;
}

.forecast-comment{
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}

.forecast-comment span{
    min-width: 0;
    display: grid;
    gap: 3px;
}

.forecast-comment small{
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--color-mist);
    font-size: 12px;
}

.forecast-comment small b{
    overflow: hidden;
    color: var(--color-bone);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.forecast-comment time{
    flex: 0 0 auto;
    color: var(--color-smoke);
}

.forecast-comment em{
    display: block;
    min-width: 0;
    overflow: hidden;
    color: var(--color-ash);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-style: normal;
}

.forecast-card-foot{
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    padding-top: 2px;
}

.forecast-card-foot > span{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forecast-stats{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.forecast-stat{
    min-width: 0;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 8px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    background: rgba(255,255,255,.035);
    color: var(--color-mist);
    font-size: 12px;
    font-weight: 600;
}

.forecast-stat i{
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .8;
}

.forecast-stat.is-views i{
    background-image: url("/imgs/view.svg");
}

.forecast-stat.is-comments i{
    background-image: url("/imgs/comments.svg");
}

.forecast-stat.is-subs i{
    background-image: url("/imgs/icons/star.svg");
}

.forecast-card-foot a{
    flex: 0 0 auto;
    color: var(--color-ash);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.forecast-card-foot a:hover{
    color: var(--color-bone);
}

.forecasts-side{
    display: grid;
    gap: 12px;
    min-width: 0;
}

.forecast-leaders-card{
    padding: 18px;
}

.forecast-roi-card{
    padding: 18px;
}

.forecast-side-head{
    margin-bottom: 14px;
}

.forecast-side-head b{
    display: block;
    color: var(--color-bone);
    font-size: 22px;
    font-weight: 600;
}

.forecast-side-head small{
    display: block;
    margin-top: 7px;
}

.forecast-roi-body{
    display: grid;
    grid-template-columns: 176px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    min-width: 0;
}

.forecast-roi-visual{
    display: grid;
    justify-items: center;
    gap: 8px;
    min-width: 0;
}

.forecast-roi-summary{
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    min-height: 20px;
    color: var(--color-mist);
    font-size: 12px;
}

.forecast-roi-summary b{
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 700;
}

.forecast-roi-chart{
    position: relative;
    width: 176px;
    height: 176px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, rgba(5,7,11,.98) 0 57%, transparent 58%),
        radial-gradient(circle at 50% 50%, transparent 0 73%, rgba(255,255,255,.06) 74% 75%, transparent 76%);
    overflow: visible;
}

.forecast-roi-chart canvas{
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
}

.forecast-roi-tooltip{
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    z-index: 4;
    display: grid;
    gap: 5px;
    min-width: 148px;
    max-width: 210px;
    padding: 9px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(12,12,12,.96);
    box-shadow: 0 10px 28px rgba(0,0,0,.26);
    transform: translateX(-50%) translateY(3px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .14s ease, transform .14s ease;
}

.forecast-roi-tooltip[data-show="1"]{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.forecast-roi-tooltip b{
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 700;
}

.forecast-roi-tooltip span{
    color: var(--color-mist);
    font-size: 12px;
}

.forecast-roi-table{
    display: grid;
    min-width: 0;
}

.forecast-roi-head,
.forecast-roi-row{
    display: grid;
    grid-template-columns: 7px 24px minmax(72px, 1fr) 42px 58px;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.forecast-roi-head{
    min-height: 22px;
    color: var(--color-mist);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.forecast-roi-head span:nth-child(4),
.forecast-roi-head span:nth-child(5){
    text-align: right;
}

.forecast-roi-row{
    min-height: 34px;
    padding: 5px 0;
    border-top: 1px solid rgba(255,255,255,.07);
    color: inherit;
    text-decoration: none;
}

.forecast-roi-head + .forecast-roi-row{
    border-top-color: rgba(255,255,255,.1);
}

.forecast-roi-row i{
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--roi-color, var(--color-soft-indigo));
}

.forecast-roi-row img{
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    background: rgba(0,0,0,.35);
}

.forecast-roi-row b{
    display: block;
    min-width: 0;
    overflow: hidden;
    color: var(--color-bone);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
}

.forecast-roi-row em{
    color: var(--color-mist);
    font-style: normal;
    font-size: 12px;
    text-align: right;
}

.forecast-roi-row strong{
    color: #0ad2a6;
    font-size: 12px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.forecast-roi-row strong[data-positive="0"]{
    color: #ff5d72;
}

.forecast-leaders{
    display: grid;
    gap: 6px;
}

.forecast-leader{
    gap: 9px;
    min-height: 52px;
    padding: 8px 0;
    border-top: 1px solid rgba(255,255,255,.07);
    color: inherit;
    text-decoration: none;
}

.forecast-leader:first-child{
    border-top: 0;
    padding-top: 0;
}

.forecast-leader i{
    flex: 0 0 22px;
    color: var(--color-mist);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.forecast-leader-score{
    flex: 0 0 auto;
    display: grid;
    gap: 3px;
    margin-left: auto;
    text-align: right;
}

.forecast-leader strong{
    color: var(--color-soft-indigo);
    font-size: 15px;
    font-weight: 700;
}

.forecast-leader-score em{
    display: block;
    color: #0ad2a6;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}

.forecast-leader-score em[data-positive="0"]{
    color: #ff5d72;
}

.forecast-leaders-card p{
    margin: 14px 0 0;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.07);
}

.forecast-empty,
.forecast-leader-empty{
    display: grid;
    gap: 8px;
    padding: 22px;
    color: var(--color-ash);
    text-align: center;
}

.forecast-empty b{
    color: var(--color-bone);
    font-size: 18px;
}

.forecast-empty span,
.forecast-leader-empty{
    font-size: 14px;
}

.news-article-card{
    max-width: none;
    padding: clamp(22px, 3vw, 34px);
    background: rgba(20,20,20,.86);
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

.news-article-header{
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 100%;
}

.news-article-card h1{
    max-width: 100%;
    font-size: 28px;
    margin: 26px 0px;
}

.news-article-meta{
    flex-wrap: wrap;
    margin-bottom: 0;
}

.news-article-meta em{
    color: var(--color-mist);
    font-style: normal;
}

.news-article-lead{
    max-width: 860px;
    margin: 10px 0 0;
    color: var(--color-ash);
    font-size: clamp(16px, 1.7vw, 19px);
}

.news-article-figure{
    margin: 22px 0 0;
}

.news-article-image{
    width: 100%;
    height: auto;
    display: block;
}

.news-article-summary{
    max-width: 860px;
    margin-top: 22px;
    padding: 16px;
    background: rgba(20,20,20,.86);
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

.news-article-summary strong{
    display: block;
    margin-bottom: 12px;
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 600;
}

.news-article-summary ul{
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-article-summary li{
    position: relative;
    padding-left: 18px;
    color: var(--color-ash);
    font-size: 15px;
}

.news-article-summary li::before{
    content: "";
    position: absolute;
    left: 0;
    top: .65em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-soft-indigo);
}

.news-article-content{
    max-width: 860px;
    margin-top: 24px;
    color: var(--color-ash);
    font-size: 16px;
}

.news-article-section{
    padding-top: 22px;
    border-top: 1px solid rgba(49,49,49,.72);
}

.news-article-section:first-child{
    padding-top: 0;
    border-top: 0;
}

.news-article-section + .news-article-section{
    margin-top: 22px;
}

.news-article-section h2{
    margin: 0 0 12px;
    color: var(--color-bone);
    font-size: clamp(21px, 2.4vw, 28px);
    font-weight: 600;
}

.news-article-content h2,
.news-article-content h3{
    margin: 22px 0 12px;
    color: var(--color-bone);
    font-weight: 600;
}

.news-article-content h2{
    font-size: clamp(21px, 2.4vw, 28px);
}

.news-article-content h3{
    font-size: 21px;
}

.news-article-content p{
    max-width: 100%;
    margin: 0 0 14px;
}

.news-article-content ul,
.news-article-content ol{
    margin: 0 0 16px 20px;
    padding: 0;
}

.news-article-content li{
    margin: 0 0 8px;
}

.news-article-content blockquote{
    margin: 18px 0;
    padding: 12px 14px;
    border-left: 2px solid var(--color-soft-indigo);
    border-radius: 8px;
    background: rgba(103,152,255,.08);
    color: var(--color-bone);
}

.news-article-content a{
    color: var(--color-soft-indigo);
    text-decoration: none;
}

.news-article-content a:hover{
    color: var(--color-bone);
}

.news-related-card{
    padding: 16px;
    background: rgba(20,20,20,.86);
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

.news-related-head{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.news-related-head b{
    color: var(--color-bone);
    font-size: 18px;
    font-weight: 600;
}

.news-related-head a{
    margin-left: auto;
    color: var(--color-ash);
    font-size: 13px;
    text-decoration: none;
}

.news-related-head a:hover{
    color: var(--color-soft-indigo);
}

.news-related-list{
    display: grid;
    gap: 8px;
}

.news-related-item{
    display: block;
    padding: 11px 0px;
    border-bottom: 1px solid rgba(49,49,49,.72);
    color: var(--color-bone);
    text-decoration: none;
}

.news-related-item:hover{
    border-color: rgba(103,152,255,.46);
    background: rgba(30,30,30,.9);
}

.news-related-item span,
.news-related-item em{
    display: block;
    color: var(--color-mist);
    font-size: 11px;
    text-transform: uppercase;
    font-style: normal;
}

.news-related-item span{
    color: var(--color-soft-indigo);
}

.news-related-item b{
    display: -webkit-box;
    overflow: hidden;
    margin: 5px 0;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.news-article-content p:last-child{
    margin-bottom: 0;
}

/* Теги под полной новостью: компактная тематическая навигация. */
.news-article-card > .news-tags{
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--color-slate-edge);
    gap: 4px 5px;
}

.news-article-card > .news-tags .news-tag{
    padding: 0;
    margin: 0;
    font-size: 13px;
}

.news-promo-card{
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 28px;
    padding: 18px;
    background: rgba(20,20,20,.86);
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
}

.news-promo-kicker{
    color: var(--color-soft-indigo);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.news-promo-title{
    color: var(--color-bone);
    font-size: 17px;
    font-weight: 600;
}

.news-promo-text{
    margin: 0;
    color: var(--color-ash);
    font-size: 14px;
    line-height: 1.5;
}

.news-promo-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 4px 5px;
    margin-top: 4px;
}

.news-promo-tag{
    background: inherit;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    color: var(--color-soft-indigo);
    font-size: 12px;
    font-weight: 400;
}

.news-article-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.news-article-actions a:first-child{
    background: transparent;
    border: 1px solid var(--color-slate-edge);
    color: var(--color-bone);
}

.news-empty{
    padding: 28px;
    color: var(--color-ash);
}

.prices-page{
    min-height: 100vh;
    padding: 112px 24px 24px;
}

.prices-shell{
    width: min(1120px, calc(100vw - 48px));
    margin: 0 auto;
}

.prices-hero{
    margin-bottom: 0;
}

.prices-hero > span{
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
    padding: 0 12px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
    color: var(--color-ash);
    font-size: 14px;
}

.prices-hero h1{
    max-width: 820px;
    margin: 0;
    color: var(--color-bone);
    font-size: 44px;
    font-weight: 600;
}

.prices-hero p{
    max-width: 760px;
    margin: 18px 0 0;
    color: var(--color-ash);
    font-size: 18px;
}

.prices-compare-card{
    overflow: hidden;
    border: 1px solid #292929;
    border-radius: 8px;
    background: #1E1E1E;
}

.prices-compare-head{
    display: block;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.prices-compare-title{
    min-width: 0;
    padding: 16px 22px;
}

.prices-compare-head b{
    display: block;
    color: var(--color-bone);
    font-size: 24px;
    font-weight: 600;
}

.prices-compare-head small{
    display: block;
    margin-top: 6px;
    color: var(--color-mist);
    font-size: 14px;
}

.prices-period-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0px 0 14px;
    width: 100%;
}

.prices-period-button{
    position: relative;
    min-height: 26px;
    padding: 8px 18px;
    border: 0;
    background: #0D0E11;
    border-radius: 8px;
    border: 1px solid #1E1E1E;
    color: var(--color-mist);
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
}


.prices-period-button span{
    color: inherit;
}

.prices-period-button em{
    /*position: absolute;*/
    display: inline-flex;
    padding: 1px 5px;
    border-radius: 999px;
    background: rgba(51,169,87,.16);
    color: #33d27a;
    font-size: 10px;
    font-style: normal;
    vertical-align: 1px;
}

.prices-period-button[data-selected]{
    color: var(--color-bone);
}


.prices-plan-name{
    width: 100%;
    min-height: 62px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    gap: 5px;
    color: var(--color-bone);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.prices-plan-name:nth-child(3){
    color: #ffffff;
}

.prices-plan-name:nth-child(3)::before{
    display: none;
}

.prices-plan-name > span{
    color: var(--color-mist);
    font-size: 16px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.prices-plan-name em{
    color: var(--color-bone);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
}

.prices-price-suffix{
    margin-left: 3px;
    color: var(--color-mist);
    font-size: 12px;
    font-weight: 600;
}

.prices-plan-name small{
    display: block;
    max-width: 100%;
    margin-top: 0;
    color: var(--color-mist);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

.prices-plan-name i{
    margin-left: 5px;
    color: var(--color-mist);
    font-style: normal;
    text-decoration: line-through;
}

.prices-table{
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    display: block;
}

.prices-table tbody{
    display: block;
}

.prices-table tr{
    display: grid;
    grid-template-columns: 50% 25% 25%;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.prices-table th,
.prices-table td{
    display: flex;
    align-items: center;
    padding: 16px 24px;
    border-bottom: 0;
    color: var(--color-ash);
    font-size: 15px;
    vertical-align: middle;
}

.prices-table th{
    color: var(--color-mist);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: left;
}

.prices-table th:nth-child(2),
.prices-table th:nth-child(3),
.prices-table td:nth-child(2),
.prices-table td:nth-child(3){
    justify-content: center;
    text-align: center;
}

.prices-table th:first-child,
.prices-table td:first-child{
    width: auto;
}

.prices-table td:first-child{
    color: var(--color-bone);
    font-weight: 400;
    color: #A7A7A7;
}

.prices-table td:nth-child(3){
    color: var(--color-bone);
}

.prices-price-row td{
    padding-top: 18px;
    padding-bottom: 18px;
}

.prices-price-cell{
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    text-align: center;
}

.prices-price-cell b{
    display: block;
    color: var(--color-bone);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0;
}

.prices-price-cell .prices-price-suffix{
    font-size: 14px;
}

.prices-price-cell small{
    display: block;
    max-width: 100%;
    color: var(--color-mist);
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

.prices-price-cell i{
    margin-left: 5px;
    color: var(--color-mist);
    font-style: normal;
    text-decoration: line-through;
}

.prices-price-free{
    color: var(--color-mist);
    font-size: 18px;
    font-weight: 700;
}

.prices-check-icon{
    width: 16.5px;
    height: 16.5px;
    display: inline-block;
    vertical-align: middle;
    object-fit: contain;
}

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

.prices-table tbody tr:last-child{
    border-bottom: 0;
}



.prices-cta-button{
    min-width: 160px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--color-bone);
    color: var(--color-carbon);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

.prices-cta-button:hover{
    background: #dce8ff;
}

.legal-page{
    min-height: 100vh;
    padding: 120px 24px 72px;
}

.legal-hero,
.legal-layout{
    width: min(1120px, calc(100vw - 48px));
    margin: 0 auto;
}

.legal-hero{
    margin-bottom: 24px;
}

.legal-eyebrow{
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-bottom: 14px;
    padding: 0 10px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
    color: var(--color-soft-indigo);
    font-size: 13px;
    font-weight: 600;
}

.legal-hero h1{
    max-width: 820px;
    margin: 0;
    color: var(--color-bone);
    font-size: clamp(34px, 5vw, 60px);
    font-weight: 600;
}

.legal-hero p{
    max-width: 760px;
    margin: 16px 0 0;
    color: var(--color-ash);
    font-size: 16px;
}

.legal-updated{
    display: block;
    margin-top: 14px;
    color: var(--color-mist);
    font-size: 13px;
}

.legal-layout{
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.legal-nav{
    position: sticky;
    top: 96px;
    display: grid;
    gap: 4px;
    padding: 8px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
}

.legal-nav a{
    min-height: 36px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 8px;
    color: var(--color-ash);
    text-decoration: none;
    font-size: 14px;
}

.legal-nav a:hover{
    background: var(--color-iron);
    color: var(--color-bone);
}

.legal-nav a.is-active{
    background: rgba(103,152,255,.14);
    color: var(--color-bone);
}

.legal-card{
    padding: 28px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.84);
}

.legal-card h2{
    margin: 30px 0 10px;
    color: var(--color-bone);
    font-size: 22px;
    font-weight: 600;
}

.legal-card h2:first-child{
    margin-top: 0;
}

.legal-card p{
    margin: 0 0 14px;
    color: var(--color-ash);
    font-size: 15px;
}

.legal-card p.legal-note{
    margin-bottom: 22px;
    padding: 16px;
    border: 1px solid rgba(103,152,255,.32);
    border-radius: 8px;
    background: rgba(103,152,255,.08);
    color: var(--color-bone);
}

.legal-card p.legal-account-deletion{
    margin-top: 16px;
}

.legal-account-deletion a{
    color: var(--color-soft-indigo);
    font-weight: 600;
    text-decoration: none;
}

.legal-account-deletion a:hover{
    text-decoration: underline;
}

.legal-card ul{
    margin: 0 0 16px;
    padding-left: 20px;
    color: var(--color-ash);
    font-size: 15px;
}

.legal-card li + li{
    margin-top: 8px;
}

.support-form-card{
    margin: 0 0 30px;
    padding: 22px;
    border: 1px solid rgba(103,152,255,.32);
    border-radius: 8px;
    background: rgba(103,152,255,.06);
}

.support-form-card > h2{
    margin-top: 0;
}

.support-form{
    position: relative;
    display: grid;
    gap: 7px;
    margin-top: 20px;
}

.support-form > label,
.support-upload-title{
    margin-top: 8px;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
}

.support-form input,
.support-form select,
.support-form textarea{
    width: 100%;
    padding: 11px 13px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: #0f0f0f;
    color: var(--color-bone);
    font: inherit;
    font-size: 15px;
}

.support-form input:focus,
.support-form select:focus,
.support-form textarea:focus{
    outline: none;
    border-color: var(--color-soft-indigo);
}

.support-form input[readonly]{
    color: var(--color-ash);
    background: rgba(15,15,15,.7);
    cursor: default;
}

.support-form textarea{
    min-height: 150px;
    resize: vertical;
}

.support-field-hint,
.support-upload small{
    color: var(--color-mist);
    font-size: 12px;
}

.support-upload{
    display: grid;
    gap: 6px;
    margin-top: 9px;
    padding: 14px;
    border: 1px dashed var(--color-iron);
    border-radius: 8px;
    background: rgba(10,10,10,.34);
}

.support-upload-actions{
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 5px;
}

.support-file-button,
.support-file-remove{
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: #171717;
    color: var(--color-bone);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.support-file-button:hover,
.support-file-remove:hover{
    border-color: var(--color-soft-indigo);
}

.support-file-name{
    min-width: 0;
    overflow: hidden;
    color: var(--color-ash);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.support-file-remove{
    margin-left: auto;
}

.support-submit{
    width: fit-content;
    min-height: 44px;
    margin-top: 11px;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    background: var(--color-bone);
    color: #000;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.support-submit:hover:not(:disabled){
    background: #dce8ff;
}

.support-submit:disabled{
    opacity: .5;
    cursor: default;
}

.legal-card p.support-consent{
    margin: 4px 0 0;
    color: var(--color-mist);
    font-size: 12px;
}

.support-consent a{
    color: var(--color-soft-indigo);
}

.legal-card p.support-status{
    margin: 4px 0 0;
    padding: 11px 13px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    color: var(--color-ash);
    font-size: 14px;
}

.support-status:empty{
    display: none;
}

.legal-card p.support-status[data-state="ok"]{
    border-color: rgba(63,209,139,.4);
    background: rgba(63,209,139,.08);
    color: #87f9c0;
}

.legal-card p.support-status[data-state="error"]{
    border-color: rgba(234,54,79,.4);
    background: rgba(234,54,79,.08);
    color: #ff9aa6;
}

.support-honeypot{
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Страница «О компании». Повторяет раскладку юридических страниц: та же ширина
   контейнера, тот же герой с чипом-надзаголовком и те же карточки, — чтобы
   раздел не выбивался из остального сайта. Боковой навигации здесь нет:
   документ один, перечислять нечего. */
.about-page{
    min-height: 100vh;
    padding: 120px 24px 72px;
}

.about-hero,
.about-layout,
.about-cta{
    width: min(1120px, calc(100vw - 48px));
    margin: 0 auto;
}

.about-hero{
    margin-bottom: 24px;
}

.about-hero > span{
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-bottom: 14px;
    padding: 0 10px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
    color: var(--color-soft-indigo);
    font-size: 13px;
    font-weight: 600;
}

.about-hero h1{
    max-width: 820px;
    margin: 0;
    color: var(--color-bone);
    font-size: clamp(34px, 5vw, 60px);
    font-weight: 600;
}

.about-hero p{
    max-width: 760px;
    margin: 16px 0 0;
    color: var(--color-ash);
    font-size: 16px;
}

.about-layout{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.about-block{
    padding: 28px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.84);
}

/* Блок «чем мы не являемся» — на всю ширину: для финансовой тематики это
   главный блок страницы, а не сноска в углу. */
.about-limits,
.about-contact{
    grid-column: 1 / -1;
}

.about-block h2{
    margin: 0 0 10px;
    color: var(--color-bone);
    font-size: 22px;
    font-weight: 600;
}

.about-block p{
    margin: 0 0 14px;
    color: var(--color-ash);
    font-size: 15px;
}

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

.about-block a{
    color: var(--color-soft-indigo);
    font-weight: 600;
    text-decoration: none;
}

.about-block a:hover{
    text-decoration: underline;
}

.about-limits ul{
    margin: 0;
    padding-left: 20px;
    color: var(--color-ash);
    font-size: 15px;
}

.about-limits li + li{
    margin-top: 8px;
}

.about-cta{
    margin-top: 18px;
    padding: 28px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.84);
    text-align: center;
}

.about-cta h2{
    margin: 0 0 16px;
    color: var(--color-bone);
    font-size: 22px;
    font-weight: 600;
}

.about-cta-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 8px;
    background: var(--color-bone);
    color: #000;
    font-weight: 700;
    text-decoration: none;
}

.about-cta-button:hover{
    background: #dce8ff;
}

.about-careers-note{
    margin: 18px 0 0;
    color: var(--color-mist);
    font-size: 14px;
}

.about-careers-note a{
    color: var(--color-soft-indigo);
    font-weight: 600;
    text-decoration: none;
}

.about-careers-note a:hover{
    text-decoration: underline;
}

/* Страница вакансий переиспользует раскладку «О компании»: те же контейнер,
   герой и карточки. Здесь только то, чего у about нет. */
.careers-meta{
    color: var(--color-soft-indigo) !important;
    font-size: 13px !important;
    font-weight: 600;
}

.careers-vacancy h3{
    margin: 22px 0 8px;
    color: var(--color-bone);
    font-size: 16px;
    font-weight: 600;
}

.careers-vacancy ul{
    margin: 0;
    padding-left: 20px;
    color: var(--color-ash);
    font-size: 15px;
}

.careers-vacancy li + li{
    margin-top: 8px;
}

.careers-form-block label{
    display: block;
    margin: 16px 0 6px;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
}

.careers-form-block label small{
    color: var(--color-mist);
    font-weight: 400;
}

.careers-form-block input,
.careers-form-block textarea{
    width: 100%;
    padding: 11px 13px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: #0f0f0f;
    color: var(--color-bone);
    font: inherit;
    font-size: 15px;
}

.careers-form-block input:focus,
.careers-form-block textarea:focus{
    outline: none;
    border-color: var(--color-soft-indigo);
}

.careers-form-block textarea{
    resize: vertical;
    min-height: 120px;
}

.careers-form-block button[type="submit"]{
    margin-top: 18px;
    min-height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    background: var(--color-bone);
    color: #000;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.careers-form-block button[type="submit"]:hover:not(:disabled){
    background: #dce8ff;
}

.careers-form-block button[type="submit"]:disabled{
    opacity: .5;
    cursor: default;
}

.careers-consent{
    margin-top: 12px !important;
    color: var(--color-mist) !important;
    font-size: 13px !important;
}

.careers-status:empty{
    display: none;
}

.careers-status{
    margin-top: 12px !important;
    padding: 11px 13px;
    border-radius: 8px;
    border: 1px solid var(--color-iron);
    font-size: 14px !important;
}

.careers-status[data-state="ok"]{
    border-color: rgba(63,209,139,.4);
    background: rgba(63,209,139,.08);
    color: #87F9C0 !important;
}

.careers-status[data-state="error"]{
    border-color: rgba(234,54,79,.4);
    background: rgba(234,54,79,.08);
    color: #ff9aa6 !important;
}

.admin-page-body{
    background: #0a0a0a url('/imgs/main-bg.png') repeat top center;
    background-image: image-set(url('/imgs/main-bg.webp') type("image/webp"), url('/imgs/main-bg.png') type("image/png"));
}

.admin-page{
    min-height: 100vh;
    padding: 104px 20px 48px;
}

.admin-shell{
    width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
}

.admin-page .admin-hero{
    position: relative;
    display: block;
    max-width: 760px;
    margin-bottom: 12px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.admin-page .admin-hero > span{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    margin-bottom: 10px;
    padding: 7px 10px;
    border: 1px solid rgba(103,152,255,.24);
    border-radius: 8px;
    color: var(--color-mist);
    font-size: 12px;
}

.admin-page .admin-hero > span::before{
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #6798ff;
}

.admin-page .admin-hero h1{
    margin: 0;
    color: var(--color-bone);
    font-size: clamp(28px, 2.2vw, 36px);
    font-weight: 600;
    letter-spacing: 0;
}

.admin-page .admin-hero p{
    max-width: 640px;
    margin: 10px 0 0;
    color: var(--color-ash);
    font-size: 14px;
}

.admin-page .admin-hero .admin-refresh{
    position: absolute;
    right: 0;
    bottom: 0;
}

.admin-refresh,
.admin-denied button,
.admin-pricing-form button,
.admin-rally-form button,
.admin-telegram-form button,
.admin-primary,
.admin-secondary{
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: #fff;
    color: #000;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
}

.admin-secondary,
.admin-refresh{
    background: rgba(12,12,12,.72);
    color: var(--color-bone);
}

.admin-secondary:hover,
.admin-refresh:hover{
    border-color: rgba(103,152,255,.55);
}

.admin-danger{
    border-color: rgba(234,54,79,.42);
    color: #ff7a87;
}

.admin-danger:hover{
    border-color: rgba(234,54,79,.72);
    background: rgba(234,54,79,.10);
}

.admin-primary:hover,
.admin-pricing-form button:hover,
.admin-denied button:hover{
    background: #e9e9e9;
}

.admin-page button:disabled,
.admin-page input:disabled,
.admin-page textarea:disabled,
.admin-page select:disabled{
    opacity: .62;
    cursor: wait;
}

.admin-denied,
.admin-status{
    margin-top: 10px;
    padding: 14px;
    border: 1px solid rgba(49,49,49,.72);
    border-radius: 8px;
    background: rgba(12,12,12,.68);
    color: var(--color-ash);
}

.admin-denied b{
    display: block;
    color: var(--color-bone);
    font-size: 24px;
}

.admin-denied p{
    margin: 8px 0 16px;
    color: var(--color-ash);
}

.admin-status{
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    width: auto;
    padding: 0 10px;
    border-color: rgba(103,152,255,.2);
    background: rgba(10,10,10,.48);
    color: var(--color-mist);
    font-size: 12px;
}

.admin-status.is-error,
[data-admin-pricing-state].is-error,
[data-admin-rally-state].is-error,
[data-admin-telegram-state].is-error{
    color: #ff5d72;
}

.admin-stats{
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.admin-stats div,
.admin-card{
    border: 1px solid rgba(49,49,49,.58);
    border-radius: 8px;
    background: rgba(12,12,12,.76);
}

.admin-stats div{
    min-height: 62px;
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 10px 8px;
    text-align: center;
}

.admin-stats small{
    display: block;
    margin-bottom: 5px;
    overflow: hidden;
    color: var(--color-mist);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.admin-stats b{
    color: var(--color-bone);
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 540;
}

.admin-stats em{
    display: block;
    margin-top: 5px;
    color: var(--color-ash);
    font-size: 10px;
    font-style: normal;
    white-space: nowrap;
}

.admin-dashboard{
    display: grid;
    grid-template-columns: minmax(520px, 1.35fr) minmax(290px, .75fr) minmax(310px, .8fr);
    gap: 10px;
    align-items: start;
    margin-top: 10px;
}

.admin-grid{
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.28fr);
    gap: 10px;
    align-items: start;
    margin-top: 10px;
}

.admin-grid .admin-video-card{
    grid-column: 1 / -1;
}
.admin-grid .admin-indicator-request-card{
    grid-column: 1 / -1;
}

.admin-card{
    padding: 14px;
}

.admin-card-head{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 11px;
}

.admin-card-head h2{
    margin: 0;
    color: var(--color-bone);
    font-size: 16px;
    font-weight: 500;
}

.admin-card-head p{
    max-width: 560px;
    margin: 4px 0 0;
    color: var(--color-mist);
    font-size: 12px;
}

.admin-card-head > span{
    flex: 0 0 auto;
    padding: 5px 8px;
    border: 1px solid rgba(103,152,255,.28);
    border-radius: 8px;
    color: #6798ff;
    font-size: 11px;
    font-weight: 700;
}

.admin-pricing-form,
.admin-rally-form,
.admin-telegram-form{
    display: grid;
    gap: 10px;
}

.admin-pricing-form label,
.admin-rally-form label,
.admin-telegram-form label{
    display: grid;
    gap: 7px;
    color: var(--color-mist);
    font-size: 12px;
}

.admin-pricing-form input,
.admin-rally-form input:not([type="file"]),
.admin-rally-form textarea,
.admin-telegram-form input:not([type="checkbox"]),
.admin-telegram-form textarea,
.admin-list-item textarea{
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(0,0,0,.72);
    color: var(--color-bone);
    font: inherit;
    font-size: 14px;
    outline: none;
}

.admin-pricing-form input,
.admin-rally-form input:not([type="file"]),
.admin-telegram-form input:not([type="checkbox"]){
    padding: 0 12px;
}

.admin-rally-form textarea,
.admin-telegram-form textarea{
    min-height: 76px;
    padding: 10px 12px;
    resize: vertical;
}

.admin-rally-fields,
.admin-rally-sponsor-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.admin-rally-icon-row{
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(49,49,49,.58);
    border-radius: 8px;
    background: rgba(4,4,4,.38);
}

.admin-rally-icon-preview,
.admin-rally-sponsor-preview{
    width: 58px;
    height: 58px;
    border: 1px solid rgba(103,152,255,.24);
    border-radius: 8px;
    background: rgba(255,255,255,.05) center / cover no-repeat;
}

.admin-rally-icon-row b,
.admin-rally-sponsor-head b{
    display: block;
    color: var(--color-bone);
    font-size: 13px;
}

.admin-rally-icon-row p{
    margin: 3px 0 9px;
    color: var(--color-mist);
    font-size: 12px;
}

.admin-rally-sponsor-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 2px;
}

.admin-rally-sponsors{
    display: grid;
    gap: 8px;
}

.admin-rally-sponsor{
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
    border: 1px solid rgba(49,49,49,.58);
    border-radius: 8px;
    background: rgba(4,4,4,.32);
}

.admin-rally-sponsor-main{
    display: grid;
    gap: 8px;
    min-width: 0;
}

.admin-rally-sponsor-actions{
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.admin-switch-row{
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(49,49,49,.58);
    border-radius: 8px;
    background: rgba(4,4,4,.38);
    color: var(--color-bone) !important;
    font-weight: 520;
}

.admin-switch-row input{
    width: 34px;
    height: 19px;
    appearance: none;
    border: 1px solid rgba(103,152,255,.34);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease;
}

.admin-switch-row input::before{
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    margin: 2px;
    border-radius: 50%;
    background: var(--color-mist);
    transition: transform .16s ease, background .16s ease;
}

.admin-switch-row input:checked{
    border-color: rgba(54,210,123,.54);
    background: rgba(54,210,123,.22);
}

.admin-switch-row input:checked::before{
    transform: translateX(15px);
    background: #36d27b;
}

.admin-form-hint{
    margin: 0;
    color: var(--color-mist);
    font-size: 12px;
}

.admin-period-toggle{
    display: inline-flex;
    gap: 4px;
    padding: 2px;
    border: 1px solid rgba(49,49,49,.72);
    border-radius: 8px;
    background: rgba(6,6,6,.55);
}

.admin-period-toggle button{
    min-height: 26px;
    padding: 0 9px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--color-mist);
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
}

.admin-period-toggle button.is-active{
    background: rgba(255,255,255,.9);
    color: #060606;
}

.admin-chart{
    height: 286px;
    padding: 10px 10px 2px;
    overflow: hidden;
    border: 1px solid rgba(49,49,49,.58);
    border-radius: 8px;
    background: rgba(4,4,4,.44);
}

.admin-chart canvas{
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.admin-chart-svg{
    display: block;
    width: 100%;
    height: auto;
}

.admin-chart-grid line{
    stroke: rgba(255,255,255,.08);
    stroke-width: 1;
}

.admin-chart-bars rect{
    fill: rgba(103,152,255,.72);
}

.admin-chart-line{
    fill: none;
    stroke: #fff;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.admin-chart-paid circle{
    fill: #36d27b;
}

.admin-chart-labels text{
    fill: var(--color-mist);
    font-size: 12px;
}

.admin-chart-legend,
.admin-analytics-summary{
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 0 10px 10px;
    color: var(--color-mist);
    font-size: 12px;
}

.admin-chart-legend span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.admin-chart-legend span:nth-child(1) i{
    background: #6798ff;
}

.admin-chart-legend span:nth-child(2) i{
    background: #fff;
}

.admin-chart-legend span:nth-child(3) i{
    background: #36d27b;
}

.admin-chart-legend i{
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.admin-analytics-summary{
    padding: 8px 0 0;
}

.admin-analytics-summary div{
    min-width: 0;
    padding: 8px 8px;
    border: 1px solid rgba(49,49,49,.62);
    border-radius: 8px;
    background: rgba(4,4,4,.38);
    text-align: center;
}

.admin-analytics-summary small,
.admin-wallet-row small{
    display: block;
    color: var(--color-mist);
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 300;
}

.admin-analytics-summary b{
    display: block;
    margin-top: 4px;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 540;
}

.admin-metric-list{
    display: grid;
    gap: 8px;
}

.admin-wallet-row,
.admin-product-row{
    border: 1px solid rgba(49,49,49,.58);
    border-radius: 8px;
    background: rgba(4,4,4,.38);
}

.admin-wallet-row{
    display: grid;
    grid-template-columns: minmax(0, .95fr) repeat(3, minmax(54px, auto));
    gap: 10px;
    align-items: center;
    padding: 12px;
}

.admin-wallet-row b{
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 620;
}

.admin-wallet-row span{
    min-width: 54px;
    color: var(--color-bone);
    font-size: 17px;
    font-weight: 600;
    text-align: right;
}

.admin-product-row{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 40px;
    padding: 9px 12px;
    color: var(--color-mist);
    font-size: 13px;
}

.admin-product-row b{
    color: var(--color-bone);
    text-align: right;
    font-size: 13px;
    font-weight: 620;
}

.admin-list{
    display: grid;
    gap: 8px;
}

.admin-empty{
    min-height: 70px;
    display: grid;
    place-items: center;
    border: 1px dashed rgba(69,69,69,.58);
    border-radius: 8px;
    color: var(--color-mist);
    font-size: 13px;
}

.admin-list-item{
    padding: 12px;
    border: 1px solid rgba(49,49,49,.6);
    border-radius: 8px;
    background: rgba(4,4,4,.42);
}

.admin-list-item.is-busy{
    opacity: .72;
}

/* Отклики на вакансии. Оформлены как остальные списки админки. */
.admin-job-row{
    padding: 12px;
    border: 1px solid rgba(49,49,49,.6);
    border-radius: 8px;
    background: rgba(4,4,4,.42);
}

.admin-job-row + .admin-job-row{
    margin-top: 8px;
}

.admin-job-head{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-job-head b{
    color: var(--color-bone);
}

.admin-job-vacancy{
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(103,152,255,.12);
    color: var(--color-soft-indigo);
    font-size: 12px;
    font-weight: 600;
}

.admin-job-status{
    margin-left: auto;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(124,124,124,.16);
    color: var(--color-mist);
    font-size: 12px;
}

.admin-job-status.is-new{
    background: rgba(63,209,139,.14);
    color: #87F9C0;
}

.admin-job-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
    color: var(--color-mist);
    font-size: 12px;
}

.admin-job-meta a{
    color: var(--color-soft-indigo);
    text-decoration: none;
}

.admin-job-contact{
    margin-top: 6px;
    color: var(--color-ash);
    font-size: 13px;
}

.admin-job-message{
    margin-top: 10px;
    padding: 10px;
    border-radius: 8px;
    background: rgba(20,20,20,.7);
    color: var(--color-ash);
    font-size: 14px;
    white-space: pre-wrap;
    word-break: break-word;
}

.admin-job-actions{
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.admin-job-actions button{
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.admin-job-actions button:hover{
    border-color: var(--color-soft-indigo);
    color: var(--color-bone);
}

.admin-item-top{
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
}

.admin-avatar{
    width: 36px;
    height: 36px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(103,152,255,.24);
    border-radius: 50%;
    background: #0a0a0a;
    color: var(--color-bone);
    object-fit: cover;
    font-size: 12px;
    font-weight: 650;
}

.admin-item-top b{
    display: block;
    min-width: 0;
    overflow: hidden;
    color: var(--color-bone);
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 620;
}

.admin-item-top small,
.admin-item-meta,
.admin-note{
    color: var(--color-mist);
    font-size: 12px;
}

.admin-status-pill{
    padding: 5px 7px;
    border: 1px solid rgba(69,69,69,.72);
    border-radius: 8px;
    color: var(--color-bone);
    font-size: 11px;
    font-weight: 700;
}

.admin-video-item.is-pending .admin-status-pill{
    border-color: rgba(103,152,255,.4);
    color: #6798ff;
}

.admin-indicator-request-item.is-answered .admin-status-pill{
    border-color: rgba(54,210,123,.36);
    color: #36d27b;
}

.admin-video-item.is-approved .admin-status-pill{
    border-color: rgba(54,210,123,.36);
    color: #36d27b;
}

.admin-video-item.is-rejected .admin-status-pill{
    border-color: rgba(255,93,114,.34);
    color: #ff5d72;
}

.admin-video-link{
    display: block;
    margin-top: 10px;
    overflow-wrap: anywhere;
    color: #6798ff;
    font-size: 13px;
    text-decoration: none;
}

.admin-video-link:hover{
    text-decoration: underline;
}

.admin-item-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 7px;
}

.admin-note{
    margin: 8px 0 0;
}

.admin-list-item textarea{
    min-height: 68px;
    margin-top: 10px;
    padding: 9px 10px;
    resize: vertical;
}

.admin-indicator-request-list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}
.admin-indicator-request-title{
    margin: 12px 0 6px;
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 620;
}
.admin-indicator-request-description{
    margin: 0;
    color: var(--color-mist);
    font-size: 13px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.admin-indicator-last-reply{
    margin-top: 10px;
    padding: 10px;
    border-left: 2px solid #6798ff;
    border-radius: 0 8px 8px 0;
    background: rgba(30,30,30,.82);
}
.admin-indicator-last-reply b,
.admin-indicator-last-reply small{
    color: var(--color-mist);
    font-size: 11px;
}
.admin-indicator-last-reply p{
    margin: 5px 0;
    color: var(--color-bone);
    font-size: 13px;
    white-space: pre-wrap;
}
.admin-indicator-request-actions{
    grid-template-columns: 1fr;
}

.admin-actions-row{
    display: grid;
    gap: 8px;
    margin-top: 8px;
}

.admin-actions-row{
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 1180px){
    .admin-page{
        padding: 96px 16px 40px;
    }
    .admin-dashboard,
    .admin-grid{
        grid-template-columns: 1fr;
    }
    .admin-page .admin-hero .admin-refresh{
        position: static;
        margin-top: 16px;
    }
    .admin-stats{
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 760px){
    .admin-page{
        padding: 82px 10px 28px;
    }
    .admin-shell{
        width: 100%;
    }
    .admin-page .admin-hero{
        margin-bottom: 14px;
    }
    .admin-page .admin-hero h1{
        font-size: 30px;
    }
    .admin-page .admin-hero p{
        font-size: 14px;
    }
    .admin-stats{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-card{
        padding: 13px;
    }
    .admin-card-head{
        display: grid;
    }
    .admin-card-head h2{
        font-size: 16px;
    }
    .admin-actions-row{
        grid-template-columns: 1fr;
    }
    .admin-indicator-request-list{
        grid-template-columns: 1fr;
    }
    .admin-wallet-row{
        grid-template-columns: 1fr;
    }
    .admin-wallet-row span,
    .admin-product-row b{
        text-align: left;
    }
    .admin-product-row{
        display: grid;
    }
    .admin-item-top{
        grid-template-columns: 38px minmax(0, 1fr);
    }
    .admin-status-pill{
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 1600px){
    .radar-page .site-radar-layout{
        grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
        gap: 28px;
    }
    .radar-page .site-radar-main{
        grid-template-columns: minmax(290px, .95fr) repeat(2, minmax(240px, 1fr));
        gap: 24px;
    }
    .radar-page .site-radar-left-stack{
        grid-column: 1;
        grid-row: 1;
        gap: 24px;
    }
    .radar-page .site-radar-gainers-card{
        grid-column: 2;
        grid-row: 1;
    }
    .radar-page .site-radar-losers-card{
        grid-column: 3;
        grid-row: 1;
    }
    .radar-page .site-radar-sections{
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (max-width: 1180px){
    body > header ul{ display: none; }
    .header-actions{
        margin-left: auto;
    }
    .site-menu-toggle{
        display: inline-flex;
    }
    .news-layout{
        grid-template-columns: 1fr;
    }
    .forecasts-layout{
        grid-template-columns: 1fr;
    }
    .news-article-layout{
        grid-template-columns: 1fr;
    }
    .seo-calendar-card{
        position: static;
    }
    .news-side-card{
        position: static;
    }
    #top{
        grid-template-columns: 1fr;
        align-items: start;
        min-height: 0;
        gap: 24px;
    }
    .hero-left{
        height: auto;
        max-width: 640px;
    }
    .hero-right{
        max-width: 760px;
    }
    .market-dash-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .seo-overview-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .home-weekly-forecasts-layout{
        grid-template-columns: 1fr;
    }
    .home-weekly-forecast-side{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .site-radar-head{
        display: block;
        max-width: 720px;
        margin-bottom: 18px;
    }
    .site-radar-head > span{
        margin-bottom: 14px;
    }
    .site-radar-head p{
        max-width: 560px;
        margin: 12px 0 0;
    }
    .site-radar-layout{
        grid-template-columns: 1fr;
    }
    .radar-page .site-radar-layout{
        grid-template-columns: 1fr;
    }
    .site-radar-main{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .radar-page .site-radar-main{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .site-radar-sentiment-card,
    .site-radar-volume-card,
    .site-radar-gainers-card,
    .site-radar-losers-card,
    .site-radar-left-stack,
    .site-radar-sections{
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .radar-page .site-radar-sentiment-card,
    .radar-page .site-radar-volume-card,
    .radar-page .site-radar-gainers-card,
    .radar-page .site-radar-losers-card,
    .radar-page .site-radar-left-stack,
    .radar-page .site-radar-sections{
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .site-radar-feed-card{
        position: static;
        max-height: none;
    }
    .radar-page .site-radar-feed-card{
        position: static;
        max-height: none;
    }
    .site-radar-feed-list{
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
    .site-footer-inner{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px){
    body > header nav,
    #top,
    #animated-features,
    #app{
        max-width: none;
    }
    .site-footer{
        margin-top: 48px;
        padding: 42px 16px 22px;
    }
    .site-footer-inner,
    .site-footer-bottom{
        max-width: none;
    }
    .site-footer-inner{
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .site-footer-inner nav.site-footer-col{
        display: none;
    }
    .site-footer-inner nav.site-footer-company{
        display: flex;
    }
    .site-footer-bottom{
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 28px;
    }
    #market-dashboard,
    #seo-overview{
        max-width: none;
        padding: 44px 16px 16px;
    }
    #site-radar{
        max-width: none;
        padding: 44px 16px 16px;
    }
    .radar-page #site-radar{
        padding: 104px 16px 16px;
    }
    .news-page-body .news-page{
        padding: 92px 16px 48px;
    }
    .forecasts-page-body .news-page{
        padding: 92px 16px 48px;
    }
    .prices-page{
        padding: 96px 16px 48px;
    }
    .prices-shell{
        width: auto;
    }
    .prices-hero{
        margin-bottom: 0;
    }
    .prices-hero > span{
        margin-bottom: 14px;
    }
    .prices-hero h1{
        font-size: 34px;
    }
    .prices-hero p{
        font-size: 16px;
    }
    .prices-compare-head{
        display: block;
        padding: 16px;
    }
    .prices-compare-title{
        grid-column: 1 / -1;
        padding-right: 0;
    }
    .prices-compare-head b{
        font-size: 21px;
    }
    .prices-plan-name{
        display: none;
    }
    .prices-table,
    .prices-table tbody,
    .prices-table tr,
    .prices-table td{
        display: block;
        width: 100%;
    }
    .prices-table thead{
        display: none;
    }
    .prices-table tbody{
        display: grid;
        gap: 10px;
        padding: 12px;
    }
    .prices-table tr{
        padding: 12px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 8px;
        background: rgba(255,255,255,.025);
    }
    .prices-table td{
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        padding: 8px 0;
        border-bottom: 1px solid rgba(255,255,255,.07);
        text-align: left !important;
        font-size: 14px;
    }
    .prices-table td:first-child{
        display: block;
        padding-top: 0;
        color: var(--color-bone);
        font-size: 15px;
    }
    .prices-table td:nth-child(2),
    .prices-table td:nth-child(3){
        color: var(--color-ash);
    }
    .prices-table td:nth-child(3){
        color: var(--color-bone);
    }
    .prices-table td::before{
        content: attr(data-label);
        color: var(--color-mist);
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .prices-table td:first-child::before{
        display: none;
    }
    .prices-table td:last-child{
        padding-bottom: 0;
        border-bottom: 0;
    }
    .prices-cta{
        padding: 0 12px 12px;
    }
    .prices-cta-button{
        width: 100%;
    }
    .news-pagination{
        width: 100%;
        justify-content: flex-start;
    }
    .legal-page{
        padding: 96px 16px 48px;
    }
    .about-page{
        padding: 96px 16px 48px;
    }
    .about-hero,
    .about-layout,
    .about-cta{
        width: auto;
    }
    .about-layout{
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .about-block,
    .about-cta{
        padding: 18px;
    }
    .about-block h2,
    .about-cta h2{
        font-size: 20px;
    }
    .about-block p,
    .about-limits ul{
        font-size: 14px;
    }
    .legal-hero,
    .legal-layout{
        width: auto;
    }
    .legal-layout{
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .legal-nav{
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .legal-nav a{
        min-width: 0;
        font-size: 13px;
    }
    .legal-card{
        padding: 18px;
    }
    .legal-card h2{
        font-size: 20px;
    }
    .legal-card p{
        font-size: 14px;
    }
	.support-form-card{
		padding: 16px;
	}
	.support-upload-actions{
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.support-file-name{
		width: 100%;
		order: 3;
	}
	.support-file-remove{
		margin-left: 0;
	}
	.support-submit{
		width: 100%;
	}
    .news-shell{
        width: auto;
    }
    .forecasts-shell{
        width: auto;
    }
    .forecasts-layout{
        gap: 24px;
    }
    .forecast-card,
    .forecast-leaders-card,
    .forecast-roi-card{
        padding: 14px;
    }
    .forecast-roi-body{
        grid-template-columns: 1fr;
        justify-items: center;
    }
    .forecast-roi-table{
        width: 100%;
    }
    .forecast-card-top{
        align-items: flex-start;
    }
    .forecast-symbol strong{
        font-size: 18px;
    }
    .forecast-metrics{
        grid-template-columns: 1fr;
    }
    .forecast-card-foot{
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
    .forecast-card-foot > span{
        white-space: normal;
    }
    .news-list-card{
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .seo-calendar-card{
        padding: 14px;
    }
    .seo-calendar-days{
        gap: 4px;
    }
    .seo-cal-day{
        height: 48px;
    }
    .seo-cal-event{
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 10px;
    }
    .news-page-head h1,
    .news-article-card h1{
        font-size: 34px;
    }
    .news-page-head p,
    .news-article-content{
        font-size: 16px;
    }
    .news-article-lead{
        font-size: 17px;
    }
    .news-article-summary{
        padding: 14px;
    }
    .news-article-section h2{
        font-size: 21px;
    }
    .seo-news-item{
        min-height: 0;
        padding: 0;
    }
    .seo-news-body{
        padding: 12px 14px 14px;
    }
    .seo-news-meta time{
        width: 100%;
        margin-left: 0;
    }
    .seo-news-title{
        max-width: 100%;
        font-size: 17px;
    }
    .seo-news-item em{
        max-width: 100%;
        font-size: 14px;
    }
    .seo-news-footer{
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .site-news-edit-overlay{
        align-items: flex-start;
        padding: 0;
    }
    .site-news-edit{
        height: 100vh;
        max-height: 100vh;
        padding: 14px;
    }
    .site-news-edit-upload{
        grid-template-columns: 1fr;
    }
    .site-news-edit-upload img{
        width: 100%;
        grid-row: auto;
    }
    .site-news-edit-prompt-row{
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
    }
    .site-news-edit-prompt-row button{
        width: 100%;
    }
    .site-news-edit-actions{
        flex-direction: column-reverse;
    }
    .site-news-edit-actions button{
        width: 100%;
    }
    .news-article-card{
        padding: 18px;
    }
    .section-head h2{
        font-size: 30px;
    }
    .site-radar-head h1{
        font-size: 34px;
    }
    .site-radar-layout,
    .site-radar-main,
    .site-radar-sections{
        grid-template-columns: 1fr;
    }
    .radar-page .site-radar-layout,
    .radar-page .site-radar-main,
    .radar-page .site-radar-sections{
        grid-template-columns: 1fr;
    }
    .site-radar-sentiment-card,
    .site-radar-left-stack,
    .site-radar-sections{
        grid-column: auto;
        grid-row: auto;
    }
    .radar-page .site-radar-sentiment-card,
    .radar-page .site-radar-volume-card,
    .radar-page .site-radar-gainers-card,
    .radar-page .site-radar-losers-card,
    .radar-page .site-radar-left-stack,
    .radar-page .site-radar-sections{
        grid-column: auto;
        grid-row: auto;
    }
    .site-radar-sentiment-card,
    .site-radar-volume-card,
    .site-radar-rank-card,
    .site-radar-section-card,
    .site-radar-feed-card{
        padding: 14px;
    }
    .site-radar-sentiment{
        min-height: 0;
        grid-template-columns: 1fr;
    }
    .site-radar-sentiment-chart{
        width: 146px;
    }
    .site-radar-market-row{
        grid-template-columns: 28px minmax(0, 1fr) auto;
    }
    .site-radar-market-row strong{
        display: none;
    }
    .site-radar-feed-list{
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
    .market-dash-grid{
        grid-template-columns: 1fr;
    }
    .weekly-forecasts-head{
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 12px;
    }
    .home-weekly-forecast-list,
    .home-weekly-forecast-side{
        grid-template-columns: 1fr;
    }
    .dash-card{
        min-height: 0;
        padding: 18px;
    }
    body > header{
        padding: 12px 16px;
    }
    body > header nav{
        gap: 12px;
    }
    .logo{
        font-size: 18px;
    }
    body > header .header-actions{
        margin-left: auto;
    }
    body > header .header-login,
    body > header .header-lang{
        display: none !important;
    }
    body > header .header-register{
        min-height: 34px !important;
        padding: 0 12px !important;
        font-size: 13px !important;
    }
    body > header .header-account{
        display: none !important;
    }
    #top{
        padding: 98px 16px 48px;
        grid-template-columns: 1fr;
        gap: 18px;
    }
    
    .hero-left h1{
        font-size: 44px;
    }
    .hero-left p{
        font-size: 15px;
    }
    .hero-awards{
        grid-template-columns: 1fr;
        margin: 24px 0;
    }
    .hero-email{
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }
    .hero-email button{
        width: 100%;
    }
    .hero-socials {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 14px;
    }
    .hero-socials::before{
        display: none;
    }
    .hero-email .hero-google-direct {
        width: 100%;
        padding: 0 16px;
    }
    .hero-email .hero-google-direct span {
        display: block;
    }
    .hero-qr {
        display: none !important;
    }
    .hero-market-ticker{
        height: 82px;
        margin-top: 18px;
    }
    .ticker-track{
        animation-duration: 46s;
    }
    .ticker-item{
        width: 164px;
        height: 56px;
    }
    .hero-downloads{
        flex-wrap: wrap;
        margin-top: 14px;
    }
    .hero-downloads a,
    .hero-downloads img{
        height: 40px;
    }
    .hero-right{
        grid-template-columns: 1fr;
    }
    .news-card{
        grid-column: auto;
    }
    .market-card,
    .calendar-card,
    .news-card{
        padding: 18px;
    }
    .market-row{
        grid-template-columns: 30px 1fr 90px 58px;
    }
    .market-row small{
        display: none;
    }
    .market-tabs a{
        display: none;
    }
    #animated-features{
        padding: 52px 16px 20px;
    }
    #animated-features h2{
        font-size: 30px;
    }
    .bento-grid{
        grid-template-columns: 1fr;
    }
    .bento-card-1, .bento-card-6 { grid-column: span 1; }
    .seo-overview-grid{
        grid-template-columns: 1fr;
    }
    .seo-overview-card{
        min-height: 0;
    }
    #app{
        padding: 48px 16px;
    }
    #app > div{
        min-height: 280px;
        padding: 34px 18px 160px;
        justify-content: flex-start;
        background: url(/imgs/3d-phone.png) no-repeat right bottom / 150%;
        background-image: image-set(url(/imgs/3d-phone.webp) type("image/webp"), url(/imgs/3d-phone.png) type("image/png"));
        background-color: #000;
    }
    #app h2{
        font-size: 30px;
    }
    .app-qr{
        display: none !important;
    }
    .auth-modal{
        padding: 16px;
        align-items: end;
    }
    .auth-dialog{
        width: 100%;
        padding: 24px 18px 20px;
    }
    .auth-dialog h2{
        font-size: 24px;
    }
    .auth-actions{
        grid-template-columns: 1fr;
    }
}

/* ===== Раздел «Возможности» ===== */

.features-page-body{
    background: var(--color-carbon) url('/imgs/main-bg.png') repeat top center;
    background-image: image-set(url('/imgs/main-bg.webp') type("image/webp"), url('/imgs/main-bg.png') type("image/png"));
}

.features-page{
    min-height: 100vh;
    padding: 120px 24px 72px;
}

.features-layout{
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    width: min(1360px, calc(100vw - 48px));
    margin: 0 auto;
}

/* --- Боковая навигация --- */

.features-nav{
    position: sticky;
    top: 96px;
    padding: 8px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
}

.features-nav-toggle{
    display: none;
    width: 100%;
    min-height: 40px;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--color-bone);
    font: 600 14px Inter, Arial, sans-serif;
    text-align: left;
    cursor: pointer;
}

.features-nav-body{
    display: grid;
    gap: 2px;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
}

.feature-nav-root{
    min-height: 36px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 8px;
    color: var(--color-ash);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.feature-nav-root:hover{
    background: var(--color-iron);
    color: var(--color-bone);
}

.feature-nav-root.is-active{
    background: rgba(103,152,255,.14);
    color: var(--color-bone);
}

.feature-nav-section > summary{
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border-radius: 8px;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
    list-style: none;
    cursor: pointer;
}

.feature-nav-section > summary::-webkit-details-marker{ display: none; }

.feature-nav-section > summary::before{
    content: "";
    width: 6px;
    height: 6px;
    flex: none;
    border-right: 1.5px solid var(--color-mist);
    border-bottom: 1.5px solid var(--color-mist);
    transform: rotate(-45deg);
    transition: transform .15s ease;
}

.feature-nav-section[open] > summary::before{
    transform: rotate(45deg);
}

.feature-nav-section > summary:hover{
    background: var(--color-iron);
}

.feature-nav-category{
    flex: 1;
    min-width: 0;
    overflow: hidden;
    padding: 9px 0;
    color: inherit;
    text-overflow: ellipsis;
    text-decoration: none;
    white-space: nowrap;
}

/* Public coin pages */
.coins-page{max-width:1240px;margin:0 auto;padding:116px 28px 72px;min-height:calc(100vh - 90px)}
.coins-hero{max-width:760px;margin:0 0 30px}.coins-hero>span,.coin-section-head span{display:block;color:#6798ff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.coins-hero h1{margin:10px 0 12px;color:#fff;font-size:42px;line-height:1.1}.coins-hero p{margin:0;color:#a7a7a7;font-size:17px;line-height:1.55}
.coins-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.coin-list-card,.coin-chart-card,.coin-about-card,.coin-links,.coin-forecasts,.coin-stat-grid>div{background:#141414;border:1px solid #313131;border-radius:8px}.coin-list-card{display:flex;min-height:196px;padding:18px;flex-direction:column;color:#fff;text-decoration:none;transition:border-color .18s,background .18s}.coin-list-card:hover{background:#1a1a1a;border-color:#6798ff}.coin-list-top{display:flex;align-items:center;gap:10px}.coin-list-top img,.coin-identity img{width:38px;height:38px;border-radius:50%;object-fit:contain;background:#0a0a0a}.coin-list-top span{min-width:0;display:flex;flex-direction:column}.coin-list-top b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coin-list-top small{margin-top:3px;color:#7c7c7c}.coin-list-top em{margin-left:auto;font-style:normal;font-size:14px;font-weight:700;color:#ff7e7e}.coin-list-top em[data-positive="1"]{color:#82c99d}.coin-list-price{display:flex;align-items:end;justify-content:space-between;margin:22px 0 14px}.coin-list-price strong{font-size:22px}.coin-list-price small{display:flex;flex-direction:column;color:#7c7c7c;font-size:11px;text-align:right}.coin-list-price i{margin-top:4px;color:#d4d4d4;font-style:normal;font-size:13px}.coin-list-card p{margin:auto 0 0;color:#a7a7a7;font-size:13px;line-height:1.5}
.coins-empty,.coins-not-found{padding:28px;border:1px dashed #454545;border-radius:8px;color:#a7a7a7}.coins-not-found{max-width:620px;margin:90px auto}.coins-not-found h1{margin:0 0 10px;color:#fff}.coins-not-found p{line-height:1.5}.coins-not-found a{color:#6798ff}
.coin-detail{max-width:1120px;margin:0 auto}.coin-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:20px;color:#7c7c7c;font-size:13px}.coin-breadcrumb a{color:#a7a7a7;text-decoration:none}.coin-breadcrumb b{color:#fff}.coin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.coin-identity{display:flex;align-items:center;gap:13px}.coin-identity img{width:56px;height:56px}.coin-identity span{color:#7c7c7c;font-size:13px}.coin-identity h1{margin:4px 0 0;color:#fff;font-size:32px;line-height:1.1}.coin-open-chart{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:8px;background:#fff;color:#000;text-decoration:none;font-weight:700;white-space:nowrap}.coin-open-chart:hover{background:#dfe7ff}
.coin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.coin-stat-grid>div{padding:15px 16px}.coin-stat-grid small{display:block;color:#7c7c7c;font-size:12px}.coin-stat-grid b{display:block;margin-top:8px;color:#fff;font-size:21px}.coin-stat-grid b[data-coin-change][data-positive="1"]{color:#82c99d}.coin-stat-grid b[data-coin-change][data-positive="0"]{color:#ff7e7e}
.coin-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:14px}.coin-chart-card{padding:17px}.coin-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.coin-card-head b{color:#fff}.coin-card-head span{color:#7c7c7c;font-size:12px}.coin-chart-card canvas{display:block;width:100%;height:300px}.coin-about-card{padding:18px}.coin-about-card>b,.coin-links>b{color:#fff}.coin-about-card p{margin:12px 0;color:#a7a7a7;font-size:14px;line-height:1.58}.coin-about-card small{color:#7c7c7c}.coin-about-card small strong{color:#d4d4d4}.coin-links{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 17px}.coin-links>div{display:flex;flex-wrap:wrap;gap:8px}.coin-links a{padding:7px 10px;border:1px solid #454545;border-radius:6px;color:#d4d4d4;font-size:13px;text-decoration:none}.coin-links a:hover{border-color:#6798ff;color:#fff}
.coin-forecasts{margin-top:14px;padding:18px}.coin-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.coin-section-head h2{margin:5px 0 0;color:#fff;font-size:24px}.coin-section-head>a{color:#6798ff;font-size:13px;text-decoration:none}.coin-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coin-forecast-card{display:flex;min-height:110px;padding:14px;border:1px solid #313131;border-radius:8px;flex-direction:column;color:#fff;text-decoration:none}.coin-forecast-card:hover{border-color:#6798ff}.coin-forecast-card>div{display:flex;justify-content:space-between;gap:8px}.coin-forecast-card>div b{color:#6798ff;font-size:13px}.coin-forecast-card>div span,.coin-forecast-card small{color:#7c7c7c;font-size:12px}.coin-forecast-card>strong{margin:13px 0 auto;font-size:18px}

@media(max-width:900px){.coins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coin-detail-grid{grid-template-columns:minmax(0,1fr)}.coin-forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.coins-page{padding:100px 16px 42px}.coins-hero h1{font-size:31px}.coins-hero p{font-size:15px}.coins-grid,.coin-forecast-grid{grid-template-columns:minmax(0,1fr)}.coin-head{align-items:flex-start;flex-direction:column}.coin-open-chart{width:100%}.coin-stat-grid{grid-template-columns:minmax(0,1fr)}.coin-chart-card canvas{height:220px}.coin-links{align-items:flex-start;flex-direction:column}.coin-section-head{align-items:flex-start;flex-direction:column}.coin-section-head h2{font-size:21px}}

/* Coin detail: market terminal layout */
.coin-detail{max-width:1240px}.coin-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;margin-bottom:22px;padding:20px 0;border-bottom:1px solid #242424}.coin-identity img{width:52px;height:52px}.coin-identity h1{font-size:30px;font-weight:600}.coin-head-price{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:baseline;min-width:170px}.coin-head-price small{grid-column:1/-1;color:#7c7c7c;font-size:12px}.coin-head-price b{color:#fff;font-size:24px;line-height:1.2}.coin-head-price em{font-size:13px;font-style:normal;font-weight:700;color:#ff7e7e}.coin-head-price em[data-positive="1"]{color:#82c99d}.coin-open-chart{min-height:40px;padding:0 16px;margin-left:8px;border:1px solid rgba(103,152,255,.45);background:rgba(103,152,255,.16);color:#fff}.coin-open-chart:hover{background:rgba(103,152,255,.28)}
.coin-detail-grid{grid-template-columns:minmax(0,1.72fr) minmax(280px,.72fr);gap:16px}.coin-chart-card,.coin-market-card,.coin-about-card,.coin-news,.coin-forecasts{background:#141414;border:1px solid #313131;border-radius:8px}.coin-chart-card{position:relative;padding:18px 18px 12px;overflow:hidden}.coin-card-head{align-items:center;margin-bottom:15px}.coin-card-head b{font-size:15px;font-weight:600}.coin-card-head span{padding:4px 7px;border:1px solid #313131;border-radius:5px;background:#0f0f0f}.coin-tv-chart{width:100%;height:370px}.coin-tv-attribution{display:inline-block;margin:4px 2px 0;color:#7c7c7c;font-size:10px;text-decoration:none}.coin-tv-attribution:hover{color:#a7a7a7}
.coin-market-card{padding:4px 18px 18px}.coin-market-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border-bottom:1px solid #282828}.coin-market-row span{color:#8f8f8f;font-size:13px}.coin-market-row b{color:#fff;font-size:14px}.coin-resources{padding-top:18px}.coin-resources>b{display:block;margin-bottom:11px;color:#fff;font-size:14px}.coin-resources>div{display:grid;gap:3px}.coin-resource-link{display:flex;align-items:center;gap:9px;min-height:32px;color:#a7a7a7;font-size:13px;text-decoration:none}.coin-resource-link img{width:16px;height:16px;object-fit:contain;border-radius:4px}.coin-resource-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin-resource-link:hover{color:#6798ff;text-decoration:underline;text-underline-offset:3px}
.coin-about-card{margin-top:16px;padding:20px 22px}.coin-about-card>b{font-size:16px;font-weight:600}.coin-about-card p{max-width:920px;margin:11px 0 0;color:#b3b3b3;font-size:14px;line-height:1.68}.coin-news,.coin-forecasts{margin-top:16px;padding:20px}.coin-section-head{margin-bottom:16px}.coin-section-head h2{font-size:21px;font-weight:600}.coin-section-head>a{color:#a7a7a7}.coin-section-head>a:hover{color:#6798ff}.coin-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coin-news-card{display:flex;min-height:136px;padding:15px;border:1px solid #2c2c2c;border-radius:7px;flex-direction:column;color:#fff;text-decoration:none}.coin-news-card:hover{border-color:#6798ff;background:#181818}.coin-news-card small{color:#7c7c7c;font-size:11px}.coin-news-card b{margin:9px 0 7px;font-size:14px;line-height:1.38}.coin-news-card p{margin:auto 0 0;color:#9a9a9a;font-size:12px;line-height:1.45}.coin-forecast-card{background:#101010;border-color:#2d2d2d}.coin-forecast-card:hover{background:#181818}
@media(max-width:900px){.coin-head{grid-template-columns:minmax(0,1fr) auto}.coin-open-chart{grid-column:1/-1;width:max-content;margin:16px 0 0}.coin-tv-chart{height:340px}.coin-news-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.coin-head{display:flex;padding:10px 0 18px;gap:14px}.coin-head-price{min-width:0}.coin-head-price b{font-size:22px}.coin-open-chart{width:100%;margin:2px 0 0}.coin-tv-chart{height:270px}.coin-market-card{padding-left:16px;padding-right:16px}.coin-about-card,.coin-news,.coin-forecasts{padding:16px}.coin-news-card{min-height:120px}}

/* Coin pages use a quieter product surface than the marketing background. */
.coins-page{max-width:1480px;padding-top:104px}
.coin-detail{max-width:1480px}
.coin-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 16px;padding:18px 0;border-bottom:1px solid #24272c}
.coin-identity{gap:12px}.coin-identity img{width:48px;height:48px}.coin-identity h1{font-size:28px}
.coin-head-actions{display:flex;align-items:center;gap:22px}.coin-head-price{min-width:158px}.coin-open-chart{margin:0;background:#fff;border-color:#fff;color:#08090b}.coin-open-chart:hover{background:#dce8ff;border-color:#dce8ff}
.coin-detail-grid{grid-template-columns:minmax(0,1.82fr) minmax(290px,.72fr);gap:14px}
.coin-chart-card{padding:0;overflow:hidden;border-color:#2c2f34}.coin-card-head{min-height:58px;margin:0;padding:0 18px;border-bottom:1px solid #292c31}.coin-card-head>b{font-size:15px}.coin-chart-toolbar{display:flex;align-items:center;gap:2px}.coin-chart-toolbar button{min-width:38px;height:28px;padding:0 7px;border:0;border-radius:5px;background:transparent;color:#858b96;font:600 12px Inter,Arial,sans-serif;cursor:pointer}.coin-chart-toolbar button:hover{background:#20242a;color:#fff}.coin-chart-toolbar button[aria-selected="true"]{background:#2b3f68;color:#c9d9ff}.coin-chart-toolbar span{margin-left:8px;padding:0;border:0;background:transparent;color:#7c7c7c;font-size:11px}.coin-tv-chart{height:400px}.coin-tv-attribution{display:block;margin:0;padding:7px 18px 9px;border-top:1px solid #22252a;color:#626872;font-size:10px}
.coin-market-card{border-color:#2c2f34;background:#111214}.coin-market-row{min-height:62px;border-bottom-color:#292c31}.coin-market-row span{font-size:13px}.coin-resources{padding-top:16px}.coin-resource-link{min-height:34px}.coin-resource-link:hover{color:#9dbbff}
.coin-about-card,.coin-news,.coin-forecasts{border-color:#2c2f34;background:#111214}.coin-about-card{margin-top:14px;padding:21px 22px}.coin-news,.coin-forecasts{margin-top:14px}.coin-news-card{border-color:#2c2f34;background:#0d0e10}.coin-news-card:hover{border-color:#4c6caa;background:#12151a}.coin-forecast-card{border-color:#2c2f34;background:#0d0e10}.coin-forecast-card:hover{border-color:#4c6caa;background:#12151a}
@media(max-width:900px){.coin-head{align-items:flex-start}.coin-head-actions{gap:14px}.coin-tv-chart{height:360px}}
@media(max-width:600px){.coins-page{padding-top:88px}.coin-head{display:block;padding-top:10px}.coin-head-actions{align-items:flex-end;justify-content:space-between;margin-top:16px}.coin-open-chart{width:auto;margin:0}.coin-chart-card{margin-left:-2px;margin-right:-2px}.coin-card-head{align-items:flex-start;min-height:0;padding:14px 14px 10px;flex-direction:column;gap:10px}.coin-chart-toolbar{width:100%;justify-content:space-between}.coin-chart-toolbar span{margin-left:auto}.coin-tv-chart{height:300px}.coin-tv-attribution{padding-left:14px}.coin-detail-grid{gap:12px}}

/* Coin portal market workspace */
.coin-portal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;max-width:1480px;margin:0 auto}
.coin-top-sidebar{position:sticky;top:94px;align-self:start;padding:14px;border:1px solid #292c31;border-radius:8px;background:#101113}
.coin-sidebar-head{display:grid;gap:5px;padding:2px 2px 13px;border-bottom:1px solid #292c31}.coin-sidebar-head b{color:#f3f6ff;font-size:14px;line-height:1.35}.coin-sidebar-head span{color:#7e8692;font-size:11px;line-height:1.4}
.coin-top-list{display:grid;margin-top:7px}.coin-top-list>a{display:grid;grid-template-columns:18px 24px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:46px;padding:6px 2px;color:#c7ccd5;text-decoration:none;border-bottom:1px solid #202328}.coin-top-list>a:hover{color:#fff;background:#171a1f}.coin-top-list i{color:#666e7b;font-size:11px;font-style:normal;text-align:center}.coin-top-list img{width:22px;height:22px;object-fit:contain;border-radius:50%}.coin-top-list span{min-width:0;display:grid;gap:2px}.coin-top-list b{font-size:12px}.coin-top-list small{overflow:hidden;color:#737b87;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.coin-top-list em{color:#82c99d;font-size:11px;font-style:normal;font-weight:600}.coin-sidebar-more{display:block;padding:13px 2px 2px;color:#8dafff;font-size:12px;text-decoration:none}.coin-sidebar-more:hover{color:#fff}
.coin-portal-layout .coin-detail{min-width:0;max-width:none}.coin-performance-strip{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));margin:0 0 14px;border:1px solid #2b2e34;border-radius:8px;background:#111214;overflow:hidden}.coin-performance-strip>div{min-width:0;padding:11px 12px;border-right:1px solid #272a30}.coin-performance-strip>div:last-child{border-right:0}.coin-performance-strip small{display:block;overflow:hidden;color:#7c8490;font-size:10px;font-weight:600;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap}.coin-performance-strip b{display:block;overflow:hidden;margin-top:6px;color:#f2f5f9;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.coin-performance-strip b[data-positive="1"],.coin-funding-grid b[data-positive="1"]{color:#82c99d}.coin-performance-strip b[data-positive="0"],.coin-funding-grid b[data-positive="0"]{color:#ff7e7e}
.coin-market-supply{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0 3px;border-bottom:1px solid #292c31;gap:10px}.coin-market-supply>div{min-width:0}.coin-market-supply small{display:block;color:#7c8490;font-size:10px;letter-spacing:.05em}.coin-market-supply b{display:block;overflow:hidden;margin-top:4px;color:#e8ebef;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.coin-funding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:13px 0;border-bottom:1px solid #292c31}.coin-funding-grid>small{grid-column:1/-1;color:#7c8490;font-size:10px;font-weight:600;letter-spacing:.05em}.coin-funding-grid span{display:flex;flex-direction:column;gap:4px;color:#959ca7;font-size:10px}.coin-funding-grid b{color:#e7ebf1;font-size:11px}.coin-derivatives-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:13px 0;border-bottom:1px solid #292c31}.coin-derivatives-grid>small{grid-column:1/-1;color:#7c8490;font-size:10px;font-weight:600;letter-spacing:.05em}.coin-derivatives-grid span{display:flex;flex-direction:column;gap:4px;color:#959ca7;font-size:10px}.coin-derivatives-grid b{color:#e7ebf1;font-size:11px}.coin-derivatives-grid b[data-positive="1"]{color:#82c99d}.coin-derivatives-grid b[data-positive="0"]{color:#ff7e7e}.coin-categories{display:flex;flex-wrap:wrap;gap:5px;padding-top:13px}.coin-categories span{max-width:100%;overflow:hidden;padding:4px 6px;border:1px solid #30343b;border-radius:4px;color:#929aa6;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1180px){.coin-portal-layout{grid-template-columns:minmax(0,1fr)}.coin-top-sidebar{position:static;display:none}.coin-performance-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.coin-performance-strip>div:nth-child(5){border-right:0}.coin-performance-strip>div:nth-child(-n+5){border-bottom:1px solid #272a30}}
@media(max-width:700px){.coin-performance-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.coin-performance-strip>div{border-right:1px solid #272a30!important;border-bottom:1px solid #272a30}.coin-performance-strip>div:nth-child(3n){border-right:0!important}.coin-performance-strip>div:nth-last-child(-n+3){border-bottom:0}.coin-market-supply{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Coin dashboard: compact tiles, not a chart-led landing page. */
.coin-portal-layout{display:block;max-width:1480px}.coin-detail{max-width:1480px}.coin-head{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(240px,1.1fr) auto;gap:28px;padding:14px 0 18px;margin-bottom:12px;border-bottom:0}.coin-price-range{min-width:0;display:grid;align-content:center;gap:8px}.coin-price-range>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#eef2f8;font-size:13px;font-weight:600}.coin-price-range small{color:#737d8d;font-size:10px;font-weight:700;letter-spacing:.1em}.coin-price-range>i{position:relative;display:block;height:7px;border-radius:999px;background:linear-gradient(90deg,#f0b33a,#71a7f8 46%,#7bd7a3)}.coin-price-range>i::before{content:"";position:absolute;inset:0;background:rgba(7,8,10,.38);clip-path:inset(0 0 0 var(--range-stop,50%))}.coin-price-range>i>i{position:absolute;top:50%;left:var(--range-position,50%);width:10px;height:10px;border:2px solid #f5f7fb;border-radius:50%;background:#6798ff;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(103,152,255,.16)}
.coin-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start}.coin-dashboard-grid>.coin-performance-strip{grid-column:span 7}.coin-dashboard-grid>.coin-trend-card{grid-column:span 5}.coin-dashboard-grid>.coin-chart-card{grid-column:span 7}.coin-dashboard-grid>.coin-market-card{grid-column:span 5}.coin-dashboard-grid>.coin-movers-card{grid-column:1/-1}
.coin-performance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;border:0;border-radius:0;background:transparent;overflow:visible}.coin-performance-strip>div{position:relative;min-height:72px;padding:12px 14px 12px 38px;border:0;border-radius:8px;background:#111316}.coin-performance-strip>div::before{position:absolute;left:14px;top:14px;color:#6798ff;font-size:15px;font-weight:600;line-height:1;opacity:.9}.coin-performance-strip>div:nth-child(1)::before{content:"↗"}.coin-performance-strip>div:nth-child(2)::before{content:"◷"}.coin-performance-strip>div:nth-child(3)::before{content:"◫"}.coin-performance-strip>div:nth-child(4)::before{content:"◎"}.coin-performance-strip>div:nth-child(5)::before{content:"$"}.coin-performance-strip>div:nth-child(6)::before{content:"◇"}.coin-performance-strip>div:nth-child(7)::before{content:"⌁"}.coin-performance-strip>div:nth-child(8)::before{content:"≈"}.coin-performance-strip>div:nth-child(9)::before{content:"✦"}.coin-performance-strip>div:nth-child(n+7){display:none}.coin-performance-strip small{color:#7d8796;font-size:10px;letter-spacing:.08em}.coin-performance-strip b{margin-top:7px;font-size:15px}.coin-performance-strip b[data-positive="1"]{color:#77d6a0}.coin-performance-strip b[data-positive="0"]{color:#ff8989}
.coin-trend-card,.coin-chart-card,.coin-market-card,.coin-movers-card{border:0;border-radius:10px;background:#111316}.coin-trend-card{display:grid;grid-template-columns:134px minmax(0,1fr);grid-template-rows:auto 1fr;gap:10px;padding:16px}.coin-panel-head{grid-column:1/-1;display:flex;align-items:center;gap:10px}.coin-panel-head .coin-panel-icon,.coin-movers-head .coin-panel-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(103,152,255,.12);color:#8eafff;font-size:16px;line-height:1}.coin-panel-head>div{display:grid;gap:2px}.coin-panel-head small{color:#7d8796;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.coin-panel-head b{color:#f7f8fa;font-size:15px}.coin-panel-head em{margin-left:auto;color:#77d6a0;font-size:12px;font-style:normal;font-weight:700}.coin-trend-gauge{--score:50%;position:relative;display:grid;place-items:center;align-self:center;width:116px;height:116px;border-radius:50%;background:conic-gradient(#719bff var(--score),#252930 0)}.coin-trend-gauge::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#111316}.coin-trend-gauge span{position:relative;z-index:1;display:grid;gap:3px;text-align:center}.coin-trend-gauge b{color:#f6f8fb;font-size:18px}.coin-trend-gauge small{color:#7f8998;font-size:9px;letter-spacing:.06em}.coin-trend-bars{display:grid;align-content:center;gap:14px;min-width:0}.coin-trend-bars>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px}.coin-trend-bars span{color:#929ba8;font-size:11px}.coin-trend-bars>div>i{position:relative;height:6px;border-radius:999px;background:#252a31;overflow:hidden}.coin-trend-bars>div>i>i{display:block;width:var(--bar-size,0%);height:100%;border-radius:inherit;background:#6798ff}.coin-trend-bars b{color:#f4f6f9;font-size:11px}
.coin-chart-card{padding:0;overflow:hidden}.coin-card-head{min-height:48px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.05)}.coin-tv-chart{height:258px}.coin-tv-attribution{padding:6px 16px 8px;border-top:1px solid rgba(255,255,255,.04)}
.coin-market-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0 18px;padding:8px 16px 14px}.coin-market-row{min-height:46px;gap:8px;border-bottom:1px solid rgba(255,255,255,.055)}.coin-market-row span{display:flex;align-items:center;gap:7px;color:#909aa9;font-size:12px}.coin-market-row span::before{display:grid;place-items:center;width:17px;height:17px;border-radius:5px;background:rgba(103,152,255,.11);color:#87a8ff;font-size:10px;font-weight:700}.coin-market-row:nth-child(1) span::before{content:"V"}.coin-market-row:nth-child(2) span::before{content:"H"}.coin-market-row:nth-child(3) span::before{content:"L"}.coin-market-row:nth-child(4) span::before{content:"Ø"}.coin-market-row:nth-child(5) span::before{content:"#"}.coin-market-row:nth-child(6) span::before{content:"~"}.coin-market-row:nth-child(7) span::before{content:"R"}.coin-market-row b{font-size:13px}.coin-market-supply,.coin-funding-grid,.coin-derivatives-grid,.coin-resources,.coin-categories{grid-column:1/-1}.coin-market-supply{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:11px 0 9px}.coin-market-supply small{font-size:9px}.coin-market-supply b{font-size:11px}.coin-funding-grid,.coin-derivatives-grid{padding:10px 0;gap:8px}.coin-funding-grid>small{font-size:9px}.coin-funding-grid span,.coin-derivatives-grid span{font-size:10px}.coin-resources{padding-top:12px}.coin-resources>b{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:#8e98a6;font-size:11px}.coin-resources>b::before{content:"↗";display:grid;place-items:center;width:17px;height:17px;border-radius:5px;background:rgba(103,152,255,.11);color:#87a8ff}.coin-resources>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px}.coin-resource-link{min-width:0;min-height:26px;gap:6px;font-size:11px}.coin-resource-link img{width:14px;height:14px}.coin-categories{padding-top:10px}.coin-categories span{border:0;border-radius:5px;background:#191d22;color:#929cab}
.coin-movers-card{padding:14px 16px}.coin-movers-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.coin-movers-head>div{display:grid;gap:2px;min-width:0}.coin-movers-head b{color:#f5f7fb;font-size:14px}.coin-movers-head small{color:#7d8790;font-size:11px}.coin-movers-head>a{margin-left:auto;color:#8dafff;font-size:12px;text-decoration:none}.coin-top-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:0}.coin-top-list>a{grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;gap:0 7px;min-height:0;padding:9px;border:0;border-radius:7px;background:#171a1e}.coin-top-list>a:hover{background:#20252c}.coin-top-list i{display:none}.coin-top-list img{grid-row:span 2;width:22px;height:22px}.coin-top-list span{display:block;min-width:0}.coin-top-list b{font-size:11px}.coin-top-list small{display:none}.coin-top-list em{grid-column:2;color:#77d6a0;font-size:10px}
@media(max-width:1180px){.coin-dashboard-grid>.coin-performance-strip{grid-column:span 7}.coin-dashboard-grid>.coin-trend-card{grid-column:span 5}.coin-dashboard-grid>.coin-chart-card{grid-column:span 7}.coin-dashboard-grid>.coin-market-card{grid-column:span 5}.coin-top-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.coin-head{grid-template-columns:minmax(0,1fr) auto}.coin-price-range{grid-column:1/-1;grid-row:2}.coin-dashboard-grid>.coin-performance-strip,.coin-dashboard-grid>.coin-trend-card,.coin-dashboard-grid>.coin-chart-card,.coin-dashboard-grid>.coin-market-card{grid-column:1/-1}.coin-performance-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.coin-performance-strip>div:nth-child(n+7){display:block}.coin-trend-card{grid-template-columns:130px minmax(0,1fr)}.coin-tv-chart{height:280px}}
@media(max-width:600px){.coin-head{display:grid;gap:14px}.coin-head-actions{grid-column:1/-1;align-items:center;margin:0}.coin-price-range{grid-row:auto}.coin-performance-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.coin-performance-strip>div{min-height:68px;padding-left:34px}.coin-performance-strip>div:nth-child(n+7){display:none}.coin-trend-card{grid-template-columns:112px minmax(0,1fr);padding:14px}.coin-trend-gauge{width:106px;height:106px}.coin-tv-chart{height:235px}.coin-market-card{grid-template-columns:minmax(0,1fr)}.coin-market-supply{grid-template-columns:repeat(3,minmax(0,1fr))}.coin-resources>div{grid-template-columns:repeat(2,minmax(0,1fr))}.coin-top-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.coin-performance-strip>div:nth-child(n+7){display:block}
@media(max-width:900px){.coin-performance-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.coin-performance-strip>div:nth-child(n+7){display:block}}

/* Obsidian workspace theme for public coin pages. */
body.coins-page-body{color:#eeeeee;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.coins-page{max-width:1320px;padding:102px 24px 72px}.coins-hero{max-width:690px;margin:0 0 28px}.coins-hero>span,.coin-section-head span{color:#a78bfa;font-size:11px;letter-spacing:.1em}.coins-hero h1{margin:8px 0 10px;color:#eeeeee;font-size:36px;line-height:1.16;letter-spacing:-.02em}.coins-hero p{color:#bcbcbc;font-size:16px;line-height:1.5}.coins-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.coin-list-card{min-height:178px;padding:18px;border:0;border-radius:12px;background:#1e1e1e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);transition:background .18s,box-shadow .18s,transform .18s}.coin-list-card:hover{background:#242424;border:0;box-shadow:inset 0 0 0 1px rgba(167,139,250,.48);transform:translateY(-1px)}.coin-list-top img,.coin-identity img{background:#171717;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.coin-list-top b{color:#eeeeee;font-size:15px}.coin-list-top small{color:#a3a3a3}.coin-list-top em{color:#f87171}.coin-list-top em[data-positive="1"]{color:#4ade80}.coin-list-price{margin:18px 0 12px}.coin-list-price strong{color:#eeeeee;font-size:24px;letter-spacing:-.02em}.coin-list-price small,.coin-list-card p{color:#a3a3a3}.coin-list-price i{color:#bcbcbc}.coins-empty,.coins-not-found{border:0;border-radius:12px;background:#1e1e1e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);color:#bcbcbc}.coins-not-found a{color:#a78bfa}
.coin-detail{max-width:1320px}.coin-breadcrumb{margin-bottom:14px;color:#a3a3a3}.coin-breadcrumb a{color:#bcbcbc}.coin-head{gap:24px;padding:14px 0 18px}.coin-identity h1{color:#eeeeee;font-size:28px;letter-spacing:-.02em}.coin-identity span,.coin-head-price small{color:#a3a3a3}.coin-head-price b{color:#eeeeee}.coin-head-price em{color:#f87171}.coin-head-price em[data-positive="1"]{color:#4ade80}.coin-open-chart{border:0!important;border-radius:8px;background:#7c3aed!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.coin-open-chart:hover{background:#6d28d9!important}.coin-price-range>div{color:#eeeeee}.coin-price-range small{color:#a3a3a3}.coin-price-range>i{background:#3f3f3f}.coin-price-range>i::before{inset:0 auto 0 0;width:var(--range-position,50%);background:#7c3aed;clip-path:none}.coin-price-range>i>i{background:#a78bfa;border-color:#fff;box-shadow:0 0 0 3px rgba(167,139,250,.15)}
.coin-dashboard-grid{gap:12px}.coin-performance-strip>div,.coin-trend-card,.coin-chart-card,.coin-market-card,.coin-movers-card,.coin-about-card,.coin-news,.coin-forecasts{background:#1e1e1e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);border:0}.coin-performance-strip>div{border-radius:12px}.coin-performance-strip>div::before{color:#a78bfa}.coin-performance-strip small{color:#a3a3a3}.coin-performance-strip b{color:#eeeeee}.coin-performance-strip b[data-positive="1"],.coin-funding-grid b[data-positive="1"]{color:#4ade80}.coin-performance-strip b[data-positive="0"],.coin-funding-grid b[data-positive="0"]{color:#f87171}.coin-panel-head .coin-panel-icon,.coin-movers-head .coin-panel-icon{background:rgba(138,92,245,.15);color:#a78bfa}.coin-panel-head small,.coin-trend-gauge small{color:#a3a3a3}.coin-panel-head b,.coin-trend-gauge b,.coin-trend-bars b{color:#eeeeee}.coin-panel-head em{color:#4ade80}.coin-trend-gauge{background:conic-gradient(#7c3aed var(--score),#3f3f3f 0)}.coin-trend-gauge::before{background:#1e1e1e}.coin-trend-bars span{color:#bcbcbc}.coin-trend-bars>div>i{background:#3f3f3f}.coin-trend-bars>div>i>i{background:#7c3aed}.coin-card-head{border-bottom-color:rgba(255,255,255,.06)}.coin-card-head b{color:#eeeeee}.coin-chart-toolbar button{color:#a3a3a3;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.coin-chart-toolbar button:hover{background:#292929;color:#eeeeee}.coin-chart-toolbar button[aria-selected="true"]{background:rgba(138,92,245,.18);color:#a78bfa;box-shadow:inset 0 0 0 1px rgba(167,139,250,.22)}.coin-chart-toolbar span,.coin-tv-attribution{color:#a3a3a3}.coin-tv-attribution{border-top-color:rgba(255,255,255,.05)}.coin-tv-attribution:hover{color:#a78bfa}
.coin-market-row{border-bottom-color:rgba(255,255,255,.06)}.coin-market-row span{color:#bcbcbc}.coin-market-row span::before{background:rgba(138,92,245,.15);color:#a78bfa}.coin-market-row b,.coin-market-supply b,.coin-funding-grid b,.coin-derivatives-grid b{color:#eeeeee}.coin-market-supply,.coin-funding-grid,.coin-derivatives-grid{border-bottom-color:rgba(255,255,255,.06)}.coin-market-supply small,.coin-funding-grid>small,.coin-funding-grid span,.coin-derivatives-grid span{color:#a3a3a3}.coin-derivatives-grid b[data-positive="1"]{color:#4ade80}.coin-derivatives-grid b[data-positive="0"]{color:#f87171}.coin-resources>b{color:#bcbcbc}.coin-resources>b::before{background:rgba(138,92,245,.15);color:#a78bfa}.coin-resource-link{color:#bcbcbc}.coin-resource-link:hover{color:#a78bfa}.coin-categories span{background:rgba(138,92,245,.15);color:#a78bfa}.coin-movers-head b{color:#eeeeee}.coin-movers-head small{color:#a3a3a3}.coin-movers-head>a{color:#a78bfa}.coin-top-list>a{background:#252525}.coin-top-list>a:hover{background:#2b2b2b;box-shadow:inset 0 0 0 1px rgba(167,139,250,.28)}.coin-top-list b{color:#eeeeee}.coin-top-list em{color:#4ade80}.coin-about-card,.coin-news,.coin-forecasts{border-radius:12px}.coin-about-card>b,.coin-section-head h2{color:#eeeeee}.coin-about-card p,.coin-news-card p{color:#bcbcbc}.coin-news-card,.coin-forecast-card{border:0;border-radius:8px;background:#252525;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.coin-news-card:hover,.coin-forecast-card:hover{background:#2a2a2a;border:0;box-shadow:inset 0 0 0 1px rgba(167,139,250,.38)}.coin-news-card small,.coin-forecast-card>div span,.coin-forecast-card small{color:#a3a3a3}.coin-news-card b,.coin-forecast-card{color:#eeeeee}.coin-forecast-card>div b,.coin-section-head>a{color:#a78bfa}
@media(max-width:900px){.coins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coins-page{padding-left:16px;padding-right:16px}}
@media(max-width:600px){.coins-page{padding-top:88px}.coins-hero h1{font-size:30px}.coins-grid{grid-template-columns:minmax(0,1fr)}.coin-list-card{min-height:164px}.coin-dashboard-grid{gap:10px}.coin-performance-strip{gap:6px}.coin-performance-strip>div{border-radius:8px}.coin-trend-card,.coin-chart-card,.coin-market-card,.coin-movers-card,.coin-about-card,.coin-news,.coin-forecasts{border-radius:12px}}

/* Coin dashboard composition audit: a compact 62/38 information hierarchy. */
.coin-dashboard-grid{grid-template-columns:minmax(0,1.618fr) minmax(340px,1fr);grid-template-areas:"chart market" "movers trend";gap:12px;align-items:start}
.coin-dashboard-grid>.coin-performance-strip{display:none!important}
.coin-dashboard-grid>.coin-chart-card{grid-area:chart;grid-column:auto;min-width:0;height:334px;display:flex;flex-direction:column}
.coin-dashboard-grid>.coin-market-card{grid-area:market;grid-column:auto;box-sizing:border-box;min-width:0;height:334px;padding:10px 16px 8px;overflow:hidden}
.coin-dashboard-grid>.coin-movers-card{grid-area:movers;grid-column:auto;min-width:0;min-height:184px;padding:14px 16px}
.coin-dashboard-grid>.coin-trend-card{grid-area:trend;grid-column:auto;min-width:0;min-height:184px;padding:14px 16px;grid-template-columns:112px minmax(0,1fr);gap:8px}
.coin-card-head{flex:none;min-height:48px;padding:0 16px}
.coin-tv-chart{box-sizing:border-box;flex:1;min-width:0;width:calc(100% - 24px);height:auto;min-height:0;margin:0 12px}
.coin-tv-attribution{flex:none;margin:0 12px;padding:7px 0 8px}
.coin-market-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-content:start}
.coin-market-row{min-width:0;min-height:38px;gap:7px}
.coin-market-row span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px}
.coin-market-row b{flex:none;min-width:0;overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}
.coin-market-supply{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px 0}
.coin-market-supply small{font-size:9px}.coin-market-supply b{font-size:10px}
.coin-funding-grid,.coin-derivatives-grid{padding:8px 0;gap:7px}
.coin-funding-grid>small{font-size:9px}.coin-funding-grid span,.coin-derivatives-grid span{gap:3px;font-size:9px}.coin-funding-grid b,.coin-derivatives-grid b{font-size:10px}
.coin-trend-card .coin-panel-head{min-height:28px}.coin-trend-bars{gap:9px}.coin-trend-bars>div{gap:7px}.coin-trend-periods{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-top:1px;padding-top:9px;border-top:1px solid rgba(255,255,255,.06)}
.coin-trend-periods span{display:grid!important;gap:3px;min-width:0;color:#a3a3a3!important;font-size:9px!important;line-height:1.1}
.coin-trend-periods small{color:#a3a3a3;font-size:9px;letter-spacing:.04em}.coin-trend-periods b{overflow:hidden;color:#eeeeee;font-size:10px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.coin-trend-periods b[data-positive="1"]{color:#4ade80}.coin-trend-periods b[data-positive="0"]{color:#f87171}
.coin-top-list{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:48px;gap:6px}.coin-top-list>a{height:48px;min-height:48px;padding:8px}.coin-top-list img{width:21px;height:21px}.coin-movers-head{margin-bottom:9px}
.coin-resource-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:12px;padding:12px 16px;border-radius:12px;background:#1e1e1e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.coin-resource-bar>b{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#bcbcbc;font-size:11px}.coin-resource-bar>b::before{content:"↗";display:grid;place-items:center;width:17px;height:17px;border-radius:5px;background:rgba(138,92,245,.15);color:#a78bfa}.coin-resource-links{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;min-width:0}.coin-resource-link{min-width:0;min-height:26px;gap:6px;color:#bcbcbc;font-size:11px}.coin-resource-link img{width:14px;height:14px}.coin-resource-link:hover{color:#a78bfa}.coin-resource-bar .coin-categories{display:flex;max-width:310px;padding:0;gap:5px}.coin-resource-bar .coin-categories span{background:rgba(138,92,245,.15);color:#a78bfa}
@media(max-width:980px){.coin-dashboard-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"chart" "market" "trend" "movers"}.coin-dashboard-grid>.coin-chart-card{height:340px}.coin-dashboard-grid>.coin-market-card{height:auto;min-height:334px}.coin-dashboard-grid>.coin-movers-card{min-height:0}.coin-resource-bar{grid-template-columns:auto minmax(0,1fr)}.coin-resource-bar .coin-categories{grid-column:1/-1;max-width:none}}
@media(max-width:600px){.coin-dashboard-grid{gap:10px}.coin-dashboard-grid>.coin-chart-card{height:316px;margin:0}.coin-dashboard-grid>.coin-market-card{padding:10px 14px;height:auto}.coin-card-head{padding:0 14px}.coin-tv-chart{width:calc(100% - 20px);margin:0 10px}.coin-tv-attribution{margin:0 10px}.coin-market-card{gap:0 12px}.coin-market-row{min-height:42px}.coin-market-row span{font-size:10px}.coin-market-row b{font-size:11px}.coin-market-supply{gap:5px}.coin-top-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:48px}.coin-trend-card{min-height:0}.coin-resource-bar{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px}.coin-resource-bar .coin-categories{grid-column:auto}.coin-head-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.coin-head-price{width:100%;min-width:0}.coin-open-chart{width:100%;margin:0}}

/* Canonical Obsidian surface tokens for all public coin pages. */
body.coins-page-body{--coin-surface:#1e1e1e;--coin-inset:rgba(255,255,255,.05);--coin-inset-active:rgba(255,255,255,.1);--coin-card-radius:12px;--coin-control-radius:8px}
.coin-list-card,.coin-trend-card,.coin-chart-card,.coin-market-card,.coin-movers-card,.coin-resource-bar,.coin-about-card,.coin-news,.coin-forecasts{background:var(--coin-surface);border:0;border-radius:var(--coin-card-radius);box-shadow:inset 0 0 0 1px var(--coin-inset)}
.coin-list-card:hover{background:#232323;box-shadow:inset 0 0 0 1px var(--coin-inset-active)}
.coin-top-list>a,.coin-news-card,.coin-forecast-card{border:0;box-shadow:inset 0 0 0 1px var(--coin-inset)}
.coin-top-list>a{border-radius:var(--coin-control-radius);background:#252525}.coin-news-card,.coin-forecast-card{background:#252525}
.coin-top-list>a:hover,.coin-news-card:hover,.coin-forecast-card:hover{box-shadow:inset 0 0 0 1px var(--coin-inset-active)}

/* Violet is reserved for actions, links, selected controls, and tags—not market decoration. */
.coins-hero>span,.coin-section-head span{color:#a3a3a3}
.coin-price-range>i::before{background:#bcbcbc}.coin-price-range>i>i{background:#eeeeee;box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.coin-panel-head .coin-panel-icon,.coin-movers-head .coin-panel-icon,.coin-market-row span::before,.coin-resources>b::before,.coin-resource-bar>b::before{background:#252525;color:#bcbcbc}
.coin-trend-gauge{background:conic-gradient(#bcbcbc var(--score),#3f3f3f 0)}
.coin-trend-bars>div>i>i{background:#bcbcbc}
.coin-forecast-card>div b{color:#bcbcbc}

.feature-nav-section.is-active > summary{
    background: rgba(103,152,255,.14);
}

.feature-nav-section > summary em{
    color: var(--color-mist);
    font-size: 12px;
    font-style: normal;
}

.feature-nav-group{
    display: grid;
    gap: 2px;
    margin: 2px 0 6px;
    padding-left: 14px;
    border-left: 1px solid var(--color-iron);
}

.feature-nav-link{
    min-height: 32px;
    display: flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 8px;
    color: var(--color-ash);
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
}

.feature-nav-link:hover{
    background: var(--color-iron);
    color: var(--color-bone);
}

.feature-nav-link.is-active{
    background: rgba(103,152,255,.14);
    color: var(--color-bone);
}

.feature-nav-subtitle{
    display: block;
    margin: 10px 0 2px;
    padding: 4px 10px;
    border-radius: 8px;
    color: var(--color-smoke);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
}

.feature-nav-subtitle:hover{
    background: var(--color-iron);
    color: var(--color-ash);
}

.feature-nav-subtitle.is-active{
    background: rgba(103,152,255,.14);
    color: var(--color-bone);
}

/* --- Контент --- */

.features-content{
    min-width: 0;
    display: grid;
    gap: 24px;
    align-content: start;
}

.features-breadcrumb{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--color-mist);
    font-size: 13px;
}

.features-breadcrumb a{
    color: var(--color-ash);
    text-decoration: none;
}
.features-breadcrumb a:hover{
    color: var(--color-bone);
}

.features-breadcrumb i{
    color: var(--color-smoke);
    font-style: normal;
}

.features-head{
    width: min(1360px, calc(100vw - 48px));
    margin: 0 auto 32px;
}

.features-head-tools{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.features-kicker{
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
    color: var(--color-soft-indigo);
    font-size: 13px;
    font-weight: 600;
}

.features-head h1{
    max-width: 820px;
    margin: 0;
    color: var(--color-bone);
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 600;
    line-height: 1.15;
}

.features-head p{
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--color-ash);
    font-size: 16px;
}

.features-create-button{
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid rgba(103,152,255,.4);
    border-radius: 8px;
    background: rgba(103,152,255,.14);
    color: var(--color-bone);
    font: 600 14px Inter, Arial, sans-serif;
    cursor: pointer;
}

.features-create-button:hover{
    background: rgba(103,152,255,.24);
}

.features-empty{
    margin: 0;
    padding: 20px;
    border: 1px dashed var(--color-iron);
    border-radius: 8px;
    color: var(--color-mist);
    font-size: 14px;
}

.features-empty-link{
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin-top: 18px;
    padding: 0 18px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

/* --- Списки статей --- */

.features-subsection{
    display: grid;
    gap: 14px;
}

.features-subsection-head h2{
    margin: 0;
    color: var(--color-bone);
    font-size: 22px;
    font-weight: 600;
}

.features-subsection-head h2 a{
    text-decoration: none;
}

.features-subsection-head h2 a:hover{
    color: var(--color-soft-indigo);
}

.features-subsection-head p{
    margin: 6px 0 0;
    color: var(--color-mist);
    font-size: 14px;
}

.features-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}

.features-card{
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20);
    transition: border-color .15s ease;
}

.features-card:hover{
    border-color: var(--color-slate-edge);
}

.features-card-media{
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--color-graphite);
}

.features-card-media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.features-card-body{
    display: grid;
    gap: 8px;
    align-content: start;
    padding: 16px;
}

.features-card-body h3{
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.features-card-body h3 a{
    color: var(--color-bone);
    text-decoration: none;
}

.features-card-body h3 a:hover{
    color: var(--color-soft-indigo);
}

.features-card-body p{
    margin: 0;
    color: var(--color-mist);
    font-size: 14px;
    line-height: 1.5;
}

/* --- Статья --- */

.features-article{
    padding: 28px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.84);
}

.features-article-meta{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: var(--color-mist);
    font-size: 13px;
}

.features-article-meta em,
.features-article-meta time{
    font-style: normal;
}

.features-tag{
    display: inline-flex;
    align-items: center;
    background: inherit;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    color: var(--color-soft-indigo);
    font-size: 12px;
    font-weight: 400;
}

.features-article-head h1{
    margin: 0;
    color: var(--color-bone);
    font-size: clamp(28px, 3.6vw, 42px);
    font-weight: 600;
    line-height: 1.15;
}

.features-lead{
    max-width: 760px;
    margin: 16px 0 0;
    color: var(--color-ash);
    font-size: 17px;
    line-height: 1.6;
}

.features-article-figure{
    margin: 22px 0 0;
    overflow: hidden;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

.features-article-figure img{
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.feature-admin-actions{
    display: inline-flex;
    gap: 8px;
    margin-left: auto;
}

.feature-admin-actions button{
    min-height: 28px;
    padding: 0 12px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    font: 500 12px Inter, Arial, sans-serif;
    cursor: pointer;
}

.feature-admin-actions button:hover{
    border-color: var(--color-slate-edge);
    color: var(--color-bone);
}

/* Типографика тела статьи: разметку задаёт только этот блок, инлайн-стили
   в контент не попадают. */

.features-article-body{
    margin-top: 26px;
    color: var(--color-ash);
    font-size: 16px;
    line-height: 1.7;
}

.features-article-body > :first-child{ margin-top: 0; }
.features-article-body > :last-child{ margin-bottom: 0; }

.features-article-body h2{
    margin: 34px 0 12px;
    color: var(--color-bone);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
}

.features-article-body h3{
    margin: 26px 0 10px;
    color: var(--color-bone);
    font-size: 19px;
    font-weight: 600;
}

.features-article-body h4{
    margin: 22px 0 8px;
    color: var(--color-bone);
    font-size: 16px;
    font-weight: 600;
}

.features-article-body p{
    margin: 0 0 16px;
}

.features-article-body a{
    color: var(--color-soft-indigo);
    text-decoration: none;
}

.features-article-body a:hover{
    text-decoration: underline;
}

.features-article-body ul,
.features-article-body ol{
    margin: 0 0 16px;
    padding-left: 22px;
}

.features-article-body li + li{
    margin-top: 8px;
}

.features-article-body blockquote{
    margin: 0 0 18px;
    padding: 14px 18px;
    border-left: 2px solid var(--color-soft-indigo);
    border-radius: 0 8px 8px 0;
    background: rgba(103,152,255,.08);
    color: var(--color-bone);
}

.features-article-body blockquote p:last-child{ margin-bottom: 0; }

.features-article-body img{
    display: block;
    max-width: 100%;
    height: auto;
    margin: 20px 0;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

.features-article-body figure{
    margin: 20px 0;
}

.features-article-body figure img{
    margin: 0;
}

.features-article-body figcaption{
    margin-top: 8px;
    color: var(--color-mist);
    font-size: 13px;
}

.features-article-body hr{
    height: 0;
    margin: 26px 0;
    border: 0;
    border-top: 1px solid var(--color-iron);
}

.features-article-body code{
    padding: 2px 6px;
    border-radius: 6px;
    background: var(--color-graphite);
    color: var(--color-bone);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .9em;
}

.features-article-body pre{
    margin: 0 0 18px;
    padding: 16px;
    overflow-x: auto;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: var(--color-graphite);
}

.features-article-body pre code{
    padding: 0;
    background: none;
    font-size: 13px;
    line-height: 1.6;
}

/* Таблица шире колонки прокручивается сама, страница не едет вбок. */
.features-article-body table{
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 18px;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 14px;
}

.features-article-body th,
.features-article-body td{
    padding: 10px 12px;
    border: 1px solid var(--color-iron);
    text-align: left;
    vertical-align: top;
}

.features-article-body th{
    background: var(--color-graphite);
    color: var(--color-bone);
    font-weight: 600;
}

.features-pager{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.features-pager a{
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.84);
    text-decoration: none;
}

.features-pager a:hover{
    border-color: var(--color-slate-edge);
}

.features-pager span{
    color: var(--color-mist);
    font-size: 12px;
}

.features-pager b{
    color: var(--color-bone);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.features-pager-next{
    text-align: right;
}

/* --- Модалка редактора --- */

body.feature-modal-open{
    overflow: hidden;
}

.feature-modal{
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 0;
    background: var(--color-carbon);
}

.feature-modal-dialog{
    display: grid;
    gap: 0;
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: var(--color-carbon);
}

.feature-modal-head{
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--color-iron);
    background: var(--color-carbon);
}

.feature-modal-head b{
    color: var(--color-bone);
    font-size: 17px;
    font-weight: 600;
}

.feature-modal-close{
    position: relative;
    width: 32px;
    height: 32px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
}

.feature-modal-close::before,
.feature-modal-close::after{
    content: "";
    position: absolute;
    left: 9px;
    top: 15px;
    width: 12px;
    height: 1.5px;
    background: var(--color-ash);
}

.feature-modal-close::before{ transform: rotate(45deg); }
.feature-modal-close::after{ transform: rotate(-45deg); }

.feature-modal-body{
    display: grid;
    gap: 16px;
    padding: 22px;
}

.feature-modal-loading{
    margin: 0;
    color: var(--color-mist);
    font-size: 14px;
}

.feature-modal-error{
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(255,99,99,.32);
    border-radius: 8px;
    background: rgba(255,99,99,.08);
    color: #ff8f8f;
    font-size: 14px;
}

.feature-field{
    display: grid;
    gap: 6px;
}

.feature-field > span,
.feature-field-label{
    color: var(--color-ash);
    font-size: 13px;
    font-weight: 500;
}

.feature-field-hint{
    color: var(--color-mist);
    font-size: 12px;
    font-style: normal;
    word-break: break-all;
}

.feature-field-row{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
}

.feature-field-row label{
    display: grid;
    gap: 6px;
    min-width: 0;
}

.feature-field-row label > span{
    color: var(--color-ash);
    font-size: 13px;
    font-weight: 500;
}

.feature-modal-body input[type="text"],
.feature-modal-body input[type="url"],
.feature-modal-body select,
.feature-modal-body textarea{
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: var(--color-graphite);
    color: var(--color-bone);
    font: 400 14px Inter, Arial, sans-serif;
}

.feature-modal-body textarea{
    resize: vertical;
}

.feature-modal-body input:focus,
.feature-modal-body select:focus,
.feature-modal-body textarea:focus{
    outline: none;
    border-color: rgba(103,152,255,.5);
}

.feature-inline-add{
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    font: 500 13px Inter, Arial, sans-serif;
    white-space: nowrap;
    cursor: pointer;
}

.feature-inline-add:hover{
    border-color: var(--color-slate-edge);
    color: var(--color-bone);
}

.feature-inline-form{
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(103,152,255,.32);
    border-radius: 8px;
    background: rgba(103,152,255,.06);
}

.feature-inline-form b{
    color: var(--color-bone);
    font-size: 14px;
    font-weight: 600;
}

.feature-inline-actions{
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.feature-inline-actions button{
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    font: 500 13px Inter, Arial, sans-serif;
    cursor: pointer;
}

.feature-inline-actions button:last-child{
    border-color: rgba(103,152,255,.4);
    background: rgba(103,152,255,.16);
    color: var(--color-bone);
}

.feature-check{
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-ash);
    font-size: 14px;
    cursor: pointer;
}

.feature-check input{
    width: 18px;
    height: 18px;
    accent-color: var(--color-soft-indigo);
}

.feature-image{
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.feature-image > img{
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: var(--color-graphite);
}

.feature-image-controls{
    display: grid;
    gap: 10px;
    min-width: 0;
}

.feature-image-buttons{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.feature-image-buttons button{
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    font: 500 13px Inter, Arial, sans-serif;
    cursor: pointer;
}

.feature-image-buttons button:hover:not(:disabled){
    border-color: var(--color-slate-edge);
    color: var(--color-bone);
}

.feature-image-buttons button:disabled{
    opacity: .5;
    cursor: default;
}

.feature-image-buttons em{
    color: var(--color-mist);
    font-size: 12px;
    font-style: normal;
}

.feature-modal-actions{
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 -22px -22px;
    padding: 16px 22px;
    border-top: 1px solid var(--color-iron);
    background: var(--color-carbon);
}

.feature-modal-actions button{
    min-height: 40px;
    padding: 0 18px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    font: 600 14px Inter, Arial, sans-serif;
    cursor: pointer;
}

.feature-modal-actions button[type="submit"]{
    border-color: rgba(103,152,255,.4);
    background: rgba(103,152,255,.16);
    color: var(--color-bone);
}

.feature-modal-actions button:disabled{
    opacity: .6;
    cursor: default;
}

.feature-modal-delete{
    margin-right: auto;
    color: #ff8f8f !important;
}

/* --- Редактор статьи --- */

.feature-editor{
    display: grid;
    gap: 0;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: var(--color-graphite);
}

.feature-editor-bar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px;
    border-bottom: 1px solid var(--color-iron);
}

.feature-editor-tools{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
}

.feature-editor-tool{
    min-width: 32px;
    height: 30px;
    padding: 0 8px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--color-ash);
    font: 600 13px Inter, Arial, sans-serif;
    cursor: pointer;
}

.feature-editor-tool:hover{
    background: var(--color-iron);
    color: var(--color-bone);
}

.feature-editor-sep{
    width: 1px;
    height: 18px;
    margin: 0 4px;
    background: var(--color-iron);
}

.feature-editor-mode{
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid var(--color-iron);
    border-radius: 6px;
    background: transparent;
    color: var(--color-ash);
    font: 600 12px Inter, Arial, sans-serif;
    cursor: pointer;
}

.feature-editor-mode.is-active{
    border-color: rgba(103,152,255,.4);
    background: rgba(103,152,255,.16);
    color: var(--color-bone);
}

.feature-editor-link{
    display: flex;
    gap: 8px;
    padding: 8px;
    border-bottom: 1px solid var(--color-iron);
}

/* Атрибут hidden даёт display:none только из браузерной таблицы стилей, а любое
   собственное правило с display его перебивает. Поэтому скрытие для всех блоков
   редактора задаётся явно: без этого под визуальным редактором постоянно висела
   textarea с исходником, а строка ввода ссылки была видна сразу при открытии. */
.feature-editor-link[hidden],
.feature-editor-source[hidden],
.feature-editor-rich[hidden],
.feature-inline-form[hidden],
.feature-editor-status[hidden]{
    display: none;
}

.feature-editor-status{
    display: block;
    margin: 0;
    padding: 8px 12px;
    border-bottom: 1px solid var(--color-iron);
    color: var(--color-mist);
    font-size: 12px;
}

.feature-editor-status.is-error{
    color: #ff8f8f;
}

.feature-editor-link input{
    flex: 1;
    min-width: 0;
}

.feature-editor-link button{
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: transparent;
    color: var(--color-ash);
    font: 500 13px Inter, Arial, sans-serif;
    cursor: pointer;
}

/* min-height через !important: общее правило `.feature-modal-body textarea`
   специфичнее одного класса и иначе сжимает HTML-режим до своих 40px, тогда как
   визуальный режим — div, и его это не затрагивает. Соседние свойства ниже
   перебиты по той же причине. */
.feature-editor-rich,
.feature-editor-source{
    min-height: 320px !important;
    max-height: 60vh;
    padding: 16px !important;
    overflow-y: auto;
    border: 0 !important;
    background: transparent !important;
    color: var(--color-ash) !important;
    font-size: 15px;
    line-height: 1.65;
}

.feature-editor-rich:focus,
.feature-editor-source:focus{
    outline: none;
}

.feature-editor-source{
    display: block;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: 13px !important;
    line-height: 1.6;
    white-space: pre-wrap;
}

.feature-editor-rich h2{
    margin: 20px 0 8px;
    color: var(--color-bone);
    font-size: 22px;
}

.feature-editor-rich h3{
    margin: 16px 0 6px;
    color: var(--color-bone);
    font-size: 18px;
}

.feature-editor-rich h4{
    margin: 14px 0 6px;
    color: var(--color-bone);
    font-size: 15px;
}

.feature-editor-rich p{
    margin: 0 0 12px;
}

.feature-editor-rich ul,
.feature-editor-rich ol{
    margin: 0 0 12px;
    padding-left: 22px;
}

.feature-editor-rich blockquote{
    margin: 0 0 12px;
    padding: 10px 14px;
    border-left: 2px solid var(--color-soft-indigo);
    background: rgba(103,152,255,.08);
}

.feature-editor-rich a{
    color: var(--color-soft-indigo);
}

.feature-editor-rich code{
    padding: 2px 5px;
    border-radius: 5px;
    background: var(--color-iron);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .9em;
}

.feature-editor-rich pre{
    margin: 0 0 12px;
    padding: 12px;
    overflow-x: auto;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: var(--color-carbon);
}

.feature-editor-rich table{
    width: 100%;
    margin: 0 0 12px;
    border-collapse: collapse;
    font-size: 14px;
}

.feature-editor-rich th,
.feature-editor-rich td{
    padding: 8px 10px;
    border: 1px solid var(--color-iron);
    text-align: left;
}

/* Картинка в редакторе — отдельный блок, а не строчный элемент: автор должен
   сразу видеть, что и куда вставилось. */
.feature-editor-rich img{
    display: block;
    max-width: 100%;
    height: auto;
    margin: 12px 0;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

/* Битая ссылка на картинку иначе схлопывается в ноль и выглядит так, будто
   вставка не сработала. Рамка и подпись показывают, что файл не отдался. */
.feature-editor-rich img.is-broken{
    min-width: 220px;
    min-height: 90px;
    border: 1px dashed #ff8f8f;
    background: rgba(255,99,99,.06);
}

.feature-editor-hint{
    margin: 0;
    padding: 8px 12px;
    border-top: 1px solid var(--color-iron);
    color: var(--color-smoke);
    font-size: 12px;
}

@media (max-width: 1080px){
    .features-layout, .features-head{
        width: min(900px, calc(100vw - 32px));
    }
    .features-layout{
        grid-template-columns: minmax(0, 1fr);
    }
    .features-nav{
        position: static;
    }
    .features-nav-toggle{
        display: block;
    }
    .features-nav-body{
        display: none;
        max-height: 60vh;
        margin-top: 6px;
    }
    .features-nav.is-open .features-nav-body{
        display: grid;
    }
}

@media (max-width: 720px){
    .features-page{
        padding: 96px 16px 56px;
    }
    .features-article{
        padding: 20px 16px;
    }
    .features-grid{
        grid-template-columns: minmax(0, 1fr);
    }
    .feature-modal{
        padding: 0;
    }
    .feature-modal-dialog{
        max-height: 100vh;
        border: 0;
        border-radius: 0;
    }
    .feature-field-row{
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }
    .features-pager-next{
        text-align: left;
    }
}



.reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateY(0);
}

.reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Баннер согласия на cookie (Dark Theme + Vertical Card). */
.cookie-consent {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2200;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: min(340px, calc(100vw - 48px));
    padding: 24px;
    border: 1px solid var(--color-graphite, #292929);
    border-radius: 12px;
    background: var(--color-surface, #1E1E1E);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 30px rgba(0,0,0,0.5);
}
.cookie-consent[hidden] { display: none; }

.cookie-consent-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.cookie-consent-header img {
    width: 32px;
    height: 32px;
}
.cookie-consent-header h3 {
    margin: 0;
    color: var(--color-white, #ffffff);
    font-size: 18px;
    font-weight: 700;
}

.cookie-consent p {
    margin: 0;
    color: var(--color-medium-gray, #bcbcbc);
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
}
.cookie-consent a {
    color: var(--color-medium-gray, #bcbcbc);
    text-decoration: underline;
}
.cookie-consent a:hover {
    color: var(--color-white, #ffffff);
}

.cookie-consent-actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}
.cookie-consent-actions button {
    flex: 1;
    height: 40px;
    padding: 0;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.cookie-consent-actions .cookie-consent-accept {
    background: #7c3aed; /* Amethyst */
    color: #ffffff;
    border: none;
}
.cookie-consent-actions .cookie-consent-accept:hover {
    background: #6d28d9;
    color: #ffffff; /* Override any global hover colors */
}

.cookie-consent-actions .cookie-consent-decline {
    background: transparent;
    color: #bcbcbc;
    border: 1px solid #3f3f3f;
}
.cookie-consent-actions .cookie-consent-decline:hover {
    color: #ffffff;
    border-color: #555555;
    background: rgba(255,255,255,0.05);
}

@media (max-width: 520px){
    .cookie-consent {
        right: 12px;
        left: 12px;
        bottom: 12px;
        width: auto;
    }
}
