/* ===========================
   NkeysWorld Profile Dashboard
   All selectors scoped under .nkey-profile
   =========================== */

/* --- Background (same as home) --- */
.nkey-profile {
    position: relative !important;
    min-height: 100vh !important;
}

.nkey-profile .nkey-prof-bg {
    position: fixed !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    background:
        radial-gradient(900px 600px at 20% 20%, rgba(120, 170, 255, 0.1), transparent 60%),
        radial-gradient(900px 600px at 80% 30%, rgba(80, 255, 200, 0.08), transparent 60%),
        radial-gradient(900px 700px at 60% 80%, rgba(255, 180, 80, 0.06), transparent 60%) !important;
    filter: saturate(110%) !important;
}

.nkey-profile .nkey-prof-bg .orb {
    position: absolute !important;
    width: 520px !important;
    height: 520px !important;
    border-radius: 999px !important;
    background: radial-gradient(circle at 30% 30%, rgba(130, 200, 255, 0.22), rgba(0, 0, 0, 0)) !important;
    filter: blur(16px) !important;
    opacity: 0.9 !important;
    animation: nkey-floaty 8s ease-in-out infinite !important;
}
.nkey-profile .nkey-prof-bg .o1 { left: -140px !important; top: 40px !important; }
.nkey-profile .nkey-prof-bg .o2 {
    right: -180px !important; top: 120px !important;
    animation-delay: -2s !important;
    background: radial-gradient(circle at 30% 30%, rgba(80, 255, 200, 0.18), rgba(0, 0, 0, 0)) !important;
}
.nkey-profile .nkey-prof-bg .o3 {
    left: 35% !important; bottom: -220px !important;
    animation-delay: -4s !important;
    background: radial-gradient(circle at 30% 30%, rgba(255, 190, 100, 0.14), rgba(0, 0, 0, 0)) !important;
}

.nkey-profile .page-content {
    position: relative !important;
    z-index: 1 !important;
    padding-top: 20px !important;
}

/* --- Avatar card (left column) --- */
.nkey-profile .nkey-col-left .ui.card,
.nkey-profile .nkey-col-left .ui.card > .content,
.nkey-profile .nkey-col-left .ui.card > .extra {
    background: rgba(15, 20, 35, 0.55) !important;
    border: 1px solid rgba(120, 160, 255, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(10px) !important;
    color: rgba(200, 215, 245, 0.85) !important;
}

.nkey-profile .nkey-col-left .ui.card {
    overflow: hidden !important;
}

.nkey-profile .nkey-col-left .ui.card > .content {
    border-top: none !important;
    box-shadow: none !important;
}

.nkey-profile .nkey-col-left .ui.card > .extra {
    border-top: 1px solid rgba(120, 160, 255, 0.08) !important;
    box-shadow: none !important;
}

.nkey-profile .nkey-col-left .ui.card * {
    color: rgba(200, 215, 245, 0.8) !important;
}

.nkey-profile .nkey-col-left .ui.card .header {
    color: rgba(235, 242, 255, 0.95) !important;
    font-weight: 700 !important;
}

.nkey-profile .nkey-col-left .ui.card a {
    color: rgba(120, 170, 255, 0.9) !important;
}

.nkey-profile .nkey-col-left .ui.card img.ui.avatar {
    border-radius: 16px !important;
}

/* --- Panels (Heatmap, Pinned, Feed) --- */
.nkey-profile .nkey-panel {
    border-radius: 18px !important;
    background: rgba(15, 20, 35, 0.55) !important;
    border: 1px solid rgba(120, 160, 255, 0.12) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(10px) !important;
    padding: 18px !important;
    margin-bottom: 14px !important;
    overflow: hidden !important;
}

.nkey-profile .nkey-panel-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: rgba(235, 242, 255, 0.95) !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(120, 160, 255, 0.08) !important;
    background: linear-gradient(90deg, rgba(120, 170, 255, 1), rgba(80, 255, 200, 1)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    font-weight: 800 !important;
}

.nkey-profile .nkey-mount {
    min-height: 80px !important;
}

/* --- Feed panel scroll --- */
.nkey-profile .nkey-panel-feed .nkey-mount {
    max-height: 760px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    word-break: break-word !important;
}

.nkey-profile .nkey-panel-feed .ui.feed,
.nkey-profile .nkey-panel-feed .news.feed,
.nkey-profile .nkey-panel-feed .activity-feed {
    font-size: 12px !important;
}

/* --- Feed items --- */
.nkey-profile .nkey-panel .ui.feed .event .content .summary,
.nkey-profile .nkey-panel .ui.feed .event .content .extra,
.nkey-profile .nkey-panel .ui.feed .event .date {
    color: rgba(200, 215, 245, 0.75) !important;
}

.nkey-profile .nkey-panel .ui.feed .event .content a {
    color: rgba(120, 170, 255, 0.9) !important;
}

.nkey-profile .nkey-panel .ui.feed .event .content .summary a {
    color: rgba(120, 170, 255, 0.95) !important;
    font-weight: 600 !important;
}

/* --- Heatmap override --- */
.nkey-profile .nkey-panel .contribution-text {
    color: rgba(200, 215, 245, 0.7) !important;
}

/* --- Pinned repos style --- */
.nkey-profile #nkey-mount-pinned .repo-list .repo-list-item,
.nkey-profile #nkey-mount-pinned .flex-item {
    background: rgba(10, 14, 24, 0.35) !important;
    border: 1px solid rgba(120, 160, 255, 0.08) !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
    transition: border-color 200ms ease, transform 200ms ease !important;
}

