/* =========================================================
   GLOBAL SEARCH V2
   Public-safe cross-platform command / discovery layer.
   ========================================================= */

.gs-v2{
    position:fixed;
    inset:0;
    z-index:99920;
    display:grid;
    place-items:start center;
    padding:clamp(24px,7vh,74px) 16px 16px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:
        opacity .18s ease,
        visibility .18s ease;
}

.gs-v2.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.gs-v2-backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:
        radial-gradient(circle at 12% 12%,rgba(91,234,255,.065),transparent 28%),
        radial-gradient(circle at 88% 12%,rgba(173,140,255,.065),transparent 30%),
        radial-gradient(circle at 74% 88%,rgba(255,114,183,.035),transparent 28%),
        rgba(2,7,11,.84);
    backdrop-filter:blur(32px) saturate(150%);
}

.gs-v2-panel{
    position:relative;
    z-index:2;
    width:min(1120px,100%);
    max-height:calc(100vh - clamp(48px,14vh,148px));
    overflow:hidden;
    display:grid;
    grid-template-rows:auto auto auto minmax(0,1fr) auto;
    border:1px solid transparent;
    border-radius:34px;
    background:
        radial-gradient(circle at 4% 0%,rgba(91,234,255,.12),transparent 28%) padding-box,
        radial-gradient(circle at 98% 3%,rgba(173,140,255,.105),transparent 30%) padding-box,
        linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.015)) padding-box,
        rgba(8,19,30,.985) padding-box,
        linear-gradient(125deg,
            rgba(91,234,255,.38),
            rgba(108,141,255,.26),
            rgba(173,140,255,.33),
            rgba(255,114,183,.18),
            rgba(184,255,104,.24)) border-box;
    box-shadow:
        0 56px 180px rgba(0,0,0,.48),
        inset 0 1px 0 rgba(255,255,255,.075);
}

.gs-v2-panel::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(255,255,255,.04),transparent 17%),
        radial-gradient(circle at 50% -22%,rgba(255,255,255,.055),transparent 40%);
}

.gs-v2-head{
    position:relative;
    z-index:1;
    padding:16px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border-bottom:1px solid rgba(255,255,255,.065);
}

.gs-v2-brand{
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
}

.gs-v2-brand img{
    width:168px;
    max-width:32vw;
    display:block;
    padding:4px;
    border:1px solid rgba(255,255,255,.05);
    border-radius:15px;
    background:rgba(7,18,28,.72);
}

.gs-v2-head-copy{
    min-width:0;
}

.gs-v2-head-copy span{
    color:rgba(116,236,255,.72);
    font:700 .38rem/1 monospace;
    letter-spacing:.09em;
}

.gs-v2-head-copy h2{
    margin:7px 0 0;
    color:#fff;
    font-size:1.25rem;
    letter-spacing:-.04em;
}

.gs-v2-close{
    width:42px;
    height:42px;
    flex:0 0 auto;
    border:1px solid rgba(255,255,255,.09);
    border-radius:50%;
    color:#fff;
    background:rgba(255,255,255,.015);
    cursor:pointer;
    font-size:1.15rem;
}

.gs-v2-search-wrap{
    position:relative;
    z-index:1;
    margin:13px 14px 0;
    min-height:58px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    padding:0 12px 0 16px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01)),
        rgba(7,18,28,.74);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.045),
        0 14px 34px rgba(0,0,0,.10);
}

.gs-v2-search-icon{
    color:rgba(91,234,255,.76);
    font-size:1.05rem;
}

.gs-v2-input{
    width:100%;
    border:0;
    outline:0;
    color:#fff;
    background:transparent;
    font-size:.68rem;
}

.gs-v2-input::placeholder{
    color:rgba(255,255,255,.26);
}

.gs-v2-shortcut{
    padding:7px 9px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
    color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.015);
    font:700 .35rem/1 monospace;
}

.gs-v2-toolbar{
    position:relative;
    z-index:1;
    padding:10px 14px 9px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,.055);
}

.gs-v2-filters{
    display:flex;
    gap:5px;
    overflow:auto;
    scrollbar-width:none;
}

.gs-v2-filters::-webkit-scrollbar{display:none}

.gs-v2-filter{
    flex:0 0 auto;
    min-height:32px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:999px;
    color:rgba(255,255,255,.34);
    background:rgba(255,255,255,.01);
    cursor:pointer;
    font:700 .33rem/1 monospace;
    letter-spacing:.05em;
}

