@font-face {
    font-family:Vazirmatn;
    src:url('../fonts/Vazirmatn.woff2') format('woff2');
    font-weight:100 900;
    font-style:normal;
    font-display:swap;
}

:root {
    color-scheme:dark;
    --background:#0b0d10;
    --surface:#161a1f;
    --text:#f5f5f6;
    --muted:#b5b6bc;
    --border:#3b3e43;
    --accent:#ffd400;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:24px;
}

body {
    margin:0;
    background:var(--background);
    color:var(--text);
    font-family:Vazirmatn,Tahoma,sans-serif;
    font-size:16px;
    line-height:1.75;
    text-align:right;
}

button,a {
    -webkit-tap-highlight-color:transparent;
}

button,input {
    font:inherit;
}

a {
    color:inherit;
    text-decoration:none;
}

a:hover {
    color:var(--accent);
}

button {
    cursor:pointer;
}

button:focus-visible,a:focus-visible {
    outline:3px solid var(--accent);
    outline-offset:5px;
}

h1,h2,h3,p {
    margin:0;
}

h1,h2,h3 {
    font-family:inherit;
    color:var(--text);
}

h2 {
    font-size:30px;
    line-height:1.5;
    font-weight:800;
}

h3 {
    font-size:26px;
    font-weight:700;
    line-height:1.3;
}

h3[dir=ltr],.wordmark {
    font-family:Arial,Helvetica,sans-serif;
}

.page-shell {
    width:calc(100% - 88px);
    max-width:1360px;
    margin-inline:auto;
}

.icon-definitions {
    position:absolute;
    width:0;
    height:0;
    overflow:hidden;
}

.icon {
    display:inline-block;
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0;
    vertical-align:middle;
}

.skip-link {
    position:fixed;
    inset-block-start:12px;
    inset-inline-start:12px;
    z-index:1100;
    padding:10px 18px;
    background:var(--accent);
    color:#101114;
    transform:translateY(-160%);
    border-radius:6px;
}

.skip-link:focus {
    transform:none;
    color:#101114;
}

.site-header {
    border-bottom:1px solid #25282d;
}