.nkey-profile #nkey-mount-pinned .repo-list .repo-list-item:hover,
.nkey-profile #nkey-mount-pinned .flex-item:hover {
    border-color: rgba(120, 160, 255, 0.2) !important;
    transform: translateY(-1px) !important;
}

.nkey-profile #nkey-mount-pinned {
    color: rgba(200, 215, 245, 0.78) !important;
}

.nkey-profile #nkey-mount-pinned a {
    color: rgba(120, 170, 255, 0.95) !important;
}

/* Search/filter inside pinned */
.nkey-profile #nkey-mount-pinned .ui.search,
.nkey-profile #nkey-mount-pinned input,
.nkey-profile #nkey-mount-pinned .ui.input {
    max-width: 100% !important;
}

.nkey-profile #nkey-mount-pinned input {
    background: rgba(10, 14, 24, 0.5) !important;
    border: 1px solid rgba(120, 160, 255, 0.12) !important;
    border-radius: 10px !important;
    color: rgba(220, 230, 255, 0.9) !important;
}

.nkey-profile #nkey-mount-pinned .ui.dropdown,
.nkey-profile #nkey-mount-pinned .ui.button {
    background: rgba(20, 28, 45, 0.55) !important;
    border: 1px solid rgba(120, 160, 255, 0.12) !important;
    color: rgba(220, 230, 255, 0.85) !important;
    border-radius: 10px !important;
}

/* --- Tabs (bottom row) --- */
.nkey-profile .ui.secondary.pointing.menu {
    border-bottom: 1px solid rgba(120, 160, 255, 0.1) !important;
}

.nkey-profile .ui.secondary.pointing.menu .item {
    color: rgba(200, 215, 245, 0.7) !important;
    border-color: transparent !important;
    border-radius: 10px 10px 0 0 !important;
    transition: color 200ms ease, background 200ms ease !important;
}

.nkey-profile .ui.secondary.pointing.menu .active.item {
    color: rgba(120, 170, 255, 0.95) !important;
    border-color: rgba(120, 170, 255, 0.8) !important;
    background: rgba(120, 170, 255, 0.06) !important;
    font-weight: 600 !important;
}

.nkey-profile .ui.secondary.pointing.menu .item:hover {
    color: rgba(220, 230, 255, 0.9) !important;
    background: rgba(120, 170, 255, 0.04) !important;
}

/* --- Tab content area --- */
.nkey-profile .ui.segment {
    background: rgba(15, 20, 35, 0.55) !important;
    border: 1px solid rgba(120, 160, 255, 0.12) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(10px) !important;
    color: rgba(200, 215, 245, 0.85) !important;
}

/* General text inside profile */
.nkey-profile .page-content a:not(.ui) {
    color: rgba(120, 170, 255, 0.9) !important;
}

/* Hide activity source block */
.nkey-profile .page-content[data-nkey="1"][data-tab="activity"] #nkey-activity-source {
    display: none !important;
}

/* Grid column min-width fix */
.nkey-profile .ui.grid > .row > .column {
    min-width: 0 !important;
}

/* --- Responsive --- */
@media (max-width: 920px) {
    .nkey-profile .nkey-col-left,
    .nkey-profile .nkey-col-mid,
    .nkey-profile .nkey-col-feed {
        width: 100% !important;
    }
}

/* ===========================
   Light mode
   =========================== */
