﻿:root {
    --bg: #0f1215;
    --bg2: #14181c;
    --panel: #171c20;
    --panel2: #1b2126;
    --border: #2a323a;
    --text: #e7e7e7;
    --muted: #b6bcc3;
    --link: #6aa9ff;
    --shadow: 0 10px 30px rgba(0,0,0,.35);
    --topbar-h: 64px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: radial-gradient(1200px 600px at 40% 0%, #182027 0%, var(--bg) 60%);
    color: var(--text);
}

a {
    color: var(--link);
    text-decoration: none;
}

    a:hover {
        text-decoration: underline;
    }

.mw-main {
    padding: 14px 18px 30px;
    width: min(2000px, calc(100vw - 80px));
    margin: 0 auto;
}
    .mw-main > section {
        padding-top: 10px;
    }

.mw-topbar {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 24px;
    padding-left: 220px;
    height: var(--topbar-h);
}

.mw-logo-text {
    font-weight: 800;
    letter-spacing: .02em;
}

.mw-search {
    display: flex; 
    align-items: center;
    gap: 10px;
    flex: 1 1 auto; 
    max-width: 760px;
    margin: 0 auto;
}

    .mw-search input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: rgba(255,255,255,.03);
        color: var(--text);
        outline: none;
        flex: 1 1 auto;
        min-width: 260px;
    }

    .mw-search button {
        padding: 10px 14px;
        border: 1px solid var(--border);
        background: rgba(255,255,255,.03);
        border-radius: 10px;
        color: var(--text);
        cursor: pointer;
        flex: 0 0 auto;
        white-space: nowrap;
    }

        .mw-search button:hover {
            background: rgba(255,255,255,.06);
        }

.mw-auth {
    margin-left: auto;
    display: flex;
    gap: 12px;
}

.page-title {
    font-size: 44px;
    font-weight: 900;
    margin: 10px 0 8px;
}

.tabs {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 10px;
    margin-bottom: 12px;
    color: var(--muted);
}

    .tabs a {
        color: var(--muted);
    }

        .tabs a.active {
            color: var(--text);
            font-weight: 700;
        }

.content-wrap {
    display: flex;
    justify-content: center;
}

.content-grid {
    width: min(1500px, 100%);
    display: grid;
    grid-template-columns: 1.25fr 0.95fr;
    gap: 18px;
    align-items: start;
}

.panel {
    background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.panel-header {
    padding: 10px 12px;
    font-weight: 800;
    border-bottom: 1px solid var(--border);
    background: repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0px, rgba(255,255,255,.06) 14px, rgba(0,0,0,.08) 14px, rgba(0,0,0,.08) 28px );
}

.panel-body {
    padding: 12px;
}

.welcome p {
    margin: 6px 0;
    color: var(--muted);
}

.side-stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.link-cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px 18px;
}

    .link-cols ul {
        margin: 0;
        padding-left: 18px;
    }

    .link-cols li {
        margin: 4px 0;
    }

@media (max-width: 1200px) {
    .content-grid {
        grid-template-columns: 1fr;
    }

    .link-cols {
        grid-template-columns: 1fr;
    }

    .mw-topbar {
        flex-wrap: wrap;
    }

    .mw-search {
        margin-left: 0;
    }
}

.clean-ul {
    margin: 0;
    padding-left: 18px;
}

    .clean-ul li {
        margin: 6px 0;
    }

.starter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.starter-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
    text-decoration: none;
    color: var(--text);
}

    .starter-card:hover {
        background: rgba(255,255,255,.05);
    }

    .starter-card img {
        width: 80px;
        height: 80px;
        object-fit: contain;
        filter: drop-shadow(0 8px 16px rgba(0,0,0,.35));
    }

.starter-name {
    font-weight: 800;
    font-size: 12px;
    color: var(--link);
}

@media (max-width: 1200px) {
    .starter-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

.upload-form .upload-input {
    width: min(520px, 100%);
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255,255,255,.03);
    color: var(--text);
    outline: none;
}