.gs-v2-filter:hover,
.gs-v2-filter.is-active{
    color:#fff;
    border-color:rgba(91,234,255,.20);
    background:
        linear-gradient(135deg,rgba(91,234,255,.055),rgba(173,140,255,.03));
}

.gs-v2-count{
    flex:0 0 auto;
    color:rgba(255,255,255,.27);
    font:650 .34rem/1 monospace;
    letter-spacing:.05em;
}

.gs-v2-results{
    position:relative;
    z-index:1;
    min-height:0;
    overflow:auto;
    padding:9px 12px 12px;
    display:grid;
    gap:5px;
    align-content:start;
    scrollbar-width:thin;
}

.gs-v2-item{
    --gs-accent:91 234 255;
    width:100%;
    min-height:68px;
    padding:10px 11px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    border:1px solid rgba(255,255,255,.055);
    border-radius:16px;
    color:inherit;
    background:rgba(255,255,255,.008);
    text-align:left;
    cursor:pointer;
    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease;
}

.gs-v2-item:hover,
.gs-v2-item.is-selected{
    transform:translateX(2px);
    border-color:rgb(var(--gs-accent)/.23);
    background:
        radial-gradient(circle at 0 50%,rgb(var(--gs-accent)/.06),transparent 24%),
        rgba(255,255,255,.016);
}

.gs-v2-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgb(var(--gs-accent)/.13);
    border-radius:14px;
    color:rgb(var(--gs-accent)/.80);
    background:rgb(var(--gs-accent)/.035);
    font:800 .35rem/1 monospace;
    letter-spacing:.04em;
}

.gs-v2-item-copy{
    min-width:0;
}

.gs-v2-item-copy strong{
    display:block;
    overflow:hidden;
    color:#fff;
    font-size:.58rem;
    line-height:1.25;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.gs-v2-item-copy small{
    display:block;
    margin-top:5px;
    overflow:hidden;
    color:rgba(255,255,255,.30);
    font-size:.42rem;
    line-height:1.35;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.gs-v2-item-meta{
    display:flex;
    align-items:center;
    gap:7px;
}

.gs-v2-type{
    padding:5px 7px;
    border:1px solid rgb(var(--gs-accent)/.12);
    border-radius:999px;
    color:rgb(var(--gs-accent)/.62);
    background:rgb(var(--gs-accent)/.025);
    font:700 .30rem/1 monospace;
    letter-spacing:.05em;
}

.gs-v2-arrow{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.06);
    border-radius:50%;
    color:rgba(255,255,255,.34);
    font-size:.48rem;
}

.gs-v2-empty{
    min-height:180px;
    display:grid;
    place-items:center;
    border:1px dashed rgba(255,255,255,.075);
    border-radius:18px;
    color:rgba(255,255,255,.28);
    font:650 .48rem/1.5 monospace;
    text-align:center;
}

.gs-v2-foot{
    position:relative;
    z-index:1;
    padding:10px 14px 13px;
    display:flex;
    justify-content:space-between;
    gap:14px;
    border-top:1px solid rgba(255,255,255,.055);
    color:rgba(255,255,255,.23);
    font:650 .33rem/1.4 monospace;
    letter-spacing:.04em;
}

.global-search-trigger{
    min-height:40px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    color:rgba(255,255,255,.58);
    background:
        linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
    cursor:pointer;
    font:700 .39rem/1 monospace;
    letter-spacing:.05em;
}

.global-search-trigger b{
    color:rgba(91,234,255,.74);
    font-weight:800;
}

.global-search-trigger:hover{
    color:#fff;
    border-color:rgba(91,234,255,.22);
    background:
        linear-gradient(135deg,rgba(91,234,255,.055),rgba(173,140,255,.03));
}

@media(max-width:760px){
    .gs-v2{
        padding:8px;
    }

    .gs-v2-panel{
        max-height:calc(100vh - 16px);
        border-radius:24px;
    }

    .gs-v2-brand img{
        width:142px;
    }

    .gs-v2-head-copy h2{
        font-size:1rem;
    }

    .gs-v2-toolbar{
        display:block;
    }

    .gs-v2-count{
        display:block;
        margin-top:8px;
    }

    .gs-v2-item{
        grid-template-columns:40px minmax(0,1fr) auto;
    }

    .gs-v2-type{
        display:none;
    }

    .gs-v2-foot{
        display:block;
    }

    .gs-v2-foot span+span{
        display:block;
        margin-top:5px;
    }
}

@media(prefers-reduced-motion:reduce){
    .gs-v2,
    .gs-v2-item{
        transition:none!important;
    }
}

/* =========================================================
   V13 — GLOBAL KNOWLEDGE NAVIGATOR
   Counts, context and non-evidentiary discovery preview.
   ========================================================= */

.gs-v2-panel{
    width:min(1240px,100%);
    border-radius:38px;
}

.gs-v2-filter{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.gs-v2-filter b{
    min-width:20px;
    height:20px;
    padding:0 5px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.055);
    border-radius:999px;
    color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.012);
    font:700 .29rem/1 monospace;
}