@media (prefers-color-scheme: light) {
    .nkey-profile .nkey-prof-bg {
        background:
            radial-gradient(900px 600px at 20% 20%, rgba(80, 140, 255, 0.18), transparent 62%),
            radial-gradient(900px 600px at 80% 30%, rgba(40, 210, 170, 0.14), transparent 62%),
            radial-gradient(900px 700px at 60% 80%, rgba(255, 180, 80, 0.1), transparent 62%) !important;
        filter: saturate(105%) !important;
    }
    .nkey-profile .nkey-prof-bg .orb { opacity: 0.55 !important; filter: blur(20px) !important; }

    .nkey-profile .nkey-col-left .ui.card,
    .nkey-profile .nkey-col-left .ui.card > .content,
    .nkey-profile .nkey-col-left .ui.card > .extra {
        background: rgba(255, 255, 255, 0.65) !important;
        border-color: rgba(30, 70, 160, 0.1) !important;
        box-shadow: 0 10px 30px rgba(10, 20, 40, 0.08) !important;
    }

    .nkey-profile .nkey-col-left .ui.card * { color: rgba(25, 35, 55, 0.75) !important; }
    .nkey-profile .nkey-col-left .ui.card .header { color: rgba(15, 20, 35, 0.92) !important; }
    .nkey-profile .nkey-col-left .ui.card a { color: rgba(25, 60, 160, 0.95) !important; }
    .nkey-profile .nkey-col-left .ui.card > .extra { border-top-color: rgba(30, 70, 160, 0.08) !important; }

    .nkey-profile .nkey-panel {
        background: rgba(255, 255, 255, 0.65) !important;
        border-color: rgba(30, 70, 160, 0.1) !important;
        box-shadow: 0 10px 30px rgba(10, 20, 40, 0.08) !important;
    }

    .nkey-profile .nkey-panel-title {
        border-bottom-color: rgba(30, 70, 160, 0.06) !important;
    }

    .nkey-profile #nkey-mount-feed { color: rgba(25, 35, 55, 0.75) !important; }
    .nkey-profile #nkey-mount-feed * { color: inherit !important; }
    .nkey-profile #nkey-mount-feed a { color: rgba(25, 60, 160, 0.95) !important; }
    .nkey-profile .nkey-panel .contribution-text { color: rgba(25, 35, 55, 0.72) !important; }

    .nkey-profile #nkey-mount-pinned .repo-list .repo-list-item,
    .nkey-profile #nkey-mount-pinned .flex-item {
        background: rgba(255, 255, 255, 0.5) !important;
        border-color: rgba(30, 70, 160, 0.08) !important;
    }
    .nkey-profile #nkey-mount-pinned .repo-list .repo-list-item:hover,
    .nkey-profile #nkey-mount-pinned .flex-item:hover { border-color: rgba(30, 80, 200, 0.2) !important; }
    .nkey-profile #nkey-mount-pinned { color: rgba(25, 35, 55, 0.75) !important; }
    .nkey-profile #nkey-mount-pinned * { color: inherit !important; }
    .nkey-profile #nkey-mount-pinned a { color: rgba(25, 60, 160, 0.95) !important; }
    .nkey-profile #nkey-mount-pinned a:hover { color: rgba(20, 45, 140, 1) !important; }
    .nkey-profile #nkey-mount-pinned input {
        background: rgba(255, 255, 255, 0.6) !important;
        border-color: rgba(30, 70, 160, 0.12) !important;
        color: rgba(15, 20, 35, 0.85) !important;
    }
    .nkey-profile #nkey-mount-pinned .ui.dropdown,
    .nkey-profile #nkey-mount-pinned .ui.button {
        background: rgba(255, 255, 255, 0.6) !important;
        border-color: rgba(30, 70, 160, 0.1) !important;
        color: rgba(15, 20, 35, 0.75) !important;
    }

    .nkey-profile .ui.secondary.pointing.menu { border-bottom-color: rgba(30, 70, 160, 0.08) !important; }
    .nkey-profile .ui.secondary.pointing.menu .item { color: rgba(25, 35, 55, 0.6) !important; }
    .nkey-profile .ui.secondary.pointing.menu .active.item {
        color: rgba(30, 80, 200, 0.9) !important;
        border-color: rgba(30, 80, 200, 0.7) !important;
        background: rgba(30, 80, 200, 0.04) !important;
    }
    .nkey-profile .ui.secondary.pointing.menu .item:hover { color: rgba(15, 20, 35, 0.8) !important; }

    .nkey-profile .ui.segment {
        background: rgba(255, 255, 255, 0.65) !important;
        border-color: rgba(30, 70, 160, 0.1) !important;
        box-shadow: 0 10px 30px rgba(10, 20, 40, 0.08) !important;
        color: rgba(25, 35, 55, 0.8) !important;
    }

    .nkey-profile .page-content a:not(.ui) { color: rgba(30, 80, 200, 0.85) !important; }
}

