/* Bootstrap 5.3.3 核心样式 - 简化版 */

/* CSS Reset */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}

/* Container */
.container{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}
@media (min-width:1400px){.container{max-width:1320px}}

/* Grid System */
.row{display:flex;flex-wrap:wrap;margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}
.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{flex:0 0 auto;width:100%}
.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}
@media (min-width:768px){.col-md-6{width:50%}.col-md-8{width:66.66666667%}}
@media (min-width:992px){.col-lg-4{width:33.33333333%}.col-lg-6{width:50%}.col-lg-8{width:66.66666667%}}

/* Navbar */
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}
.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
.nav-link{display:block;padding:.5rem 1rem;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s ease-in-out}
.nav-link:hover{color:rgba(255,255,255,.75)}
.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem}
.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}
.navbar-dark .navbar-brand{color:#fff}
.navbar-dark .nav-link{color:rgba(255,255,255,.55)}
.navbar-dark .nav-link:hover{color:rgba(255,255,255,.75)}
.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}

/* Colors */
.bg-primary{background-color:#0d6efd!important}
.bg-light{background-color:#f8f9fa!important}
.bg-dark{background-color:#212529!important}
.text-white{color:#fff!important}
.text-muted{color:#6c757d!important}
.text-primary{color:#0d6efd!important}

/* Buttons */
.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}
.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}
.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}

/* Cards */
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem}
.card-body{flex:1 1 auto;padding:1rem}
.card-title{margin-bottom:.5rem}
.card-text:last-child{margin-bottom:0}
.card-img-top{width:100%;border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}
.h-100{height:100%!important}

/* Utilities */
.d-flex{display:flex!important}
.d-block{display:block!important}
.justify-content-center{justify-content:center!important}
.justify-content-between{justify-content:space-between!important}
.align-items-center{align-items:center!important}
.text-center{text-align:center!important}
.fw-bold{font-weight:700!important}
.fw-semibold{font-weight:600!important}
.lead{font-size:1.25rem;font-weight:300}
.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}
.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}
.img-fluid{max-width:100%;height:auto}
.rounded{border-radius:.375rem!important}
.rounded-circle{border-radius:50%!important}
.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}
.border-0{border:0!important}
.border-top{border-top:1px solid #dee2e6!important}
.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}
.p-4{padding:1.5rem!important}
.p-5{padding:3rem!important}
.mb-0{margin-bottom:0!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.mt-4{margin-top:1.5rem!important}
.mt-5{margin-top:3rem!important}
.me-2{margin-right:.5rem!important}
.me-4{margin-right:1.5rem!important}
.ms-auto{margin-left:auto!important}
.g-4>*{padding:.75rem}
.gap-2{gap:.5rem!important}
.gap-3{gap:1rem!important}

/* Responsive */
@media (min-width:768px){.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}}
@media (max-width:767.98px){.navbar-toggler{display:block}.navbar-collapse{display:none}}

/* Badge */
.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}
.bg-primary{background-color:#0d6efd!important}

/* List */
.list-unstyled{padding-left:0;list-style:none}

/* Flex utilities */
.flex-wrap{flex-wrap:wrap!important}

/* Background opacity */
.bg-opacity-10{--bs-bg-opacity:0.1}

/* Text decoration */
.text-decoration-none{text-decoration:none!important}