.header-inner {
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.wordmark {
    font-size:42px;
    line-height:1;
    font-weight:800;
    letter-spacing:-1.6px;
    color:var(--text);
    white-space:nowrap;
}

.wordmark:hover {
    color:var(--text);
}

.wordmark span {
    color:var(--accent);
}

.main-nav {
    display:flex;
    align-items:stretch;
    gap:52px;
    align-self:stretch;
}

.main-nav a {
    display:flex;
    align-items:center;
    position:relative;
    font-size:16px;
    font-weight:600;
}

.main-nav .nav-download::after {
    content:'';
    position:absolute;
    bottom:10px;
    right:0;
    left:0;
    height:2px;
    background:var(--accent);
}

.help-trigger {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:42px;
    padding:6px 14px;
    border:1px solid #90866a;
    border-radius:7px;
    background:transparent;
    color:var(--text);
    font-size:15px;
    font-weight:600;
}

.help-trigger .icon {
    width:22px;
    height:22px;
}

.help-trigger:hover {
    border-color:var(--accent);
    color:var(--accent);
}

.help-mobile,.mobile-break {
    display:none;
}

.hero {
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    align-items:center;
    gap:24px;
    min-height:424px;
    padding-block:20px 0;
}

.hero-copy {
    padding-inline-start:8px;
    padding-block:24px;
}

.eyebrow {
    font-size:19px;
    color:var(--muted);
    margin-bottom:22px;
}

.hero h1 {
    font-size:clamp(46px,4.8vw,70px);
    font-weight:900;
    line-height:1.48;
    letter-spacing:-1px;
}

.hero h1 span {
    display:block;
    color:var(--accent);
}

.hero-description {
    font-size:18px;
    line-height:2;
    color:var(--muted);
    margin-top:22px;
    max-width:600px;
}

.hero-art {
    display:block;
    min-width:0;
    mix-blend-mode:lighten;
    margin-inline:-26px -30px;
}

.hero-art img {
    display:block;
    width:100%;
    height:auto;
    max-height:450px;
    mix-blend-mode:lighten;
    aspect-ratio:3/2;
    object-fit:contain;
}

.download-section {
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:32px;
    align-items:start;
    padding-bottom:22px;
}

.section-heading {
    padding-top:8px;
}

.section-heading p {
    color:var(--muted);
    font-size:15px;
    margin-top:8px;
}

.download-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.download-card {
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    column-gap:20px;
    row-gap:14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:linear-gradient(115deg,#181c21,#111418);
    padding:24px;
    min-width:0;
    min-height:184px;
}

.platform-icon {
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border:1px solid #35383e;
    border-radius:9px;
    color:var(--text);
}

.platform-icon .icon {
    width:40px;
    height:40px;
}

.platform-heading {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}

.primary-badge {
    border:1px solid #a68c19;
    color:var(--accent);
    font-size:11px;
    padding:1px 7px;
    border-radius:4px;
    white-space:nowrap;
}

.download-copy p {
    color:var(--muted);
    font-size:14px;
    line-height:1.85;
    margin-top:6px;
}

.download-actions {
    grid-column:2;
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:8px;
}

.action {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:44px;
    padding:6px 15px;
    font-size:16px;
    font-weight:700;
    line-height:1.7;
    text-align:center;
    border:1px solid transparent;
    border-radius:6px;
    transition:background-color .15s,color .15s,border-color .15s;
}

.action .icon {
    width:22px;
    height:22px;
    stroke-width:1.7;
}

.action-primary {
    background:var(--accent);
    color:#12130e;
}

.action-primary:hover {
    background:#ffe052;
    color:#12130e;
}

.legacy-download {
    color:var(--muted);
    text-align:center;
    text-decoration:underline;
    text-underline-offset:4px;
    font-size:14px;
    line-height:1.65;
    min-height:24px;
}

.tv-section {
    padding-top:10px;
    border-top:1px solid var(--border);
}

.tv-intro {
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:32px;
    align-items:start;
    margin-bottom:20px;
}

.connection-note {
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.connection-note .icon {
    color:var(--accent);
    width:19px;
    height:22px;
    margin-top:2px;
}

.connection-steps {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    list-style:none;
    padding:18px 20px;
    margin:0;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
}

.connection-steps li {
    display:flex;
    align-items:flex-start;
    position:relative;
    gap:10px;
    min-width:0;
    padding-inline-end:12px;
}

.step-number {
    display:grid;
    place-items:center;
    flex-shrink:0;
    width:26px;
    height:29px;
    border-radius:8px;
    background:var(--accent);
    color:#141512;
    font-weight:700;
    line-height:1;
}

.connection-steps li>div>span {
    font-size:16px;
    line-height:1.5;
    font-weight:600;
    display:block;
    margin-top:1px;
}

.connection-steps p {
    font-size:12px;
    line-height:1.9;
    margin-top:6px;
    color:var(--muted);
}

.connection-steps .icon {
    position:absolute;
    left:-20px;
    top:24px;
    color:var(--muted);
    width:24px;
}

.tv-grid {
    display:grid;
    grid-auto-rows:1fr;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.tv-card {
    min-width:0;
    display:flex;
    align-items:center;
    flex-direction:column;
    text-align:center;
    padding:22px 22px 18px;
    min-height:214px;
    border:1px solid var(--border);
    border-radius:12px;
    background:linear-gradient(115deg,#181c21,#111418);
}

.tv-card>.icon {
    width:52px;
    height:52px;
    margin-bottom:12px;
    stroke-width:1.15;
    color:var(--text);
}

.tv-card h3 {
    font-size:24px;
    white-space:nowrap;
}

.tv-card h3:not([dir]) {
    font-size:24px;
}

.tv-description {
    font-size:14px;
    color:var(--muted);
    margin-top:4px;
    margin-bottom:16px;
}

.tv-card .action {
    width:100%;
    margin-top:auto;
    min-height:40px;
    font-weight:600;
}

.action-outline {
    border-color:#bda632;
    background:transparent;
    color:var(--text);
}

.action-outline:hover {
    background:var(--accent);
    border-color:var(--accent);
    color:#111;
}

.platform-system {
    font-family:Arial,Helvetica,sans-serif;
    font-size:20px;
    line-height:1.4;
    margin-top:4px;
}

.coming-soon {
    color:var(--accent);
    margin-top:auto;
    padding-top:10px;
    width:100%;
    font-weight:700;
    font-size:16px;
    line-height:1.7;
}

.status-divider {
    display:block;
    height:1px;
    background:#575957;
    position:relative;
    width:82%;
    margin:0 auto 14px;
}

.status-divider::after {
    content:'';
    position:absolute;
    top:-4px;
    left:calc(50% - 5px);
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--accent);
}

.site-footer {
    border-top:1px solid var(--border);
    margin-top:24px;
}

.footer-inner {
    min-height:70px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.footer-inner p {
    font-size:14px;
    color:#9fa2a8;
}

.social-links {
    display:flex;
    gap:12px;
}

.social-links a {
    width:42px;
    height:44px;
    display:grid;
    place-items:center;
    color:#c5c7cb;
}

.social-links a:hover {
    color:var(--accent);
}

.social-links .icon {
    width:34px;
    height:34px;
    stroke-width:1.5;
}

#globalHelpModal .modal-content {
    background:var(--surface);
    color:var(--text);
    border:1px solid var(--border);
    border-radius:16px;
}

#globalHelpModal .modal-header,#globalHelpModal .modal-footer {
    border-color:var(--border);
    padding:18px 22px;
}

#globalHelpModal .modal-title {
    font-size:19px;
    line-height:1.8;
}

#globalHelpModal .modal-body {
    padding:24px;
    line-height:2;
}

#globalHelpModal .modal-body ul {
    padding-inline-start:24px;
}