.upload-error {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,0,0,.08);
    color: var(--text);
}

.small {
    color: var(--muted);
    font-size: 12px;
}

code {
    padding: 2px 6px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255,255,255,.03);
}

.upload-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 18px;
    align-items: start;
}

.cat-grid {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
}

.cat-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
    cursor: pointer;
}

    .cat-item:hover {
        background: rgba(255,255,255,.05);
    }

    .cat-item input {
        transform: scale(1.1);
    }

.preview-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 10px;
}

.preview-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
}

.preview-img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.03);
}

.preview-meta {
    min-width: 0;
}

.preview-name {
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 320px;
}

.uploaded-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.uploaded-group-title {
    font-weight: 900;
    margin: 6px 0;
}

@media (max-width: 1100px) {
    .upload-grid {
        grid-template-columns: 1fr;
    }

    .cat-grid {
        grid-template-columns: 1fr;
    }

    .preview-name {
        max-width: 100%;
    }
}

#subSelect,
#subSelect option {
    color: #000 !important;
}

#subSelect {
    background: #fff !important;
}

.quick-strip {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 28px;
}

.quick-col {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    min-width: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.quick-head {
    width: 100%;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    margin: 0 0 10px;
    color: var(--text);
    opacity: .95;
}

.quick-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.quick-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--link);
    text-decoration: none;
    line-height: 1;
}

    .quick-row:hover {
        text-decoration: underline;
    }

.quick-icon {
    width: 24px;
    height: auto;
    object-fit: contain;
    display: block;
}

.quick-strip .quick-col:nth-child(2) {
    flex: 0 0 140px;
    min-width: 140px;
}

.rank-only {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.rank-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

    .rank-icon img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        display: block !important;
    }

    .rank-icon:hover img {
        filter: brightness(1.15);
    }

.quick-icon-atk {
    width: 100px;
    height: auto;
    object-fit: contain;
}

.quick-col:nth-child(4) .quick-icon,
.quick-col:nth-child(5) .quick-icon,
.quick-col:nth-child(6) .quick-icon {
    width: 36px;
}

.quick-box .img-chip img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.quick-text {
    color: #7fb7ff;
    font-weight: 600;
    font-size: 14px;
}

.quick-col.form-col .quick-icon {
    width: 64px;
    height: auto;
}

.quick-col.form-col .quick-list {
    gap: 4px;
}

.quick-list img {
    transition: transform .15s ease, filter .15s ease;
}

    .quick-list img:hover {
        transform: scale(1.08);
        filter: brightness(1.15);
    }

@media (max-width:1100px) {
    .quick-strip {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

.rank-img {
    width: 40px !important;
    height: 40px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
}

.rank-only {
    gap: 4px; 
}

.quick-col.rank-col {
    min-width: 40px;
    flex: 0 0 40px;
}

.quick-col.texty .quick-list {
    align-items: flex-start;
}

.quick-col.texty .quick-row {
    width: 100%;
    justify-content: flex-start;
}

.digimon-page h2 {
    margin: 18px 0 10px;
    font-size: 20px;
    font-weight: 900;
}

.digimon-top {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 16px;
    align-items: start;
}

.digimon-infobox {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
    overflow: hidden;
}

.digimon-name {
    padding: 10px 12px;
    font-weight: 900;
    border-bottom: 1px solid var(--border);
    background: rgba(255,255,255,.03);
}

.digimon-portrait {
    padding: 12px;
    border-bottom: 1px solid var(--border);
    text-align: center;
}

.digimon-info-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .digimon-info-table th,
    .digimon-info-table td {
        border-top: 1px solid var(--border);
        padding: 8px 10px;
        vertical-align: top;
    }

    .digimon-info-table th {
        width: 38%;
        color: var(--muted);
        font-weight: 800;
    }

.digimon-intro {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
    padding: 12px;
}

.ph {
    color: var(--muted);
    font-style: italic;
}

@media (max-width: 1100px) {
    .digimon-top {
        grid-template-columns: 1fr;
    }
}

.icon-pick {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.icon-choice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255,255,255,.02);
    cursor: pointer;
}

    .icon-choice input {
        margin: 0 6px 0 0;
    }

    .icon-choice img {
        width: 28px;
        height: 28px;
        object-fit: contain;
    }

    .icon-choice span {
        font-weight: 800;
        color: var(--text);
        font-size: 13px;
    }

.digimon-page h1 {
    margin: 0 0 14px;
}

.digimon-top {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 16px;
    align-items: start;
}

.digimon-infobox {
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255,255,255,.02);
}

