/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15 /* 1 */;
  -webkit-text-size-adjust: 100% /* 2 */;
}
body {
  margin: 0;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
hr {
  box-sizing: content-box /* 1 */;
  height: 0 /* 1 */;
  overflow: visible /* 2 */;
}
pre {
  font-family: monospace, monospace /* 1 */;
  font-size: 1em /* 2 */;
}
a {
  background-color: transparent;
}
abbr[title] {
  border-bottom: none /* 1 */;
  text-decoration: underline /* 2 */;
  text-decoration: underline dotted /* 2 */;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace /* 1 */;
  font-size: 1em /* 2 */;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit /* 1 */;
  font-size: 100% /* 1 */;
  line-height: 1.15 /* 1 */;
  margin: 0 /* 2 */;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]-moz-focusring,
[type="reset"]-moz-focusring,
[type="submit"]-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box /* 1 */;
  color: inherit /* 2 */;
  display: table /* 1 */;
  max-width: 100% /* 1 */;
  padding: 0 /* 3 */;
  white-space: normal /* 1 */;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box /* 1 */;
  padding: 0 /* 2 */;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield /* 1 */;
  outline-offset: -2px /* 2 */;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button /* 1 */;
  font: inherit /* 2 */;
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}
@font-face {
  font-family: 'lanting';
  src: url("../fonts/lanting/lanting.eot"); /* IE9 */
  src: url("../fonts/lanting/lanting.eot?#iefix") format('embedded-opentype'), /* IE6-IE8 */ url("../fonts/lanting/lanting.woff2") format('woff2'), url("../fonts/lanting/lanting.woff") format('woff'), url("../fonts/lanting/lanting.ttf") format('truetype'); /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  font-weight: 300;
  font-display: swap;
}
* {
  box-sizing: border-box;
}
html {
  font-family: 'Microsoft Jhenghei', Lantinghei SC, 'lanting', PingFang SC, Seguo UI, Microsoft Yahei, Arial;
}
html::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
html::-webkit-scrollbar-thumb {
  height: 40px;
  background-color: #eee;
  border-radius: 16px;
}
html::-webkit-scrollbar-thumb:hover {
  background-color: #ddd;
}
html {
  overflow-x: hidden;
}
body {
  font-size: 11pt;
  font-weight: normal;
  line-height: 2em;
  overflow-x: hidden;
  background-color: #f5f8fa;
  color: #1a1a2e;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}
body:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.05;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
a {
  color: #1a1a2e;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
  cursor: pointer;
}
a:hover {
  color: #06c;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}
.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}
.main {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: auto;
  display: flex;
  flex-direction: column;
}
.main .container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 1.5em;
  padding-right: 1.5em;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.main .container-wide {
  max-width: 100%;
  margin: 0;
  padding-left: 2rem;
  padding-right: 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.footer {
  width: 100%;
}
@font-face {font-family: "iconfont";
  src: url('iconfont.eot?t=1585328536727'); /* IE9 */
  src: url('iconfont.eot?t=1585328536727#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
  url('iconfont.woff?t=1585328536727') format('woff'),
  url('iconfont.ttf?t=1585328536727') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  url('iconfont.svg?t=1585328536727#iconfont') format('svg'); /* iOS 4.1- */
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-publish:before {
  content: "\e7b3";
}

.icon-resume:before {
  content: "\e7b5";
}

.icon-trophy:before {
  content: "\e7c4";
}

.icon-category:before {
  content: "\e7d1";
}

.icon-gallery:before {
  content: "\e7d7";
}

.icon-blog:before {
  content: "\e7d8";
}

.icon-rss:before {
  content: "\e7e0";
}

.icon-link:before {
  content: "\e7e2";
}

.icon-tags:before {
  content: "\e7e5";
}

.icon-alipay:before {
  content: "\e87c";
}

.icon-zhihu:before {
  content: "\e87d";
}

.icon-linkedin:before {
  content: "\e87e";
}

.icon-facebook:before {
  content: "\e87f";
}

.icon-skype:before {
  content: "\e880";
}

.icon-codesandbox:before {
  content: "\e881";
}

.icon-codepen:before {
  content: "\e882";
}

.icon-sketch:before {
  content: "\e883";
}

.icon-gitlab:before {
  content: "\e884";
}

.icon-dribbble:before {
  content: "\e885";
}

.icon-instagram:before {
  content: "\e886";
}

.icon-reddit:before {
  content: "\e887";
}

.icon-youtube:before {
  content: "\e888";
}

.icon-qq:before {
  content: "\e889";
}

.icon-twitter:before {
  content: "\e88a";
}

.icon-weibo:before {
  content: "\e88b";
}

.icon-wechat:before {
  content: "\e88c";
}

.icon-github:before {
  content: "\e88d";
}


.footer {
  background: linear-gradient(135deg, #1a1a2e 0%, #0f1a2e 100%);
  color: #fff;
  padding: 3rem 0 1.5rem;
  margin-top: 3rem;
  width: 100%;
  clear: both;
  overflow: hidden;
}
.footer .container {
  max-width: 1200px;
  padding: 0 1.5rem;
  margin: 0 auto;
}
.footer .footer-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(212,175,55,0.2);
}
.footer .footer-brand {
  text-align: left;
}
.footer .footer-brand .footer-logo {
  height: 3rem;
  width: auto;
  margin-bottom: 1rem;
}
.footer .footer-brand h4 {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
  color: #d4af37;
}
.footer .footer-brand p {
  font-size: 0.9rem;
  opacity: 0.85;
  margin: 0;
  line-height: 1.6;
}
.footer .footer-links h5,
.footer .footer-contact h5 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1.2rem;
  color: #d4af37;
}
.footer .footer-links ul,
.footer .footer-contact ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer .footer-links ul li,
.footer .footer-contact ul li {
  margin-bottom: 0.7rem;
}
.footer .footer-links ul li a,
.footer .footer-contact ul li a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}
.footer .footer-links ul li a:hover,
.footer .footer-contact ul li a:hover {
  color: #d4af37;
}
.footer .footer-links ul li span,
.footer .footer-contact ul li span {
  font-size: 0.95rem;
  opacity: 0.85;
}
.footer .footer-links ul li .contact-icon,
.footer .footer-contact ul li .contact-icon {
  margin-right: 0.6rem;
}
.footer .footer-copyright {
  text-align: center;
  padding-top: 1.2rem;
  font-size: 0.85rem;
  opacity: 0.8;
  color: rgba(255,255,255,0.8);
}
.footer .footer-icp {
  text-align: center;
  padding-top: 0.8rem;
  font-size: 0.75rem;
  opacity: 0.6;
  color: rgba(255,255,255,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer .footer-icp a {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
}
.footer .footer-icp a:hover {
  color: #d4af37;
}
@media screen and (max-width: 768px) {
  .footer-content {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
  }
  .footer-brand {
    text-align: center;
  }
}
.pagination {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  list-style: none;
  white-space: nowrap;
  width: 100%;
  padding-top: 3em;
  padding-bottom: 1.5em;
  gap: 0.6rem;
}
.pagination li {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination a,
.pagination span {
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.85rem 1.35rem;
  text-decoration: none;
  border-radius: 16px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  color: #5a6a7a;
  min-width: 2.75rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.pagination a:before,
.pagination span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(201,169,97,0.1), rgba(0,102,204,0.05));
  transform: scaleX(0);
  transition: transform 0.4s ease;
  z-index: 0;
}
.pagination a:hover:before,
.pagination span:hover:before {
  transform: scaleX(1);
}
.pagination .prev a,
.pagination .next a {
  background: linear-gradient(145deg, #fff, #f8f9fa);
  color: #5a6a7a;
  font-size: 1.2rem;
  padding: 0.85rem 1.2rem;
  border: 1px solid rgba(201,169,97,0.1);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.pagination .prev a:hover,
.pagination .next a:hover {
  background: linear-gradient(135deg, #c9a961, #b8964a);
  color: #fff;
  border-color: #c9a961;
  box-shadow: 0 8px 24px rgba(201,169,97,0.35);
  transform: translateX(-4px);
}
.pagination .next a:hover {
  transform: translateX(4px);
}
.pagination .prev.disabled a,
.pagination .next.disabled a {
  opacity: 0.3;
  cursor: not-allowed;
  transform: none;
  background: #f5f5f5;
  border-color: transparent;
}
.pagination .prev.disabled a:hover,
.pagination .next.disabled a:hover {
  background: #f5f5f5;
  color: #5a6a7a;
  box-shadow: none;
  border-color: transparent;
}
.pagination .page-number a {
  background: linear-gradient(145deg, #fff, #f8f9fa);
  border: 1px solid rgba(201,169,97,0.15);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  font-weight: 600;
}
.pagination .page-number a:hover {
  background: rgba(201,169,97,0.08);
  color: #c9a961;
  border-color: rgba(201,169,97,0.4);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(201,169,97,0.15);
}
.pagination .page-number.current a {
  background: linear-gradient(135deg, #c9a961, #b8964a);
  color: #fff;
  border-color: #c9a961;
  font-weight: 700;
  box-shadow: 0 6px 20px rgba(201,169,97,0.4);
}
.pagination .page-number.current a:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(201,169,97,0.5);
}
.pagination .page-number.disabled {
  display: none;
}
.profile-container {
  justify-content: center;
  align-items: center;
}
.intro {
  text-align: center;
}
.intro .avatar {
  padding: 10px;
}
.intro .avatar img {
  width: 128px;
  height: auto;
  display: inline-block;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  -webkit-box-shadow: 0 0 0 0.3618em rgba(0,0,0,0.05);
  box-shadow: 0 0 0 0.3618em rgba(0,0,0,0.05);
  margin: 0 auto;
  -webkit-transition: all ease 0.4s;
  -moz-transition: all ease 0.4s;
  -o-transition: all ease 0.4s;
  transition: all ease 0.4s;
  cursor: pointer;
}
.intro .avatar img:hover {
  position: relative;
  -webkit-transform: translateY(-0.75em);
  -moz-transform: translateY(-0.75em);
  -ms-transform: translateY(-0.75em);
  -o-transform: translateY(-0.75em);
  transform: translateY(-0.75em);
  cursor: pointer;
}
.nickname {
  font-size: 2em;
  font-weight: normal;
}
.links a {
  padding: 0 5px;
}
.links a:hover {
  background-color: transparent;
}
.links .iconfont {
  font-size: 2em;
}
.post-wrap {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  padding-top: 2rem;
}
.post-wrap .archive-item {
  margin-left: 2rem;
}
article.post-wrap {
  max-width: 920px;
}
.archive-item-link {
  display: inline-block;
  text-decoration: none;
  overflow: hidden;
  white-space: nowrap;
}
.archive-item-link:hover {
  color: #06c;
  background-color: transparent;
}
.archive-item-date {
  float: right;
  text-align: right;
  color: #5a6a7a;
}
.post-wrap .categories-card {
  margin: 0 auto;
  margin-top: 1em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 2.5em;
  line-height: 1.6em;
}
.post-wrap .categories-card .card-item {
  font-size: 14px;
  text-align: left;
  width: 45%;
  display: flex;
  align-items: flex-start;
  margin-top: 2em;
  min-height: 16em;
  padding: 0 2%;
  position: relative;
}
.post-wrap .categories-card .card-item .categories {
  overflow: hidden;
}
.tag-cloud-tags {
  margin: 10px 0;
  padding-top: 2em;
}
.tag-cloud-tags a {
  display: inline-block;
  position: relative;
  margin: 5px 10px;
  word-wrap: break-word;
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.tag-cloud-tags a:active,
.tag-cloud-tags a:focus,
.tag-cloud-tags a:hover {
  color: #06c;
  transform: scale(1.1);
}
.tag-cloud-tags a small {
  margin: 0 0.3em;
  color: #5a6a7a;
}
.page {
  padding-top: 0;
}
.page .post-content {
  margin: 0;
  padding-top: 0;
}
.post-wrap p {
  font-size: 1em;
  margin: 1em 0 1em 0;
}
.post-wrap .post-header h1 {
  margin: 0 !important;
}
.post-wrap .post-title {
  font-size: 2em;
  line-height: 1.5em;
}
.post-wrap .post-meta {
  color: rgba(85,85,85,0.529) !important;
}
.post-wrap .post-meta a {
  color: #06c;
}
.post-wrap .post-meta a:hover {
  color: #049;
}
.post-content {
  padding-top: 2rem;
  text-align: justify;
}
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  padding-top: 0.8em;
  padding-bottom: 0.3em;
}
.post-content h1::before {
  content: "#";
  margin-right: 5px;
  color: #06c;
}
.post-content h2::before {
  content: "#";
  margin-right: 5px;
  color: #06c;
}
.post-content h3::before {
  content: "|";
  margin-right: 5px;
  color: #06c;
}
.post-content h4::before {
  content: "*";
  margin-right: 5px;
  color: #06c;
}
.post-content a {
  color: #06c;
}
.post-content a:hover {
  color: #049;
}
.post-content code,
.post-content pre {
  padding: 7px;
  font-size: 13px;
  font-family: Consolas, Monaco, Menlo, Consolas, monospace;
}
.post-content code {
  padding: 3px 5px;
  border-radius: 4px;
}
.post-content figure.highlight {
  margin: 1em 0;
  overflow-x: auto;
  position: relative;
}
.post-content figure.highlight::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.post-content figure.highlight::-webkit-scrollbar-thumb {
  width: 6px;
  background-color: #eee;
  border-radius: 2px;
}
.post-content figure.highlight table {
  position: relative;
}
.post-content figure.highlight table,
.post-content figure.highlight tr,
.post-content figure.highlight td {
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  border-collapse: collapse;
}
.post-content figure.highlight .code pre {
  margin: 0 10px;
}
.post-content figure.highlight .gutter {
  width: 10px;
  color: #d0d0d0;
}
.post-content figure.highlight .gutter pre {
  margin: 0;
}
.post-content ul {
  padding-left: 2em;
}
.post-content table {
  max-width: 100%;
  margin: 10px 0;
  border-spacing: 0;
}
.post-content table thead {
  background: #a3d1ff;
}
.post-content table th,
.post-content table td {
  padding: 5px 15px;
  border: 0.5px solid #e0e6ed;
}
.post-content .image-caption:not(:empty) {
  min-width: 20%;
  max-width: 80%;
  display: inline-block;
  padding: 10px;
  margin: 0 auto;
  border-bottom: 1px solid #d9d9d9;
  font-size: 14px;
  color: #969696;
  line-height: 1.7;
}
.post-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
}
.post-content img[data-action="zoom"] {
  cursor: zoom-in;
}
.post-content .image-box .image-box-title {
  text-align: center;
  font-size: 0.7em;
  margin-top: 0.5em;
  margin-bottom: 1em;
  color: #5a6a7a;
}
.post-content blockquote {
  font-size: 1rem;
  display: block;
  margin: 1em 0;
  padding: 1em 1.2em 1em 1.2em;
  position: relative;
  color: rgba(52,73,94,0.8);
  background-color: #e0f0ff;
  border-left: 2px solid #06c;
}
.post-content blockquote p {
  margin: 0;
}
.post-content blockquote footer strong {
  margin-right: 0.5em;
}
.post-content blockquote.pullquote {
  background-color: transparent;
  max-width: 45%;
  border: 0;
}
.post-content blockquote.pullquote.left {
  float: left;
  text-align: left;
}
.post-content blockquote.pullquote.right {
  float: right;
  text-align: right;
}
.post-copyright {
  margin-top: 4rem;
  border-top: 1px solid #e0e6ed;
  border-bottom: 1px solid #e0e6ed;
  font-size: 0.8em;
  line-height: 1.5;
}
.post-copyright a {
  color: #06c;
}
.post-copyright a:hover {
  color: #049;
}
.post-copyright .copyright-item {
  margin: 5px 0;
}
.post-copyright .lincese {
  font-weight: bold;
}
.post-content code,
.post-content pre {
  line-height: 1.7em;
  padding: 7px;
  font-size: 13px;
  font-family: Consolas, Monaco, Menlo, Consolas, monospace;
}
.post-content code {
  line-height: 1.7em;
  padding: 3px 5px;
  border-radius: 4px;
  color: #c7254e;
  background: #f8f5ec;
}
.post-content h1 code,
.post-content h2 code,
.post-content h3 code,
.post-content h4 code,
.post-content h5 code {
  font-size: inherit;
}
.post-content figure.highlight {
  margin: 1em 0;
  overflow-x: auto;
  position: relative;
}
.post-content figure.highlight::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.post-content figure.highlight::-webkit-scrollbar-thumb {
  width: 6px;
  background-color: #eee;
  border-radius: 2px;
}
.post-content figure.highlight figcaption {
  padding: 0 0.5em;
  text-align: right;
  font-size: 13px;
}
.post-content figure.highlight figcaption span {
  margin: 0 0.5em;
}
.post-content figure.highlight table {
  position: relative;
}
.post-content figure.highlight table,
.post-content figure.highlight tr,
.post-content figure.highlight td {
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  border-collapse: collapse;
}
.post-content figure.highlight .code pre {
  margin: 0 10px;
}
.post-content figure.highlight .gutter {
  width: 10px;
  color: #d0d0d0;
}
.post-content figure.highlight .gutter pre {
  margin: 0;
}
.post-tags {
  padding: 1rem 0 1rem;
  display: flex;
  justify-content: space-between;
}
.post-nav:before,
.post-nav:after {
  content: " ";
  display: table;
}
.post-nav a.prev,
.post-nav a.next {
  font-weight: 600;
  font-size: 16px;
  transition-property: transform;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
}
.post-nav a.prev {
  float: left;
}
.post-nav a.prev::before {
  content: "<";
  margin-right: 0.5em;
}
.post-nav a.prev:hover {
  transform: translateX(-4px);
}
.post-nav a.next {
  float: right;
}
.post-nav a.next::after {
  content: ">";
  margin-left: 0.5em;
}
.post-nav a.next:hover {
  transform: translateX(4px);
}
.post-nav a.prev::before,
.post-nav a.next::after {
  font-weight: bold;
}
.tag:not(:last-child) a::after {
  content: " / ";
}
@media screen and (max-width: 1200px) {
  .main .container {
    max-width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .container-wide {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .article-content {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .main {
    padding-top: 0;
  }
  .container-wide {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .article-content {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .copyright-notice,
  .article-tags,
  .article-nav,
  .article-actions {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 15px;
  }
  body {
    padding-left: 0;
    padding-right: 0;
  }
  .main .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .container-wide {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .hero-section {
    padding: 1.5rem 0;
    margin-bottom: 1.5rem;
  }
  .hero-section h1 {
    font-size: 1.8rem;
  }
  .hero-section p {
    font-size: 1.05rem;
  }
  .hero-section .brand-logo {
    max-width: 150px;
  }
  .category-quick-nav {
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1rem;
  }
  .category-quick-nav .nav-item {
    flex: 1 1 calc(50% - 0.75rem);
    min-width: calc(50% - 0.75rem);
    padding: 0.75rem 1rem;
  }
  .category-quick-nav .nav-icon {
    width: 34px;
    height: 34px;
  }
  .news-section .section-header {
    margin-bottom: 1rem;
  }
  .news-section h2 {
    font-size: 1.4rem;
  }
  .page-header {
    padding: 1.25rem;
    gap: 1rem;
  }
  .page-header .page-header-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 14px;
    font-size: 1.3rem;
  }
  .archive-title {
    font-size: 1.5rem;
  }
  .archive-subtitle {
    font-size: 0.9rem;
  }
  .news-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 1rem;
  }
  .news-card {
    padding: 1.25rem;
  }
  .news-card .news-title {
    font-size: 1.1rem;
  }
  .archive-header {
    flex-direction: column;
    align-items: stretch;
  }
  .archive-header .archive-search-box {
    width: 100%;
  }
  .archive-header .archive-search-box .search-input {
    width: 100%;
  }
  .featured-card {
    padding: 1.5rem;
  }
  .featured-card .featured-title {
    font-size: 1.4rem;
  }
  .featured-card .featured-excerpt {
    font-size: 1rem;
  }
  .article-header-card {
    padding: 1.5rem 0;
    max-width: 100%;
  }
  .article-header-card .post-title {
    font-size: 1.5rem;
  }
  .article-header-card .article-meta-row {
    gap: 1rem;
    flex-direction: column;
    align-items: center;
  }
  .article-content {
    padding: 1.25rem;
    border-radius: 8px;
  }
  .article-content h2 {
    font-size: 1.3rem;
    margin-top: 1.5rem;
  }
  .article-content h3 {
    font-size: 1.15rem;
  }
  .article-content p {
    line-height: 1.75;
  }
  .article-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .article-content th,
  .article-content td {
    padding: 5px 8px;
    white-space: nowrap;
  }
  .copyright-notice {
    padding: 1.25rem;
  }
  .article-tags {
    padding: 1.25rem;
  }
  .article-nav {
    grid-template-columns: 1fr;
  }
  .article-actions {
    flex-direction: column;
    gap: 0.75rem;
  }
  .article-actions .action-btn {
    width: 100%;
    text-align: center;
  }
  .categories-grid {
    grid-template-columns: 1fr;
  }
  .archive-page .archive-year-bar {
    padding: 0.8rem 1rem;
  }
  .archive-page .archive-news-card {
    padding: 1.25rem;
  }
  .post-wrap {
    padding-top: 1rem;
  }
  .post-wrap .archive-item-date,
  .archive .archive-item-date {
    display: none;
  }
  .year-nav {
    padding: 0.8rem 1rem;
    gap: 0.6rem;
  }
  .year-nav .year-nav-label {
    font-size: 0.9rem;
  }
  .year-nav .year-btn {
    padding: 0.4rem 0.7rem;
    font-size: 0.85rem;
  }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  .stat-item {
    padding: 1.25rem 1rem;
  }
  .stat-item .stat-icon {
    width: 48px;
    height: 48px;
    font-size: 1.5rem;
  }
  .stat-item .stat-number {
    font-size: 1.8rem;
  }
  .home-categories {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .search-box {
    max-width: 100%;
  }
  .back-to-top {
    width: 2.8rem;
    height: 2.8rem;
    right: 1.25rem;
    bottom: 1.5rem;
    font-size: 1rem;
  }
  .pagination {
    gap: 0.3rem;
  }
  .pagination a,
  .pagination span {
    padding: 0.5rem 0.85rem;
    font-size: 0.9rem;
  }
  .pagination .prev a,
  .pagination .next a {
    padding: 0.5rem 0.8rem;
  }
}
@media screen and (max-width: 480px) {
  html {
    font-size: 14px;
  }
  body {
    font-size: 10pt;
  }
  .main .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .container-wide {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .hero-section {
    padding: 1rem 0;
  }
  .hero-section h1 {
    font-size: 1.5rem;
  }
  .hero-section p {
    font-size: 0.95rem;
  }
  .hero-section .brand-logo {
    max-width: 110px;
  }
  .category-quick-nav {
    gap: 0.5rem;
    padding: 0.75rem;
  }
  .category-quick-nav .nav-item {
    flex: 1 1 100%;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0.6rem 0.75rem;
    gap: 0.5rem;
  }
  .category-quick-nav .nav-icon {
    width: 28px;
    height: 28px;
  }
  .category-quick-nav .nav-item span {
    font-size: 0.85rem;
  }
  .news-section .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .news-section .section-header h2 {
    font-size: 1.3rem;
  }
  .news-section .section-header .view-all {
    align-self: flex-end;
  }
  .news-card {
    padding: 1rem;
  }
  .news-card .news-title {
    font-size: 1rem;
  }
  .featured-card {
    padding: 1.25rem;
  }
  .featured-card .featured-title {
    font-size: 1.25rem;
  }
  .featured-card .featured-excerpt {
    font-size: 0.95rem;
  }
  .featured-card .read-more {
    padding: 0.5rem 1rem;
  }
  .article-header-card {
    padding: 1.25rem 0;
  }
  .article-header-card .post-title {
    font-size: 1.35rem;
  }
  .article-header-card .article-meta-row {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
  .article-content {
    padding: 1rem;
    border-radius: 6px;
  }
  .article-content h2 {
    font-size: 1.2rem;
  }
  .article-content h3 {
    font-size: 1.05rem;
  }
  .copyright-notice {
    padding: 1rem;
  }
  .copyright-notice .notice-content {
    font-size: 0.9rem;
  }
  .article-tags {
    padding: 1rem;
  }
  .archive-title {
    font-size: 1.4rem;
  }
  .archive-subtitle {
    font-size: 0.85rem;
  }
  .page-header {
    padding: 1rem;
    gap: 0.75rem;
  }
  .page-header .page-header-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 12px;
    font-size: 1.1rem;
  }
  .archive-header .archive-search-box .search-input {
    width: 100%;
  }
  .year-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .year-nav .year-nav-list {
    width: 100%;
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .stat-item {
    padding: 1rem;
  }
  .stat-item .stat-icon {
    width: 40px;
    height: 40px;
    font-size: 1.3rem;
  }
  .stat-item .stat-number {
    font-size: 1.5rem;
  }
  .article-actions {
    flex-direction: column;
    gap: 0.75rem;
  }
  .article-actions .action-btn {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
  .post-content blockquote.pullquote {
    float: none;
    max-width: 100%;
  }
  .post-content blockquote.pullquote.left,
  .post-content blockquote.pullquote.right {
    float: none;
    text-align: left;
  }
  .pagination .page-number:not(.current) {
    display: none;
  }
  .back-to-top {
    width: 2.5rem;
    height: 2.5rem;
    right: 1rem;
    bottom: 1.25rem;
    font-size: 0.95rem;
    border-radius: 6px;
  }
}
.highlight {
  color: #68615e;
  background: #f1efee;
}
.highlight .code .comment,
.highlight .code .quote {
  color: #766e6b;
}
.highlight .code .variable,
.highlight .code .template-variable,
.highlight .code .attribute,
.highlight .code .tag,
.highlight .code .name,
.highlight .code .regexp,
.highlight .code .link,
.highlight .code .selector-id,
.highlight .code .selector-class {
  color: #f22c40;
}
.highlight .code .number,
.highlight .code .meta,
.highlight .code .built_in,
.highlight .code .builtin-name,
.highlight .code .literal,
.highlight .code .type,
.highlight .code .params {
  color: #df5320;
}
.highlight .code .string,
.highlight .code .symbol,
.highlight .code .bullet {
  color: #7b9726;
}
.highlight .code .title,
.highlight .code .section {
  color: #407ee7;
}
.highlight .code .keyword,
.highlight .code .selector-tag {
  color: #6666ea;
}
.highlight .code .emphasis {
  font-style: italic;
}
.highlight .code .strong {
  font-weight: bold;
}
.hero-section {
  text-align: center;
  padding: 4rem 2rem;
  margin-bottom: 2.5rem;
  position: relative;
  overflow: hidden;
  border-radius: 24px;
}
.hero-section:before {
  content: "";
  position: absolute;
  top: -50%;
  right: -30%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(201,169,97,0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 15s ease-in-out infinite;
}
.hero-section:after {
  content: "";
  position: absolute;
  bottom: -40%;
  left: -20%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(0,102,204,0.1) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 12s ease-in-out infinite reverse;
}
.hero-section .logo-container {
  margin-bottom: 1.5rem;
  animation: fadeInDown 0.8s ease-out;
}
.hero-section .brand-logo {
  max-width: 220px;
  height: auto;
  display: inline-block;
  filter: drop-shadow(0 4px 8px rgba(201,169,97,0.2));
  transition: transform 0.3s ease;
}
.hero-section .brand-logo:hover {
  transform: scale(1.05);
}
.hero-section h1 {
  font-size: 3rem;
  font-weight: 800;
  color: #1a1a2e;
  margin-bottom: 0.8rem;
  background: linear-gradient(135deg, #c9a961, #b8964a, #06c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: fadeInUp 0.8s ease-out 0.2s both;
  letter-spacing: -0.5px;
}
.hero-section p {
  font-size: 1.25rem;
  color: #5a6a7a;
  line-height: 1.8;
  animation: fadeInUp 0.8s ease-out 0.4s both;
}
.category-quick-nav {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
  padding: 1.75rem 2rem;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  backdrop-filter: blur(10px);
}
.category-quick-nav .nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 1.2rem 1.8rem;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  background: linear-gradient(145deg, #fff, #f8f9fa);
  border: 1px solid rgba(201,169,97,0.1);
  position: relative;
  overflow: hidden;
}
.category-quick-nav .nav-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #c9a961, transparent);
  transition: left 0.5s ease;
}
.category-quick-nav .nav-item:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 12px 32px rgba(201,169,97,0.25);
  border-color: rgba(201,169,97,0.3);
}
.category-quick-nav .nav-item:hover:before {
  left: 100%;
}
.category-quick-nav .nav-item span {
  font-size: 0.95rem;
  color: #1a1a2e;
  font-weight: 500;
  transition: color 0.3s ease;
}
.category-quick-nav .nav-item:hover span {
  color: #c9a961;
}
.category-quick-nav .nav-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  transition: transform 0.3s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.nav-item:hover .category-quick-nav .nav-icon {
  transform: scale(1.15) rotate(5deg);
}
.category-quick-nav .nav-icon-company {
  background: linear-gradient(135deg, #c9a961, #d4af37);
  color: #fff;
}
.category-quick-nav .nav-icon-industry {
  background: linear-gradient(135deg, #6bb89a, #8fe0c5);
  color: #fff;
}
.category-quick-nav .nav-icon-notice {
  background: linear-gradient(135deg, #f90, #fc0);
  color: #fff;
}
.category-quick-nav .nav-icon-news {
  background: linear-gradient(135deg, #06c, #08e);
  color: #fff;
}
.news-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.news-section h2 {
  font-size: 1.8rem;
  font-weight: 600;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e0e6ed;
}
.news-section .view-all {
  font-size: 0.9rem;
  color: #06c;
  padding: 0.3rem 0.8rem;
  border: 1px solid #06c;
  border-radius: 20px;
  transition: all 0.2s ease;
}
.news-section .view-all:hover {
  background: #06c;
  color: #fff;
}
.featured-news {
  margin-bottom: 2rem;
}
.featured-card {
  background: linear-gradient(145deg, #c9a961 0%, #b8964a 50%, #a8863a 100%);
  border-radius: 24px;
  padding: 3.5rem;
  color: #fff;
  position: relative;
  overflow: hidden;
  min-height: 300px;
  box-shadow: 0 12px 40px rgba(201,169,97,0.4);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.featured-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(201,169,97,0.5);
}
.featured-card:before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 15s ease-in-out infinite;
}
.featured-card:after {
  content: "";
  position: absolute;
  bottom: -40%;
  left: -10%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 12s ease-in-out infinite reverse;
}
.featured-card .featured-category {
  margin-bottom: 1.8rem;
  animation: fadeInUp 0.6s ease-out;
}
.featured-card .category-tag.featured-tag {
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.4);
  font-weight: 600;
  padding: 0.5rem 1.2rem;
  font-size: 0.85rem;
  border-radius: 25px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.featured-card .category-tag.featured-tag:hover {
  background: rgba(255,255,255,0.25);
  transform: scale(1.05);
}
.featured-card .featured-title {
  font-size: 2.2rem;
  font-weight: 800;
  margin-bottom: 1.8rem;
  line-height: 1.35;
  position: relative;
  z-index: 1;
  animation: fadeInUp 0.6s ease-out 0.1s both;
}
.featured-card .featured-title a {
  color: #fff;
  transition: all 0.3s ease;
}
.featured-card .featured-title a:hover {
  text-shadow: 0 2px 10px rgba(255,255,255,0.5);
  transform: translateX(5px);
  display: inline-block;
}
.featured-card .featured-meta {
  margin-bottom: 1.8rem;
  position: relative;
  z-index: 1;
  animation: fadeInUp 0.6s ease-out 0.2s both;
}
.featured-card .featured-date {
  font-size: 0.95rem;
  opacity: 0.85;
  letter-spacing: 0.5px;
  font-weight: 500;
}
.featured-card .featured-excerpt {
  font-size: 1.05rem;
  line-height: 1.85;
  opacity: 0.92;
  margin-bottom: 3rem;
  position: relative;
  z-index: 1;
  animation: fadeInUp 0.6s ease-out 0.3s both;
}
.featured-card .read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: #fff;
  font-weight: 600;
  padding: 0.85rem 1.8rem;
  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 35px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
  animation: fadeInUp 0.6s ease-out 0.4s both;
  backdrop-filter: blur(10px);
}
.featured-card .read-more:hover {
  background: rgba(255,255,255,0.3);
  border-color: rgba(255,255,255,0.6);
  transform: translateX(8px);
  box-shadow: 0 8px 20px rgba(255,255,255,0.2);
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 400px;
  align-items: stretch;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.news-card {
  background: #fff;
  border-radius: 20px;
  padding: 1.8rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(201,169,97,0.08);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.news-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #c9a961, #06c);
  transform: scaleY(0);
  transition: transform 0.4s ease;
}
.news-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(201,169,97,0.2);
  border-color: rgba(201,169,97,0.2);
}
.news-card:hover:before {
  transform: scaleY(1);
}
.news-category {
  margin-bottom: 1rem;
}
.category-tag {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  background: linear-gradient(135deg, rgba(201,169,97,0.1), rgba(201,169,97,0.05));
  color: #c9a961;
  font-size: 0.85rem;
  font-weight: 500;
  border-radius: 20px;
  margin-right: 0.5rem;
  transition: all 0.3s ease;
}
.category-tag:hover {
  background: linear-gradient(135deg, #c9a961, #b8964a);
  color: #fff;
  transform: scale(1.05);
}
.news-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
  line-height: 1.45;
}
.news-title a {
  color: #1a1a2e;
  transition: all 0.3s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-title a:hover {
  color: #c9a961;
  transform: translateX(4px);
}
.news-meta {
  font-size: 0.85rem;
  color: #5a6a7a;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.news-meta .news-date {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.news-excerpt {
  font-size: 0.95rem;
  color: #5a6a7a;
  line-height: 1.75;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.no-news {
  text-align: center;
  padding: 3rem;
  color: #5a6a7a;
  background: #fff;
  border-radius: 12px;
}
.home-categories {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem;
  margin-top: 3rem;
  margin-bottom: 2.5rem;
}
.home-category-card {
  background: #fff;
  border-radius: 20px;
  padding: 1.8rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(201,169,97,0.08);
  position: relative;
  overflow: hidden;
}
.home-category-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #c9a961, #06c);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.home-category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(201,169,97,0.15);
  border-color: rgba(201,169,97,0.15);
}
.home-category-card:hover:before {
  opacity: 1;
}
.category-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.2rem;
  border-bottom: 2px solid rgba(201,169,97,0.1);
}
.category-header h3 {
  font-size: 1.3rem;
  font-weight: 700;
  flex-grow: 1;
  margin: 0;
  color: #1a1a2e;
}
.category-icon {
  font-size: 1.5rem;
  color: #c9a961;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(201,169,97,0.1), rgba(201,169,97,0.05));
  transition: all 0.3s ease;
}
.home-category-card:hover .category-icon {
  transform: scale(1.15) rotate(5deg);
}
.category-more {
  font-size: 0.9rem;
  color: #5a6a7a;
  transition: all 0.3s ease;
  padding: 0.3rem 0.8rem;
  border-radius: 15px;
  border: 1px solid transparent;
}
.category-more:hover {
  color: #c9a961;
  background: rgba(201,169,97,0.08);
  border-color: rgba(201,169,97,0.2);
}
.category-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.category-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 0.6rem;
  border-radius: 12px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}
.category-item:hover {
  background: linear-gradient(135deg, rgba(201,169,97,0.05), rgba(0,102,204,0.03));
  transform: translateX(4px);
  padding-left: 1rem;
}
.category-item .item-title {
  font-size: 0.98rem;
  color: #1a1a2e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-grow: 1;
  margin-right: 1rem;
  font-weight: 500;
  transition: color 0.3s ease;
}
.category-item .item-title:hover {
  color: #c9a961;
}
.category-item .item-date {
  font-size: 0.85rem;
  color: #5a6a7a;
  flex-shrink: 0;
  padding: 0.2rem 0.5rem;
  background: rgba(201,169,97,0.08);
  border-radius: 8px;
}
.article-header-card {
  padding: 3rem 0;
  margin-bottom: 2rem;
  text-align: center;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.article-header-card .article-category-bar {
  margin-bottom: 1.5rem;
}
.article-header-card .article-category-tag {
  display: inline-block;
  padding: 0.4rem 1rem;
  background: #f5f0e6;
  color: #b8964a;
  border-radius: 20px;
  font-size: 0.9rem;
  margin-right: 0.5rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.article-header-card .article-category-tag:hover {
  background: #c9a961;
  color: #fff;
}
.article-header-card .post-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 1.5rem;
  line-height: 1.35;
}
.article-header-card .article-meta-row {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 1.5rem;
  border-top: 1px solid #e0e6ed;
}
.article-header-card .article-author,
.article-header-card .article-date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: #5a6a7a;
}
.article-header-card .article-author .meta-icon,
.article-header-card .article-date .meta-icon {
  color: #c9a961;
}
.article-content {
  background: #fff;
  border-radius: 12px;
  padding: 3rem 4rem;
  margin-bottom: 2rem;
  margin-left: -3rem;
  margin-right: -3rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  max-width: none;
  width: calc(100% + 6rem);
}
.article-content h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-left: 0.75rem;
  border-left: 4px solid #06c;
}
.article-content h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.8rem;
}
.article-content p {
  margin-bottom: 1rem;
  line-height: 1.8;
}
.article-content blockquote {
  border-left: 4px solid #06c;
  background: #f5f8fa;
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  border-radius: 0 8px 8px 0;
  color: #5a6a7a;
}
.article-content ul,
.article-content ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
.article-content li {
  margin-bottom: 0.5rem;
  line-height: 1.7;
}
.article-content a {
  color: #06c;
  text-decoration: underline;
}
.article-content img {
  max-width: 100%;
  border-radius: 8px;
  margin: 1rem 0;
}
.article-content code {
  background: #f8f5ec;
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-family: monospace;
}
.article-content pre {
  background: #1a1a2e;
  color: #e8e8f0;
  padding: 1rem;
  border-radius: 8px;
  overflow-x: auto;
  margin: 1rem 0;
}
.article-content pre code {
  background: none;
  padding: 0;
}
.copyright-notice {
  background: linear-gradient(135deg, #f5f8fa, #f5f0e6);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  margin-bottom: 2rem;
  margin-left: -3rem;
  margin-right: -3rem;
  width: calc(100% + 6rem);
  border-left: 4px solid #06c;
}
.copyright-notice .notice-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.copyright-notice .notice-icon {
  font-size: 1.5rem;
  color: #06c;
}
.copyright-notice .notice-header span:last-child {
  font-weight: 600;
  color: #1a1a2e;
}
.copyright-notice .notice-content {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #5a6a7a;
  word-break: break-all;
}
.copyright-notice .notice-content a {
  color: #06c;
  word-break: break-all;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.article-tags {
  background: #fff;
  border-radius: 12px;
  padding: 1rem 2rem;
  margin-bottom: 1rem;
  margin-left: -3rem;
  margin-right: -3rem;
  width: calc(100% + 6rem);
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.article-tags .tags-label {
  font-weight: 600;
  color: #1a1a2e;
}
.article-tags .tags-list {
  margin-left: 0.5rem;
}
.article-tags .tag-item {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  background: #f5f8fa;
  color: #06c;
  border-radius: 20px;
  font-size: 0.85rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  transition: all 0.2s ease;
}
.article-tags .tag-item:hover {
  background: #06c;
  color: #fff;
}
.article-tags .no-tags {
  color: #5a6a7a;
  font-style: italic;
}
.article-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.8rem;
  margin-bottom: 1rem;
  margin-left: -3rem;
  margin-right: -3rem;
  width: calc(100% + 6rem);
}
.article-nav .nav-section {
  background: #fff;
  border-radius: 10px;
  padding: 0.8rem 1.2rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.article-nav .nav-label {
  font-size: 0.85rem;
  color: #5a6a7a;
  margin-bottom: 0.5rem;
  display: block;
}
.article-nav .nav-link {
  display: block;
  font-size: 0.95rem;
  color: #1a1a2e;
  line-height: 1.5;
  transition: all 0.2s ease;
}
.article-nav .nav-link:hover {
  color: #06c;
}
.article-nav .nav-empty {
  font-size: 0.9rem;
  color: #5a6a7a;
  font-style: italic;
}
.article-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
  margin-left: -3rem;
  margin-right: -3rem;
  width: calc(100% + 6rem);
  padding: 0 2rem;
}
.article-actions .action-btn {
  padding: 0.5rem 1.2rem;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.2s ease;
}
.article-actions .btn-back {
  background: #f5f8fa;
  color: #1a1a2e;
  border: 1px solid #e0e6ed;
}
.article-actions .btn-back:hover {
  background: #e0e6ed;
}
.article-actions .btn-home {
  background: #06c;
  color: #fff;
}
.article-actions .btn-home:hover {
  background: #049;
}
.archive-page {
  padding-top: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}
.archive-page .archive-year-bar {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.2rem 1.8rem;
  background: linear-gradient(145deg, #c9a961, #b8964a);
  border-radius: 16px;
  margin-bottom: 1.8rem;
  color: #fff;
  box-shadow: 0 6px 20px rgba(201,169,97,0.3);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.archive-page .archive-year-bar:before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
  border-radius: 50%;
}
.archive-page .archive-year-bar:hover {
  transform: translateX(4px);
  box-shadow: 0 8px 24px rgba(201,169,97,0.4);
}
.archive-page .archive-year-bar .year-icon {
  font-size: 1.4rem;
}
.archive-page .archive-year-bar .year-text {
  font-size: 1.25rem;
  font-weight: 700;
}
.archive-page .archive-year-bar .year-count {
  font-size: 0.95rem;
  opacity: 0.85;
  background: rgba(255,255,255,0.15);
  padding: 0.2rem 0.6rem;
  border-radius: 12px;
  margin-left: auto;
}
.archive-page .archive-news-card {
  background: #fff;
  border-radius: 20px;
  padding: 1.6rem 1.8rem 1.1rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(201,169,97,0.08);
  position: relative;
  overflow: hidden;
}
.archive-page .archive-news-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #c9a961, #06c);
  opacity: 0.4;
  transition: opacity 0.4s ease;
}
.archive-page .archive-news-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(201,169,97,0.18);
  border-color: rgba(201,169,97,0.2);
}
.archive-page .archive-news-card:hover::before {
  opacity: 1;
}
.archive-page #archive-content .archive-news-card {
  animation: cardFadeIn 0.5s ease both;
}
.archive-page #archive-content .archive-news-card:nth-child(2) {
  animation-delay: 0.05s;
}
.archive-page #archive-content .archive-news-card:nth-child(3) {
  animation-delay: 0.1s;
}
.archive-page #archive-content .archive-news-card:nth-child(4) {
  animation-delay: 0.15s;
}
.archive-page #archive-content .archive-news-card:nth-child(5) {
  animation-delay: 0.2s;
}
.archive-page #archive-content .archive-news-card:nth-child(6) {
  animation-delay: 0.25s;
}
.archive-page .news-category {
  margin-bottom: 1rem;
}
.archive-page .category-tag {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  background: linear-gradient(135deg, rgba(201,169,97,0.1), rgba(201,169,97,0.05));
  color: #c9a961;
  font-size: 0.85rem;
  font-weight: 500;
  border-radius: 20px;
  margin-right: 0.5rem;
  transition: all 0.3s ease;
}
.archive-page .category-tag:hover {
  background: linear-gradient(135deg, #c9a961, #b8964a);
  color: #fff;
  transform: scale(1.05);
}
.archive-page .news-title {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
  line-height: 1.45;
}
.archive-page .news-title a {
  color: #1a1a2e;
  transition: all 0.3s ease;
  display: block;
}
.archive-page .news-title a:hover {
  color: #c9a961;
  transform: translateX(4px);
}
.archive-page .news-meta {
  font-size: 0.85rem;
  color: #5a6a7a;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.archive-page .news-meta .news-date {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.archive-page .news-meta .news-author {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.archive-page .news-excerpt {
  font-size: 0.95rem;
  color: #5a6a7a;
  line-height: 1.75;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@-moz-keyframes cardFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes cardFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-o-keyframes cardFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes cardFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.categories-grid .category-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: all 0.2s ease;
  text-decoration: none;
}
.categories-grid .category-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.categories-grid .category-icon {
  font-size: 2.5rem;
  margin-bottom: 0.8rem;
}
.categories-grid h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
  color: #1a1a2e;
}
.categories-grid .category-info {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.categories-grid .category-count {
  font-size: 0.9rem;
  color: #06c;
  font-weight: 500;
}
.categories-grid .category-date {
  font-size: 0.85rem;
  color: #5a6a7a;
}
.back-to-top {
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  width: 3.5rem;
  height: 3.5rem;
  background: #06c;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(201,169,97,0.4);
}
.back-to-top:hover {
  background: #049;
  transform: scale(1.1);
}
.back-to-top.show {
  opacity: 1;
  visibility: visible;
}
.search-btn {
  background: linear-gradient(135deg, #c9a961, #b8964a);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(201,169,97,0.4);
}
.search-btn:hover {
  transform: scale(1.15) rotate(90deg);
  box-shadow: 0 6px 20px rgba(201,169,97,0.6);
}
.search-btn:active {
  transform: scale(0.95);
}
.search-section {
  margin-bottom: 2rem;
}
.search-box {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 40px;
  padding: 0.6rem 1.5rem;
  box-shadow: 0 4px 20px rgba(201,169,97,0.1);
  max-width: 500px;
  margin: 0 auto;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 2px solid transparent;
}
.search-box:focus-within {
  box-shadow: 0 8px 32px rgba(201,169,97,0.25);
  border-color: rgba(201,169,97,0.3);
  transform: translateY(-2px);
}
.search-box .search-icon {
  color: #5a6a7a;
  font-size: 1.1rem;
  margin-right: 0.8rem;
  transition: color 0.3s ease;
}
.search-box:focus-within .search-icon {
  color: #c9a961;
}
.search-box .search-input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 1.05rem;
  background: transparent;
  padding: 0.6rem 0;
  color: #1a1a2e;
}
.search-box .search-input::placeholder {
  color: #5a6a7a;
  transition: opacity 0.3s ease;
}
.search-box .search-input:focus::placeholder {
  opacity: 0.5;
}
.hot-tags-section {
  margin-bottom: 2.5rem;
}
.hot-tags-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem;
}
.hot-tags-section .section-header h2 {
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.hot-tags-section .section-header h2 i {
  background: linear-gradient(135deg, #c9a961, #b8964a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hot-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  background: #fff;
  padding: 1.75rem 2rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  border: 1px solid rgba(201,169,97,0.08);
}
.hot-tags .tag-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(145deg, #f8f9fa, #f0f1f2);
  color: #1a1a2e;
  border-radius: 25px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
  font-size: clamp(12px, 1rem, 24px) !important;
}
.hot-tags .tag-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #c9a961, #06c);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.hot-tags .tag-item:hover {
  background: linear-gradient(135deg, #c9a961, #b8964a);
  color: #fff;
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 20px rgba(201,169,97,0.35);
  border-color: rgba(201,169,97,0.3);
}
.hot-tags .tag-item:hover:before {
  transform: scaleX(1);
}
.hot-tags .tag-item .tag-count {
  font-size: 0.75rem;
  opacity: 0.7;
  background: rgba(201,169,97,0.15);
  padding: 0.15rem 0.4rem;
  border-radius: 10px;
}
.hot-tags .tag-item:hover .tag-count {
  background: rgba(255,255,255,0.2);
  opacity: 1;
}
.stats-section {
  margin-bottom: 2.5rem;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.2rem;
}
.stat-item {
  background: #fff;
  border-radius: 20px;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(201,169,97,0.08);
  position: relative;
  overflow: hidden;
}
.stat-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #c9a961, #06c, #6bb89a);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.stat-item:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 12px 32px rgba(201,169,97,0.25);
  border-color: rgba(201,169,97,0.2);
}
.stat-item:hover:before {
  opacity: 1;
}
.stat-item .stat-icon {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, rgba(201,169,97,0.1), rgba(0,102,204,0.1));
  color: #06c;
  transition: all 0.3s ease;
}
.stat-item .stat-icon:hover {
  transform: scale(1.15) rotate(5deg);
}
.stat-item .stat-content .stat-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: #1a1a2e;
  display: block;
  background: linear-gradient(135deg, #c9a961, #06c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: all 0.3s ease;
}
.stat-item .stat-content .stat-label {
  font-size: 0.95rem;
  color: #5a6a7a;
  font-weight: 500;
  margin-top: 0.3rem;
}
.stat-item:hover .stat-number {
  transform: scale(1.1);
}
.reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: rgba(201,169,97,0.08);
  z-index: 9999;
  box-shadow: 0 2px 8px rgba(201,169,97,0.1);
}
.reading-progress .progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #c9a961, #d4af37, #06c);
  width: 0%;
  transition: width 0.3s ease;
  border-radius: 0 2px 2px 0;
  box-shadow: 0 0 10px rgba(201,169,97,0.5);
}
.page-header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem;
  margin-bottom: 2rem;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  border: 1px solid rgba(201,169,97,0.08);
  position: relative;
  overflow: hidden;
}
.page-header:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #c9a961, #06c);
  border-radius: 2px;
}
.page-header .page-header-icon {
  width: 64px;
  height: 64px;
  min-width: 64px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  background: linear-gradient(135deg, rgba(201,169,97,0.15), rgba(0,102,204,0.1));
  color: #c9a961;
  transition: transform 0.3s ease;
}
.page-header .page-header-icon:hover {
  transform: scale(1.1) rotate(-5deg);
}
.page-header .page-header-info {
  flex: 1;
  min-width: 0;
}
.archive-title {
  font-size: 2rem;
  font-weight: 800;
  color: #1a1a2e;
  margin: 0 0 0.3rem;
  background: linear-gradient(135deg, #c9a961, #06c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.archive-subtitle {
  font-size: 1rem;
  color: #5a6a7a;
  margin: 0;
  line-height: 1.5;
}
.archive-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.archive-search-box {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 30px;
  padding: 0.5rem 1.5rem;
  box-shadow: 0 4px 20px rgba(201,169,97,0.1);
  border: 2px solid transparent;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.archive-search-box:focus-within {
  box-shadow: 0 8px 32px rgba(201,169,97,0.25);
  border-color: rgba(201,169,97,0.3);
}
.archive-search-box i {
  color: #5a6a7a;
  font-size: 1rem;
  margin-right: 0.6rem;
}
.archive-search-box:focus-within i {
  color: #c9a961;
}
.archive-search-box .search-input {
  border: none;
  outline: none;
  font-size: 1rem;
  background: transparent;
  width: 220px;
  color: #1a1a2e;
}
.year-nav {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2.5rem;
  padding: 1.2rem 1.5rem;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  flex-wrap: wrap;
  border: 1px solid rgba(201,169,97,0.08);
}
.year-nav .year-nav-label {
  font-size: 1rem;
  color: #1a1a2e;
  font-weight: 600;
  white-space: nowrap;
}
.year-nav .year-nav-list {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.year-nav .year-btn {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 25px;
  background: #f0f1f2;
  color: #1a1a2e;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid transparent;
}
.year-nav .year-btn:hover {
  background: #e4e5e7;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(201,169,97,0.2);
  border-color: rgba(201,169,97,0.2);
}
.year-nav .year-btn.active {
  color: #fff;
  background: linear-gradient(135deg, #c9a961, #b8964a);
  box-shadow: 0 6px 20px rgba(201,169,97,0.35);
  border-color: rgba(201,169,97,0.3);
}
.no-results {
  text-align: center;
  padding: 4rem 2rem;
  color: #5a6a7a;
}
.no-results i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.4;
}
.no-results p {
  font-size: 1.1rem;
}
@-moz-keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(5deg);
  }
}
@-webkit-keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(5deg);
  }
}
@-o-keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(5deg);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(5deg);
  }
}
@-moz-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-o-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-moz-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-o-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