#globalHelpModal .text-primary {
    color:var(--accent)!important;
    font-size:18px;
}

#globalHelpModal .alert-info {
    background:#222722;
    border:1px solid #424b37;
    color:#e3e8da;
}

#globalHelpModal .help-address {
    list-style:none;
    background:#0b0d10;
    border-color:var(--border)!important;
    margin-inline-start:-24px;
}

#globalHelpModal code {
    color:var(--accent);
    font-size:18px;
}

#globalHelpModal .btn-secondary {
    background:#30343a;
    border-color:#484d55;
    color:var(--text);
    min-height:44px;
    font-family:inherit;
}

#globalHelpModal .btn-close {
    margin:0 10px 0 0;
    flex-shrink:0;
    min-width:24px;
    min-height:24px;
}

@media(min-width:1400px) {
    .hero {
        min-height:445px;
    }
    .download-card {
        min-height:178px;
    }
    .hero-art {
        margin-inline:-36px -30px;
    }
}

@media(max-width:1199px) {
    .page-shell {
        width:calc(100% - 56px);
    }
    .hero-art {
        margin-inline:-16px;
    }
    .hero {
        min-height:360px;
    }
    .hero h1 {
        font-size:55px;
    }
    .hero-description {
        font-size:16px;
    }
    .download-section,.tv-intro {
        grid-template-columns:1fr;
        gap:16px;
    }
    .section-heading {
        padding-top:0;
    }
    .section-heading h2 {
        font-size:27px;
    }
    .download-card {
        grid-template-columns:64px minmax(0,1fr);
        min-height:180px;
    }
    .download-actions {
        grid-column:2;
    }
    .tv-section {
        margin-top:8px;
        padding-top:22px;
    }
    .connection-steps li>div>span {
        font-size:16px;
    }
    .tv-card {
        padding-inline:16px;
    }
    .tv-card h3 {
        font-size:22px;
    }
    .tv-card h3:not([dir]) {
        font-size:21px;
    }
}

