/* =========================================================
   PROFILE ROLE MATRIX V1
   25 owner-confirmed roles / 6 clusters.
   Project mappings remain evidence-gated.
   ========================================================= */
.prm-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 18% 26%,rgba(100,247,161,.055),transparent 28%),
        radial-gradient(circle at 82% 76%,rgba(91,234,255,.045),transparent 30%),
        rgba(8,18,28,.52);
}
.prm-head{
    display:grid;
    grid-template-columns:1fr minmax(280px,.62fr);
    gap:40px;
    align-items:end;
    margin-bottom:24px;
}
.prm-head span{
    color:rgb(var(--world-accent)/.88);
    font:650 .44rem/1 monospace;
    letter-spacing:.1em;
}
.prm-head h2{
    margin:10px 0 0;
    font-size:clamp(2.2rem,4.6vw,4.8rem);
    line-height:.9;
    letter-spacing:-.06em;
}
.prm-head p{
    margin:0;
    color:var(--ws-muted);
    font-size:.61rem;
    line-height:1.7;
}
.prm-layout{
    display:grid;
    grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);
    gap:12px;
}
.prm-orbit{
    position:relative;
    min-height:560px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:28px;
    background:
        radial-gradient(circle at 50% 50%,rgba(91,234,255,.07),transparent 18%),
        radial-gradient(circle at 50% 50%,transparent 0 28%,rgba(255,255,255,.035) 28.2% 28.4%,transparent 28.6% 44%,rgba(255,255,255,.025) 44.2% 44.4%,transparent 44.6%),
        conic-gradient(from 0deg,rgba(91,234,255,.035),rgba(173,140,255,.025),rgba(255,114,183,.025),rgba(184,255,104,.025),rgba(91,234,255,.035)),
        rgba(10,22,33,.76);
    box-shadow:
        0 26px 72px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.045);
}
.prm-orbit::before{
    content:"";
    position:absolute;
    inset:9%;
    pointer-events:none;
    border:1px dashed rgba(255,255,255,.055);
    border-radius:50%;
}
.prm-core{
    position:absolute;
    left:50%;
    top:50%;
    width:150px;
    height:150px;
    display:grid;
    place-items:center;
    transform:translate(-50%,-50%);
    border:1px solid rgba(91,234,255,.28);
    border-radius:50%;
    background:
        radial-gradient(circle at 36% 28%,rgba(255,255,255,.08),transparent 26%),
        linear-gradient(145deg,rgba(91,234,255,.10),rgba(173,140,255,.075)),
        rgba(8,19,29,.94);
    box-shadow:
        0 0 0 12px rgba(91,234,255,.018),
        0 0 52px rgba(91,234,255,.10),
        inset 0 1px 0 rgba(255,255,255,.08);
}
.prm-core::before,
.prm-core::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}
.prm-core::before{
    inset:-15px;
    border:1px solid rgba(173,140,255,.12);
}
.prm-core::after{
    inset:-31px;
    border:1px dashed rgba(91,234,255,.09);
}
.prm-core strong{
    color:#fff;
    font-size:1.5rem;
    letter-spacing:-.045em;
}
.prm-core small{
    display:block;
    margin-top:4px;
    color:rgba(123,239,255,.60);
    font:650 .4rem/1 monospace;
    letter-spacing:.08em;
    text-align:center;
}
.prm-cluster{
    --prm-a:91 234 255;
    position:absolute;
    width:150px;
    min-height:72px;
    padding:10px 12px;
    border:1px solid rgb(var(--prm-a)/.16);
    border-radius:18px;
    color:rgba(248,251,255,.72);
    background:
        radial-gradient(circle at 0 0,rgb(var(--prm-a)/.075),transparent 42%),
        rgba(12,25,37,.88);
    box-shadow:
        0 14px 34px rgba(0,0,0,.13),
        inset 0 1px 0 rgba(255,255,255,.04);
    cursor:pointer;
    text-align:left;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}
