/*
 * Bootstrap 4.5 相容樣式（取代整份 bootstrap 4.5.0 css，約 160KB → 本檔）
 *
 * 原本 index.html 同時載入 Bootstrap 4.5（<link>）與 5.1（ijnjs 在 DOM ready 後以 <style> 插入）。
 * 5.1 較晚插入，相同選擇器由 5.1 生效；但 4.5 仍有一些規則在生效：5.1 沒有對應的規則，
 * 或 4.5 的選擇器權重較高（例如 .btn-outline-info:not(:disabled):not(.disabled).active）。
 * 移除 4.5 後，本檔保留這些規則，讓畫面與原本完全相同。
 *
 * 產生方式：從 4.5 的 CSSOM 挑出「選擇器只用到本專案會出現的 class（:not() 內不算）或標籤，
 * 且 5.1 沒有相同選擇器、相同屬性可以蓋過」的宣告。已驗證：停用 4.5、改用本檔後，
 * 主畫面、各分頁、版本選擇對話框等狀態下所有元素的計算後樣式與原本相同。
 *
 * 位置：index.html 中原本 4.5 的位置（在 5.1 之前、在本專案其他 css 之前）。
 */

:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}

/* reboot */
html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}
[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}
hr{box-sizing:content-box;height:0;overflow:visible}
abbr[data-original-title],abbr[title]{border-bottom:0}
abbr[data-original-title]{text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}
a{background-color:transparent}
a:hover{text-decoration:underline}
a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}
img{border-style:none}
svg{overflow:hidden}
caption{caption-side:bottom}
label{margin-bottom:.5rem}
button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}
button,input{overflow:visible}
input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}
textarea{overflow:auto}
legend{display:block;max-width:100%;color:inherit;white-space:normal}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
[type=search]::-webkit-search-decoration{-webkit-appearance:none}
template{display:none}
small{font-weight:400}
pre{color:#212529}

/* form-check：4.5 以 position 定位勾選框 */
.form-check{position:relative}
.form-check-input{position:absolute;margin-left:-1.25rem}
.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}
.form-check-label{margin-bottom:0}

/* btn：被選中（.active）與按下（:active）時的顏色，4.5 的選擇器權重較高而生效 */
.btn:hover{text-decoration:none}
.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}
.btn:not(:disabled):not(.disabled){cursor:pointer}
fieldset:disabled a.btn{pointer-events:none}

.btn-primary.focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}
.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active{color:#fff;background-color:#0062cc;border-color:#005cbf}
.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}

.btn-secondary.focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}
.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active{color:#fff;background-color:#545b62;border-color:#4e555b}
.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}

.btn-light.focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}
.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active{color:#212529;background-color:#dae0e5;border-color:#d3d9df}
.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}

.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}
.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active{color:#fff;background-color:#007bff;border-color:#007bff}
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}

.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}
.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}

.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}
.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active{color:#fff;background-color:#28a745;border-color:#28a745}
.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}

.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}
.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active{color:#fff;background-color:#17a2b8;border-color:#17a2b8}
.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}

.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}
.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active{color:#fff;background-color:#343a40;border-color:#343a40}
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}

.btn-link:hover,.btn-link.focus,.btn-link:focus{text-decoration:underline}
.btn-link:disabled{pointer-events:none}
.btn-sm{line-height:1.5}

.card-body{min-height:1px}

/* close（SnDictDialog 模板用） */
.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}
.close:hover{color:#000;text-decoration:none}
.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}
button.close{padding:0;background-color:transparent;border:0}
.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}

/* modal */
.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}
.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}
.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}
.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}
.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}
.modal-dialog-centered.modal-dialog-scrollable::before{content:none}
@media (min-width:576px){
  .modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}
  .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}
  .modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}
}

/* sr-only（index.html 載入中 spinner 的文字；5.1 改名為 visually-hidden） */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

a.text-success:focus,a.text-success:hover{color:#19692c!important}

@media print{
  *,::after,::before{text-shadow:none!important;box-shadow:none!important}
  a:not(.btn){text-decoration:underline}
  abbr[title]::after{content:" (" attr(title) ")"}
  pre{white-space:pre-wrap!important}
  blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}
  thead{display:table-header-group}
  img,tr{page-break-inside:avoid}
  h2,h3,p{orphans:3;widows:3}
  h2,h3{page-break-after:avoid}
  body{min-width:992px!important}
  .container{min-width:992px!important}
}