.digimon-portrait {
    padding: 12px;
    border-bottom: 1px solid var(--border);
    text-align: center;
}

    .digimon-portrait img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
    }

.digimon-info-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .digimon-info-table th, .digimon-info-table td {
        border-top: 1px solid var(--border);
        padding: 8px 10px;
        vertical-align: middle;
    }

    .digimon-info-table th {
        width: 35%;
        color: var(--muted);
        font-weight: 900;
    }

.kv-ico img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    vertical-align: middle;
}

.kv-txt {
    margin-left: 8px;
    font-weight: 900;
}

.families {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fam {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(0,0,0,.15);
}

    .fam img {
        width: 22px;
        height: 22px;
        object-fit: contain;
    }

.intro-box {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
    padding: 12px;
    min-height: 140px;
}

.ph {
    color: var(--muted);
    font-style: italic;
}

.digi-evo-strip {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.evo-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 6px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255,255,255,.02);
}

    .evo-item img {
        width: 48px;
        height: 48px;
        object-fit: contain;
    }

.evo-lv {
    font-size: 12px;
    color: var(--muted);
    font-weight: 800;
}

.evo-arrow {
    color: var(--muted);
    font-weight: 900;
}

.evo-item.missing {
    opacity: .6;
}

.stats-input {
    width: 100%;
    border-collapse: collapse;
}

    .stats-input th, .stats-input td {
        border-top: 1px solid var(--border);
        padding: 8px;
        vertical-align: middle;
    }

.stat-ico {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.digimon-stats .stats-head {
    margin: 10px 0;
    font-weight: 900;
    padding: 6px 10px;
    border: 1px solid #2a7a1b;
    color: #8dff6a;
    background: rgba(0,0,0,.15);
    border-radius: 10px;
    width: max-content;
}

.stats-table {
    width: 100%;
    border-collapse: collapse;
}

    .stats-table th, .stats-table td {
        border: 1px solid var(--border);
        padding: 8px 10px;
    }

    .stats-table th {
        background: rgba(255,255,255,.03);
        font-weight: 900;
    }

.st-code {
    font-weight: 900;
    color: var(--link);
}

.skill-row2 {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
    margin-top: 10px;
}

.skill-ico img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.skill-name {
    font-weight: 900;
}

.skill-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.skill-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    font-size: 12px;
    background: rgba(0,0,0,.12);
}

    .skill-pill img {
        width: 16px;
        height: 16px;
        object-fit: contain;
    }

.skill-dmg {
    margin: 6px 0 0 6px;
    color: var(--muted);
    font-size: 13px;
}

.evo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px;
}

.skill-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

@media (max-width: 1100px) {
    .digimon-top {
        grid-template-columns: 1fr;
    }

    .evo-grid {
        grid-template-columns: 1fr 1fr;
    }

    .skill-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.upload-input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(42,50,58,.9);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    color: var(--text);
    outline: none;
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
    transition: transform .08s ease, border-color .15s ease, box-shadow .15s ease;
}

    .upload-input:focus {
        border-color: rgba(106,169,255,.8);
        box-shadow: 0 0 0 4px rgba(106,169,255,.12), 0 14px 30px rgba(0,0,0,.22);
    }

    .upload-input:hover {
        border-color: rgba(106,169,255,.35);
    }

.ta-big {
    min-height: 220px;
    resize: vertical;
    line-height: 1.35;
    font-size: 14px;
}

.input-center {
    text-align: center;
    font-weight: 800;
}