.prm-cluster:hover,
.prm-cluster.is-active{
    transform:translateY(-2px);
    border-color:rgb(var(--prm-a)/.38);
    background:
        radial-gradient(circle at 0 0,rgb(var(--prm-a)/.14),transparent 46%),
        rgba(14,29,42,.94);
    box-shadow:
        0 18px 42px rgba(0,0,0,.16),
        0 0 26px rgb(var(--prm-a)/.055),
        inset 0 1px 0 rgba(255,255,255,.06);
}
.prm-cluster span{
    display:block;
    color:rgb(var(--prm-a)/.76);
    font:700 .36rem/1 monospace;
    letter-spacing:.075em;
}
.prm-cluster b{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:.58rem;
    line-height:1.2;
}
.prm-cluster[data-pos="0"]{left:50%;top:7%;transform:translateX(-50%)}
.prm-cluster[data-pos="0"]:hover,
.prm-cluster[data-pos="0"].is-active{transform:translateX(-50%) translateY(-2px)}
.prm-cluster[data-pos="1"]{right:6%;top:26%}
.prm-cluster[data-pos="2"]{right:7%;bottom:18%}
.prm-cluster[data-pos="3"]{left:50%;bottom:6%;transform:translateX(-50%)}
.prm-cluster[data-pos="3"]:hover,
.prm-cluster[data-pos="3"].is-active{transform:translateX(-50%) translateY(-2px)}
.prm-cluster[data-pos="4"]{left:6%;bottom:18%}
.prm-cluster[data-pos="5"]{left:6%;top:26%}

.prm-panel{
    min-height:560px;
    padding:18px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:28px;
    background:
        radial-gradient(circle at 0 0,rgba(100,247,161,.055),transparent 34%),
        linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),
        rgba(13,26,38,.72);
}
.prm-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.prm-panel-head span{
    color:rgb(var(--world-accent)/.76);
    font:650 .4rem/1 monospace;
    letter-spacing:.08em;
}
.prm-map-state{
    padding:6px 8px;
    border:1px solid rgba(255,172,104,.15);
    border-radius:999px;
    color:rgba(255,208,165,.60);
    background:rgba(255,172,104,.025);
    font:650 .36rem/1 monospace;
}
.prm-role-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-top:14px;
}
.prm-role{
    min-height:60px;
    padding:10px 11px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    color:rgba(248,251,255,.70);
    background:rgba(255,255,255,.014);
    cursor:pointer;
    text-align:left;
    transition:.2s ease;
}
.prm-role:hover,
.prm-role.is-selected{
    color:#fff;
    border-color:rgb(var(--world-accent)/.25);
    background:rgb(var(--world-accent)/.045);
}
.prm-role small{
    display:block;
    margin-top:4px;
    color:var(--ws-dim);
    font:600 .36rem/1 monospace;
}
.prm-inspector{
    margin-top:12px;
    padding:14px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:16px;
    background:rgba(7,17,26,.58);
}
.prm-inspector span{
    color:rgb(var(--world-accent)/.72);
    font:650 .38rem/1 monospace;
    letter-spacing:.07em;
}
.prm-inspector h3{
    margin:8px 0 6px;
    color:#fff;
    font-size:.92rem;
}
.prm-inspector p{
    margin:0;
    color:rgba(238,246,255,.47);
    font-size:.5rem;
    line-height:1.6;
}
.prm-count{
    margin-top:12px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:var(--ws-dim);
    font:600 .4rem/1.5 monospace;
}
@media(max-width:980px){
    .prm-head{grid-template-columns:1fr;gap:14px}
    .prm-layout{grid-template-columns:1fr}
    .prm-orbit{min-height:520px}
}
@media(max-width:620px){
    .prm-orbit{
        min-height:auto;
        padding:18px;
        display:grid;
        grid-template-columns:1fr;
        gap:7px;
    }
    .prm-core{
        position:relative;
        left:auto;
        top:auto;
        width:120px;
        height:120px;
        margin:8px auto 18px;
        transform:none;
    }
    .prm-cluster,
    .prm-cluster[data-pos]{
        position:relative;
        inset:auto;
        width:100%;
        transform:none!important;
    }
    .prm-role-grid{grid-template-columns:1fr}
}

