/* =========================================================
   BUILD LEDGER V1
   Measured development time + transparent replacement value.
   ========================================================= */

.bl-section{
    padding:78px 0;
    border-bottom:1px solid rgba(255,255,255,.05);
}

.bl-head{
    display:grid;
    grid-template-columns:1fr minmax(300px,.65fr);
    gap:42px;
    align-items:end;
    margin-bottom:18px;
}

.bl-head span{
    color:rgb(var(--world-accent)/.82);
    font:700 .4rem/1 monospace;
    letter-spacing:.09em;
}

.bl-head h2{
    margin:9px 0 0;
    color:#fff;
    font-size:clamp(2rem,3.8vw,4rem);
    line-height:.93;
    letter-spacing:-.055em;
}

.bl-head p{
    margin:0;
    color:var(--ws-muted);
    font-size:.58rem;
    line-height:1.65;
}

.bl-boundary{
    margin-bottom:12px;
    padding:11px 13px;
    border:1px solid rgba(255,172,104,.13);
    border-radius:18px;
    color:rgba(255,218,180,.60);
    background:rgba(255,172,104,.025);
    font:650 .4rem/1.55 monospace;
}

.bl-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}

.bl-metric{
    min-height:178px;
    padding:15px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:22px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.075),transparent 38%),
        linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),
        rgba(255,255,255,.01);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.bl-metric span{
    color:rgb(var(--world-accent)/.62);
    font:700 .35rem/1 monospace;
    letter-spacing:.065em;
}

.bl-metric strong{
    display:block;
    margin-top:23px;
    color:#fff;
    font-size:clamp(1.35rem,2.2vw,2.1rem);
    letter-spacing:-.05em;
}

.bl-metric small{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.32);
    font-size:.41rem;
    line-height:1.45;
}

.bl-integrity{
    margin-top:10px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
}

.bl-integrity-item{
    padding:11px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:17px;
    background:rgba(255,255,255,.009);
}

.bl-integrity-item span{
    display:block;
    color:var(--ws-dim);
    font:700 .32rem/1 monospace;
    letter-spacing:.05em;
}

.bl-integrity-item strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:.48rem;
    line-height:1.45;
}

.bl-grid{
    margin-top:10px;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
    gap:10px;
}

.bl-panel{
    padding:16px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:26px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.05),transparent 36%),
        linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.008)),
        rgba(8,19,29,.62);
    box-shadow:
        0 22px 62px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.bl-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.bl-panel-head span{
    color:rgb(var(--world-accent)/.72);
    font:700 .38rem/1 monospace;
    letter-spacing:.075em;
}

.bl-panel-head i{
    padding:6px 8px;
    border:1px solid rgb(var(--world-accent)/.14);
    border-radius:999px;
    color:rgb(var(--world-accent)/.68);
    background:rgb(var(--world-accent)/.025);
    font:700 .32rem/1 monospace;
    font-style:normal;
}

.bl-session-list{
    margin-top:12px;
    display:grid;
    gap:7px;
}

.bl-session{
    padding:12px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    background:rgba(255,255,255,.009);
}

.bl-session-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
}

.bl-session-top strong{
    color:#fff;
    font-size:.52rem;
}

.bl-session-top span{
    color:rgb(var(--world-accent)/.66);
    font:700 .34rem/1 monospace;
}

.bl-session-bar{
    margin-top:10px;
    height:6px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.04);
}

.bl-session-bar i{
    height:100%;
    display:block;
    width:var(--session-width,0%);
    border-radius:inherit;
    background:
        linear-gradient(90deg,
            rgb(var(--world-accent)/.9),
            rgb(var(--world-accent-2)/.85));
    box-shadow:0 0 12px rgb(var(--world-accent)/.22);
}

.bl-value-stack{
    margin-top:12px;
    display:grid;
    gap:8px;
}

.bl-value{
    padding:13px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:18px;
    background:rgba(255,255,255,.009);
}

.bl-value span{
    color:var(--ws-dim);
    font:700 .33rem/1 monospace;
    letter-spacing:.055em;
}

.bl-value strong{
    display:block;
    margin-top:8px;
    color:#fff;
    font-size:1rem;
}

.bl-value p{
    margin:7px 0 0;
    color:rgba(255,255,255,.32);
    font-size:.41rem;
    line-height:1.5;
}

.bl-source-list{
    margin-top:12px;
    display:grid;
    gap:7px;
}

.bl-source{
    padding:12px;
    display:block;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    background:rgba(255,255,255,.009);
}