.na-base {
    text-align: center;
    color: var(--muted);
    font-weight: 900;
    opacity: .85;
}

.rank-choice span {
    display: none !important;
}

.rank-choice {
    padding: 8px 10px;
    min-width: 56px;
    justify-content: center;
}

    .rank-choice img {
        width: 32px;
        height: 32px;
    }

.chip-pick {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255,255,255,.02);
    cursor: pointer;
    user-select: none;
    transition: background .15s ease, border-color .15s ease, transform .08s ease;
}

    .chip:hover {
        background: rgba(255,255,255,.05);
        border-color: rgba(106,169,255,.35);
    }

    .chip input {
        transform: scale(1.1);
    }

        .chip input:checked + span,
        .chip:has(input:checked) {
            border-color: rgba(106,169,255,.7);
            background: rgba(106,169,255,.10);
        }

.icon-choice {
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
    transition: transform .08s ease, border-color .15s ease, background .15s ease;
}

    .icon-choice:hover {
        transform: translateY(-1px);
        border-color: rgba(106,169,255,.35);
        background: rgba(255,255,255,.05);
    }

    .icon-choice:has(input:checked) {
        border-color: rgba(106,169,255,.85);
        background: rgba(106,169,255,.10);
    }

.mw-btn {
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid rgba(42,50,58,.9);
    background: linear-gradient(180deg, rgba(106,169,255,.18), rgba(255,255,255,.04));
    color: var(--text);
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    transition: transform .08s ease, border-color .15s ease, box-shadow .15s ease;
}

    .mw-btn:hover {
        transform: translateY(-1px);
        border-color: rgba(106,169,255,.55);
        box-shadow: 0 16px 36px rgba(0,0,0,.28);
    }

    .mw-btn:active {
        transform: translateY(0);
    }

.rank-choice {
    min-width: 56px;
    justify-content: center;
}

    .rank-choice img {
        width: 34px;
        height: 34px;
    }

.stage-choice {
    padding: 10px 14px;
}

    .stage-choice img {
        width: 52px;
        height: 22px; 
    }

.evo-grid label,
.skill-grid label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.evo-grid input[type="file"],
.skill-grid input[type="file"] {
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid rgba(42,50,58,.9);
    background: rgba(255,255,255,.03);
    color: var(--text);
}

.evo-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 170px 1fr 240px 160px 80px;
}

@media (max-width: 1100px) {
    .evo-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .evo-grid {
        grid-template-columns: 1fr;
    }
}

.skill-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .skill-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .skill-grid {
        grid-template-columns: 1fr;
    }
}

.small {
    line-height: 1.35;
}

.file-with-preview {
    display: flex;
    align-items: center;
    gap: 10px;
}

.img-preview {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid rgba(42,50,58,.9);
    background: rgba(255,255,255,.03);
    object-fit: cover;
    box-shadow: 0 10px 22px rgba(0,0,0,.25);
}

.upload-input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(42,50,58,.9);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    color: var(--text);
    outline: none;
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
    transition: transform .08s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

    .upload-input:hover {
        border-color: rgba(106,169,255,.35);
        background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    }

    .upload-input:focus {
        border-color: rgba(106,169,255,.85);
        box-shadow: 0 0 0 4px rgba(106,169,255,.12), 0 14px 30px rgba(0,0,0,.22);
    }

.ta-big {
    min-height: 220px;
    resize: vertical;
    line-height: 1.35;
    font-size: 14px;
}

.input-center {
    text-align: center;
    font-weight: 900;
}

.na-base {
    text-align: center;
    color: var(--muted);
    font-weight: 900;
    opacity: .85;
    padding: 10px 0;
}