.gs-v2-filter.is-active b{
    color:rgba(91,234,255,.76);
    border-color:rgba(91,234,255,.13);
    background:rgba(91,234,255,.025);
}

.gs-v2-context{
    position:relative;
    z-index:1;
    margin:9px 14px 0;
    padding:8px 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid rgba(255,255,255,.05);
    border-radius:16px;
    background:rgba(255,255,255,.008);
    color:rgba(255,255,255,.27);
    font:650 .34rem/1.4 monospace;
    letter-spacing:.05em;
}

.gs-v2-context strong{
    color:rgba(91,234,255,.68);
}

.gs-v2-results-layout{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
}

.gs-v2-results{
    border-right:1px solid rgba(255,255,255,.05);
}

.gs-v2-item{
    position:relative;
    overflow:hidden;
    border-radius:19px;
    isolation:isolate;
}

.gs-v2-item::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:0;
    border-radius:inherit;
    background:
        radial-gradient(
            280px circle at var(--mx,50%) var(--my,50%),
            rgb(var(--gs-accent)/.12),
            transparent 62%
        );
    transition:opacity .18s ease;
}

.gs-v2-item:hover::after,
.gs-v2-item.is-selected::after{
    opacity:1;
}

.gs-v2-item > *{
    position:relative;
    z-index:1;
}

.gs-v2-route{
    display:block;
    margin-top:4px;
    overflow:hidden;
    color:rgba(255,255,255,.18);
    font:600 .32rem/1 monospace;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.gs-v2-preview{
    min-height:0;
    padding:14px;
    overflow:auto;
    background:
        radial-gradient(circle at 0 0,rgba(91,234,255,.035),transparent 34%),
        rgba(255,255,255,.004);
}

.gs-v2-preview>span{
    color:rgba(91,234,255,.66);
    font:700 .34rem/1 monospace;
    letter-spacing:.08em;
}

.gs-v2-preview h3{
    margin:10px 0 6px;
    color:#fff;
    font-size:.88rem;
    line-height:1.25;
}

.gs-v2-preview p{
    margin:0;
    color:rgba(255,255,255,.38);
    font-size:.45rem;
    line-height:1.55;
}

.gs-v2-preview-note{
    margin-top:12px;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.05);
    border-radius:13px;
    color:rgba(255,255,255,.26);
    background:rgba(255,255,255,.008);
    font:600 .33rem/1.5 monospace;
}

.gs-v2-nearby{
    margin-top:12px;
    display:grid;
    gap:6px;
}

.gs-v2-nearby a{
    min-height:48px;
    padding:8px 9px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    border:1px solid rgba(255,255,255,.05);
    border-radius:14px;
    color:rgba(255,255,255,.52);
    background:rgba(255,255,255,.008);
    font-size:.42rem;
}

.gs-v2-nearby a:hover{
    color:#fff;
    border-color:rgba(91,234,255,.16);
    background:rgba(91,234,255,.025);
}

.gs-v2-nearby i{
    color:rgba(91,234,255,.60);
    font-style:normal;
}

@media(max-width:900px){
    .gs-v2-results-layout{
        grid-template-columns:1fr;
    }

    .gs-v2-results{
        border-right:0;
    }

    .gs-v2-preview{
        display:none;
    }
}

/* V13.1 — panel rows for context + preview layout */
.gs-v2-panel{
    grid-template-rows:auto auto auto auto minmax(0,1fr) auto;
}

@media(max-width:760px){
    .gs-v2-context{
        margin:8px 9px 0;
        border-radius:14px;
    }
}