/* ===========================
   Manual toggle: body.nkey-light
   =========================== */
body.nkey-light .nkey-profile .nkey-prof-bg {
    background:
        radial-gradient(900px 600px at 20% 20%, rgba(80, 140, 255, 0.18), transparent 62%),
        radial-gradient(900px 600px at 80% 30%, rgba(40, 210, 170, 0.14), transparent 62%),
        radial-gradient(900px 700px at 60% 80%, rgba(255, 180, 80, 0.1), transparent 62%) !important;
    filter: saturate(105%) !important;
}
body.nkey-light .nkey-profile .nkey-prof-bg .orb { opacity: 0.55 !important; filter: blur(20px) !important; }

body.nkey-light .nkey-profile .nkey-col-left .ui.card,
body.nkey-light .nkey-profile .nkey-col-left .ui.card > .content,
body.nkey-light .nkey-profile .nkey-col-left .ui.card > .extra {
    background: rgba(255, 255, 255, 0.65) !important; border-color: rgba(30, 70, 160, 0.1) !important; box-shadow: 0 10px 30px rgba(10, 20, 40, 0.08) !important;
}
body.nkey-light .nkey-profile .nkey-col-left .ui.card * { color: rgba(25, 35, 55, 0.75) !important; }
body.nkey-light .nkey-profile .nkey-col-left .ui.card .header { color: rgba(15, 20, 35, 0.92) !important; }
body.nkey-light .nkey-profile .nkey-col-left .ui.card a { color: rgba(25, 60, 160, 0.95) !important; }
body.nkey-light .nkey-profile .nkey-col-left .ui.card > .extra { border-top-color: rgba(30, 70, 160, 0.08) !important; }

body.nkey-light .nkey-profile .nkey-panel { background: rgba(255, 255, 255, 0.65) !important; border-color: rgba(30, 70, 160, 0.1) !important; box-shadow: 0 10px 30px rgba(10, 20, 40, 0.08) !important; }
body.nkey-light .nkey-profile .nkey-panel-title { border-bottom-color: rgba(30, 70, 160, 0.06) !important; }
body.nkey-light .nkey-profile #nkey-mount-feed { color: rgba(25, 35, 55, 0.75) !important; }
body.nkey-light .nkey-profile #nkey-mount-feed * { color: inherit !important; }
body.nkey-light .nkey-profile #nkey-mount-feed a { color: rgba(25, 60, 160, 0.95) !important; }
body.nkey-light .nkey-profile .nkey-panel .contribution-text { color: rgba(25, 35, 55, 0.72) !important; }

body.nkey-light .nkey-profile #nkey-mount-pinned .repo-list .repo-list-item,
body.nkey-light .nkey-profile #nkey-mount-pinned .flex-item { background: rgba(255, 255, 255, 0.5) !important; border-color: rgba(30, 70, 160, 0.08) !important; }
body.nkey-light .nkey-profile #nkey-mount-pinned { color: rgba(25, 35, 55, 0.75) !important; }
body.nkey-light .nkey-profile #nkey-mount-pinned * { color: inherit !important; }
body.nkey-light .nkey-profile #nkey-mount-pinned a { color: rgba(25, 60, 160, 0.95) !important; }
body.nkey-light .nkey-profile #nkey-mount-pinned input { background: rgba(255, 255, 255, 0.6) !important; border-color: rgba(30, 70, 160, 0.12) !important; color: rgba(15, 20, 35, 0.85) !important; }
body.nkey-light .nkey-profile #nkey-mount-pinned .ui.dropdown,
body.nkey-light .nkey-profile #nkey-mount-pinned .ui.button { background: rgba(255, 255, 255, 0.6) !important; border-color: rgba(30, 70, 160, 0.1) !important; color: rgba(15, 20, 35, 0.75) !important; }

body.nkey-light .nkey-profile .ui.secondary.pointing.menu { border-bottom-color: rgba(30, 70, 160, 0.08) !important; }
body.nkey-light .nkey-profile .ui.secondary.pointing.menu .item { color: rgba(25, 35, 55, 0.6) !important; }
body.nkey-light .nkey-profile .ui.secondary.pointing.menu .active.item { color: rgba(30, 80, 200, 0.9) !important; border-color: rgba(30, 80, 200, 0.7) !important; }