.mw-btn {
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid rgba(42,50,58,.9);
    background: linear-gradient(180deg, rgba(106,169,255,.20), rgba(255,255,255,.04));
    color: var(--text);
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    transition: transform .08s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

    .mw-btn:hover {
        transform: translateY(-1px);
        border-color: rgba(106,169,255,.55);
        box-shadow: 0 16px 36px rgba(0,0,0,.28);
        background: linear-gradient(180deg, rgba(106,169,255,.26), rgba(255,255,255,.06));
    }

    .mw-btn:active {
        transform: translateY(0);
    }

.chip-pick {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255,255,255,.03);
    cursor: pointer;
    user-select: none;
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
    transition: background .15s ease, border-color .15s ease, transform .08s ease;
}

    .chip:hover {
        background: rgba(255,255,255,.06);
        border-color: rgba(106,169,255,.35);
        transform: translateY(-1px);
    }

    .chip input {
        transform: scale(1.08);
    }

    .chip:has(input:checked) {
        border-color: rgba(106,169,255,.80);
        background: rgba(106,169,255,.12);
    }

.icon-choice {
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
    transition: transform .08s ease, border-color .15s ease, background .15s ease;
}

    .icon-choice:hover {
        transform: translateY(-1px);
        border-color: rgba(106,169,255,.35);
        background: rgba(255,255,255,.05);
    }

    .icon-choice:has(input:checked) {
        border-color: rgba(106,169,255,.90);
        background: rgba(106,169,255,.12);
    }

.stage-choice {
    padding: 10px 14px;
}

    .stage-choice img {
        width: 56px;
        height: 22px;
    }

.rank-choice span {
    display: none !important;
}

.rank-choice {
    padding: 8px 10px;
    min-width: 56px;
    justify-content: center;
}

    .rank-choice img {
        width: 34px;
        height: 34px;
    }

.evo-grid label,
.skill-grid label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.evo-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 170px 1fr 240px 160px 80px;
}

.skill-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .evo-grid {
        grid-template-columns: 1fr 1fr;
    }

    .skill-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .evo-grid {
        grid-template-columns: 1fr;
    }

    .skill-grid {
        grid-template-columns: 1fr;
    }
}

.file-with-preview {
    display: flex;
    align-items: center;
    gap: 10px;
}

.file-input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(42,50,58,.9);
    background: rgba(255,255,255,.03);
    color: var(--text);
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

    .file-input:hover {
        border-color: rgba(106,169,255,.35);
    }

.img-preview {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    border: 1px solid rgba(42,50,58,.9);
    background: rgba(255,255,255,.03);
    object-fit: cover;
    box-shadow: 0 12px 26px rgba(0,0,0,.26);
}

.small {
    line-height: 1.35;
}

select.upload-input,
select.upload-input option {
    color: #000 !important;
    background-color: #fff !important;
}

select.upload-input {
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)) !important;
    color: var(--text) !important;
}

    select.upload-input option:checked {
        background-color: #2563eb !important;
        color: #fff !important;
    }

.search-wrap {
    position: relative;
    display: flex;
    gap: 10px;
    align-items: center;
}

.suggest-box {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    background: rgba(15,18,21,.96);
    border: 1px solid rgba(42,50,58,.9);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(0,0,0,.45);
    overflow: hidden;
    z-index: 50;
}

.sug-item {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none;
    color: var(--text);
    border-bottom: 1px solid rgba(42,50,58,.55);
}

    .sug-item:last-child {
        border-bottom: none;
    }

    .sug-item:hover {
        background: rgba(255,255,255,.05);
    }

.sug-thumb {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid rgba(42,50,58,.9);
    background: rgba(255,255,255,.03);
}

    .sug-thumb.ph {
        display: block;
    }

.sug-title {
    font-weight: 900;
    line-height: 1.1;
}

.sug-slug {
    font-size: 12px;
    color: var(--muted);
}

