/* Public and admin content pages; loaded only by their asset manifest entries. */
.staff-profile-about { white-space: pre-line; }
.site-page { width: 100%; max-width: 1280px; margin: 100px auto 40px; line-height: 1.65; }
.site-reading-page { max-width: 960px; }
.site-page > h1 {
    margin: 0 0 28px;
    font-size: clamp(2rem, 5vw, 3.75rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.site-home-page > h1 { font-family: Arial, sans-serif; font-size: clamp(2rem, 4vw, 3.25rem); }
.site-page h2 { line-height: 1.35; }
.site-page .rules-section {
    padding: clamp(18px, 3vw, 32px);
    margin-bottom: 24px;
    border: 1px solid #333;
    box-shadow: none;
}
.site-page .rules-section:hover, .site-page .card:hover, .site-page .staff-card:hover { transform: none; }
.site-page .rules-section p, .site-page .rules-section li { color: #d1d1d1; }
.site-page .rules-section ul, .site-page .nested { font-size: 1rem; line-height: 1.7; padding-left: 24px; }
.site-page .nested { margin-top: 6px; margin-bottom: 16px; }
.site-page .rules-section a { color: #ffae92; text-underline-offset: 3px; }
.site-page .rules-section a:hover { color: #ffd4c5; }
.site-page [id] { scroll-margin-top: 120px; }
.site-page h2 span[id] { top: 0; }
.site-page .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    max-width: none;
    padding: 0;
    gap: 24px;
}
.site-page .card { min-width: 0; width: auto; margin: 0; padding: 24px; }
.site-page .card p, .site-page .card a { overflow-wrap: anywhere; }
.site-page .card h3 { font-size: 1.25rem; line-height: 1.5; color: #d1d1d1; }
.site-page .links a { font-size: 1rem; min-height: 44px; padding: 10px 12px; margin: 0; color: #d1d1d1; border-radius: 4px; }
.site-page .links a:hover { color: #fff; background: #292929; }
.site-home-page .card img { max-height: 240px; object-fit: contain; }
.site-home-page .server-stats { border-width: 1px; padding: 16px; }
.site-home-page .server-stats p { margin-bottom: 8px; }
.site-page .staff-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; }
.site-page .staff-card { min-width: 0; margin: 0; padding: 24px; width: auto; border: 1px solid #333; }
.site-staff-page .staff-image { display: block; width: 180px; height: 180px; object-fit: contain; margin: 0 auto 20px; border-radius: 8px; }
.site-staff-page h8 { display: block; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; overflow-wrap: anywhere; margin-bottom: 12px; }
.site-staff-page .staff-card p { color: #d1d1d1; overflow-wrap: anywhere; }
.site-token-page { max-width: 820px; }
.site-token-page .staff-cards { display: block; }
.site-token-page .staff-card { max-width: 100%; overflow-wrap: anywhere; }
.site-page .application-portal, .site-page .application-review { margin: 0; max-width: none; }
.site-page .review-header > div { min-width: 0; }
.site-page .portal-table-scroll { max-width: 100%; }
.site-dev-page { max-width: 960px; }
.site-dev-page textarea { display: block; width: 100%; max-width: 100%; min-height: 220px; resize: vertical; font: inherit; padding: 12px; }
.site-page .card.application img { display: block; width: 100%; max-height: 180px; object-fit: contain; }
@media (max-width: 575px) {
    .site-page { margin-bottom: 24px; }
    .site-page .container, .site-page .staff-cards { gap: 16px; }
    .site-page .card, .site-page .staff-card { padding: 18px; }
    .site-page .review-header { flex-wrap: wrap; }
}

/* Companion token page: compact heading and the admin tool's centered dark panel. */
.companion-token-page { margin-top: 28px; padding: 0 16px; }
.companion-token-page > h1 {
    text-align: center;
    font-size: clamp(2rem, 4vw, 3.25rem);
    margin-bottom: 24px;
}
.companion-token-card {
    background: #171717;
    border: 1px solid #383838;
    border-radius: 8px;
    padding: clamp(20px, 4vw, 32px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
}
.companion-token-card h2 { font: 600 1.3rem/1.4 Arial, sans-serif; margin: 0 0 12px; }
.companion-token-card p { font-size: 1rem; line-height: 1.6; }
.companion-token-card label { font-weight: 600; }
.companion-token-generate { width: 100%; min-height: 46px; margin-top: 8px; }
.companion-token-card .companion-token-note { color: #d1d1d1; font-size: .9rem; margin: 12px 0 0; }
.companion-token-card .companion-token-details { color: #aaa; font-size: .85rem; margin: 12px 0 0; }
.companion-token-value { font-family: monospace; resize: vertical; overflow-wrap: anywhere; }