body.nkey-light .nkey-profile .ui.segment { background: rgba(255, 255, 255, 0.65) !important; border-color: rgba(30, 70, 160, 0.1) !important; color: rgba(25, 35, 55, 0.8) !important; }
body.nkey-light .nkey-profile .page-content a:not(.ui) { color: rgba(30, 80, 200, 0.85) !important; }

/* ===========================
   Manual toggle: body.nkey-dark
   =========================== */
body.nkey-dark .nkey-profile .nkey-prof-bg {
    background:
        radial-gradient(900px 600px at 20% 20%, rgba(120, 170, 255, 0.1), transparent 60%),
        radial-gradient(900px 600px at 80% 30%, rgba(80, 255, 200, 0.08), transparent 60%),
        radial-gradient(900px 700px at 60% 80%, rgba(255, 180, 80, 0.06), transparent 60%) !important;
    filter: saturate(110%) !important;
}
body.nkey-dark .nkey-profile .nkey-prof-bg .orb { opacity: 0.9 !important; filter: blur(16px) !important; }

body.nkey-dark .nkey-profile .nkey-col-left .ui.card,
body.nkey-dark .nkey-profile .nkey-col-left .ui.card > .content,
body.nkey-dark .nkey-profile .nkey-col-left .ui.card > .extra {
    background: rgba(15, 20, 35, 0.55) !important; border-color: rgba(120, 160, 255, 0.12) !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
}
body.nkey-dark .nkey-profile .nkey-col-left .ui.card .header { color: rgba(235, 242, 255, 0.95) !important; }
body.nkey-dark .nkey-profile .nkey-col-left .ui.card .meta,
body.nkey-dark .nkey-profile .nkey-col-left .ui.card .extra { color: rgba(200, 215, 245, 0.65) !important; }
body.nkey-dark .nkey-profile .nkey-col-left .ui.card a { color: rgba(120, 170, 255, 0.9) !important; }

body.nkey-dark .nkey-profile .nkey-panel { background: rgba(15, 20, 35, 0.55) !important; border-color: rgba(120, 160, 255, 0.12) !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important; }
body.nkey-dark .nkey-profile .nkey-panel-title { border-bottom-color: rgba(120, 160, 255, 0.08) !important; }
body.nkey-dark .nkey-profile .nkey-panel .ui.feed .event .content .summary,
body.nkey-dark .nkey-profile .nkey-panel .ui.feed .event .content .extra,
body.nkey-dark .nkey-profile .nkey-panel .ui.feed .event .date { color: rgba(200, 215, 245, 0.75) !important; }
body.nkey-dark .nkey-profile .nkey-panel .ui.feed .event .content a { color: rgba(120, 170, 255, 0.9) !important; }
body.nkey-dark .nkey-profile .nkey-panel .contribution-text { color: rgba(200, 215, 245, 0.7) !important; }

body.nkey-dark .nkey-profile #nkey-mount-pinned .repo-list .repo-list-item,
body.nkey-dark .nkey-profile #nkey-mount-pinned .flex-item { background: rgba(10, 14, 24, 0.35) !important; border-color: rgba(120, 160, 255, 0.08) !important; }
body.nkey-dark .nkey-profile #nkey-mount-pinned a { color: rgba(120, 170, 255, 0.95) !important; }
body.nkey-dark .nkey-profile #nkey-mount-pinned input { background: rgba(10, 14, 24, 0.5) !important; border-color: rgba(120, 160, 255, 0.12) !important; color: rgba(220, 230, 255, 0.9) !important; }
body.nkey-dark .nkey-profile #nkey-mount-pinned .ui.dropdown,
body.nkey-dark .nkey-profile #nkey-mount-pinned .ui.button { background: rgba(20, 28, 45, 0.55) !important; border-color: rgba(120, 160, 255, 0.12) !important; color: rgba(220, 230, 255, 0.85) !important; }

body.nkey-dark .nkey-profile .ui.secondary.pointing.menu { border-bottom-color: rgba(120, 160, 255, 0.1) !important; }
body.nkey-dark .nkey-profile .ui.secondary.pointing.menu .item { color: rgba(200, 215, 245, 0.7) !important; }
body.nkey-dark .nkey-profile .ui.secondary.pointing.menu .active.item { color: rgba(120, 170, 255, 0.95) !important; border-color: rgba(120, 170, 255, 0.8) !important; }

body.nkey-dark .nkey-profile .ui.segment { background: rgba(15, 20, 35, 0.55) !important; border-color: rgba(120, 160, 255, 0.12) !important; color: rgba(200, 215, 245, 0.85) !important; }
body.nkey-dark .nkey-profile .page-content a:not(.ui) { color: rgba(120, 170, 255, 0.9) !important; }