.search-results {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.result-row {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(42,50,58,.9);
    border-radius: 14px;
    background: rgba(255,255,255,.02);
    text-decoration: none;
    color: var(--text);
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

    .result-row:hover {
        border-color: rgba(106,169,255,.55);
        background: rgba(255,255,255,.04);
    }

.result-thumb {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid rgba(42,50,58,.9);
    background: rgba(255,255,255,.03);
}

.result-title {
    font-weight: 950;
}

.result-slug {
    font-size: 12px;
    color: var(--muted);
}

.top-search {
    position: relative;
    width: min(760px, 60vw);
}

.top-search-drop {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: #12161a;
    border: 1px solid #2a323a;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    overflow: hidden;
    z-index: 9999;
}

.top-search-item {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    align-items: center;
    cursor: pointer;
    text-decoration: none;
    color: #e7e7e7;
}

    .top-search-item:hover {
        background: #171c20;
    }

.top-search-thumb {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #2a323a;
    background: #0f1215;
}

.top-search-meta {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.top-search-title {
    font-weight: 800;
    font-size: 14px;
}

.top-search-slug {
    font-size: 12px;
    color: #b6bcc3;
}

.top-search-empty {
    padding: 10px 12px;
    color: #b6bcc3;
    font-size: 13px;
}

.mw-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.digipage-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 16px;
    align-items: start;
}

.digipage-left {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.digipage-right {
    position: sticky;
    top: 16px;
}

.digidesc {
    line-height: 1.55;
    white-space: pre-wrap;
}

.ibox {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.ibox-title {
    padding: 10px 12px;
    font-weight: 900;
    background: repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 12px, rgba(0,0,0,0) 12px 24px);
}

.ibox-img {
    padding: 10px;
    display: flex;
    justify-content: center;
    background: rgba(0,0,0,.15);
}

    .ibox-img img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
    }

.ibox-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    border-top: 1px solid var(--border);
}

.ibox-key {
    padding: 9px 10px;
    color: var(--muted);
    font-weight: 800;
}

.ibox-val {
    padding: 9px 10px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.ibox-icon img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.ibox-fams {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ibox-family {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

    .ibox-family img {
        width: 22px;
        height: 22px;
        object-fit: contain;
    }

.evo-line {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.evo-node {
    display: inline-flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    text-decoration: none;
}

.evo-img {
    width: 54px;
    height: 54px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    display: grid;
    place-items: center;
    overflow: hidden;
}

    .evo-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.evo-lvl {
    font-size: 12px;
    color: var(--muted);
}

.evo-miss {
    font-size: 11px;
    color: var(--muted);
    padding: 6px;
    text-align: center;
}

.stats-compact {
    width: 100%;
    border-collapse: collapse;
}

    .stats-compact th, .stats-compact td {
        border: 1px solid var(--border);
        padding: 8px 10px;
    }

    .stats-compact th {
        background: rgba(255,255,255,.04);
    }

.table-wrap {
    overflow: auto;
}

.skills-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px;
}

    .skills-table th, .skills-table td {
        border: 1px solid var(--border);
        padding: 8px 10px;
        vertical-align: middle;
    }

    .skills-table th {
        background: rgba(255,255,255,.04);
        white-space: nowrap;
    }

.skill-td-ico {
    width: 44px;
}

.skill-ico {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 6px;
}

@media (max-width: 980px) {
    .digipage-grid {
        grid-template-columns: 1fr;
    }

    .digipage-right {
        position: static;
    }
}

.top-search {
    position: relative;
}

.top-suggest {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 50;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.sug-item {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none;
    color: var(--text);
    border-top: 1px solid rgba(255,255,255,.06);
}

    .sug-item:first-child {
        border-top: 0;
    }

    .sug-item:hover {
        background: rgba(255,255,255,.05);
    }

.sug-thumb {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    display: grid;
    place-items: center;
    overflow: hidden;
}

    .sug-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.sug-title {
    font-weight: 900;
}

.sug-sub {
    font-size: 12px;
    color: var(--muted);
    margin-top: 2px;
}

.mw-search {
    position: relative;
}

.top-suggest {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 999;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.sug-item {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none;
    color: var(--text);
    border-top: 1px solid rgba(255,255,255,.06);
}

    .sug-item:first-child {
        border-top: 0;
    }

    .sug-item:hover {
        background: rgba(255,255,255,.06);
    }

.sug-thumb {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    overflow: hidden;
}

    .sug-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.sug-title {
    font-weight: 900;
}

.sug-sub {
    font-size: 12px;
    color: var(--muted);
    margin-top: 2px;
}

.sug-empty {
    opacity: .65;
    cursor: default;
}

    .sug-empty:hover {
        background: transparent;
    }

.digidesc {
    white-space: pre-wrap;
    min-height: 240px;
    line-height: 1.5;
}

.stats-compact {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .stats-compact th,
    .stats-compact td {
        padding: 6px 8px;
        vertical-align: middle;
    }

    .stats-compact .stat-ico {
        width: 28px;
        height: 28px;
        object-fit: contain;
    }

.skill-block {
    margin-bottom: 16px;
}

.skill-status {
    display: grid;
    grid-template-columns: 1.4fr 1.2fr repeat(4, 1fr);
    gap: 12px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,0.02);
    margin-bottom: 8px;
}

.skill-status-name {
    font-weight: 800;
}

.skill-status-elem {
    display: flex;
    align-items: center;
    gap: 8px;
}

.skill-elem img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.skill-status-cell .k {
    font-size: 12px;
    opacity: .85;
}

.skill-status-cell .v {
    font-weight: 700;
}

.skill-dmg {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

    .skill-dmg th,
    .skill-dmg td {
        border: 1px solid var(--border);
        padding: 6px 6px;
        text-align: center;
        white-space: nowrap;
    }

        .skill-dmg th:nth-child(1),
        .skill-dmg td:nth-child(1) {
            width: 46px;
        }

        .skill-dmg th:nth-child(2),
        .skill-dmg td:nth-child(2) {
            text-align: left;
            min-width: 160px;
        }

.skill-ico {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.skill-ico-fallback {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 6px;
    font-weight: 800;
}

.icon-picker {
    margin-top: 16px;
}

.picker-title {
    font-weight: 700;
    margin-bottom: 8px;
}

.picker-grid {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.pick-card {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    background: rgba(255,255,255,0.02);
}

    .pick-card input {
        margin-right: 6px;
    }

    .pick-card img {
        width: 40px;
        height: auto;
    }

    .pick-card span {
        font-weight: 600;
    }
.evo-itembox {
    grid-column: 1 / -1;
    padding-top: 6px;
    border-top: 1px solid rgba(255,255,255,.06);
}

.evo-itemgrid {
    display: grid;
    grid-template-columns: 220px 1fr 120px 1fr;
    gap: 10px;
    margin-top: 8px;
}

.stats-mini {
    width: 420px; 
    max-width: 100%;
    border-collapse: collapse;
    table-layout: auto; 
}

    .stats-mini th,
    .stats-mini td {
        white-space: nowrap;
        vertical-align: middle;
    }

    .stats-mini .s-ico {
        width: 42px;
        text-align: center;
    }

        .stats-mini .s-ico img {
            width: 22px;
            height: 22px;
            object-fit: contain;
        }

    .stats-mini .s-code {
        width: 46px;
        text-align: center;
        font-weight: 700;
    }

    .stats-mini .s-label {
        text-align: left;
        padding-left: 10px;
    }

    .stats-mini .s-base {
        width: 110px;
        text-align: center;
        font-weight: 700;
    }

.mw-container {
    max-width: 1520px !important;
}

.digipage-grid {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 18px !important;
    overflow: visible !important;
    transform: none !important;
}

.digipage-left,
.digipage-right {
    overflow: visible !important;
    transform: none !important;
}

.digipage-right {
    position: sticky !important;
    top: 16px;
    align-self: start;
}

.digipage-left .panel {
    overflow: visible !important;
}

.home-page .panel-header {
    position: relative;
    padding-left: 64px; 
    display: flex;
    align-items: center;
    min-height: 34px; 
}

.home-page .panel-header::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: url("/img/inf_icon.png") no-repeat center / contain;
    opacity: 1;
    pointer-events: none;
}

.mw-logo {
    position: absolute;
    left: 64px;
    top: 50%;
    transform: translateY(-50%);
    width: 160px;
    height: 44px;
    display: block;
    z-index: 3;
}

    .mw-logo img {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 96px;
        width: auto;
        object-fit: contain;
        pointer-events: auto;
    }

    .mw-logo:hover img {
        filter: brightness(1.05);
    }

.search-page {
    padding-top: 18px;
}

.mw-admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 6px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.04);
    transition: filter .15s ease, border-color .15s ease, background .15s ease;
}

    .mw-admin-btn img {
        width: 18px;
        height: 18px;
        object-fit: contain;
        opacity: .92;
    }

    .mw-admin-btn:hover {
        filter: brightness(1.12);
        border-color: rgba(106,169,255,.45);
        background: rgba(106,169,255,.10);
    }

.starter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column; /* <-- preenche de cima para baixo */
    gap: 14px;
    align-items: start;
}

@media (max-width: 900px) {
    .starter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(5, auto);
        grid-auto-flow: column;
    }
}

@media (max-width: 520px) {
    .starter-grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-flow: row;
    }
}

.starter-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    padding: 10px 8px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    transition: transform .08s ease, background .15s ease, border-color .15s ease;
}

    .starter-card:hover {
        transform: translateY(-1px);
        background: rgba(255,255,255,.07);
        border-color: rgba(255,255,255,.18);
    }

    .starter-card img {
        width: 90px;
        height: 90px;
        object-fit: contain;
        display: block;
        filter: drop-shadow(0 8px 18px rgba(0,0,0,.45));
    }

.starter-name {
    margin-top: 10px;
    font-weight: 700;
    font-size: 14px;
    color: var(--link);
    text-align: center;
    line-height: 1.25;
    word-break: break-word;
}

.newdig-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px; /* row / col */
    align-items: start;
}

.newdig-item {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    padding: 6px 8px;
    border-radius: 10px;
    transition: background .15s ease, transform .08s ease;
}

    .newdig-item:hover {
        background: rgba(255,255,255,.06);
        transform: translateY(-1px);
    }

.newdig-ico {
    width: 45px;
    height: 45px;
    flex: 0 0 34px;
    object-fit: contain;
    border: 1px solid rgba(90,190,255,.35);
    border-radius: 6px;
    background: rgba(0,0,0,.25);
    box-shadow: 0 8px 20px rgba(0,0,0,.35);
}

.newdig-name {
    color: var(--link);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.1;
    word-break: break-word;
}

.home-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.home-link {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.03);
    text-decoration: none;
}

    .home-link:hover {
        background: rgba(255,255,255,.06);
    }

