/* Small, scoped refinements to the existing Blockdrop content pages. */
:is(.home-page,.community-page,.account-page,.submission-page,.staff-application-page,.contact-page,.f-page) { color-scheme: dark; }
:is(.home-page,.community-page) :is(a,button):focus-visible {
    outline: 3px solid #79d9ff;
    outline-offset: 4px;
}
.home-page .launch-hero h1 { font-size: clamp(2.35rem, 5.2vw, 4rem); line-height: 1.08; letter-spacing: -.045em; }
.home-page .launch-hero { gap: 2rem; }
.home-page .launch-status-card { align-self: center; }
.home-page .launch-status-card > p,
.home-page .home-priority p,
.home-page .home-section-heading > p,
.home-page .community-copy > p { font-size: 14px; color: #afc1d3; }
.home-page .launch-checklist strong { font-size: 13px; }
.home-page .launch-checklist small,
.home-page .owner-signoff small,
.home-page .launch-server-address span,
.home-page .community-actions > span { font-size: 12px; color: #a5b8cb; }
.home-page .launch-checklist li { padding: 13px 12px; }
.home-page .launch-server-address { gap: 12px; flex-wrap: wrap; }
.home-page .launch-server-address strong { font-size: 13px; }
.home-page .owner-signoff strong { font-size: 14px; }
.home-page .home-button { font-size: 14px; }
.home-page .home-priority { padding: 24px; border-color: #34485f; box-shadow: 0 8px 24px #050d1914; }
.home-page .home-priority h3 { font-size: 18px; letter-spacing: -.02em; }
.home-page .priority-number { color: #88a3bd; font-size: 14px; font-variant-numeric: tabular-nums; }
.home-page .home-section-heading { padding-bottom: 18px; border-bottom: 1px solid #2c3d53; }
.community-page .community-section-heading > p,
.community-page .vote-reward-card > p,
.community-page .verification-copy p,
.community-page .modern-rule-card > p:not(.modern-rule-note) { font-size: 14px; line-height: 1.75; color: #b1c3d6; }
.community-page .modern-rule-heading h3 { font-size: 16px; }
.community-page .modern-rule-card { padding: 19px; }
.community-page :is(.rules-index-card em,.category-heading-copy em,.verification-key small,
.vote-steps small,.reward-reminder small,.community-info-banner small,.modern-rule-note) {
    font-size: 12px; color: #a5b8cb; line-height: 1.65;
}
.community-page :is(.vote-hero-facts small,.rules-overview-stats small,.category-heading-copy small) { font-size: 11px; color: #a5b8cb; }
.community-page :is(.rules-index-card strong,.vote-steps strong,.community-info-banner strong,.reward-reminder strong) { font-size: 14px; }
.community-page :is(.community-button,.rules-expand-all,.verification-copy > a,.community-info-banner > a) { font-size: 13px; }
.community-page .rules-expand-all { min-height: 44px; }
.community-page .punishment { font-size: 11px; padding: 7px 10px; }
.community-page .modern-rule-number { font-size: 11px; }
.community-page .vote-site-copy > span { font-size: 13px; color: #afc1d3; }
.community-page .vote-site-action { font-size: 13px; }
@media (max-width: 640px) {
    .home-page .launch-hero h1 { font-size: clamp(2rem, 10vw, 3rem); }
    .home-page .launch-hero { gap: 20px; }
    .home-page .home-priority { padding: 21px; }
    .community-page .modern-rule-card { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    :is(.home-page,.community-page) *, :is(.home-page,.community-page) *::before, :is(.home-page,.community-page) *::after {
        animation: none !important; transition: none !important; scroll-behavior: auto !important;
    }
    :is(.home-page,.community-page) :is(a,button):hover { transform: none; }
}

/* Contact keeps the existing submission contract, with a clearer page structure. */
.contact-page { padding-bottom: 64px; color: #eff6ff; font-family: Poppins,sans-serif; }
.contact-heading { max-width: 720px; margin-bottom: 28px; }
.contact-kicker { display:block; margin-bottom: 12px; color: #85d7ff; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-heading h1 { color: #f4f8ff; margin: 0 0 14px; font-size: clamp(32px,4vw,48px); font-weight: 700; line-height: 1.15; letter-spacing: -.035em; }
.contact-heading p { margin: 0; color: #b2c4d7; font-size: 15px; line-height: 1.8; }
.contact-layout { display:grid; grid-template-columns: minmax(0,1.55fr) minmax(250px,1fr); gap:24px; align-items:start; }
.contact-form-card,.contact-help { border:1px solid #33475f; border-radius:16px; background:#1a283e; padding:28px; box-shadow:0 12px 36px #050d1926; }
.contact-page h2 { color: #f4f8ff; margin:0 0 8px; font-size:20px; font-weight:600; letter-spacing:-.025em; }
.contact-note { margin:0 0 24px; color:#a5b8cb; font-size:13px; line-height:1.7; }
.contact-form { display:grid; gap:20px; }
.contact-field label { display:block; margin-bottom:8px; font-size:14px; font-weight:600; color:#deebf8; }
.contact-field input,.contact-field textarea { display:block; width:100%; min-width:0; padding:12px 14px; border:1px solid #455a73; border-radius:9px; background:#111f33; color:#f5f9ff; font:400 16px/1.6 Poppins,sans-serif; }
.contact-field input { min-height:48px; }
.contact-field textarea { min-height:160px; resize:vertical; }
.contact-field :is(input,textarea):focus { border-color:#79d9ff; outline:3px solid #79d9ff30; outline-offset:1px; }
.contact-submit { justify-self:start; min-height:46px; padding:12px 22px; border:1px solid #368ccd; border-radius:9px; background:linear-gradient(135deg,#246aa1,#205783); color:#fff; font:600 14px/1.5 Poppins,sans-serif; cursor:pointer; }
.contact-submit:hover { background:#2c76b0; }
.contact-page :is(a,button):focus-visible { outline:3px solid #79d9ff; outline-offset:4px; }
.contact-help { background:linear-gradient(140deg,#1c3048,#152339); }
.contact-help-links { display:grid; gap:0; margin-top:18px; }
.contact-help-links a { display:flex; justify-content:space-between; gap:14px; padding:17px 0; border-top:1px solid #34495f; color:#e8f2ff; font-size:14px; text-decoration:none; }
.contact-help-links a:hover { color:#86d8ff; }
.contact-help-links span { color:#86d8ff; }
.contact-success { margin:0 0 24px; padding:16px 20px; border:1px solid #477345; border-radius:12px; background:#203c30; color:#d8f5cf; font-size:14px; line-height:1.7; }
@media(max-width:767px) {
    .contact-layout { grid-template-columns:1fr; gap:20px; }
    .contact-form-card,.contact-help { padding:22px; }
}
@media(max-width:420px) {
    .contact-form-card,.contact-help { padding:18px; }
    .contact-submit { width:100%; }
}

/* Account and support details: readable small copy, consistent inputs and focus. */
.account-page :is(.account-panel, .account-metric),
.submission-page .submission-panel,
.staff-application-page :is(.staff-form-card, .staff-profile-card) {
    border-color: rgba(159, 187, 218, .22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 14px 36px rgba(4, 11, 23, .16);
}
.account-page :is(.account-eyebrow, .account-metric-label, .account-detail-list dt, .account-standing-badge),
.submission-page :is(.submission-eyebrow, .submission-kicker, .submission-private, .submission-count, .submission-status, .submission-context span),
.staff-application-page :is(.staff-eyebrow, .staff-section-kicker, .staff-profile-badge, .staff-status-pill, .staff-profile-card > small, .staff-status-meta small) {
    font-size: 12px;
    line-height: 1.5;
}
.account-page :is(.account-metric small, .account-metric small a, .account-detail-list dd small, .account-standing-stats span, .account-activity-list small),
.submission-page :is(.submission-history-main small, .submission-detail > span, .submission-outcome > span, .submission-outcome small),
.staff-application-page :is(.staff-profile-card dt, .staff-progress small) {
    color: #a5bad0;
    font-size: 12px;
    line-height: 1.5;
}
.account-page :is(.account-panel-heading p, .account-panel-copy, .account-standing-summary, .account-empty-state p, .account-connection-status p),
.submission-page :is(.submission-state p, .submission-empty-state p, .submission-history-limit),
.staff-application-page :is(.staff-field > small, .staff-form-heading p, .staff-submit-bar small, .staff-notice span) {
    color: #aebfd2;
    font-size: 13px;
    line-height: 1.65;
}
.account-page :is(.account-hero-meta span, .account-text-link, .account-activity-list strong, .account-password-form label span),
.submission-page :is(.submission-summary span, .submission-form label, .submission-tabs a, .submission-history-main strong, .submission-detail p, .submission-outcome p),
.staff-application-page :is(.staff-hero-facts span, .staff-profile-card dd, .staff-field label, .staff-progress strong, .staff-status-meta strong, .staff-submit-bar strong) {
    font-size: 13px;
    line-height: 1.55;
}
.account-page :is(.account-detail-list dt, .account-metric-label) { color: #a5bad0; }
.submission-page .submission-form label > span { color: #a5bad0; font-size: 12px; }
.submission-page .submission-checkbox { font-size: 13px !important; }
.staff-application-page :is(.staff-message-card p, .staff-status-heading p) { font-size: 14px; }
.account-page .account-message { font-size: 13px; line-height: 1.6; }
.account-page .account-password-form input[type="password"],
.submission-page .submission-form :is(input[type="text"], input[type="datetime-local"], select, textarea),
.staff-application-page .staff-field :is(input[type="text"], select, textarea) {
    min-width: 0;
    border-color: rgba(159, 187, 218, .32);
    border-radius: 10px;
    background-color: #111f33;
    color: #f4f9ff;
    font-size: 16px;
    line-height: 1.5;
    color-scheme: dark;
}
.account-page .account-password-form input[type="password"],
.submission-page .submission-form :is(input[type="text"], input[type="datetime-local"], select),
.staff-application-page .staff-field :is(input[type="text"], select) {
    min-height: 46px;
    padding: 10px 12px;
}
.submission-page .submission-form textarea,
.staff-application-page .staff-field textarea { padding: 12px 14px; }
.account-page .account-password-form input::placeholder,
.submission-page .submission-form :is(input, textarea)::placeholder,
.staff-application-page .staff-field :is(input, textarea)::placeholder { color: #9bafc5; opacity: 1; }
.account-page .account-password-form input:focus,
.submission-page .submission-form :is(input:not([type="checkbox"]), select, textarea):focus,
.staff-application-page .staff-field :is(input, select, textarea):focus {
    border-color: #79cfff;
    box-shadow: 0 0 0 3px rgba(80, 182, 242, .2);
}
.account-page .account-button,
.submission-page .submission-button,
.staff-application-page .staff-button { min-height: 46px; font-size: 14px; line-height: 1.4; }
.account-page .account-button-primary,
.submission-page .submission-button,
.staff-application-page .staff-button-primary {
    background: linear-gradient(135deg, #216ea8, #195a91);
    color: #fff;
    box-shadow: 0 8px 22px rgba(9, 31, 55, .24);
}
.account-page .account-button-primary:hover,
.submission-page .submission-button:hover,
.staff-application-page .staff-button-primary:hover {
    background: linear-gradient(135deg, #267ab8, #1d639d);
    color: #fff;
}
.account-page :is(a, button, input, select, textarea):focus-visible,
.submission-page :is(a, button, input, select, textarea, summary):focus-visible,
.staff-application-page :is(a, button, input, select, textarea):focus-visible {
    outline: 2px solid #8cdaff;
    outline-offset: 3px;
}
.submission-page .submission-history-card summary:focus-visible { outline-offset: -3px; }
@media (max-width: 640px) {
    .submission-page .submission-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .account-page :is(.account-button, .account-password-form input),
    .submission-page :is(.submission-button, .submission-tabs a, .submission-chevron, .submission-form input, .submission-form select, .submission-form textarea),
    .staff-application-page :is(.staff-button, .staff-field input, .staff-field select, .staff-field textarea) { transition: none; }
    .account-page .account-button:is(:hover, :focus-visible),
    .submission-page :is(.submission-button, .submission-tabs a):is(:hover, :focus-visible),
    .staff-application-page .staff-button:is(:hover, :focus-visible) { transform: none; }
}
@media (max-width: 480px) {
    .submission-page .submission-summary { grid-template-columns: 1fr; }
    .submission-page .submission-summary span { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; padding: 10px 14px; text-align: left; text-transform: none; }
    .submission-page .submission-summary span + span { border-left: 0; border-top: 1px solid rgba(159,179,201,.13); }
    .submission-page .submission-summary strong { min-width: 24px; margin: 0; font-variant-numeric: tabular-nums; }
}

/* Forum readability and compact layouts; posting and moderation stay unchanged. */
.f-page{--f-line:#30445d;--f-muted:#adbed1}
.f-page .f-tag,
.f-page .f-status,
.f-page .f-badge,
.f-page .f-thread-meta,
.f-page .f-last-post,
.f-page .f-reply-count span,
.f-page .f-community-stats,
.f-page .f-category small,
.f-page .f-counter,
.f-page .f-breadcrumb,
.f-page .f-post-meta,
.f-page .f-post-author>small,
.f-page .f-stat span,
.f-page .f-stat small,
.f-page .f-member-heading .f-muted,
.f-page .f-member-stats dt,
.f-page .f-member-footer small,
.f-page .f-poll-your-vote,
.f-page .f-poll-tally small,
.f-page .f-poll-toggle small{font-size:11px;line-height:1.6}
.f-page .f-small-heading{font-size:11px!important}
.f-page .f-thread-meta,
.f-page .f-post-meta,
.f-page .f-last-post>a,
.f-page .f-counter,
.f-page .f-community-stats{color:#adbed1}
.f-page .f-tag{padding:2px 8px;border-radius:5px}

/* Text fields only: keep compact checkboxes, poll radios and editor tools intact. */
.f-page input:not([type]),
.f-page input[type="text"],
.f-page input[type="search"],
.f-page input[type="url"],
.f-page input[type="number"],
.f-page input[type="datetime-local"],
.f-page select,
.f-page textarea{font-size:16px;line-height:1.5}
.f-page input:not([type]),
.f-page input[type="text"],
.f-page input[type="search"],
.f-page input[type="url"],
.f-page input[type="number"],
.f-page input[type="datetime-local"],
.f-page select{min-height:46px}
.f-page .f-search:not(.f-inline-form){gap:10px;padding:4px 8px 4px 14px}
.f-page .f-search:not(.f-inline-form)>.f-button{min-height:46px}
.f-page .f-search.f-inline-form input{font-size:16px}
.f-page .f-sort{width:190px;min-width:0;max-width:100%;padding-right:28px}
.f-page .f-section-heading{flex-wrap:wrap}
.f-page .f-section-heading>div{min-width:0}
.f-page .f-section-heading>form{flex:0 0 auto;max-width:100%}

.f-page .f-tabs>a{flex-shrink:0}
@media(min-width:768px) and (max-width:1050px){
    .f-page .f-topbar{align-items:flex-start;flex-direction:column;gap:14px;padding-bottom:18px}
    .f-page .f-tabs{width:100%;flex-wrap:wrap;gap:10px 22px}
    .f-page .f-tabs>a{display:inline-flex;align-items:center;min-height:36px}
    .f-page .f-tabs a[aria-current="page"]:after{bottom:-2px}
}
@media(max-width:767px){
    .f-page .f-tabs{flex-wrap:nowrap;overflow-x:auto}
    .f-page .f-thread-meta{gap:5px}
}
@media(max-width:600px){
    .f-page .f-section-heading{align-items:flex-start;gap:12px}
    .f-page .f-section-heading>form{flex:1 1 190px}
    .f-page .f-sort{width:100%}
    .f-page .f-search:not(.f-inline-form){gap:8px;padding-left:10px}
}
