/* ==========================================
   Anzuの実験室 専用：VS2022風コードブロック
   (22px固定・垂直ズレ完全解消版)
   ========================================== */

/* --- 1. 外枠：全体の土台 --- */
.hcb_wrap pre[class*=language-].line-numbers {
    background-color: #1e2b3e !important; 
    border: 1px solid #34495e !important;
    position: relative !important;
    padding-left: 80px !important; 
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    /* 22px固定にすることで累積誤差によるズレをゼロにします */
    line-height: 22px !important; 
    border-radius: 4px;
}

/* --- 2. 行番号エリア：左端に固定 --- */
.line-numbers .line-numbers-rows {
    position: absolute !important;
    top: 20px !important; /* padding-topと完全同期 */
    left: 0 !important;
    width: 65px !important; 
    border-right: 1px solid #34495e !important;
    background-color: #1e2b3e !important; 
    padding: 0 !important;
    margin: 0 !important;
    font-size: inherit !important; 
    /* 外枠・コード側と数値を完全に一致させる */
    line-height: 22px !important; 
    z-index: 5 !important;
}

/* 行番号の数字：垂直位置の微調整 */
.line-numbers-rows > span:before {
    display: block !important;
    color: #FFF59D !important; 
    text-align: right !important;
    padding-right: 15px !important;
    /* px固定時は 0px が基本ですが、
       もし数字が 1px 浮いて見えたら 1px に調整してください */
    margin-top: 0px !important; 
}

/* --- 3. コード本体：設定に自動追従 --- */
.hcb_wrap pre[class*=language-] code {
    display: block !important;
    color: #DCDCDC !important; 
    background: none !important;
    text-shadow: none !important;
    font-family: Consolas, Monaco, monospace !important;
    font-style: normal !important;
    /* ここも 22px で同期 */
    line-height: 22px !important; 
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- 4. C# (VS2022) 配色 --- */
.token { font-style: normal !important; background: none !important; }
.token.keyword { color: #56B6F2 !important; font-weight: bold !important; }
.token.class-name, .token.builtin { color: #4EEBCB !important; }
.token.function { color: #E5E5B0 !important; }
.token.string { color: #CE9178 !important; }
.token.comment { color: #7DB666 !important; }
.token.punctuation { color: #DCDCDC !important; }

/* 選択時の色 */
.hcb_wrap pre[class*=language-]::selection, 
.hcb_wrap pre[class*=language-] ::selection {
    background-color: #264F78 !important;
    color: inherit !important;
}