.home-ico {
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 10px;
    flex: 0 0 auto;
}

.home-txt {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.home-title {
    font-weight: 900;
    line-height: 1.1;
}

.home-sub {
    font-size: 12px;
    opacity: .75;
}

/* bullets só dentro de textos de guides */
.g-text ul {
    list-style: disc;
    padding-left: 18px;
    margin: 10px 0 0;
}

.g-text li {
    margin: 6px 0;
}

.g-text {
    white-space: normal;
    line-height: 1.55;
}

/* =========================
   HOME - LINKS (ICON ONLY)
   ========================= */

.home-links-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    padding: 4px 2px;
}

/* link SEM fundo */
.home-link-ico {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    transition: transform .12s ease, filter .12s ease;
}

    /* hover suave */
    .home-link-ico:hover {
        transform: scale(1.06);
        filter: drop-shadow(0 0 10px rgba(106,169,255,.45));
    }

    /* imagem */
    .home-link-ico img {
        width: 36px;
        height: 36px;
        object-fit: contain;
        display: block;
        /* remove qualquer fundo forçado */
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* foco teclado */
    .home-link-ico:focus {
        outline: none;
        filter: drop-shadow(0 0 0 rgba(0,0,0,0));
    }

/* =========================
   HOME - UPDATES LIST
   ========================= */

.updates-list {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
}

    .updates-list li {
        margin: 6px 0;
    }

    .updates-list a {
        text-decoration: none;
    }

        .updates-list a:hover {
            text-decoration: underline;
        }
