/* ================================================================
   ARCADIA MU — READABILITY & DESKTOP SCALE V2.0
   Calibrates the native 100% browser view so the interface has the
   visual presence and legibility previously felt around 110–125% zoom.

   Principles:
   - no CSS zoom/transform scaling;
   - larger type where the old UI used 7–12px text;
   - slightly wider desktop canvas so the larger UI still breathes;
   - shared shell changes apply to homepage and inner pages;
   - responsive layouts remain controlled by the existing breakpoints.
   ================================================================ */

/* ---------------------------------------------------------------
   Shared baseline
   --------------------------------------------------------------- */
body.arc-portal-page {
    font-size: 16px;
    line-height: 1.58;
}

.arc-eyebrow {
    font-size: 12px;
    line-height: 1.35;
}

.arc-button {
    min-height: 50px;
    padding-inline: 24px;
    font-size: 13px;
}

.arc-button--small {
    min-height: 42px;
    padding-inline: 18px;
    font-size: 11px;
}

.arc-text-link {
    font-size: 13px;
}

/* ---------------------------------------------------------------
   Shared header / navigation
   --------------------------------------------------------------- */
.arc-announcement {
    height: 35px;
}

.arc-announcement__inner {
    font-size: 11px;
    letter-spacing: .5px;
}

.arc-announcement__online strong {
    font-size: 12px;
}

.arc-navbar {
    height: 78px;
}

.arc-navbar__inner {
    gap: 34px;
}

.arc-brand {
    gap: 12px;
}

.arc-brand__mark {
    width: 40px;
    height: 40px;
    font-size: 22px;
}

.arc-brand__name {
    font-size: 18px;
}

.arc-brand__name small {
    margin-top: 5px;
    font-size: 8px;
    letter-spacing: 2.35px;
}

.arc-nav-links > a,
.arc-nav-dropdown > a,
.arc-nav-store,
.arc-nav-login {
    min-height: 42px;
    font-size: 11px;
    letter-spacing: .62px;
}

.arc-nav-dropdown__menu a {
    font-size: 12px;
    line-height: 1.4;
}

.arc-language__button {
    height: 42px;
    font-size: 13px;
}

.arc-language__menu a {
    font-size: 11px;
}

/* ---------------------------------------------------------------
   Homepage: hero
   --------------------------------------------------------------- */
.arc-portal-hero__copy > p:not(.arc-eyebrow) {
    font-size: 16px;
    line-height: 1.68;
}

.arc-hero-status {
    padding: 24px;
}

.arc-hero-status__top {
    font-size: 10px;
}

.arc-hero-status__number {
    font-size: 38px;
}

.arc-hero-status__label {
    font-size: 11px;
}

.arc-hero-status__online {
    font-size: 10px;
}

.arc-hero-status__online strong {
    font-size: 20px;
}

.arc-hero-status__facts span {
    font-size: 12px;
    line-height: 1.45;
}

/* ---------------------------------------------------------------
   Homepage: quick access and content cards
   --------------------------------------------------------------- */
.arc-quick-link {
    min-height: 108px;
    gap: 14px;
    padding: 19px 17px;
}

.arc-quick-link__icon {
    width: 40px;
    height: 40px;
}

.arc-quick-link__copy strong {
    font-size: 12px;
    line-height: 1.25;
}

.arc-quick-link__copy small {
    margin-top: 5px;
    color: #8b7969;
    font-size: 10px;
    line-height: 1.45;
}

.arc-section-heading h2 {
    font-size: clamp(28px, 3vw, 40px);
}

.arc-section-heading--split > p {
    font-size: 14px;
}

.arc-panel__number {
    font-size: 12px;
}

.arc-panel__header h3,
.arc-ranking-card__header h3 {
    font-size: 19px;
}

.arc-event-main__eyebrow {
    font-size: 10px;
}

.arc-event-main__copy strong {
    font-size: 19px;
}

.arc-event-main__copy small {
    font-size: 11px;
}

.arc-upcoming-events__title span {
    font-size: 11px;
}

.arc-upcoming-events__title small {
    font-size: 9px;
}

.arc-upcoming-events li > span,
.arc-upcoming-events li time,
.arc-upcoming-events__note {
    font-size: 10px;
}

.arc-upcoming-events li strong {
    font-size: 12px;
}

