: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{
    background-image: url(/imgs/main-bg.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: #7a7a7a;
    font-size: 18px;
    font-weight: 600;
    white-space: nowrap;
    background-image: url(/imgs/logowhite.svg);
    background-size: 36px;
    background-position: top 50% left 0;
    background-repeat: no-repeat;
    text-decoration: none;
    padding: 6px 8px 6px 44px;
}

.logo > span{
    color: #FFFFFF;
}

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;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid var(--color-slate-edge);
    color: var(--color-ash);
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 18px;
}

.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: 22px;
    font-weight: 600;
}

.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: 300;
    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: #7A7A7A;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    background-image: url(/imgs/logowhite.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-logo span{
    color: #FFFFFF;
}

.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;
}

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: rgba(20,20,20,.88);
    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;
}

#edge,
#app{
    max-width: min(var(--page-max-width), calc(100vw - 48px));
    margin: 0 auto;
    background: transparent;
}

#edge{
    /* Левая колонка сжимается до ширины плиток, чтобы остаток ширины достался
       монетам: иначе свободное место запирается внутри колонки с текстом. */
    --edge-content-width: 800px;
    --edge-coins-width: 420px;
    width: 100%;
    padding: 72px 0 24px;
    display: grid;
    grid-template-columns: minmax(320px, var(--edge-content-width)) 1fr;
    gap: 24px;
}

#edge h2{
    margin: 0 0 24px;
    color: var(--color-bone);
    font-size: 40px;
    font-weight: 500;
}

#edge ul{
    margin: 0;
    padding: 0;
    /* Ширину задаёт колонка (--edge-content-width), отдельный max-width не нужен. */
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

#edge li{
    position: relative;
    list-style: none;
    color: var(--color-ash);
    font-size: 16px;
    padding: 24px;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background-color: #151515;
}

#edge li > h3{
    color: var(--color-bone);
    font-weight: 500;
    font-size: 20px;
    margin: 0 0 8px 0;
}

#edge li > p{
    margin: 0;
    font-size: 14px;
}

#edge .coins{
    position: relative;
    /* Фиксированная ширина сохраняет размер монет (они заданы в % от неё),
       а auto-поля ставят их по центру освободившегося места. */
    width: var(--edge-coins-width);
    max-width: 100%;
    margin-inline: auto;
    min-height: 420px;
    overflow: hidden;
}

#edge .coins img{
    position: absolute;
    width: 32%;
    opacity: .86;
    /*filter: grayscale(1);*/
}

#edge .coins img:nth-child(1){ top: calc(28% + 20px); left: 8%; width: 44%; animation: 2s linear infinite alternate coin1; }
#edge .coins img:nth-child(2){ top: calc(66% + 20px); left: 55%; animation: 2s linear infinite alternate coin2; }
#edge .coins img:nth-child(3){ top: calc(26% + 20px); left: 62%; animation: 3s linear infinite alternate coin3; }
#edge .coins img:nth-child(4){ top: 20px; left: 36%; animation: 2.5s linear infinite alternate coin4; }

@keyframes coin1 { from { transform: translateY(10px); } to { transform: translateY(0); } }
@keyframes coin2 { from { transform: translateX(12px); } to { transform: translateX(-8px); } }
@keyframes coin3 { from { transform: translateY(-12px); } to { transform: translateY(12px); } }
@keyframes coin4 { from { transform: translateY(0); } to { transform: translateY(18px); } }

#market-dashboard{
    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: rgba(20,20,20,.86);
}

.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-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}

.weekly-forecasts-head > span{
    min-width: 0;
}

.weekly-forecasts-head b,
.weekly-forecasts-head small{
    display: block;
}

.weekly-forecasts-head b{
    color: var(--color-bone);
    font-size: 18px;
    font-weight: 500;
}

.weekly-forecasts-head small{
    margin-top: 5px;
    color: var(--color-mist);
    font-size: 12px;
}

.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: 18px;
    align-items: start;
}

.site-radar-main{
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(300px, .95fr) repeat(2, minmax(260px, 1fr));
    gap: 14px;
    align-items: start;
}

.site-radar-card{
    min-width: 0;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.88);
}

.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: 14px;
    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: 8px;
    background: url(/imgs/3d-phone.png) no-repeat center/cover;
    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;
}

.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-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: 14px;
}

.seo-calendar-card{
    overflow: hidden;
    padding: 18px;
    background: #05070B;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
}

.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:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 38%),
        #05070B;
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    color: var(--color-bone);
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.seo-news-item:hover{
    border-color: rgba(103,152,255,.34);
    background-color: #090B10;
    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,
.seo-news-reactions,
.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;
}

.seo-news-reactions{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
}