.bl-source:hover{
    border-color:rgb(var(--world-accent)/.20);
    background:rgb(var(--world-accent)/.025);
}

.bl-source span{
    color:rgb(var(--world-accent)/.65);
    font:700 .32rem/1 monospace;
    letter-spacing:.05em;
}

.bl-source strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:.53rem;
}

.bl-source small{
    display:block;
    margin-top:6px;
    color:rgba(255,255,255,.30);
    font-size:.39rem;
    line-height:1.48;
}

.bl-unmodelled{
    margin-top:10px;
    padding:14px;
    border:1px dashed rgba(255,255,255,.10);
    border-radius:20px;
    background:
        radial-gradient(circle at 0 0,rgba(255,172,104,.045),transparent 38%),
        rgba(255,255,255,.005);
}

.bl-unmodelled span{
    color:rgba(255,172,104,.68);
    font:700 .35rem/1 monospace;
    letter-spacing:.06em;
}

.bl-unmodelled strong{
    display:block;
    margin-top:10px;
    color:#fff;
    font-size:.78rem;
}

.bl-unmodelled p{
    margin:7px 0 0;
    color:rgba(255,255,255,.34);
    font-size:.43rem;
    line-height:1.55;
}

@media(max-width:1050px){
    .bl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .bl-integrity{grid-template-columns:repeat(2,minmax(0,1fr))}
    .bl-grid{grid-template-columns:1fr}
}

@media(max-width:650px){
    .bl-head{grid-template-columns:1fr}
    .bl-metrics,
    .bl-integrity{grid-template-columns:1fr}
    .bl-panel{border-radius:21px}
}

/* V13 — BUILD LEDGER MEASUREMENT SURFACE */
.bl-panel,.bl-integrity,.bl-unmodelled{border-radius:30px!important}
.bl-metric,.bl-integrity-item,.bl-session,.bl-value,.bl-source{
  position:relative;overflow:hidden;border-radius:22px!important;isolation:isolate;
  transition:transform .2s var(--ws-ease),border-color .2s ease,box-shadow .2s ease;
}
.bl-metric::after,.bl-session::after,.bl-value::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;border-radius:inherit;
  background:radial-gradient(250px circle at var(--mx,50%) var(--my,50%),rgb(var(--world-accent)/.12),transparent 62%);
  transition:opacity .2s ease;
}
.bl-metric:hover::after,.bl-session:hover::after,.bl-value:hover::after{opacity:1}
.bl-metric:hover,.bl-session:hover,.bl-value:hover{transform:translateY(-2px);border-color:rgb(var(--world-accent)/.20);box-shadow:0 18px 48px rgba(0,0,0,.12)}
.bl-metric>*,.bl-session>*,.bl-value>*{position:relative;z-index:1}
.bl-session-bar{border-radius:999px!important;overflow:hidden}

/* =========================================================
   V13.2 — FACTUAL SCOPE / COMPLEXITY INVENTORY
   ========================================================= */

.bl-scope-panel{
    margin-top:10px;
    border-radius:30px;
}

.bl-scope-grid{
    margin-top:12px;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:7px;
}

.bl-scope-card{
    min-height:132px;
    padding:13px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.065);
    border-radius:20px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.075),transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.007)),
        rgba(255,255,255,.008);
}

.bl-scope-card span{
    color:rgb(var(--world-accent)/.62);
    font:700 .32rem/1.25 monospace;
    letter-spacing:.055em;
}

.bl-scope-card strong{
    display:block;
    margin-top:24px;
    color:#fff;
    font-size:clamp(1.7rem,3vw,3.1rem);
    line-height:.85;
    letter-spacing:-.06em;
}

.bl-effort-state{
    margin-top:8px;
    padding:15px;
    border:1px solid rgba(255,172,104,.13);
    border-radius:20px;
    background:
        radial-gradient(circle at 0 0,rgba(255,172,104,.06),transparent 36%),
        rgba(255,172,104,.016);
}

.bl-effort-state span{
    color:rgba(255,172,104,.66);
    font:700 .34rem/1 monospace;
    letter-spacing:.065em;
}

.bl-effort-state strong{
    display:block;
    margin-top:10px;
    color:#fff;
    font-size:.82rem;
    letter-spacing:-.02em;
}

.bl-effort-state p{
    margin:7px 0 0;
    color:rgba(255,255,255,.34);
    font-size:.42rem;
    line-height:1.55;
}

@media(max-width:1100px){
    .bl-scope-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .bl-scope-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