.arc-panel__footer-link,
.arc-ranking-card__link {
    font-size: 11px;
}

.arc-news-row__date strong {
    font-size: 16px;
}

.arc-news-row__date small,
.arc-news-row__copy > small {
    font-size: 9px;
}

.arc-news-row__copy > strong {
    font-size: 12px;
}

.arc-news-row.is-featured .arc-news-row__copy > strong {
    font-size: 15px;
}

.arc-ranking-card__header > span {
    font-size: 10px;
}

.arc-ranking-list__position {
    font-size: 12px;
}

.arc-ranking-list strong {
    font-size: 13px;
}

.arc-ranking-list small {
    font-size: 11px;
}

.arc-ranking-wait strong {
    font-size: 13px;
}

.arc-guide-feature span,
.arc-weekly-card small {
    font-size: 10px;
}

.arc-guide-feature p {
    font-size: 13px;
}

.arc-guide-feature strong {
    font-size: 11px;
}

.arc-guide-cards strong {
    font-size: 13px;
}

.arc-guide-cards small {
    font-size: 11px;
}

.arc-weekly-card p {
    font-size: 12px;
}

.arc-value-grid strong {
    font-size: 12px;
}

.arc-value-grid p {
    font-size: 11px;
}

.arc-community-card__copy p {
    font-size: 13px;
    line-height: 1.6;
}

/* ---------------------------------------------------------------
   Shared footer and login modal
   --------------------------------------------------------------- */
.arc-footer__brand p,
.arc-footer__nav h3,
.arc-footer__nav a {
    font-size: 11px;
}

.arc-footer__bottom {
    font-size: 10px;
    line-height: 1.55;
}

.arc-login__brand small {
    font-size: 11px;
}

.arc-login label {
    font-size: 11px;
}

.arc-login input {
    min-height: 48px;
    font-size: 15px;
}

.arc-login__forgot {
    font-size: 12px;
}

/* ---------------------------------------------------------------
   Interior pages: masthead + legacy WebEngine content
   --------------------------------------------------------------- */
.arc-breadcrumb {
    font-size: 11px;
    line-height: 1.35;
}

.arc-inner-masthead__copy {
    font-size: 15px;
    line-height: 1.7;
}

.arc-inner-module,
.arc-inner-module p,
.arc-inner-module li,
.arc-inner-module label,
.arc-inner-module td,
.arc-inner-module th {
    font-size: 15px;
    line-height: 1.6;
}

.arc-inner-module .downTxt,
.arc-inner-module .help-block,
.arc-inner-module .desc {
    font-size: 13px;
    line-height: 1.55;
}

.arc-inner-module .form-control,
.arc-inner-module input[type="text"],
.arc-inner-module input[type="password"],
.arc-inner-module input[type="email"],
.arc-inner-module input[type="number"],
.arc-inner-module select,
.arc-inner-module textarea {
    min-height: 46px;
    font-size: 14px;
}

.arc-inner-module .btn,
.arc-inner-module .button,
.arc-inner-module button[type="submit"] {
    min-height: 44px;
    font-size: 12px;
}

.arc-inner-module table th,
.arc-inner-module .table > thead > tr > th {
    font-size: 11px;
}

.arc-inner-module .nav-tabs > li > a {
    font-size: 13px;
}

/* ---------------------------------------------------------------
   Wide desktop calibration.
   1180px made the 100% view feel miniature on modern 1080p/1440p
   monitors. A wider canvas recreates the visual presence of browser
   zoom without scaling the page itself.
   --------------------------------------------------------------- */
@media (min-width: 1200px) {
    body.arc-portal-page:not(.arc-inner-page) {
        --arc-container: 1340px;
    }

    body.arc-inner-page {
        --arc-container: 1340px;
    }

    .arc-navbar__inner {
        gap: 40px;
    }

    .arc-nav-links {
        gap: 25px;
    }

    .arc-nav-actions {
        gap: 15px;
    }

    .arc-portal-hero,
    .arc-portal-hero__inner {
        min-height: 565px;
    }

    .arc-portal-hero__inner {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 54px;
        padding-block: 42px;
    }

    .arc-portal-hero__content {
        max-width: 680px;
    }

    .arc-portal-hero__copy,
    .arc-portal-hero h1,
    .arc-portal-hero__copy > p:not(.arc-eyebrow) {
        max-width: 620px;
    }

    .arc-portal-hero h1 {
        font-size: clamp(38px, 3.35vw, 53px);
        line-height: 1.04;
    }

    .arc-hero-status {
        min-width: 320px;
    }

    .arc-quick-section {
        margin-top: -20px;
    }

    .arc-section {
        padding-block: 82px;
    }

    .arc-activity-section {
        padding-top: 76px;
    }

    .arc-inner-masthead {
        --arc-inner-frame-width: 1400px;
        min-height: 238px;
    }

    .arc-inner-masthead__inner {
        min-height: 238px;
    }
}