@media(min-width:701px) and (max-width:900px) {
    .hero h1 {
        font-size:44px;
    }
    .hero {
        min-height:315px;
    }
    .eyebrow {
        font-size:16px;
        margin-bottom:12px;
    }
    .hero-description {
        font-size:15px;
        margin-top:14px;
    }
    .wordmark {
        font-size:34px;
    }
    .main-nav {
        gap:24px;
    }
    .main-nav a {
        font-size:14px;
    }
    .help-trigger {
        font-size:13px;
    }
    .download-card {
        column-gap:14px;
        padding:20px;
    }
    .download-actions {
        grid-column:1/-1;
    }
    .platform-heading h3 {
        font-size:24px;
    }
    .tv-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tv-card {
        min-height:215px;
    }
}

@media(max-width:700px) {
    html {
        scroll-padding-top:16px;
    }
    body {
        font-size:15px;
    }
    .page-shell {
        width:calc(100% - 40px);
    }
    .header-inner {
        min-height:74px;
        gap:16px;
    }
    .wordmark {
        font-size:34px;
        letter-spacing:-1.3px;
    }
    .main-nav,.help-desktop {
        display:none;
    }
    .help-mobile,.mobile-break {
        display:inline;
    }
    .help-trigger {
        border:0;
        padding:4px 0;
        min-height:44px;
        gap:8px;
        font-size:15px;
        flex-direction:row-reverse;
    }
    .help-trigger .icon {
        width:24px;
        height:24px;
        color:var(--accent);
    }
    .hero {
        display:flex;
        flex-direction:column;
        gap:0;
        padding-top:26px;
        min-height:0;
    }
    .hero-copy {
        text-align:center;
        padding:0;
        width:100%;
    }
    .eyebrow {
        color:var(--accent);
        font-size:15px;
        margin-bottom:10px;
    }
    .hero h1 {
        font-size:44px;
        line-height:1.3;
        letter-spacing:-.5px;
    }
    .hero-description {
        font-size:15px;
        line-height:1.85;
        margin-top:12px;
        max-width:none;
    }
    .hero-art {
        width:calc(100% + 24px);
        margin:4px -12px -8px;
    }
    .hero-art img {
        max-height:none;
    }
    .download-section {
        display:block;
        padding-bottom:0;
    }
    .section-heading h2 {
        font-size:24px;
        font-weight:800;
    }
    .download-section>.section-heading {
        margin-bottom:12px;
    }
    .download-section>.section-heading>p {
        display:none;
    }
    .download-grid {
        grid-template-columns:1fr;
        gap:12px;
    }
    .download-card {
        grid-template-columns:54px minmax(0,1fr);
        gap:12px 14px;
        padding:18px 16px;
        min-height:0;
        border-radius:14px;
    }
    .platform-icon {
        border:0;
        width:54px;
        height:54px;
        color:var(--accent);
    }
    .platform-icon .icon {
        width:45px;
        height:45px;
    }
    .platform-heading {
        gap:8px;
    }
    .platform-heading h3 {
        font-size:26px;
    }
    .primary-badge {
        font-size:10px;
        padding:0 5px;
    }
    .download-copy p {
        font-size:14px;
        line-height:1.8;
        margin-top:5px;
    }
    .download-actions {
        grid-column:1/-1;
        gap:9px;
    }
    .action {
        min-height:48px;
        font-size:16px;
        gap:12px;
        padding:8px 10px;
        border-radius:7px;
    }
    .legacy-download {
        font-size:14px;
        color:var(--accent);
        min-height:32px;
        display:grid;
        place-items:center;
    }
    .tv-section {
        border-top:0;
        margin-top:22px;
        padding-top:0;
    }
    .tv-intro {
        display:block;
        margin-bottom:12px;
    }
    .connection-note {
        font-size:13px!important;
        gap:7px;
        line-height:1.8;
        margin-top:7px!important;
        align-items:center;
    }
    .connection-note .icon {
        width:17px;
        height:22px;
        color:var(--text);
        margin:0;
    }
    .connection-steps {
        display:flex;
        flex-direction:column;
        gap:0;
        padding:0;
        margin-top:12px;
        border-radius:13px;
        overflow:hidden;
    }
    .connection-steps li {
        gap:13px;
        align-items:center;
        padding:12px 16px;
        min-height:57px;
    }
    .connection-steps li+li {
        border-top:1px solid #34383e;
    }
    .connection-steps li>div>span {
        font-size:17px;
        font-weight:600;
        margin:0;
    }
    .connection-steps p,.connection-steps .icon {
        display:none;
    }
    .step-number {
        position:relative;
        border:1.5px solid var(--accent);
        border-radius:50%;
        background:transparent;
        color:var(--accent);
        width:31px;
        height:31px;
        font-size:21px;
    }
    .connection-steps li:not(:last-child) .step-number::after {
        content:'';
        position:absolute;
        width:1px;
        height:26px;
        background:#76777b;
        top:31px;
        right:13.5px;
    }
    .tv-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .tv-card {
        border-radius:14px;
        padding:18px 12px 14px;
        min-height:196px;
    }
    .tv-card>.icon {
        width:48px;
        height:48px;
        margin-bottom:13px;
        color:var(--accent);
        stroke-width:1.15;
    }
    .tv-card h3 {
        font-size:22px;
    }
    .tv-card h3:not([dir]) {
        font-size:20px;
        line-height:1.5;
    }
    .tv-description {
        display:none;
    }
    .tv-card .action {
        font-size:14px;
        min-height:44px;
        padding:6px 3px;
        color:var(--accent);
        margin-top:16px;
    }
    .tv-card .action:hover {
        color:#111;
    }
    .platform-system {
        font-size:21px;
        margin-top:2px;
    }
    .coming-soon {
        font-size:15px;
        line-height:1.6;
        padding-top:9px;
    }
    .coming-soon>span:last-child {
        display:block;
        margin:auto;
    }
    .coming-copy span {
        display:block;
    }
    .status-divider {
        margin-bottom:10px;
    }
    .status-divider::after {
        width:8px;
        height:8px;
        top:-3px;
    }
    .site-footer {
        border-top:0;
        margin-top:18px;
        padding-bottom:max(16px,env(safe-area-inset-bottom));
    }
    .footer-inner {
        flex-direction:column-reverse;
        gap:8px;
        min-height:0;
    }
    .social-links {
        gap:18px;
    }
    .social-links a {
        width:44px;
        height:44px;
    }
    .social-links .icon {
        width:36px;
        height:36px;
    }
    .footer-inner p {
        font-size:13px;
    }
    .copyright-detail {
        display:none;
    }
    #globalHelpModal .modal-title {
        font-size:17px;
    }
    #globalHelpModal .modal-header {
        padding:14px;
    }
    #globalHelpModal .modal-body {
        padding:18px;
        font-size:15px;
    }
}

@media(max-width:374px) {
    .page-shell {
        width:calc(100% - 28px);
    }
    .wordmark {
        font-size:30px;
    }
    .hero h1 {
        font-size:39px;
    }
    .hero-description {
        font-size:14px;
    }
    .hero-art {
        margin-top:10px;
    }
    .primary-badge {
        display:none;
    }
    .tv-grid {
        gap:10px;
    }
    .tv-card {
        padding-inline:9px;
        min-height:190px;
    }
    .tv-card h3 {
        font-size:19px;
    }
    .tv-card h3:not([dir]) {
        font-size:18px;
    }
    .tv-card .action {
        font-size:13px;
    }
    .connection-steps li>div>span {
        font-size:15px;
    }
    .download-card .action {
        font-size:14px;
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*::before,*::after {
        transition:none!important;
    }
}
