.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;}

#selectorInput{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:.9rem;
}

.spec-result{
    border:1px solid var(--bs-border-color);
    border-radius:.5rem;
    padding:.85rem 1rem;
    margin-bottom:.75rem;
    background:var(--bs-body-bg);
}
.spec-result:last-child{margin-bottom:0;}

.spec-selector{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:1rem;
    word-break:break-all;
    margin-bottom:.5rem;
}
.spec-selector .seg-id{color:#dc3545;font-weight:600;background:rgba(220,53,69,.1);padding:.05rem .25rem;border-radius:.2rem;}
.spec-selector .seg-class{color:#fd7e14;font-weight:600;background:rgba(253,126,20,.1);padding:.05rem .25rem;border-radius:.2rem;}
.spec-selector .seg-type{color:#0dcaf0;font-weight:600;background:rgba(13,202,240,.1);padding:.05rem .25rem;border-radius:.2rem;}
.spec-selector .seg-zero{color:var(--bs-secondary-color);}
.spec-selector .seg-comb{color:var(--bs-secondary-color);margin:0 .15rem;}

[data-bs-theme="dark"] .spec-selector .seg-id{background:rgba(220,53,69,.2);}
[data-bs-theme="dark"] .spec-selector .seg-class{background:rgba(253,126,20,.2);}
[data-bs-theme="dark"] .spec-selector .seg-type{background:rgba(13,202,240,.2);}

.spec-tuple{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:1.15rem;
    font-weight:700;
    padding:.35rem .75rem;
    background:var(--bs-tertiary-bg);
    border-radius:.4rem;
}
.spec-tuple .tup-a{color:#dc3545;}
.spec-tuple .tup-b{color:#fd7e14;}
.spec-tuple .tup-c{color:#0dcaf0;}
.spec-tuple .tup-sep{color:var(--bs-secondary-color);font-weight:400;}

.spec-breakdown{
    display:flex;
    gap:1.25rem;
    flex-wrap:wrap;
    font-size:.85rem;
    color:var(--bs-secondary-color);
    margin-top:.5rem;
}
.spec-breakdown .bd-item strong{color:var(--bs-body-color);}

.spec-note{
    margin-top:.5rem;
    padding:.4rem .65rem;
    background:var(--bs-tertiary-bg);
    border-left:3px solid var(--bs-warning);
    border-radius:.25rem;
    font-size:.8rem;
    color:var(--bs-secondary-color);
}