/* Keep the full desktop navigation healthy before the existing 930px
   mobile-menu breakpoint. The middle desktop range gets a modest type
   increase but does not inherit the wider 1340px canvas. */
@media (min-width: 931px) and (max-width: 1199px) {
    .arc-navbar__inner {
        gap: 18px;
    }

    .arc-nav-links {
        gap: 14px;
    }

    .arc-nav-actions {
        gap: 8px;
    }

    .arc-nav-links > a,
    .arc-nav-dropdown > a,
    .arc-nav-store,
    .arc-nav-login {
        font-size: 10px;
    }

    .arc-button--small {
        padding-inline: 14px;
        font-size: 10px;
    }
}

/* ---------------------------------------------------------------
   Tablet/mobile readability. Layout remains the same; only the text
   that was especially small is protected from becoming hard to read.
   --------------------------------------------------------------- */
@media (max-width: 930px) {
    .arc-navbar {
        height: 72px;
    }

    .arc-nav-panel {
        top: 72px;
    }

    .arc-nav-links > a,
    .arc-nav-dropdown > a,
    .arc-nav-store,
    .arc-nav-login {
        font-size: 12px;
    }

    .arc-nav-dropdown__menu a,
    .arc-language__menu a {
        font-size: 12px;
    }

    .arc-inner-masthead__copy {
        font-size: 14px;
    }
}

@media (max-width: 720px) {
    .arc-navbar {
        height: 66px;
    }

    .arc-nav-panel {
        top: 66px;
    }

    .arc-portal-hero__copy > p:not(.arc-eyebrow) {
        font-size: 13px;
        line-height: 1.6;
    }

    .arc-portal-hero__actions .arc-button {
        font-size: 11px;
    }

    .arc-quick-link__copy strong {
        font-size: 10px;
    }

    .arc-quick-link__copy small {
        font-size: 9px;
        line-height: 1.4;
    }

    .arc-inner-module,
    .arc-inner-module p,
    .arc-inner-module li,
    .arc-inner-module label,
    .arc-inner-module td,
    .arc-inner-module th {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .arc-announcement__status {
        font-size: 9px;
    }

    .arc-footer__brand p,
    .arc-footer__nav h3,
    .arc-footer__nav a {
        font-size: 11px;
    }
}


/* ===============================================================
   V2.0 — Full-site polish
   =============================================================== */

/* Community CTA: the email link now shares the exact visual centerline
   of the Discord button instead of hanging from its left edge. */
@media (min-width: 721px) {
    .arc-community-card__actions {
        width: 220px;
        min-width: 220px;
        justify-self: center;
        align-items: stretch;
    }

    .arc-community-card__actions > .arc-button--discord,
    .arc-community-card__actions > .arc-text-link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* Interior-route baseline: the page-specific styles are calibrated in
   their own stylesheets, while these shared controls keep forms/tables
   consistent across legacy and modern WebEngine modules. */
@media (min-width: 721px) {
    body.arc-inner-page .arc-inner-module .form-control,
    body.arc-inner-page .arc-inner-module input[type="text"],
    body.arc-inner-page .arc-inner-module input[type="password"],
    body.arc-inner-page .arc-inner-module input[type="email"],
    body.arc-inner-page .arc-inner-module input[type="number"],
    body.arc-inner-page .arc-inner-module select,
    body.arc-inner-page .arc-inner-module textarea {
        min-height: 48px;
    }

    body.arc-inner-page .arc-inner-module .btn,
    body.arc-inner-page .arc-inner-module .button,
    body.arc-inner-page .arc-inner-module button[type="submit"] {
        min-height: 46px;
        padding-top: 11px;
        padding-bottom: 11px;
    }
}
