/* home.css — The home page: the last news, what the game is, the world's
   regions and the classes; beside them the login (or the player's characters),
   the realm, the top of the ranking, the forum's newest threads and Discord. */

.about-text { max-width: 72ch; }

/* A link at the right of a panel's head. */
.panel-link { font-size: 0.86rem; white-space: nowrap; }

/* ===== NEWS ===== */
.news-list { list-style: none; display: grid; }
.news-row {
    display: grid;
    grid-template-columns: 6.2rem minmax(0, 1fr);
    gap: 0.9rem;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--line);
}
.news-row:first-child { padding-top: 0; }
.news-row:last-child { border-bottom: none; padding-bottom: 0; }
.news-date { color: var(--text-dim); font-size: 0.84rem; font-variant-numeric: tabular-nums; padding-top: 0.12rem; }
.news-row h3 { font-size: 1.04rem; margin-bottom: 0.15rem; }
.news-row h3 a { color: var(--gold-bright); }
.news-row p { color: var(--text-muted); font-size: 0.92rem; overflow-wrap: anywhere; }

/* ===== PICTURE CARDS: the regions and the classes ===== */
.card-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; }
.pic-card {
    display: block;
    background: var(--well);
    border: 1px solid var(--line-strong);
    transition: border-color var(--transition);
}
.pic-card:hover { border-color: var(--gold); text-decoration: none; }
.pic-card img, .pic-card-blank { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.pic-card-blank { background: linear-gradient(180deg, var(--surface-3), var(--well)); }
.pic-card-text { display: grid; gap: 0.1rem; padding: 0.55rem 0.7rem 0.65rem; }
.pic-card-text strong { font-family: var(--font-title); font-weight: 400; font-size: 1.12rem; color: var(--gold); }
.pic-card-text > span { color: var(--text-muted); font-size: 0.86rem; }
/* What a class fights with, in chips. */
.class-weapons { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 0.3rem; }
.class-weapons span { padding: 0 0.4rem; font-size: 0.76rem; color: var(--text-muted); border: 1px solid var(--line-strong); }

/* ===== SIDE BOXES ===== */
.side .panel { padding: 1.1rem; }
.side .panel-head { margin: -1.1rem -1.1rem 1rem; padding: 0.65rem 1.1rem; }
.side .form-group { margin-top: 0.7rem; }
.side .form-group:first-child { margin-top: 0; }
.side .form-actions { margin-top: 0.9rem; }
.side-note { color: var(--text-muted); font-size: 0.88rem; margin: 1rem 0 0.5rem; }
.side-note-first { margin-top: 0; margin-bottom: 0.75rem; }
.side-links { display: flex; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; font-size: 0.88rem; }
.side-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-top: 0.75rem; }
.side-link { display: inline-block; margin-top: 0.75rem; font-size: 0.9rem; }

.quick-chars { list-style: none; display: grid; gap: 0.4rem; }
.quick-char {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 0.6rem;
    align-items: center;
    padding: 0.35rem;
    background: var(--well);
    border: 1px solid var(--line);
}
.quick-portrait { width: 44px; height: 44px; }
.quick-info { display: grid; min-width: 0; line-height: 1.35; }
.quick-name { color: var(--text-bright); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-meta { color: var(--text-dim); font-size: 0.8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.panel-dev { border-color: rgba(227, 176, 76, 0.4); }
.dev-form { display: flex; gap: 0.5rem; }
.dev-form .input { flex: 1; padding: 0.4rem 0.5rem; }

.mini-ranking { list-style: none; display: grid; }
.mini-ranking li {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr) auto;
    gap: 0.6rem;
    align-items: center;
    padding: 0.3rem 0;
    border-bottom: 1px solid var(--line);
}
.mini-ranking li:last-child { border-bottom: none; }
.mini-ranking .rank { min-width: 1.6rem; height: 1.6rem; font-size: 0.82rem; }
.mini-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-name a { color: var(--text-bright); }
.mini-level { color: var(--gold); font-weight: 700; }

.mini-threads { list-style: none; display: grid; gap: 0.55rem; }
.mini-threads li { display: grid; min-width: 0; line-height: 1.35; }
.mini-threads a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-meta { color: var(--text-dim); font-size: 0.8rem; }

@media (max-width: 760px) {
    .card-row { grid-template-columns: 1fr; }
    .news-row { grid-template-columns: 1fr; gap: 0.15rem; }
}