/* V12 entity deep-link */
.prm-inspector-actions{
    margin-top:12px;
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}
.prm-detail-link{
    min-height:36px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    color:rgba(255,255,255,.56);
    background:
        linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008));
    font:700 .36rem/1 monospace;
    letter-spacing:.055em;
}
.prm-detail-link:hover{
    color:#fff;
    border-color:rgba(91,234,255,.23);
    background:linear-gradient(135deg,rgba(91,234,255,.06),rgba(173,140,255,.035));
}

/* =========================================================
   V13 — ROLE MATRIX EXPLORER
   Searchable owner-confirmed role system.
   ========================================================= */

.prm-tools{
    margin:0 0 12px;
    padding:9px;
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto;
    gap:9px;
    align-items:center;
    border:1px solid rgba(255,255,255,.07);
    border-radius:20px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008)),
        rgba(7,18,28,.54);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.prm-search-wrap{
    position:relative;
    min-width:0;
}

.prm-search{
    width:100%;
    min-height:43px;
    padding:0 42px 0 14px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:999px;
    outline:0;
    color:#fff;
    background:rgba(255,255,255,.018);
    font:600 .46rem/1 monospace;
    letter-spacing:.04em;
}

.prm-search::placeholder{
    color:rgba(255,255,255,.28);
}

.prm-search:focus{
    border-color:rgba(100,247,161,.24);
    box-shadow:
        0 0 0 4px rgba(100,247,161,.035),
        inset 0 1px 0 rgba(255,255,255,.045);
}

.prm-search-key{
    position:absolute;
    right:9px;
    top:50%;
    transform:translateY(-50%);
    padding:6px 7px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:999px;
    color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.018);
    font:700 .34rem/1 monospace;
}

.prm-tool-state{
    min-height:43px;
    padding:0 12px;
    display:flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:999px;
    color:rgba(255,255,255,.42);
    background:rgba(255,255,255,.012);
    font:650 .38rem/1 monospace;
    letter-spacing:.055em;
}

.prm-tool-state::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgb(var(--prm-live,100 247 161));
    box-shadow:0 0 12px rgb(var(--prm-live,100 247 161)/.35);
}

.prm-orbit{
    border-radius:32px;
    background:
        radial-gradient(circle at 50% 50%,rgb(var(--prm-current,91 234 255)/.085),transparent 18%),
        radial-gradient(circle at 50% 50%,transparent 0 28%,rgba(255,255,255,.035) 28.2% 28.4%,transparent 28.6% 44%,rgba(255,255,255,.025) 44.2% 44.4%,transparent 44.6%),
        conic-gradient(from 0deg,rgba(91,234,255,.035),rgba(173,140,255,.028),rgba(255,114,183,.025),rgba(184,255,104,.025),rgba(91,234,255,.035)),
        rgba(10,22,33,.78);
    transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.prm-panel{
    --prm-current:100 247 161;
    border-radius:32px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--prm-current)/.075),transparent 34%),
        linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),
        rgba(13,26,38,.76);
    transition:background .3s ease,border-color .3s ease;
}

.prm-role{
    position:relative;
    overflow:hidden;
    min-height:66px;
    border-radius:17px;
}

.prm-role::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:0;
    background:
        radial-gradient(circle at 0 0,rgb(var(--prm-current,91 234 255)/.10),transparent 45%);
    transition:opacity .18s ease;
}

.prm-role:hover::after,
.prm-role.is-selected::after{
    opacity:1;
}

.prm-role.is-selected{
    border-color:rgb(var(--prm-current,91 234 255)/.34);
    box-shadow:
        0 0 0 1px rgb(var(--prm-current,91 234 255)/.055),
        inset 0 1px 0 rgba(255,255,255,.055);
}

.prm-inspector{
    border-radius:20px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--prm-current,91 234 255)/.055),transparent 38%),
        rgba(7,17,26,.62);
}

.prm-no-results{
    grid-column:1/-1;
    min-height:140px;
    display:grid;
    place-items:center;
    border:1px dashed rgba(255,255,255,.08);
    border-radius:18px;
    color:rgba(255,255,255,.34);
    background:rgba(255,255,255,.008);
    font:650 .46rem/1.5 monospace;
}

@media(max-width:760px){
    .prm-tools{
        grid-template-columns:1fr;
    }

    .prm-tool-state{
        width:max-content;
    }
}