.seo-news-react{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 26px;
    padding: 2px 9px;
    border-radius: 999px;
    border: 1px solid #223048;
    background: rgba(20,28,44,.86);
    color: var(--color-bone);
    font-size: 13px;
    cursor: pointer;
    transition: border-color .12s, background-color .12s;
}
.seo-news-react:hover{ border-color: #3a5a8f; }
.seo-news-react[data-mine="1"]{
    border-color: #7A59FF;
    background: rgba(122,89,255,0.14);
}

.seo-news-react img{
    width: 16px;
    height: 16px;
    display: block;
    object-fit: contain;
}

.seo-news-react b{
    max-width: none;
    display: inline;
    color: var(--color-ash);
    font-size: 11px;
    font-weight: 600;
}

.home-news-row .seo-news-reactions{
    margin-top: 8px;
}

.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: 18px;
    background: rgba(0,0,0,.76);
}

.site-news-edit{
    width: min(860px, 100%);
    max-height: calc(100vh - 36px);
    overflow: auto;
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--color-slate-edge);
    background-color: #000000;
    border-radius: 8px;
    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 var(--color-iron);
    border-radius: 8px;
    background: rgba(20,20,20,.72);
}

.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(1660px, calc(100vw - 48px));
}


.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: 14px;
    min-width: 0;
    align-items: start;
}

.forecast-card,
.forecast-leaders-card,
.forecast-roi-card,
.forecast-empty{
    border: 1px solid var(--color-iron);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 42%),
        rgba(5,7,11,.92);
}

.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: rgba(103,152,255,.34);
    background-color: rgba(8,11,16,.96);
    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: 8px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 8px;
    background: rgba(0,0,0,.2);
}

.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;
    min-width: 92px;
    padding: 6px 9px;
    border: 1px solid var(--color-slate-edge);
    border-radius: 8px;
    background: rgba(20,20,20,.82);
    text-align: right;
}

.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="win"]{
    border-color: rgba(10,210,166,.32);
}

.forecast-status[data-state="win"] b{
    color: #0ad2a6;
}

.forecast-status[data-state="loss"]{
    border-color: rgba(234,54,79,.36);
}

.forecast-status[data-state="loss"] b{
    color: #ff5d72;
}

.forecast-status[data-state="active"] b{
    color: var(--color-soft-indigo);
}

.forecast-symbol{
    gap: 10px;
    min-height: 48px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 8px;
    background: rgba(0,0,0,.3);
    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 > .seo-news-reactions{
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--color-slate-edge);
    gap: 10px;
}

.news-article-card > .seo-news-reactions .seo-news-react{
    min-height: 36px;
    padding: 6px 14px;
    font-size: 14px;
    gap: 8px;
}

.news-article-card > .seo-news-reactions .seo-news-react img{
    width: 20px;
    height: 20px;
}

.news-article-card > .seo-news-reactions .seo-news-react b{
    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: 8px;
    margin-top: 4px;
}

.news-promo-tag{
    padding: 4px 10px;
    border-radius: 8px;
    background: rgba(103,152,255,.1);
    color: var(--color-soft-indigo);
    font-size: 12px;
    font-weight: 600;
}

.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 var(--color-iron);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 42%),
        rgba(5,7,11,.92);
}

.prices-compare-head{
    display: grid;
    grid-template-columns: 50% 25% 25%;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    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;
}

.admin-page-body{
    background: #0a0a0a url('/imgs/main-bg.png') repeat top center;
}

.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-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: 14px;
    }
    .radar-page .site-radar-main{
        grid-template-columns: minmax(290px, .95fr) repeat(2, minmax(240px, 1fr));
        gap: 12px;
    }
    .radar-page .site-radar-left-stack{
        grid-column: 1;
        grid-row: 1;
        gap: 12px;
    }
    .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,
    #edge,
    #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-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{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        padding: 16px;
    }
    .prices-compare-title{
        grid-column: 1 / -1;
        padding-right: 0;
    }
    .prices-compare-head b{
        font-size: 21px;
    }
    .prices-plan-name{
        min-height: 72px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(103,152,255,.26);
        border-radius: 8px;
        background: rgba(103,152,255,.08);
    }
    .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;
    }
    .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;
    }
    .news-shell{
        width: auto;
    }
    .forecasts-shell{
        width: auto;
    }
    .forecasts-layout{
        gap: 12px;
    }
    .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: 10px;
    }
    .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: 12px;
    }
    .site-news-edit{
        max-height: calc(100vh - 24px);
        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;
    }
    .hero-email button{
        width: 100%;
    }
    .hero-socials::before{
        display: none;
    }
    .hero-qr-pop{
        left: auto;
        right: 0;
        transform: translateY(8px);
    }
    .hero-qr:hover .hero-qr-pop{
        transform: translateY(0);
    }
    .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;
    }
    #edge{
        grid-template-columns: 1fr;
        padding: 52px 16px 20px;
    }
    #edge h2{
        font-size: 30px;
    }
    #edge ul{
        grid-template-columns: 1fr;
    }
    #edge .coins{
        display: none;
    }
    .seo-overview-grid{
        grid-template-columns: 1fr;
    }
    .seo-overview-card{
        min-height: 0;
    }
    #app{
        padding: 48px 16px;
    }
    #app > div{
        min-height: 420px;
        padding: 34px 18px;
        background: url(/imgs/3d-phone.png) no-repeat center/cover;
    }
    #app h2{
        font-size: 30px;
    }
    .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;
    }
}
