@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&family=Roboto+Flex:opsz,wght@8..144,100..1000&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/* reset.scss — 基本樣式清除與初始設定 */
/* 1. Reset 基本元素的 margin & padding */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* 2. 設定 HTML5 display block */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* 3. 基礎排版設定 */
body {
  line-height: 1.5;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  color: #111;
}

/* 4. 文字元素 */
a {
  text-decoration: none;
  color: inherit;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

/* 5. 表單元素 reset */
input, textarea, select, button {
  font: inherit;
  border: none;
  background: none;
  outline: none;
  box-shadow: none;
  appearance: none;
}

button {
  cursor: pointer;
}

/* 6. 列表元素 */
ul, ol {
  list-style: none;
}

/* 7. table reset */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 8. box-sizing 一致化 */
*, *::before, *::after {
  box-sizing: inherit;
}

/* 9. scroll behavior 平滑 */
html {
  scroll-behavior: smooth;
}

/* 10. input reset  */
input,
select {
  vertical-align: middle;
  margin: 0px;
  border: none;
  outline: none;
}

input[type=text]::placeholder,
input[type=search]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder {
  font-weight: 400;
  font-size: 14px;
  color: var(--G500);
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

button,
button:hover,
button:active,
button:focus {
  outline: none;
  border: none;
  cursor: pointer;
}

:root {
  --G00: #ffffff;
  --G50: #fafafa;
  --G100: #f4f4f4;
  --G300: #e0e0e0;
  --G500: #c4c4c4;
  --G700: #696969;
  --G900: #292929;
  --PB01: #6a92ce;
  --PB02: #8cbbff;
  --PB03: #e7ebf1;
  --SK01: #ae8d4d;
  --SK02: #edd6a9;
  --SK03: #fffae9;
  --CS: #66cb9f;
  --CD: #f16063;
  --TC01: #ffffffb2;
  --TC02: #c3d0e380;
  --H1: 200%; /*32px*/
  --H2: 175%; /*28px*/
  --H3: 125%; /*20px*/
  --H4: 115%; /*18.5*/
  --H5: 100%; /*16px*/
  --P1: 100%; /*16px*/
  --P2: 95%; /*15px*/
  --P3: 90%; /*14px*/
  --P4: 75%; /*12px*/
  --D1: 80%; /*13px*/
  --D2: 75%; /*12px*/
  --D3: 70%; /*11px*/
}

/* WORDS SETTING */
body * {
  color: var(--G700);
  font-size: 16px;
  font-family: "Roboto Flex", "Roboto", "Noto Sans SC", sans-serif;
  font-weight: 400;
  line-height: 1.5;
}

.H1,
.H2,
.H3,
.H4,
.H5 {
  font-weight: 700;
}

.H1 {
  font-size: var(--H1);
}

.H2 {
  font-size: var(--H2);
}

.H3 {
  font-size: var(--H3);
}

.H4 {
  font-size: var(--H4);
}

.H5 {
  font-size: var(--H5);
}

.P1 {
  font-size: var(--P1);
}

.P2 {
  font-size: var(--P2);
}

.P3 {
  font-size: var(--P3);
}

.P4 {
  font-size: var(--P4);
}

.D1 {
  font-size: var(--D1);
}

.D2 {
  font-size: var(--D2);
}

.D3 {
  font-size: var(--D3);
}

/*text line limit setting*/
.text.line-limit {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  white-space: normal;
}

/*icon setting*/
.icon-wrap {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: ease 0.35s;
}
.icon-wrap strong.num {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(18px, -4px);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  font-size: var(--P4);
  background-color: var(--SK02);
}
.icon-wrap i {
  display: block;
  width: 24px;
  height: 24px;
  mask-size: 24px;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--G700);
  transition: ease 0.35s;
}
.icon-wrap.arrow-up i {
  -webkit-mask-image: url(../assets/icons/icon_arrow_up_n.png);
  mask-image: url(../assets/icons/icon_arrow_up_n.png);
}
.icon-wrap.library i {
  -webkit-mask-image: url(../assets/icons/icon_library_n.png);
  mask-image: url(../assets/icons/icon_library_n.png);
}
.icon-wrap.menu i {
  -webkit-mask-image: url(../assets/icons/icon_menu_n.png);
  mask-image: url(../assets/icons/icon_menu_n.png);
}
.icon-wrap.member i {
  -webkit-mask-image: url(../assets/icons/icon_member_n.png);
  mask-image: url(../assets/icons/icon_member_n.png);
}
.icon-wrap.close i, .icon-wrap.clear i {
  -webkit-mask-image: url(../assets/icons/icon_close_n.png);
  mask-image: url(../assets/icons/icon_close_n.png);
}
.icon-wrap.return i {
  -webkit-mask-image: url(../assets/icons/icon_return_n.png);
  mask-image: url(../assets/icons/icon_return_n.png);
}
.icon-wrap.search i {
  -webkit-mask-image: url(../assets/icons/icon_search_n.png);
  mask-image: url(../assets/icons/icon_search_n.png);
}
.icon-wrap.delete i {
  -webkit-mask-image: url(../assets/icons/icon_delete_n.png);
  mask-image: url(../assets/icons/icon_delete_n.png);
}
.icon-wrap.previous i {
  -webkit-mask-image: url(../assets/icons/icon_ar_previous_n.png);
  mask-image: url(../assets/icons/icon_ar_previous_n.png);
}
.icon-wrap.next i {
  -webkit-mask-image: url(../assets/icons/icon_ar_next_n.png);
  mask-image: url(../assets/icons/icon_ar_next_n.png);
}
.icon-wrap.favorite i {
  -webkit-mask-image: url(../assets/icons/icon_favorite_n.png);
  mask-image: url(../assets/icons/icon_favorite_n.png);
}
.icon-wrap.favorite.added {
  background-color: var(--PB01);
}
.icon-wrap.favorite.added i {
  -webkit-mask-image: url(../assets/icons/icon_favorite_a.png);
  mask-image: url(../assets/icons/icon_favorite_a.png);
}
.icon-wrap.change i {
  -webkit-mask-image: url(../assets/icons/icon_change_n.png);
  mask-image: url(../assets/icons/icon_change_n.png);
}
.icon-wrap.notify i {
  -webkit-mask-image: url(../assets/icons/icon_notify_n.png);
  mask-image: url(../assets/icons/icon_notify_n.png);
}
.icon-wrap.history i {
  -webkit-mask-image: url(../assets/icons/icon_history_n.png);
  mask-image: url(../assets/icons/icon_history_n.png);
}
.icon-wrap.setting i {
  -webkit-mask-image: url(../assets/icons/icon_setting_n.png);
  mask-image: url(../assets/icons/icon_setting_n.png);
}
.icon-wrap.toggle-horizontal i {
  -webkit-mask-image: url(../assets/icons/icon_arrow_lr.png);
  mask-image: url(../assets/icons/icon_arrow_lr.png);
  background-color: var(--G700);
}
.icon-wrap.toggle-arrow-lr i {
  -webkit-mask-image: url(../assets/icons/icon_arrow_lr.png);
  mask-image: url(../assets/icons/icon_arrow_lr.png);
}
.icon-wrap.toggle-arrow-tb i {
  -webkit-mask-image: url(../assets/icons/icon_arrow_tb.png);
  mask-image: url(../assets/icons/icon_arrow_tb.png);
}
.icon-wrap.read-toggle i {
  -webkit-mask-image: url(../assets/icons/icon_readtoggle_n.png);
  mask-image: url(../assets/icons/icon_readtoggle_n.png);
}
.icon-wrap.tf-icon i {
  -webkit-mask-image: url(../assets/icons/icon_cover_tf_recommend.png);
  mask-image: url(../assets/icons/icon_cover_tf_recommend.png);
}
.icon-wrap.permission-icon i {
  -webkit-mask-image: url(../assets/icons/icon_cover_lock.png);
  mask-image: url(../assets/icons/icon_cover_lock.png);
}
.icon-wrap.tips i {
  -webkit-mask-image: url(../assets/icons/icon_tips_n.png);
  mask-image: url(../assets/icons/icon_tips_n.png);
}
.icon-wrap.wishlist i {
  -webkit-mask-image: url(../assets/icons/icon_wishlist_n.png);
  mask-image: url(../assets/icons/icon_wishlist_n.png);
}
.icon-wrap.filter i {
  -webkit-mask-image: url(../assets/icons/icon_filter_n.png);
  mask-image: url(../assets/icons/icon_filter_n.png);
  background-color: var(--PB01);
}
.icon-wrap.setting.review i {
  -webkit-mask-image: url(../assets/icons/icon_review_setting_n.png);
  mask-image: url(../assets/icons/icon_review_setting_n.png);
  background-color: var(--PB01);
}
.icon-wrap.row i {
  -webkit-mask-image: url(../assets/icons/icon_row_n.png);
  mask-image: url(../assets/icons/icon_row_n.png);
}
.icon-wrap.column i {
  -webkit-mask-image: url(../assets/icons/icon_column_n.png);
  mask-image: url(../assets/icons/icon_column_n.png);
}
.icon-wrap.more-tools i {
  -webkit-mask-image: url(../assets/icons/icon_more_tools_n.png);
  mask-image: url(../assets/icons/icon_more_tools_n.png);
}
.icon-wrap.audiobook i {
  -webkit-mask-image: url(../assets/icons/icon_audiobook_n.png);
  mask-image: url(../assets/icons/icon_audiobook_n.png);
}
.icon-wrap.cite i {
  -webkit-mask-image: url(../assets/icons/icon_cite_n.png);
  mask-image: url(../assets/icons/icon_cite_n.png);
}
.icon-wrap.share i {
  -webkit-mask-image: url(../assets/icons/icon_share_n.png);
  mask-image: url(../assets/icons/icon_share_n.png);
}
.icon-wrap.translate i {
  -webkit-mask-image: url(../assets/icons/icon_translate_n.png);
  mask-image: url(../assets/icons/icon_translate_n.png);
}
.icon-wrap.booklist i {
  -webkit-mask-image: url(../assets/icons/icon_booklist_n.png);
  mask-image: url(../assets/icons/icon_booklist_n.png);
}
.icon-wrap.toggle-arrow i {
  -webkit-mask-image: url(../assets/icons/icon_select_arrow.png);
  mask-image: url(../assets/icons/icon_select_arrow.png);
}
.icon-wrap.link i {
  -webkit-mask-image: url(../assets/icons/icon_link_n.png);
  mask-image: url(../assets/icons/icon_link_n.png);
}

button:has(> .icon-wrap),
label:has(> .icon-wrap) {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: ease 0.35s;
}
button:has(> .icon-wrap.btn-type),
label:has(> .icon-wrap.btn-type) {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: ease 0.35s;
}
button:has(> .icon-wrap.btn-type):hover .icon-wrap,
label:has(> .icon-wrap.btn-type):hover .icon-wrap {
  background-color: var(--PB01);
}
button:has(> .icon-wrap.btn-type):hover .icon-wrap i,
label:has(> .icon-wrap.btn-type):hover .icon-wrap i {
  background-color: var(--G00);
}

/*icon type button*/
.icon-wrap.btn-type {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid transparent;
}
.icon-wrap.btn-type:hover {
  border: 1px solid var(--PB01);
  background-color: var(--PB01);
}
.icon-wrap.btn-type:hover > i {
  background-color: var(--G00);
}

/*button setting*/
.btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 160px;
  height: 44px;
  padding: 0 24px;
  border-radius: 32px;
  cursor: pointer;
  transition: ease 0.35s;
}
.btn-wrap > input {
  display: none;
}
.btn-wrap a,
.btn-wrap span,
.btn-wrap p,
.btn-wrap strong {
  display: block;
  width: max-content;
  text-align: center;
}
.btn-wrap.type1 {
  background-color: var(--G900);
  border: 1px solid var(--G900);
}
.btn-wrap.type1 a,
.btn-wrap.type1 span,
.btn-wrap.type1 p,
.btn-wrap.type1 strong {
  color: var(--G00);
}
.btn-wrap.type1:hover, .btn-wrap.type1.hover {
  color: var(--G00);
  background-color: var(--PB01);
  border-color: var(--PB01);
}
.btn-wrap.type1.active, .btn-wrap.type1:active {
  color: var(--G00);
  background-color: var(--PB01);
  border-color: var(--PB01);
}
.btn-wrap.type1.disabled, .btn-wrap.type1:disabled, .btn-wrap.type1.disabled:hover, .btn-wrap.type1:disabled:hover {
  color: var(--G500);
  background-color: var(--G300);
  border-color: var(--G300);
  cursor: default;
}
.btn-wrap.type2 {
  background-color: var(--G00);
  border: 1px solid var(--G500);
}
.btn-wrap.type2 a,
.btn-wrap.type2 span,
.btn-wrap.type2 p,
.btn-wrap.type2 strong {
  color: var(--G700);
}
.btn-wrap.type2:hover, .btn-wrap.type2.hover, .btn-wrap.type2.active, .btn-wrap.type2:active {
  background-color: var(--PB01);
  border-color: var(--PB01);
}
.btn-wrap.type2:hover a,
.btn-wrap.type2:hover span,
.btn-wrap.type2:hover p,
.btn-wrap.type2:hover strong, .btn-wrap.type2.hover a,
.btn-wrap.type2.hover span,
.btn-wrap.type2.hover p,
.btn-wrap.type2.hover strong, .btn-wrap.type2.active a,
.btn-wrap.type2.active span,
.btn-wrap.type2.active p,
.btn-wrap.type2.active strong, .btn-wrap.type2:active a,
.btn-wrap.type2:active span,
.btn-wrap.type2:active p,
.btn-wrap.type2:active strong {
  color: var(--G00);
}
.btn-wrap.type2.disabled, .btn-wrap.type2:disabled, .btn-wrap.type2.disabled:hover, .btn-wrap.type2:disabled:hover {
  color: var(--G500);
  background-color: var(--G300);
  border-color: var(--G300);
  cursor: default;
}
.btn-wrap.type3-a, .btn-wrap.type3-b {
  gap: 4px;
  width: max-content;
  height: auto;
  padding: 0 8px 0 4px;
  border-radius: 8px;
  background-color: var(--G00);
  border: 1px solid var(--PB01);
  cursor: pointer;
}
.btn-wrap.type3-a .icon-wrap i, .btn-wrap.type3-b .icon-wrap i {
  background-color: var(--PB01);
}
.btn-wrap.type3-a a,
.btn-wrap.type3-a p,
.btn-wrap.type3-a strong, .btn-wrap.type3-b a,
.btn-wrap.type3-b p,
.btn-wrap.type3-b strong {
  list-style: 32px;
  color: var(--PB01);
  transition: ease 0.35s;
}
.btn-wrap.type3-a:hover, .btn-wrap.type3-b:hover {
  background-color: var(--PB02);
}
.btn-wrap.type3-a:hover .icon-wrap i, .btn-wrap.type3-b:hover .icon-wrap i {
  background-color: var(--G00);
}
.btn-wrap.type3-a:hover strong, .btn-wrap.type3-b:hover strong {
  color: var(--G00);
}
.btn-wrap.type3-b {
  border-color: var(--SK01);
}
.btn-wrap.type3-b .icon-wrap i {
  background-color: var(--SK01);
}
.btn-wrap.type3-b a,
.btn-wrap.type3-b p,
.btn-wrap.type3-b strong {
  color: var(--SK01);
}
.btn-wrap.type3-b:hover {
  background-color: var(--SK02);
}
.btn-wrap.type3-b:hover .icon-wrap i {
  background-color: var(--SK01);
}
.btn-wrap.type3-b:hover strong {
  color: var(--SK01);
}

/*input setting*/
.input-wrap {
  position: relative;
}
.input-wrap > label {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: max-content;
}
.input-wrap > label input[type=text],
.input-wrap > label input[type=password],
.input-wrap > label input[type=email] {
  display: block;
  width: 100%;
  height: 40px;
  padding: 0 16px;
  line-height: 40px;
  background-color: var(--G00);
  border: 1px solid var(--G100);
  border-radius: 24px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.15) inset;
  transition: ease 0.35s;
}
.input-wrap > label:has(input[type=text]:focus) input[type=text],
.input-wrap > label:has(input[type=text]:focus) input[type=password],
.input-wrap > label:has(input[type=text]:focus) input[type=email], .input-wrap > label:has(input[type=password]:focus) input[type=text],
.input-wrap > label:has(input[type=password]:focus) input[type=password],
.input-wrap > label:has(input[type=password]:focus) input[type=email], .input-wrap > label:has(input[type=email]:focus) input[type=text],
.input-wrap > label:has(input[type=email]:focus) input[type=password],
.input-wrap > label:has(input[type=email]:focus) input[type=email] {
  border-color: var(--PB01);
  outline: 1px solid var(--PB01);
}

/*checkbox setting*/
.checkbox-wrap {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.checkbox-wrap input[type=checkbox] {
  display: none;
}
.checkbox-wrap span {
  position: absolute;
  left: 0;
  top: 1px;
  display: block;
  width: 20px;
  height: 20px;
  mask-image: url(../assets/icons/icon_ckbox_arrow.png);
  mask-size: 24px;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--G00);
  transition: ease 0.35s;
}
.checkbox-wrap p {
  display: flex;
  height: 20px;
  line-height: 20px;
  color: var(--G700);
}
.checkbox-wrap p::before {
  content: "";
  flex: 0 0 auto;
  display: inline-block;
  line-height: 20px;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  background-color: var(--G00);
  border: 2px solid var(--PB01);
  border-radius: 4px;
  box-sizing: border-box;
}
.checkbox-wrap input[type=checkbox]:checked ~ span {
  opacity: 1;
}
.checkbox-wrap input[type=checkbox]:checked ~ p::before {
  background-color: var(--PB01);
}

/*radio setting*/
.radio-wrap {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.radio-wrap input[type=radio] {
  display: none;
}
.radio-wrap span {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 20px;
  height: 20px;
  mask-size: 24px;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--G00);
  transition: ease 0.35s;
}
.radio-wrap p::before {
  line-height: 24px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  background-color: var(--G00);
  border: 2px solid var(--PB01);
  border-radius: 50%;
  box-sizing: border-box;
}
.radio-wrap input[type=radio]:checked ~ span {
  opacity: 1;
}
.radio-wrap input[type=radio]:checked ~ p::before {
  background-color: var(--PB01);
}

/*switch setting*/
.switch-wrap {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 16px;
  padding: 2px;
  border-radius: 8px;
  background-color: var(--G300);
  transition: ease 0.35s;
  cursor: pointer;
}
.switch-wrap input[type=checkbox] {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
.switch-wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  transform: translateY(-50%);
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--G00);
  transition: ease 0.35s;
}
.switch-wrap:has(input[type=checkbox]:checked) {
  background-color: var(--PB01);
}
.switch-wrap:has(input[type=checkbox]:checked)::before {
  left: 18px;
  background-color: var(--G00);
}

/*select setting*/
.select-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  cursor: pointer;
}
.select-wrap p.tab-value {
  position: relative;
  display: block;
  width: 144px;
  height: 28px;
  padding: 0 24px 0 16px;
  line-height: 28px;
  font-weight: 500;
  color: var(--G900);
  background-color: var(--G00);
  border: 1px solid var(--G300);
  border-radius: 8px;
  transition: ease 0.15s;
}
.select-wrap p.tab-value input[type=checkbox] {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
.select-wrap p.tab-value::before {
  content: "";
  line-height: 24px;
}
.select-wrap p.tab-value::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  display: block;
  width: 24px;
  height: 24px;
  mask-image: url(../assets/icons/icon_select_arrow.png);
  mask-size: 24px;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--G900);
  transition: ease 0.35s;
}
.select-wrap ul {
  position: relative;
  transform: translateY(-1px);
  display: flex;
  flex-direction: column;
  height: max-content;
  padding: 0;
  overflow: hidden;
  background-color: var(--G00);
  border: 0 solid var(--G300);
  border-radius: 0 0 8px 8px;
  transition: ease 0.15s;
}
.select-wrap ul li {
  position: relative;
  display: flex;
  align-items: center;
  height: 0;
  background-color: var(--G00);
  transition: ease 0.35s;
}
.select-wrap ul li label {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 16px;
}
.select-wrap ul li label input[type=checkbox],
.select-wrap ul li label input[type=radio] {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
.select-wrap ul li:hover {
  background-color: var(--PB01);
}
.select-wrap ul li:hover label span {
  color: var(--G00);
}
.select-wrap ul li:has(input[type=checkbox]:checked) label span, .select-wrap ul li:has(input[type=radio]:checked) label span {
  color: var(--G300);
}
.select-wrap ul li:has(input[type=checkbox]:checked):hover, .select-wrap ul li:has(input[type=radio]:checked):hover {
  background-color: transparent;
}
.select-wrap p.tab-value:has(input[type=checkbox]:checked) {
  border: 2px solid var(--PB01);
  border-bottom: 0 solid var(--G300);
  border-radius: 8px 8px 0px 0px;
}
.select-wrap p.tab-value:has(input[type=checkbox]:checked)::after {
  transform: translateY(-50%) rotate(180deg);
}
.select-wrap p.tab-value:has(input[type=checkbox]:checked) ~ ul {
  padding: 4px 0 0;
  border: 2px solid var(--PB01);
  border-top: 0;
}
.select-wrap p.tab-value:has(input[type=checkbox]:checked) ~ ul::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  background-color: var(--G300);
}
.select-wrap p.tab-value:has(input[type=checkbox]:checked) ~ ul li {
  height: 32px;
}

/*layout setting*/
.area-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 40px;
  padding: 0 8px 0 16px;
  border-bottom: 1px solid var(--G500);
}
.area-title .icon-wrap {
  cursor: auto;
}
.area-title .icon-wrap i {
  background-color: var(--G900);
}
.area-title .icon-wrap:hover i {
  background-color: var(--G900);
}
.area-title h2,
.area-title h3,
.area-title h4,
.area-title h5 {
  flex: 1;
  line-height: 24px;
  border-right: 1px solid var(--G500);
}

html {
  overflow-x: hidden;
}

body {
  /*Console-switch*/
  /*bradcrumb*/
  /*ip*/
  /*back to top*/
  /* wishlist show state  back to top set*/
  /*Content*/
}
body * {
  padding: 0;
  box-sizing: border-box;
}
body .console-switch {
  display: none;
}
body .bradcrumb-wrap {
  position: relative;
  display: block;
  height: max-content;
  padding: 48px 0 0;
  container: bradcrumb-wrap/inline-size;
}
body .bradcrumb-wrap .bradcrumb {
  width: 100%;
  padding: 8px 16px;
  background-color: var(--G00);
}
body .bradcrumb-wrap .bradcrumb li {
  display: inline-block;
  vertical-align: middle;
}
body .bradcrumb-wrap .bradcrumb li::after {
  content: "-";
  display: inline-block;
  margin: 0 4px;
}
body .bradcrumb-wrap .bradcrumb li a {
  display: inline-block;
  color: var(--G900);
}
body .bradcrumb-wrap .bradcrumb li a:hover {
  color: var(--PB01);
}
body .bradcrumb-wrap .bradcrumb li.back-result {
  display: none;
  cursor: pointer;
}
body .bradcrumb-wrap .bradcrumb li.back-result span {
  transform: rotate(180deg);
  display: inline-block;
}
body .bradcrumb-wrap .bradcrumb li.back-result::after {
  display: none;
}
body .bradcrumb-wrap .bradcrumb li.back-result:hover .icon-wrap i {
  background-color: var(--PB01);
}
body .bradcrumb-wrap .bradcrumb li.home {
  display: none;
}
body .bradcrumb-wrap .bradcrumb li.main-category::after {
  display: none;
}
body .bradcrumb-wrap .bradcrumb li.sub-category {
  display: none;
}
body .bradcrumb-wrap .bradcrumb li.prods-title {
  display: none;
}
body .bradcrumb-wrap .bradcrumb li.prods-title span {
  display: inline-block;
  color: var(--PB01);
}
body .bradcrumb-wrap .bradcrumb li.prods-title::after {
  content: "";
  display: none;
}
@container bradcrumb-wrap (min-width: 769px) {
  body .bradcrumb-wrap .bradcrumb li.main-category::after {
    display: inline-block;
  }
  body .bradcrumb-wrap .bradcrumb li.sub-category {
    display: inline-block;
  }
  body .bradcrumb-wrap .bradcrumb li.sub-category::after {
    display: none;
  }
}
@container bradcrumb-wrap (min-width: 1025px) {
  body .bradcrumb-wrap .bradcrumb li.back-result {
    display: none !important;
  }
  body .bradcrumb-wrap .bradcrumb li.main-category::after {
    display: inline-block;
  }
  body .bradcrumb-wrap .bradcrumb li.sub-category {
    display: inline-block;
  }
  body .bradcrumb-wrap .bradcrumb li.sub-category::after {
    display: inline-block;
  }
  body .bradcrumb-wrap .bradcrumb li.prods-title {
    display: inline-block;
  }
}
body .member-ip {
  position: fixed;
  bottom: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100dvw;
  height: 32px;
  background-color: var(--G300);
  transition: transform ease 0.5s;
}
body .member-ip > span.icon-wrap i {
  background-color: var(--G900) !important;
}
body .member-ip > span.icon-wrap:hover i {
  background-color: var(--G900);
}
body .member-ip p {
  width: max-content;
}
body .member-ip p span {
  color: var(--G900);
}
body .member-ip p span.id {
  display: none;
}
body .member-ip.hide {
  transform: translateY(32px);
}
body .back-to-top {
  position: fixed;
  bottom: 64px;
  right: 5%;
  z-index: -1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 64px;
  border-radius: 24px;
  border: 1px solid var(--PB01);
  background-color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: background-color ease 0.35s, opacity ease 0.35s;
  cursor: pointer;
}
body .back-to-top .icon-wrap i {
  background-color: var(--PB01);
}
body .back-to-top:hover {
  background-color: var(--PB01);
}
body .back-to-top:hover .icon-wrap i {
  background-color: var(--G00);
}
body .back-to-top.active {
  z-index: 10;
  opacity: 1;
}
body:has(main.result) .back-to-top, body:has(main.detail) .back-to-top {
  bottom: 116px;
  transition: bottom ease 0.35s;
}
body:has(main.result):has(.wishlist-switch.active) .back-to-top, body:has(main.detail):has(.wishlist-switch.active) .back-to-top {
  bottom: 168px;
}
@media screen and (min-width: 1025px) {
  body:has(main.result) .back-to-top, body:has(main.detail) .back-to-top {
    bottom: 116px;
    transition: bottom ease 0.35s;
  }
  body:has(main.result):has(.wishlist-switch.active) .back-to-top, body:has(main.detail):has(.wishlist-switch.active) .back-to-top {
    bottom: 112px;
  }
}
body main {
  width: 100dvw;
  min-height: 100dvh;
  overflow: hidden;
  background-color: var(--G00);
}
@media screen and (min-width: 1025px) {
  body {
    /*bradcrumb*/
  }
  body .bradcrumb-wrap {
    border-bottom: 1px solid var(--G500);
  }
  body .bradcrumb-wrap .bradcrumb {
    padding: 12px 96px;
  }
  body .bradcrumb-wrap .bradcrumb li:has(span) {
    display: inline-block;
  }
}

body {
  /*------------------------------------------------------------------
              categories view setting begin
  ------------------------------------------------------------------*/
  /*categories view show*/
  /*categories tab-list select*/
  /*------------------------------------------------------------------
              member view setting begin
  ------------------------------------------------------------------*/
  /*member view show*/
  /*------------------------------------------------------------------
              wishlist setting begin
  ------------------------------------------------------------------*/
  /* user info selector bar click setting */
}
body:has(#catregory_toggle:checked) {
  overflow: hidden;
}
body:has(#catregory_toggle:checked) header .view-wrap,
body:has(#catregory_toggle:checked) header nav {
  transform: translateX(0);
  transition: transform 0.35s ease-in-out;
  z-index: 5;
  opacity: 1;
}
body:has(#catregory_toggle:checked) header .view-wrap .categories-wrap,
body:has(#catregory_toggle:checked) header nav .categories-wrap {
  display: block;
}
body:has(#catregory_toggle:checked) header .view-wrap > label[for=catregory_toggle],
body:has(#catregory_toggle:checked) header nav > label[for=catregory_toggle] {
  z-index: 1;
  display: block;
}
body:has(#catregory_toggle:checked) header .header-wrap {
  position: relative;
  z-index: 6;
  background-color: var(--G00);
}
body:has(#catregory_toggle:checked) header .header-wrap .logo a img {
  filter: brightness(0);
}
body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.menu label .icon-wrap {
  background-color: transparent;
}
body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.menu label .icon-wrap i {
  background-color: var(--G900);
  mask-image: url(../assets/icons/icon_close_n.png);
}
body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.menu label:hover {
  background-color: transparent;
}
body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.menu label:hover .icon-wrap {
  background-color: transparent;
}
body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.menu label:hover .icon-wrap i {
  background-color: var(--PB01);
}
body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.search,
body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.member {
  display: none;
}
body:has(#catregory_toggle:checked) main .wishlist-switch {
  z-index: -1;
}
@media screen and (min-width: 1025px) {
  body:has(#catregory_toggle:checked) {
    overflow-y: auto;
  }
  body:has(#catregory_toggle:checked) header .view-wrap {
    z-index: 9;
    box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.1);
  }
  body:has(#catregory_toggle:checked) header .view-wrap .categories-wrap {
    height: 100dvh;
  }
  body:has(#catregory_toggle:checked) header .view-wrap .categories-wrap .categories .view-title h2 {
    line-height: 48px;
  }
  body:has(#catregory_toggle:checked) header .view-wrap .categories-wrap .categories .view-title .tab-list {
    right: unset;
    left: 108px;
  }
  body:has(#catregory_toggle:checked) header .view-wrap .categories-wrap .categories .view-title label[for=catregory_toggle] {
    display: flex;
  }
  body:has(#catregory_toggle:checked) header nav {
    transform: translateX(calc(-50% + 40px));
    z-index: 8;
  }
  body:has(#catregory_toggle:checked) header nav ul li a {
    color: var(--G00);
  }
  body:has(#catregory_toggle:checked) header .header-wrap {
    z-index: 6;
    background-color: transparent;
  }
  body:has(#catregory_toggle:checked) header .header-wrap .logo a img {
    filter: brightness(1);
  }
  body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.menu label {
    background-color: transparent;
  }
  body:has(#catregory_toggle:checked) header .header-wrap .toolbar ul li.menu label .icon-wrap i {
    background-color: var(--G900);
  }
  body:has(#catregory_toggle:checked) header.scroll-style .header-wrap .logo a img {
    filter: brightness(0);
  }
  body:has(#catregory_toggle:checked) header.header-hide .view-wrap {
    transform: translate(0, 48px);
  }
}
@media screen and (min-width: 1025px) {
  body:not(:has(main.index)):has(#catregory_toggle:checked) header nav {
    z-index: 9;
    transform: translateX(calc(-50% + 40px));
  }
  body:not(:has(main.index)):has(#catregory_toggle:checked) header nav ul li a {
    color: var(--G900);
  }
}
body:has(header input[data-tab=clc]:checked) header .categories-wrap .categories .view-title .tab-list .tab-value::before {
  content: "CLC";
}
body:has(header input[data-tab=clc]:checked) header .view-wrap .categories-wrap .categories .catgory-list .sub-list .sub-title h3 > span::before {
  content: "CLC /";
}
body:has(header input[data-tab=subjects]:checked) header .categories-wrap .categories .view-title .tab-list .tab-value::before {
  content: "Subjects";
}
body:has(header input[data-tab=subjects]:checked) header .view-wrap .categories-wrap .categories .catgory-list .sub-list .sub-title h3 > span::before {
  content: "Subjects /";
}
body:has(header input[data-tab=bisac]:checked) header .categories-wrap .categories .view-title .tab-list .tab-value::before {
  content: "BISAC";
}
body:has(header input[data-tab=bisac]:checked) header .view-wrap .categories-wrap .categories .catgory-list .sub-list .sub-title h3 > span::before {
  content: "BISAC /";
}
body:has(#member_toggle:checked) {
  overflow: hidden;
}
body:has(#member_toggle:checked) header .view-wrap {
  transform: translateX(0);
  z-index: 6;
  opacity: 1;
  transition: transform 0.35s ease-in-out;
}
body:has(#member_toggle:checked) header .view-wrap .member-wrap {
  display: flex;
}
body:has(#member_toggle:checked) header .view-wrap > label[for=member_toggle] {
  z-index: 1;
  display: block;
}
body:has(#member_toggle:checked) header .header-wrap {
  position: relative;
  z-index: 1;
  background-color: transparent;
}
body:has(#member_toggle:checked) header .header-wrap .logo {
  visibility: hidden;
}
body:has(#member_toggle:checked) header .header-wrap .logo a img {
  visibility: hidden;
  transition: none;
}
body:has(#member_toggle:checked) header .header-wrap .toolbar ul li.menu {
  display: none;
}
body:has(#member_toggle:checked) header .header-wrap .toolbar ul li.member {
  display: none;
}
body:has(#member_toggle:checked) main .wishlist-switch {
  z-index: -1;
}
@media screen and (min-width: 1025px) {
  body:has(#member_toggle:checked) {
    overflow: auto;
  }
  body:has(#member_toggle:checked) header.header-hide .view-wrap {
    transform: translate(0, 48px);
    transition: transform 0.35s ease-in-out;
  }
  body:has(#member_toggle:checked) header.header-hide .header-wrap .toolbar ul li.member {
    transform: translateY(48px);
    transition: ease 0.5s;
  }
}
body .wishlist-switch:has(#wishlist_toggle:checked) {
  /* wishlist module show */
}
body .wishlist-switch:has(#wishlist_toggle:checked) ~ .wishlist-module {
  display: flex;
}
@media screen and (min-width: 1025px) {
  body:has(#wishlist_toggle:checked) {
    overflow-y: auto;
  }
  body:has(#wishlist_toggle:checked) main.result .result-content {
    transform: translateX(-360px);
    width: calc(100dvw - 400px + 360px);
  }
  body:has(#wishlist_toggle:checked) main.result .bookcase-module.recommend {
    width: calc(100% - 400px);
    margin: 0 400px 0 0;
  }
  body:has(#wishlist_toggle:checked) footer {
    max-width: calc(100% - 400px);
    margin: 0 400px 0 0;
  }
  body:has(#wishlist_toggle:checked) .member-ip {
    width: calc(100dvw - 400px);
    left: 0;
  }
}
body .wishlist-module .wishlist .user-info-form .select-wrap:has(input[data-tab=default]:checked) p.tab-value::before {
  content: "Select an Identity";
}
body .wishlist-module .wishlist .user-info-form .select-wrap:has(input[data-tab=faculty]:checked) p.tab-value::before {
  content: "Faculty & Researchers";
}
body .wishlist-module .wishlist .user-info-form .select-wrap:has(input[data-tab=graduate]:checked) p.tab-value::before {
  content: "Graduate Students";
}
body .wishlist-module .wishlist .user-info-form .select-wrap:has(input[data-tab=undergraduate]:checked) p.tab-value::before {
  content: "College Students";
}
body .wishlist-module .wishlist .user-info-form .select-wrap:has(input[data-tab=other]:checked) p.tab-value::before {
  content: "Other";
}

header {
  position: fixed;
  top: 0;
  transform: translateY(0);
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100dvw;
  height: max-content;
  min-height: 48px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
  background-color: rgba(0, 0, 0, 0.5);
  transition: background-color ease 0.35s, transform ease 0.5s;
  container: header/inline-size;
}
header.scroll-style {
  background-color: rgba(255, 255, 255, 0.9);
}
header.scroll-style .header-wrap .logo a img {
  filter: brightness(0);
}
header.scroll-style .header-wrap .toolbar ul li label .icon-wrap i {
  background-color: var(--G900);
}
header.scroll-style .header-wrap .toolbar ul li:has(label:hover) label {
  background-color: var(--PB01);
}
header.scroll-style .header-wrap .toolbar ul li:has(label:hover) label .icon-wrap i {
  background-color: var(--G00);
}
header.scroll-style .nav-wrap ul li a {
  color: var(--G900) !important;
}
header.header-hide {
  transform: translateY(-100%);
}
header .view-wrap {
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1;
  transform: translateX(100%);
  width: 100dvw;
  min-width: 320px;
  height: 100dvh;
  background-color: transparent;
  opacity: 0;
  transition: unset;
}
header .view-wrap .categories-wrap {
  position: relative;
  z-index: 2;
  top: 48px;
  display: none;
  width: 100%;
  min-width: 320px;
  height: calc(100dvh - 48px);
  max-height: calc(70dvh - 48px);
  background-color: var(--G00);
  overflow-y: hidden;
}
header .view-wrap .categories-wrap .categories .view-title {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  background-color: var(--G100);
}
header .view-wrap .categories-wrap .categories .view-title h2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  line-height: 44px;
  font-weight: 500;
  color: var(--G700);
}
header .view-wrap .categories-wrap .categories .view-title h2 label {
  display: block;
  width: 32px;
  height: 32px;
  mask-position: center;
  mask-size: 24px;
  mask-image: url("../assets/icons/icon_close_n.png");
  background-color: var(--G700);
  cursor: pointer;
}
header .view-wrap .categories-wrap .categories .view-title h2 label:hover {
  background-color: var(--PB01);
}
header .view-wrap .categories-wrap .categories .view-title .tab-list {
  position: absolute;
  top: 8px;
  right: 16px;
  z-index: 1;
}
header .view-wrap .categories-wrap .categories .view-title label[for=catregory_toggle] {
  display: none;
  cursor: pointer;
}
header .view-wrap .categories-wrap .categories .catgory-list {
  display: flex;
  flex-wrap: nowrap;
  height: max-content;
  max-height: calc(70dvh - 92px);
  overflow-x: hidden;
  overflow-y: auto;
}
header .view-wrap .categories-wrap .categories .catgory-list .sub-menu-switch {
  display: none;
}
header .view-wrap .categories-wrap .categories .catgory-list ul {
  transform: translateX(0);
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item {
  display: flex;
  flex-direction: column;
  padding: 0 16px;
  border-bottom: 1px solid var(--G100);
  transition: background-color ease 0.35s;
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div {
  position: relative;
  display: flex;
  justify-content: start;
  align-items: center;
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h3,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h4 {
  display: flex;
  align-items: center;
  max-width: calc(100% - 44px);
  height: 44px;
  line-height: 1.5;
  font-weight: 500;
  color: var(--G900);
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h3 span,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h3 a,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h4 span,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h4 a {
  margin: 0 8px 0 0;
  padding: 0;
  line-height: 1.25;
  font-weight: 500;
  color: var(--G900);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  white-space: normal;
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h3 a,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div h4 a {
  padding: 0 16px;
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div label {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: end;
  width: 100%;
  height: 100%;
  background-color: transparent;
  overflow: hidden;
  cursor: pointer;
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div label .icon-wrap i {
  background-color: var(--G900);
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div:hover h3,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div:hover h4 {
  color: var(--G00);
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div:hover h3 span,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div:hover h3 a,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div:hover h4 span,
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div:hover h4 a {
  color: var(--G00);
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item > div:hover label .icon-wrap i {
  background-color: var(--G00);
}
header .view-wrap .categories-wrap .categories .catgory-list ul li.catgory-item:has(div:hover) {
  background-color: var(--PB01);
}
header .view-wrap .categories-wrap .categories .catgory-list ul.sub-list .sub-title {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--G100);
  display: flex;
  flex-direction: row-reverse;
  justify-content: start;
  align-items: center;
}
header .view-wrap .categories-wrap .categories .catgory-list ul.sub-list .sub-title h3 {
  width: 100%;
  max-width: calc(100% - 64px);
  line-height: 44px;
  font-weight: 500;
  color: var(--G900);
  -webkit-line-clamp: 1;
}
header .view-wrap .categories-wrap .categories .catgory-list ul.sub-list .sub-title h3 span {
  margin: 0 4px 0 0;
}
header .view-wrap .categories-wrap .categories .catgory-list ul.sub-list .sub-title h3 a:hover {
  color: var(--PB01);
}
header .view-wrap .categories-wrap .categories .catgory-list ul.sub-list .sub-title label {
  width: 44px;
  height: 44px;
  transform: rotate(180deg);
  cursor: pointer;
}
header .view-wrap .member-wrap {
  position: relative;
  top: 0;
  z-index: 2;
  display: none;
  flex-direction: column;
  width: 100%;
  min-width: 320px;
  height: calc(100dvh - 32px);
  background-color: var(--G00);
  overflow-y: auto;
}
header .view-wrap .member-wrap .view-title {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  background-color: var(--G100);
}
header .view-wrap .member-wrap .view-title h2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  line-height: 44px;
  font-weight: 500;
  color: var(--G700);
}
header .view-wrap .member-wrap .view-title h2 label {
  display: block;
  width: 32px;
  height: 32px;
  mask-position: center;
  mask-size: 24px;
  mask-image: url("../assets/icons/icon_close_n.png");
  background-color: var(--G700);
  cursor: pointer;
}
header .view-wrap .member-wrap .view-title h2 label:hover {
  background-color: var(--PB01);
}
header .view-wrap .member-wrap .view-title .tab-list {
  position: absolute;
  top: 8px;
  right: 16px;
  z-index: 1;
}
header .view-wrap .member-wrap .view-title label[for=catregory_toggle] {
  display: none;
  cursor: pointer;
}
header .view-wrap .member-wrap .member-link {
  display: block;
  width: 100%;
  margin: auto 0 0;
}
header .view-wrap .member-wrap .member-link ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 1px;
  width: 100%;
  height: 100%;
}
header .view-wrap .member-wrap .member-link ul li.member-item {
  display: flex;
  justify-content: start;
  align-items: center;
  width: 100%;
  height: 44px;
}
header .view-wrap .member-wrap .member-link ul li.member-item h3 {
  display: block;
  width: 100%;
  padding: 0 16px;
}
header .view-wrap .member-wrap .member-link ul li.member-item h3 a,
header .view-wrap .member-wrap .member-link ul li.member-item h3 strong {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 4px;
  width: 100%;
  height: 100%;
  line-height: 48px;
  font-weight: 500;
  color: var(--G900);
}
header .view-wrap .member-wrap .member-link ul li.member-item h3 a span:last-child,
header .view-wrap .member-wrap .member-link ul li.member-item h3 strong span:last-child {
  margin-left: auto;
}
header .view-wrap .member-wrap .member-link ul li.member-item.fast-login {
  flex-direction: column;
  justify-content: start;
  align-items: start;
  height: max-content;
  min-height: 44px;
  margin-bottom: auto;
}
header .view-wrap .member-wrap .member-link ul li.member-item.fast-login iframe {
  width: 100%;
  height: 100%;
  background-color: var(--G100);
}
header .view-wrap .member-wrap .member-link ul li.member-item.disabled {
  background-color: var(--G300);
}
header .view-wrap .member-wrap .member-link ul li.member-item.disabled * {
  cursor: default;
  pointer-events: none;
}
header .view-wrap .member-wrap .member-link ul li.member-item.disabled h3 a,
header .view-wrap .member-wrap .member-link ul li.member-item.disabled h3 strong {
  color: var(--G500);
}
header .view-wrap .member-wrap .member-link ul li.member-item.disabled h3 a span i,
header .view-wrap .member-wrap .member-link ul li.member-item.disabled h3 strong span i {
  background-color: var(--G500);
}
header .view-wrap .member-wrap .member-link ul li.member-item:not(.disabled):hover {
  background-color: var(--PB01);
}
header .view-wrap .member-wrap .member-link ul li.member-item:not(.disabled):hover h3 a,
header .view-wrap .member-wrap .member-link ul li.member-item:not(.disabled):hover h3 strong {
  color: var(--G00);
}
header .view-wrap .member-wrap .member-link ul li.member-item:not(.disabled):hover h3 a span i,
header .view-wrap .member-wrap .member-link ul li.member-item:not(.disabled):hover h3 strong span i {
  background-color: var(--G00);
}
header .view-wrap > label {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: none;
}
header .header-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 0 16px;
}
header .header-wrap .logo h1 {
  position: absolute;
  z-index: -1;
  width: 0;
  height: 0;
  overflow: hidden;
  display: none;
}
header .header-wrap .logo a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
}
header .header-wrap .logo a img {
  min-height: 32px;
  filter: brightness(1);
  transition: ease 0.35s;
}
header .header-wrap .toolbar ul {
  display: flex;
  align-items: center;
  gap: 8px;
}
header .header-wrap .toolbar ul li {
  display: block;
  width: 32px;
  height: 32px;
  background-color: transparent;
  overflow: hidden;
  cursor: pointer;
}
header .header-wrap .toolbar ul li label {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  cursor: pointer;
}
header .header-wrap .toolbar ul li label .icon-wrap i {
  background-color: var(--G00);
}
header .header-wrap .toolbar ul li:hover label {
  background-color: var(--PB01);
}
header .header-wrap .toolbar ul li:hover label .icon-wrap i {
  background-color: var(--G00);
}
header .nav-wrap {
  position: fixed;
  top: 70dvh;
  right: 0;
  transform: translateX(100%);
  z-index: -1;
  width: 100dvw;
  min-width: 360px;
  height: 30dvh;
  padding: 0 0 32px;
  background-color: var(--G00);
  opacity: 0;
  transition: ease 0.35s;
}
header .nav-wrap .nav-title {
  display: block;
  width: 100%;
  padding: 0 16px;
  background-color: var(--G100);
  border-top: 1px solid var(--G300);
}
header .nav-wrap .nav-title h2 {
  height: 44px;
  line-height: 44px;
  font-weight: 500;
  color: var(--G700);
}
header .nav-wrap ul {
  display: flex;
  flex-direction: column;
  width: 100%;
}
header .nav-wrap ul li {
  display: flex;
  align-items: center;
  width: 100%;
  height: 44px;
  padding: 0 16px;
  cursor: pointer;
}
header .nav-wrap ul li a {
  display: block;
  width: max-content;
}
header .nav-wrap ul li[data-nav=holdings] a:before {
  content: "Library ";
}
@container header (min-width: 480px) {
  header .header-wrap .logo {
    visibility: visible !important;
    z-index: 1;
  }
  header .header-wrap .logo img {
    visibility: visible !important;
  }
}

@media (min-width: 769px) {
  header {
    padding: 0 16px;
  }
  header .header-wrap .toolbar {
    display: block;
    width: 160px;
  }
  header .header-wrap .toolbar ul {
    justify-content: end;
  }
  header .view-wrap .categories-wrap {
    max-height: inherit;
  }
  header .nav-wrap {
    position: absolute;
    top: 2px;
    right: inherit;
    left: 50%;
    bottom: inherit;
    transform: translateX(calc(-50% + 40px));
    z-index: 5;
    opacity: 1;
    max-width: max-content;
    height: max-content;
    padding: 0 16px;
    background-color: transparent;
    transition: none;
  }
  header .nav-wrap .nav-title {
    position: absolute;
    z-index: -1;
    opacity: 0;
  }
  header .nav-wrap ul {
    flex-direction: row;
    gap: 8px;
  }
  header .nav-wrap ul li {
    justify-content: center;
    padding: 0;
  }
  header .nav-wrap ul li a {
    position: relative;
    width: max-content;
    color: var(--G00);
    text-align: center;
  }
  header .nav-wrap ul li:hover a {
    color: var(--PB01) !important;
  }
  header .nav-wrap ul li:hover a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translateY(4px);
    width: 100%;
    height: 4px;
    background-color: var(--PB01);
  }
  header .nav-wrap ul li[data-nav=holdings] a:before {
    content: "";
    display: none;
  }
}
@media (min-width: 1025px) {
  header {
    padding: 0 24px 0 8px;
  }
  header .view-wrap {
    left: inherit;
    right: 0;
    display: flex;
    justify-content: end;
    max-width: 360px;
  }
  header .view-wrap .categories-wrap {
    transform: translateY(-48px);
    max-height: unset;
  }
  header .view-wrap .categories-wrap .categories .catgory-list {
    max-height: calc(100dvh - 80px);
    overscroll-behavior: contain;
  }
  header .view-wrap .member-wrap {
    max-width: 480px;
  }
  header .view-wrap label[for=catregory_toggle],
  header .view-wrap label[for=member_toggle] {
    display: none;
  }
  header .nav-wrap ul {
    gap: 16px;
  }
}
body:has(main.index) header h1 {
  display: block !important;
}
body:has(main.index) header .header-wrap .toolbar ul li.search {
  display: none;
}

body:not(:has(main.index)) header {
  background-color: var(--G00);
}
body:not(:has(main.index)) header h1 {
  display: none !important;
}
body:not(:has(main.index)) header .header-wrap .logo {
  filter: brightness(0);
}
body:not(:has(main.index)) header .header-wrap .toolbar ul li label .icon-wrap i {
  background-color: var(--G900);
}
body:not(:has(main.index)) header .header-wrap .toolbar ul li:hover label .icon-wrap i {
  background-color: var(--G00);
}
body:not(:has(main.index)) header .header-wrap .toolbar ul li.search {
  display: block;
}
body:not(:has(main.index)) header .nav-wrap ul li a {
  color: var(--G900);
}
body:not(:has(main.index)):has(.header-hide) main .search-module {
  transform: translateY(-48px);
}

footer {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: max-content;
  margin: 0 auto;
  padding: 16px 16px 40px;
  background-color: var(--G100);
}
footer h2 {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
footer section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 1480px;
  min-height: 128px;
  margin: 0 auto;
}
footer section a,
footer section p,
footer section strong,
footer section span {
  color: var(--G900);
}
footer section a img,
footer section p img,
footer section strong img,
footer section span img {
  max-width: 128px;
}
footer section a:hover {
  color: var(--PB01);
}
footer section a:hover small {
  color: var(--PB01);
}
footer section .links-wrap {
  display: flex;
  justify-content: center;
  gap: 24px;
  width: 100%;
  padding: 16px;
  border-bottom: 1px solid var(--G500);
}
footer section .links-wrap a {
  line-height: 32px;
}
footer section .contact-wrap {
  width: 100%;
  padding: 8px 16px;
  border-bottom: 1px solid var(--G500);
}
footer section .contact-wrap a,
footer section .contact-wrap span {
  display: block;
  text-align: center;
}

@media screen and (min-width: 769px) {
  footer {
    padding: 16px 32px 40px;
  }
  footer section {
    flex-direction: row;
    justify-content: space-between;
    align-items: start;
    width: 100%;
    min-height: unset;
    border-bottom: 1px solid var(--G500);
  }
  footer section .links-wrap,
  footer section .contact-wrap {
    justify-content: start;
    padding: 0 0 16px;
    border: none;
  }
  footer section .links-wrap p,
  footer section .contact-wrap p {
    text-align: right;
  }
  footer section .contact-wrap {
    display: flex;
    flex-direction: column;
    align-items: end;
    width: max-content;
  }
  footer section .contact-wrap a,
  footer section .contact-wrap span {
    display: block;
    width: max-content;
  }
  footer section:nth-last-of-type(1) {
    align-items: center;
    min-height: 48px;
    border: none;
  }
}
@media screen and (min-width: 1025px) {
  footer {
    padding: 16px 0 40px;
  }
}
.books-module {
  --bookcover-size: 120px;
  width: var(--bookcover-size);
  flex: 0 0 var(--bookcover-size);
  transition: ease 0.25s;
  /*books status*/
}
.books-module .cover {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1/1.4;
  background-color: var(--G00);
  border: 1px solid var(--G100);
  mix-blend-mode: multiply;
  overflow: hidden;
  cursor: pointer;
}
.books-module .cover span.favorite, .books-module .cover span.permission-icon, .books-module .cover span.tf-icon {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0.5;
  cursor: pointer;
}
.books-module .cover span.favorite input[type=checkbox], .books-module .cover span.permission-icon input[type=checkbox], .books-module .cover span.tf-icon input[type=checkbox] {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
.books-module .cover span.favorite i, .books-module .cover span.permission-icon i, .books-module .cover span.tf-icon i {
  background-color: var(--G00);
}
.books-module .cover span.favorite:hover, .books-module .cover span.permission-icon:hover, .books-module .cover span.tf-icon:hover {
  background-color: var(--PB01);
}
.books-module .cover span.favorite.disabled {
  cursor: default;
  pointer-events: none;
}
.books-module .cover span.favorite.disabled i {
  background-color: var(--G100);
}
.books-module .cover span.favorite:has(> input[type=checkbox]:checked) {
  opacity: 1;
}
.books-module .cover span.favorite:has(> input[type=checkbox]:checked) i {
  -webkit-mask-image: url(../assets/icons/icon_favorite_a.png);
  mask-image: url(../assets/icons/icon_favorite_a.png);
  background-color: var(--PB01);
}
.books-module .cover span.favorite:has(> input[type=checkbox]:checked):hover {
  background-color: rgba(0, 0, 0, 0.15);
}
.books-module .cover span.permission-icon {
  right: inherit;
  left: 0;
  z-index: 0;
  display: none;
  background-color: var(--G100);
  opacity: 1;
  cursor: default;
}
.books-module .cover span.permission-icon i {
  background-color: var(--G900);
}
.books-module .cover span.permission-icon strong {
  display: none;
  color: var(--G900);
}
.books-module .cover span.permission-icon:hover {
  background-color: var(--G100);
}
.books-module .cover span.tf-icon {
  top: inherit;
  bottom: 0;
  justify-content: start;
  padding: 0 4px;
  background-color: var(--SK01);
  opacity: 1;
  display: none;
}
.books-module .cover span.tf-icon strong {
  display: block;
  width: max-content;
  max-width: 0;
  white-space: nowrap;
  color: var(--G00);
  overflow: hidden;
  transition: ease 0.25s;
}
.books-module .cover span.tf-icon:hover {
  justify-content: center;
  width: 100%;
  padding: 0 4px;
  background-color: var(--SK01);
}
.books-module .cover span.tf-icon:hover strong {
  max-width: 100%;
}
.books-module .cover img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.books-module .cover:hover span.favorite {
  opacity: 1;
}
.books-module .info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  overflow-x: hidden;
}
.books-module .info p,
.books-module .info h4 {
  line-height: 1.25;
  word-break: break-all;
}
.books-module .info h4 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  white-space: normal;
  cursor: pointer;
}
.books-module .info h4.title_EN {
  -webkit-line-clamp: 3;
}
.books-module .info h4.title_CH {
  -webkit-line-clamp: 2;
  display: none;
}
.books-module .info .simple-info {
  display: flex;
  align-items: center;
}
.books-module .info .simple-info span {
  vertical-align: middle;
  line-height: 24px;
}
.books-module .info .simple-info span::after {
  content: "｜";
  margin: 0 4px;
}
.books-module .info .simple-info span:last-child::after {
  display: none;
}
.books-module.tf-recommend .cover span.tf-icon {
  display: flex;
}
.books-module.no-permission .cover span.permission-icon {
  display: flex;
}
.books-module.no-permission .cover span.permission-icon strong {
  display: none;
}
.books-module.no-permission .cover span.permission-icon strong::before {
  content: "Unauthorized";
}
.books-module.preview-only .cover span.permission-icon {
  display: flex;
  background-color: var(--PB01);
}
.books-module.preview-only .cover span.permission-icon i {
  -webkit-mask-image: url(../assets/icons/icob_cover_preview.png);
  mask-image: url(../assets/icons/icob_cover_preview.png);
}
.books-module.preview-only .cover span.permission-icon strong::before {
  content: "Preview only";
}
.books-module:hover .info h4 {
  color: var(--PB01);
}

main:is(.detail) .books-module .cover .icon-wrap.permission-icon {
  width: 100%;
  justify-content: center;
}
main:is(.detail) .books-module .cover .icon-wrap.permission-icon strong {
  display: block;
  font-size: var(--P1) !important;
  width: max-content;
}

main:is(.result) .result-wrap ul:has(.books-module) {
  width: 100%;
  container: resultlist/inline-size;
}
main:is(.result) .result-wrap ul:has(.books-module) > li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  height: 100%;
  min-height: 48px;
  padding: 16px 0 80px;
  border-bottom: 1px solid var(--G500);
}
main:is(.result) .result-wrap ul:has(.books-module) > li > label.checkbox-wrap {
  position: absolute;
  top: 16px;
  left: 0;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module {
  --bookcover-size: 160px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .cover {
  margin: 0 0 32px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .cover span.permission-icon {
  justify-content: start;
  gap: 4px;
  width: 100%;
  padding: 0 32px 0 4px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .tf-recommend {
  position: absolute;
  transform: translateY(-32px);
  display: none;
  justify-content: center;
  align-items: center;
  width: var(--bookcover-size);
  height: 32px;
  background-color: var(--SK02);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .toolbar-wrap .cite,
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .toolbar-wrap .share {
  display: none;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.tf-recommend .tf-recommend {
  display: flex;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.no-permission .cover span.permission-icon strong {
  display: block;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.no-permission .cover span.permission-icon strong::before {
  content: "Unauthorized";
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.preview-only .cover span.permission-icon {
  background-color: var(--PB01);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.preview-only .cover span.permission-icon i {
  -webkit-mask-image: url(../assets/icons/icob_cover_preview.png);
  mask-image: url(../assets/icons/icob_cover_preview.png);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.preview-only .cover span.permission-icon strong {
  display: block;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.preview-only .cover span.permission-icon strong::before {
  content: "Preview only";
}
main:is(.result) .result-wrap ul:has(.books-module) > li .books-module.full-text-match ~ .metadata-wrap .description .tabs-wrap > label[data-tab=fulltext] {
  display: block;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap {
  display: flex;
  flex-direction: column;
  flex: 1; /*高度*/
  gap: 16px;
  width: 100%;
  transition: height ease 0.35s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 32px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info > div {
  color: var(--G900);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info > div.year::after {
  content: "｜";
  margin: 0 0 0 4px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info > div.format-type {
  height: 24px;
  padding: 0 4px;
  border-radius: 8px;
  background-color: var(--G300);
  border: 1px solid var(--G300);
  font-size: var(--P2);
  text-transform: uppercase;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info > div.format-type .icon-wrap i {
  background-color: var(--G900);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info label[for=more_explanations] {
  position: relative;
  margin: 0 0 0 auto;
  background-color: var(--G00);
  cursor: pointer;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info label[for=more_explanations] input[type=checkbox] {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  cursor: pointer;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info label[for=more_explanations] .icon-wrap i {
  background-color: var(--G900);
  mask-size: 28px 28px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap h3,
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap .translator-title {
  display: inline;
  color: var(--G900);
  -webkit-line-clamp: 2;
  cursor: pointer;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap h3:hover,
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap .translator-title:hover {
  color: var(--PB01);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap h3:hover .match-words,
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap .translator-title:hover .match-words {
  color: var(--PB01);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap .translator-title {
  display: block;
  font-size: 1.15rem;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap .translator-title::after {
  content: " (translator by AI)";
  color: var(--G700);
  font-size: 80%;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 8px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div {
  display: flex;
  align-items: start;
  gap: 8px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div h3 {
  min-width: 72px;
  color: var(--G900);
  text-transform: capitalize;
  font-weight: 500;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div a::after,
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div span::after {
  content: ",";
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div a:last-child::after,
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div span:last-child::after {
  content: "";
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div a {
  color: var(--PB01);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div.isbn, main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata > div.series {
  display: none;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .control-wrap {
  position: absolute;
  bottom: 0;
  z-index: 2;
  transform: translateY(64px);
  clear: both;
  display: flex;
  justify-content: center;
  gap: 16px;
  width: 100%;
  background-color: var(--G00);
  transition: transform ease 0.35s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .control-wrap .btn-wrap {
  max-width: unset;
  padding: 0 8px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: none;
  width: 100%;
  height: calc(100% - 32px);
  padding: 8px 0 16px;
  background-color: var(--G00);
  transition: ease 0.35s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap {
  display: flex;
  width: 100%;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap > label {
  position: relative;
  width: 100%;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap > label input[type=radio] {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  cursor: pointer;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap > label h3.title {
  display: block;
  line-height: 32px;
  text-align: center;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap > label::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(2px);
  width: 100%;
  height: 4px;
  background-color: var(--G500);
  transition: ease 0.25s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap > label:has(> input[type=radio]:checked)::before {
  background-color: var(--PB01);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap > label:has(> input[type=radio]:checked) h3.title {
  color: var(--PB01);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .tabs-wrap > label[data-tab=fulltext] {
  display: none;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap {
  width: 100%;
  max-height: calc(100% - 80px);
  margin: 12px 0 8px;
  padding: 8px 8px 0;
  border-radius: 8px;
  background-color: var(--G100);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  transition: height ease 0.35s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-description {
  padding: 0 0 40px;
  transition: height ease 0.35s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-description p.text {
  letter-spacing: 0.5px;
  color: var(--G900);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-description p.text.line-limit {
  -webkit-line-clamp: 999;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext {
  display: none;
  padding: 0 0 40px;
  transition: height ease 0.35s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext ul li {
  position: relative;
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 8px 8px 8px 24px;
  border-bottom: 1px solid var(--G300);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext ul li::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  top: 20px;
  left: 8px;
  border-radius: 50%;
  background-color: var(--G900);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext ul li p.text {
  width: auto;
  letter-spacing: 0.5px;
  color: var(--G900);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext ul li p.text.line-limit {
  -webkit-line-clamp: 3;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext ul li:last-child {
  border-bottom: none;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .btn-translate {
  display: inline-flex;
  float: right;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .btn-translate strong::before {
  content: "translate";
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .btn-more {
  position: relative;
  left: 7px;
  transform: translateY(-48px);
  width: 32px;
  height: 32px;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 6px;
  transition: ease 0.35s;
  cursor: pointer;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .btn-more input {
  display: none;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .btn-more .icon-wrap.read-toggle i {
  mask-size: 20px;
  background-color: var(--PB01);
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .tags-wrap {
  position: relative;
  display: none;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .tags-wrap h3 {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .tags-wrap .tags {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .tags-wrap .tags a {
  display: inline-flex;
  width: max-content;
  height: 24px;
  padding: 0 4px;
  border-radius: 8px;
  background-color: var(--SK02);
  border: 1px solid var(--SK02);
  font-size: var(--P3);
  line-height: 24px;
  color: var(--G900);
  transition: ease 0.35s;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .tags-wrap .tags a::before {
  content: "#";
  margin: 0 2px 0 0;
}
main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .tags-wrap .tags a:hover {
  color: var(--G00);
  background-color: var(--SK01);
  border: 1px solid var(--SK01);
}
@container resultlist (min-width: 440px) {
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata {
    min-height: 144px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .btn-more {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  main:is(.result) .result-wrap ul:has(.books-module) > li {
    flex-direction: row;
    align-items: start;
    gap: 24px;
    height: auto;
    min-height: unset !important;
    padding: 24px 0 32px 32px;
    border-bottom: 1px solid var(--G500);
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li > label.checkbox-wrap {
    top: 24px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .books-module {
    --bookcover-size: 180px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .cover span.permission-icon {
    justify-content: center;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .cover span.permission-icon strong {
    font-size: 0.875rem;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap {
    --bookcover-size: 180px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info {
    width: 100%;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info .base-info label[for=more_explanations] {
    display: none;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap h3 {
    font-size: 1.25rem;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .porduct-info hgroup.title-wrap .translator-title {
    font-size: 1rem;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .metadata {
    min-height: unset;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .control-wrap {
    position: relative;
    transform: translateY(0);
    justify-content: start;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .control-wrap .btn-wrap {
    max-width: var(--bookcover-size);
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description {
    position: relative;
    transform: translateY(0);
    display: block !important;
    padding: 0;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap {
    max-height: 240px;
    padding: 0 16px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-description {
    padding: 8px 0;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap div.content-fulltext {
    padding: 8px 0;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .btn-more {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  main:is(.result) .result-wrap ul:has(.books-module) > li > label.checkbox-wrap {
    top: 32px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .books-module {
    --bookcover-size: 160px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .cover span.permission-icon {
    justify-content: start;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .books-module .cover span.permission-icon strong {
    font-size: 80%;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap {
    --bookcover-size: 160px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) > li .metadata-wrap .description .text-wrap {
    max-height: 160px;
  }
}
@media screen and (min-width: 1281px) {
  main:is(.result) .result-wrap ul:has(.books-module) li .metadata-wrap .porduct-info,
  main:is(.result) .result-wrap ul:has(.books-module) li .metadata-wrap .metadata {
    width: calc(100% - var(--bookcover-size) - 32px);
  }
  main:is(.result) .result-wrap ul:has(.books-module) li .metadata-wrap .description .text-wrap {
    max-height: 240px;
  }
  main:is(.result) .result-wrap ul:has(.books-module) li .metadata-wrap .control-wrap {
    position: absolute;
    top: 0;
    right: 0;
    left: unset;
    bottom: unset;
    transform: translateY(0);
    flex-direction: column;
    width: max-content;
    margin: 0;
  }
  main:is(.result) .result-wrap ul:has(.books-module) li .metadata-wrap .control-wrap .btn-wrap {
    width: var(--bookcover-size);
  }
}
body main .search-module {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 85dvh;
  margin: 0;
  padding: 0 16px;
  background-position: center;
  background-size: auto;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-image: url(https://picsum.photos/1920/1280);
}
body main .search-module .search-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
  width: 100%;
  max-width: 800px;
  padding: 40px 16px;
  height: max-content;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 40px;
}
body main .search-module .search-wrap h2 {
  display: block;
  color: var(--G00);
  text-align: center;
  font-size: 200%;
}
body main .search-module .search-wrap .search-form {
  width: 100%;
  margin: 0 auto;
}
body main .search-module .search-wrap .search-form form {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: center;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  /*search-type opction txt setting*/
}
body main .search-module .search-wrap .search-form form .select-menu {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateY(48px);
  z-index: -1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100dvw;
  height: 100dvh;
  padding: 0 24px;
  background-color: rgba(0, 0, 0, 0.25);
  opacity: 0;
}
body main .search-module .search-wrap .search-form form .select-menu ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 320px;
  padding: 16px;
  border-radius: 8px;
  background-color: var(--G00);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
body main .search-module .search-wrap .search-form form .select-menu ul li {
  display: block;
  width: 100%;
  height: 32px;
  text-align: center;
}
body main .search-module .search-wrap .search-form form .select-menu ul li .radio-wrap input[type=radio] {
  display: none;
}
body main .search-module .search-wrap .search-form form .select-menu ul li .radio-wrap input[type=radio]:checked ~ p {
  color: var(--PB01);
}
body main .search-module .search-wrap .search-form form .select-menu ul li .radio-wrap p {
  line-height: 32px;
}
body main .search-module .search-wrap .search-form form .select-menu ul li .radio-wrap p span {
  display: none;
}
body main .search-module .search-wrap .search-form form .select-menu ul li .radio-wrap p::before {
  display: none;
}
body main .search-module .search-wrap .search-form form .select-menu ul li.menu-title {
  position: relative;
  margin-bottom: 8px;
  text-align: left;
}
body main .search-module .search-wrap .search-form form .select-menu ul li.menu-title label {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
body main .search-module .search-wrap .search-form form .select-menu ul li.menu-title label span {
  cursor: pointer;
}
body main .search-module .search-wrap .search-form form .select-menu ul li.menu-title label span:hover i {
  background-color: var(--PB01);
}
body main .search-module .search-wrap .search-form form .select-menu ul li.menu-title p {
  line-height: 32px;
  border-bottom: 1px solid var(--G300);
}
body main .search-module .search-wrap .search-form form .select-menu ul li:hover .radio-wrap p {
  color: var(--PB01);
}
body main .search-module .search-wrap .search-form form .select-menu > label {
  position: fixed;
  inset: 0;
  z-index: -1;
  display: block;
}
body main .search-module .search-wrap .search-form form .search-bar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 40px;
  padding: 0 8px;
  background-color: var(--G00);
  border: 1px solid var(--G300);
  border-radius: 40px;
  overflow: hidden;
}
body main .search-module .search-wrap .search-form form .search-bar .search-type {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 32px;
  background-color: var(--G300);
}
body main .search-module .search-wrap .search-form form .search-bar .search-type > label[for=search_type_toggle] {
  position: relative;
  width: max-content;
  padding: 0 8px;
}
body main .search-module .search-wrap .search-form form .search-bar .search-type > label[for=search_type_toggle] input[type=checkbox] {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  opacity: 0;
  cursor: pointer;
}
body main .search-module .search-wrap .search-form form .search-bar .search-type > label[for=search_type_toggle] p {
  color: var(--G900);
}
body main .search-module .search-wrap .search-form form .search-bar .search-type > label[for=search_type_toggle] p::before {
  content: " ";
  line-height: 24px;
  text-transform: capitalize;
}
body main .search-module .search-wrap .search-form form .search-bar button[type=reset] {
  position: absolute;
  right: 40px;
  width: max-content;
  height: max-content;
  background-color: transparent;
  display: none;
}
body main .search-module .search-wrap .search-form form .search-bar button[type=reset] .clear:hover i {
  background-color: var(--PB01);
}
body main .search-module .search-wrap .search-form form .search-bar input[type=search] {
  width: 100%;
  color: var(--G700);
  line-height: 40px;
}
body main .search-module .search-wrap .search-form form .search-bar input[type=search]::placeholder {
  font-size: var(--D1);
}
body main .search-module .search-wrap .search-form form button[type=submit] {
  position: absolute;
  top: 4px;
  right: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 32px;
  background-color: var(--G900);
  transition: background-color ease 0.35s;
  cursor: pointer;
}
body main .search-module .search-wrap .search-form form button[type=submit] .icon-wrap i {
  background-color: var(--G00);
}
body main .search-module .search-wrap .search-form form button[type=submit]:hover {
  background-color: var(--PB01);
}
body main .search-module .search-wrap .search-form form button[type=submit]:active {
  background-color: var(--PB02);
}
body main .search-module .search-wrap .search-form form .select-menu:has(input#search_type_all:checked) ~ .search-bar .search-type > label[for=search_type_toggle] p::before {
  content: "all";
}
body main .search-module .search-wrap .search-form form .select-menu:has(input#search_type_title:checked) ~ .search-bar .search-type > label[for=search_type_toggle] p::before {
  content: "title";
}
body main .search-module .search-wrap .search-form form .select-menu:has(input#search_type_author:checked) ~ .search-bar .search-type > label[for=search_type_toggle] p::before {
  content: "author";
}
body main .search-module .search-wrap .search-form form .select-menu:has(input#search_type_publisher:checked) ~ .search-bar .search-type > label[for=search_type_toggle] p::before {
  content: "publisher";
}
body main .search-module .search-wrap .search-form form .select-menu:has(input#search_type_isbn:checked) ~ .search-bar .search-type > label[for=search_type_toggle] p::before {
  content: "isbn";
}
body main .search-module .search-wrap .search-form form .select-menu:has(input#search_description:checked) ~ .search-bar .search-type > label[for=search_type_toggle] p::before {
  content: "description";
}
body main .search-module .search-wrap .search-fuction {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 480px;
}
body main .search-module .search-wrap .search-fuction .btn-back {
  display: none;
}
body main .search-module .search-wrap .search-fuction .search-mode {
  display: flex;
  justify-content: center;
  gap: 16px;
  width: 100%;
}
body main .search-module .search-wrap .search-fuction .search-mode .checkbox-wrap p {
  color: var(--G00);
}
body main .search-module .search-wrap .search-fuction .btn-advanced {
  display: flex;
  align-items: center;
  gap: 16px;
}
body main .search-module .search-wrap .search-fuction .btn-advanced .divider {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--G00);
}
body main .search-history {
  position: relative;
  transform: translateY(-4px);
  z-index: -1;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 0;
  max-height: 0;
  padding: 0;
  background-color: var(--G00);
  border-radius: 0 0 16px 16px;
  overflow-y: hidden;
  opacity: 0;
}
body main .search-history p {
  display: block;
  width: 100%;
  margin: 8px 0;
  padding: 0 16px;
  text-align: left;
  line-height: 2;
  font-weight: 700;
}
body main .search-history .search-history-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 200px;
  max-height: 300px;
  padding: 0;
  overflow-y: auto;
}
body main .search-history .search-history-list li {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 16px;
  text-align: left;
}
body main .search-history .search-history-list li a {
  display: block;
  width: max-content;
  line-height: 40px;
  transition: color 0.25s ease-in-out;
}
body main .search-history .search-history-list li .icon-wrap {
  display: none;
}
body main .search-history .search-history-list li::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px dashed var(--G300);
}
body main .search-history .search-history-list li:last-child::after {
  display: none;
}
body main .search-history .search-history-list li:has(a:hover) {
  background-color: var(--PB01);
}
body main .search-history .search-history-list li:has(a:hover) a {
  color: var(--G00);
}
body main .auto-complete {
  position: relative;
  transform: translateY(-4px);
  z-index: -1;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 0;
  padding: 0;
  background-color: var(--G00);
  border-radius: 0 0 16px 16px;
  overflow-y: hidden;
  opacity: 0;
}
body main .auto-complete .auto-complete-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  max-height: 0;
  padding: 0;
  overflow-y: hidden;
}
body main .auto-complete .auto-complete-list li {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 16px;
  text-align: left;
}
body main .auto-complete .auto-complete-list li a {
  display: block;
  width: max-content;
  line-height: 40px;
}
body main .auto-complete .auto-complete-list li:has(a:hover) {
  background-color: var(--PB01);
}
body main .auto-complete .auto-complete-list li:has(a:hover) a {
  color: var(--G00);
}
body main .auto-complete .autocomplete-switch {
  display: none;
  position: absolute;
  right: 16px;
  bottom: 8px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  height: 32px;
}
body main .auto-complete .autocomplete-switch p {
  width: max-content;
}
body:has(main.index) main .search-module {
  height: 720px;
  min-height: unset;
}
body main .search-module .search-wrap:has(input[data-type=full-text]:checked) .search-form .search-bar .search-type {
  display: none;
}
body main .search-module .search-wrap:has(input[data-type=full-text]:checked) .search-form .search-bar input[type=search] {
  padding: 0 0 0 8px;
}
body:has(main.index) {
  /*search bar show type list*/
  /*search bar show history list*/
  /*search bar show auto complete*/
}
body:has(main.index):has(.search-module .search-type input[type=checkbox]:checked) {
  overflow: hidden;
}
body:has(main.index):has(.search-module .search-type input[type=checkbox]:checked) .search-form form .select-menu {
  transform: translateY(0);
  z-index: 5;
  opacity: 1;
}
body:has(main.index):has(.search-module .search-type input[type=checkbox]:checked) .search-form form .select-menu ul {
  z-index: 2;
}
body:has(main.index):has(.search-module .search-type input[type=checkbox]:checked) .search-form form .select-menu > label {
  z-index: 1;
}
body:has(main.index):has(.search-module input[type=search].focus) .search-wrap .search-form .search-bar {
  border-radius: 16px 16px 0 0;
}
body:has(main.index):has(.search-module input[type=search].focus) .search-wrap .search-form button[type=submit] {
  background-color: var(--PB01);
}
body:has(main.index):has(.search-module input[type=search].focus) .search-wrap .search-form button[type=submit] .icon-wrap i {
  background-color: var(--G00);
}
body:has(main.index):has(.search-module input[type=search].focus) .search-history {
  transform: translateY(0);
  z-index: 1;
  height: 100%;
  max-height: 100%;
  padding: 0 0 24px;
  opacity: 1;
}
body:has(main.index):has(.search-module input[type=search].is-typing) .search-wrap .search-form .search-bar, body:has(main.index):has(.search-module input[type=search].has-value) .search-wrap .search-form .search-bar {
  border-radius: 16px 16px 0 0;
}
body:has(main.index):has(.search-module input[type=search].is-typing) .search-wrap .search-form .search-bar button[type=reset], body:has(main.index):has(.search-module input[type=search].has-value) .search-wrap .search-form .search-bar button[type=reset] {
  display: flex;
}
body:has(main.index):has(.search-module input[type=search].is-typing) .search-wrap .search-form .search-bar:has(input[type=search]:not(.focus)) ~ .auto-complete .auto-complete-list, body:has(main.index):has(.search-module input[type=search].has-value) .search-wrap .search-form .search-bar:has(input[type=search]:not(.focus)) ~ .auto-complete .auto-complete-list {
  min-height: 0px;
  max-height: 0px;
}
body:has(main.index):has(.search-module input[type=search].is-typing) .search-history, body:has(main.index):has(.search-module input[type=search].has-value) .search-history {
  display: none !important;
}
body:has(main.index):has(.search-module input[type=search].is-typing) .auto-complete, body:has(main.index):has(.search-module input[type=search].has-value) .auto-complete {
  transform: translateY(0);
  z-index: 1;
  max-height: 100%;
  padding: 0;
  opacity: 1;
  overflow-y: auto;
}
body:has(main.index):has(.search-module input[type=search].is-typing) .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked), body:has(main.index):has(.search-module input[type=search].has-value) .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) {
  height: 100%;
}
body:has(main.index):has(.search-module input[type=search].is-typing) .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) .auto-complete-list, body:has(main.index):has(.search-module input[type=search].has-value) .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) .auto-complete-list {
  min-height: 200px;
  max-height: 300px;
}
body:has(main.index):has(.search-module input[type=search].focus):has(.search-module input[type=search].has-value) .search-wrap .search-form .search-bar {
  border-radius: 16px 16px 0 0;
}
body:has(main.index):has(.search-module input[type=search].has-value) .search-wrap .search-form .search-bar {
  border-radius: 24px;
}
body:not(:has(main.index)) {
  /*search bar show */
  /*search bar show type list*/
  /*search bar and category menu show together*/
  /*search bar and member menu show together*/
  /*search bar and share view show together*/
  /*search bar and cite view show together*/
  /*search bar show type list*/
  /*search bar show autocomplete & history list*/
}
body:not(:has(main.index)) main .search-module {
  position: fixed;
  top: 0;
  display: none;
  align-items: start;
  min-height: unset;
  height: 100vh;
  padding: 48px 0;
  background-image: none;
  background-color: var(--G100);
  transition: transform ease 0.5s;
}
body:not(:has(main.index)) main .search-module .search-wrap {
  justify-content: start;
  gap: 16px;
  height: 100%;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}
body:not(:has(main.index)) main .search-module .search-wrap h2 {
  display: none;
}
body:not(:has(main.index)) main .search-module .search-wrap .search-form {
  height: 100%;
  overflow-y: auto;
}
body:not(:has(main.index)) main .search-module .search-wrap .search-form form .search-bar {
  border-radius: 0;
}
body:not(:has(main.index)) main .search-module .search-wrap .search-fuction {
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
body:not(:has(main.index)) main .search-module .search-wrap .search-fuction .search-mode {
  align-items: center;
}
body:not(:has(main.index)) main .search-module .search-wrap .search-fuction .search-mode .checkbox-wrap p {
  color: var(--G900);
}
body:not(:has(main.index)) main .search-module .search-wrap .search-fuction .btn-advanced .divider {
  display: none;
}
body:not(:has(main.index)) main .search-module .search-wrap .search-fuction .btn-advanced .btn-wrap.type2 {
  border-color: transparent;
  background-color: transparent;
  height: auto;
  line-height: 1.5;
}
body:not(:has(main.index)) main .search-module .search-wrap .search-fuction .btn-advanced .btn-wrap.type2 a {
  color: var(--SK01);
}
body:not(:has(main.index)) main .search-history {
  transform: translateY(0);
  z-index: 1;
  height: 100%;
  max-height: 100%;
  padding: 0 16px 24px;
  opacity: 1;
}
body:not(:has(main.index)) main .auto-complete {
  transform: translateY(0);
  z-index: 1;
  flex-direction: column-reverse;
  height: 100%;
  max-height: 100%;
  padding: 0 16px 0;
  border-radius: 0;
  opacity: 1;
}
body:not(:has(main.index)) main .auto-complete .autocomplete-switch {
  position: relative;
  right: 0;
  bottom: 0;
  padding: 8px 0;
}
@media screen and (min-width: 560px) and (max-width: 1024px) {
  body:not(:has(main.index)) main .search-module {
    padding: 80px 0 48px;
  }
}
@media screen and (max-width: 768px) {
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form .search-bar button[type=reset] {
    right: 8px;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form button[type=submit] {
    position: fixed;
    top: unset;
    right: unset;
    bottom: 48px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 112px;
    transition: none;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-fuction {
    margin-bottom: 56px;
  }
}
@media screen and (min-width: 769px) {
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form {
    max-width: unset;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form .search-bar {
    padding: 0 32px;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form .search-bar button[type=reset] {
    right: 72px;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form button[type=submit] {
    right: 32px;
  }
  body:not(:has(main.index)) main .search-history {
    margin-top: -1px;
    padding: 0 32px 24px;
    border: 1px solid var(--G300);
  }
  body:not(:has(main.index)) main .auto-complete {
    margin-top: -1px;
    padding: 0 32px 0;
    border: 1px solid var(--G300);
  }
}
@media screen and (min-width: 1025px) {
  body:not(:has(main.index)) main .search-module {
    position: fixed;
    top: 48px;
    z-index: 2;
    height: max-content;
    padding: 16px 0 16px;
    box-shadow: 0 3px 8px -2px rgba(0, 0, 0, 0.25);
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form {
    overflow: visible;
    max-width: 560px;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form .select-menu {
    display: none;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form .select-menu > label {
    display: none;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form .search-bar {
    padding: 0 8px;
    border-radius: 32px;
    transition: ease 0.35s;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form .search-bar button[type=reset] {
    right: 40px;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-form form button[type=submit] {
    right: 6px;
  }
  body:not(:has(main.index)) main .search-module .search-wrap .search-fuction {
    flex-direction: row;
    gap: 0;
  }
  body:not(:has(main.index)) main .search-history {
    position: absolute;
    top: 39px;
    display: none;
    border: 1px solid var(--G300);
  }
  body:not(:has(main.index)) main .auto-complete {
    position: absolute;
    top: 39px;
    display: none;
    flex-direction: column;
    border-radius: 0 0 16px 16px;
    border: 1px solid var(--G300);
  }
  body:not(:has(main.index)) main .auto-complete .autocomplete-switch {
    height: 40px;
    margin-right: -16px;
  }
}
body:not(:has(main.index)):has(#search_bar_toggle:checked) {
  overflow: hidden;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked) header .header-wrap .toolbar ul li.search label {
  background-color: var(--PB01);
}
body:not(:has(main.index)):has(#search_bar_toggle:checked) header .header-wrap .toolbar ul li.search label .icon-wrap i {
  background-color: var(--G00);
}
body:not(:has(main.index)):has(#search_bar_toggle:checked) main > *:not(.search-module) {
  z-index: -1;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked) main .search-module:not(.sub-search) {
  display: flex;
  z-index: 2;
}
@media screen and (min-width: 1025px) {
  body:not(:has(main.index)):has(#search_bar_toggle:checked) {
    overflow-y: auto;
  }
  body:not(:has(main.index)):has(#search_bar_toggle:checked) main > *:not(.search-module) {
    z-index: 1;
  }
  body:not(:has(main.index)):has(#search_bar_toggle:checked) main .wishlist-switch {
    z-index: 10;
  }
  body:not(:has(main.index)):has(#search_bar_toggle:checked) main .search-module:not(.sub-search) {
    top: 48px;
    z-index: 10;
  }
  body:not(:has(main.index)):has(#search_bar_toggle:checked) main.detail .detail-content .detils-header {
    top: 184px;
    transition: top ease 0.35s;
  }
  body:not(:has(main.index)):has(#search_bar_toggle:checked) main.detail .detail-content .metadata-wrap {
    margin-top: 64px;
    transition: margin-top ease 0.35s;
  }
}
body:not(:has(main.index)):has(.search-module .search-type input[type=checkbox]:checked) {
  overflow: hidden;
}
body:not(:has(main.index)):has(.search-module .search-type input[type=checkbox]:checked) .search-form form .select-menu {
  transform: translateY(0);
  z-index: 5;
  opacity: 1;
}
body:not(:has(main.index)):has(.search-module .search-type input[type=checkbox]:checked) .search-form form .select-menu ul {
  z-index: 2;
}
body:not(:has(main.index)):has(.search-module .search-type input[type=checkbox]:checked) .search-form form .select-menu > label {
  z-index: 1;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#catregory_toggle:checked) header {
  z-index: 3;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#catregory_toggle:checked) main {
  position: relative;
  z-index: 2;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#member_toggle:checked) header {
  z-index: 3;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#member_toggle:checked) main {
  position: relative;
  z-index: 2;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#share_toggle:checked) header {
  z-index: 1;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#share_toggle:checked) main {
  position: relative;
  z-index: 2;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#share_toggle:checked) main .search-module {
  z-index: 1;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#share_toggle:checked) main .popup-view {
  z-index: 3;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#cite_toggle:checked) header {
  z-index: 1;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#cite_toggle:checked) main {
  position: relative;
  z-index: 2;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#cite_toggle:checked) main .search-module:not(.sub-search) {
  z-index: 1;
}
body:not(:has(main.index)):has(#search_bar_toggle:checked):has(#cite_toggle:checked) main .cite-view {
  z-index: 3;
}
body:not(:has(main.index)):has(main:not(.index) .search-module .search-type input[type=checkbox]:checked) {
  overflow: hidden;
}
body:not(:has(main.index)):has(main:not(.index) .search-module .search-type input[type=checkbox]:checked) main .search-module:not(.sub-search) .search-wrap .search-form .select-menu {
  display: flex;
}
body:not(:has(main.index)):has(main:not(.index) .search-module .search-type input[type=checkbox]:checked) main .search-module:not(.sub-search) .search-wrap .search-form .select-menu > label {
  display: block;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].focus) {
  overflow: hidden !important;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].focus) main .search-module:not(.sub-search) .search-wrap .search-form .search-bar {
  border-radius: 16px 16px 0 0;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].focus) main .search-module:not(.sub-search) .auto-complete .auto-complete-list {
  min-height: unset !important;
}
@media screen and (min-width: 769px) {
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].focus) main .search-history {
    padding: 0 32px 24px;
  }
}
@media screen and (min-width: 1025px) {
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].focus) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].focus) main .search-history {
    display: flex !important;
    height: max-content;
    max-height: unset;
  }
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) {
  overflow: hidden !important;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .search-wrap .search-form .search-bar button[type=reset] {
  display: flex;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .search-history {
  display: flex !important;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) {
  padding: 0 16px 8px;
  border-bottom: 1px solid var(--G300);
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .auto-complete:not(:has(.autocomplete-switch input[type=checkbox]:checked)) {
  padding: 0 16px 0;
}
@media screen and (min-width: 769px) {
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) {
    padding: 0 32px 8px;
  }
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .auto-complete:not(:has(.autocomplete-switch input[type=checkbox]:checked)) {
    padding: 0 32px 0;
  }
}
@media screen and (min-width: 1025px) {
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .auto-complete {
    display: flex !important;
    height: max-content;
    max-height: unset;
  }
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].is-typing) main .search-history {
    display: none !important;
  }
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .search-module:not(.sub-search) .search-wrap .search-form .search-bar button[type=reset] {
  display: flex;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .search-history {
  display: flex !important;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) {
  padding: 0 16px 8px;
  border-bottom: 1px solid var(--G300);
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) .auto-complete-list {
  min-height: unset !important;
  max-height: unset !important;
}
body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .auto-complete:not(:has(.autocomplete-switch input[type=checkbox]:checked)) {
  padding: 0 16px;
}
@media screen and (min-width: 769px) {
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .auto-complete:has(.autocomplete-switch input[type=checkbox]:checked) {
    padding: 0 32px 8px;
  }
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .auto-complete:not(:has(.autocomplete-switch input[type=checkbox]:checked)) {
    padding: 0 32px 0;
  }
}
@media screen and (min-width: 1025px) {
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .search-history {
    display: none !important;
  }
  body:not(:has(main.index)):has(main:not(.index) .search-module input[type=search].has-value) main .auto-complete {
    display: flex !important;
    height: max-content !important;
    max-height: unset !important;
  }
}

body {
  /* loading */
  /* alert popup */
}
body .loading-wrap.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
body .loading-wrap.overlay .loader {
  width: 80px;
  aspect-ratio: 1;
  --c: no-repeat linear-gradient(#fff 0 0);
  background: var(--c), var(--c), var(--c);
  animation: l18-1 1s infinite, l18-2 1s infinite;
}
@keyframes l18-1 {
  0%, 100% {
    background-size: 20% 100%;
  }
  33%, 66% {
    background-size: 20% 20%;
  }
}
@keyframes l18-2 {
  0%, 33% {
    background-position: 0 0, 50% 50%, 100% 100%;
  }
  66%, 100% {
    background-position: 100% 0, 50% 50%, 0 100%;
  }
}
body .loading-wrap.active {
  display: flex;
}
body main .loader {
  width: 28px;
  padding: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #6a92ce;
  --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
}
@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}
body main aside .loader-wrap {
  position: absolute;
  inset: 0;
  z-index: 99;
  display: none;
  justify-content: center;
  align-items: center;
  min-width: 360px;
  min-height: 100%;
  max-height: 100dvh;
  background-color: rgba(255, 255, 255, 0.5);
}
body main aside .loader-wrap.active {
  display: flex;
}
body main .result-wrap .loader-wrap {
  position: absolute;
  inset: 0;
  z-index: 99;
  display: none;
  justify-content: center;
  align-items: center;
  min-width: 360px;
  height: 100%;
  min-height: 50dvh;
  max-height: calc(100dvh - 48px);
  background-color: rgba(255, 255, 255, 0.5);
}
body main .result-wrap .loader-wrap.active {
  display: flex;
}
body main {
  /*popup view module*/
}
@keyframes fedeToggle {
  0% {
    z-index: -1;
    opacity: 0;
  }
  1% {
    z-index: 1;
  }
  5% {
    z-index: 10;
    transform: translateY(0);
    opacity: 1;
  }
  85% {
    z-index: 10;
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    z-index: -1;
    transform: translateY(-100%);
    opacity: 0;
  }
}
body main .popup-wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  display: none;
  justify-content: center;
  align-items: center;
  width: 100dvw;
  height: 100dvh;
  padding: 0 16px 24px;
  background-color: rgba(0, 0, 0, 0.25);
}
body main .popup-wrap.remin-alert {
  inset: 0;
  z-index: 9;
}
body main .popup-wrap.remin-alert .content-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 400px;
  min-height: 200px;
  padding: 8px 8px 16px;
  background-color: var(--G00);
  border: 1px solid var(--G100);
  border-radius: 8px;
}
body main .popup-wrap.remin-alert .content-wrap h2 {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
}
body main .popup-wrap.remin-alert .content-wrap h2 .icon-wrap {
  margin: 0 0 0 auto;
  cursor: pointer;
}
body main .popup-wrap.remin-alert .content-wrap h2 .icon-wrap:hover i {
  background-color: var(--PB01);
}
body main .popup-wrap.remin-alert .content-wrap .text {
  display: block;
  margin: 0 8px 16px;
}
body main .popup-wrap.remin-alert .content-wrap .text p {
  display: none;
  width: 100%;
  color: var(--G900);
  font-size: var(--H3);
  font-weight: 700;
  text-align: center;
}
body main .popup-wrap.remin-alert .content-wrap .text a {
  display: none;
  width: 100%;
  color: var(--G900);
  font-size: var(--H3);
  font-weight: 700;
  text-align: center;
}
body main .popup-wrap.remin-alert .content-wrap .text a:hover {
  color: var(--PB01);
}
body main .popup-wrap.remin-alert .content-wrap .panel-wrap {
  display: flex;
  justify-content: center;
  gap: 16px;
  width: 100%;
  margin: 32px 0 0;
  padding: 0 8px;
}
body main .popup-wrap.remin-alert .content-wrap .panel-wrap button {
  display: flex;
  max-width: unset;
}
body main .popup-wrap.remin-alert .content-wrap .panel-wrap button span {
  display: block;
  width: 100%;
}
body main .popup-wrap.remin-alert .content-wrap .panel-wrap button[data-type=panel-cancel] {
  display: none;
  width: 100%;
}
body main .popup-wrap.remin-alert .content-wrap .panel-wrap button[data-type=panel-cancel] span::before {
  content: "Cancel";
}
body main .popup-wrap.remin-alert .content-wrap .panel-wrap button[data-type=panel-ok] {
  width: 100%;
}
body main .popup-wrap.remin-alert .content-wrap .panel-wrap button[data-type=panel-ok] span::before {
  content: "OK";
}
body main .popup-wrap.remin-alert .mark {
  position: absolute;
  z-index: 1;
  inset: 0;
}
body main .tf-recommend-view {
  position: absolute;
  transform: translateY(24px);
  display: flex;
  z-index: 10;
  justify-content: center;
  align-items: center;
  width: 100dvw;
  height: max-content;
  padding: 16px;
  background-color: transparent;
  display: none;
}
body main .tf-recommend-view.active {
  display: flex;
}
body main .tf-recommend-view .content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 480px;
  height: max-content;
  padding: 0;
  border-radius: 1px;
  background-color: var(--G100);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
body main .tf-recommend-view .content .tips-view {
  position: absolute;
  bottom: 64px;
  z-index: -1;
  width: calc(100% - 32px);
  height: max-content;
  padding: 16px;
  background-color: var(--G700);
  border-radius: 8px;
  opacity: 0;
  transition: 0.3s ease-in-out;
}
body main .tf-recommend-view .content .tips-view p {
  height: 100%;
  max-height: 0;
  color: var(--G00);
  opacity: 0;
  transition: height 0.3s ease-in-out;
}
body main .tf-recommend-view .content .view-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4px;
  width: 100%;
  height: 40px;
  padding: 0 8px 0 16px;
  border-bottom: 1px solid var(--G500);
}
body main .tf-recommend-view .content .view-title h5 {
  display: flex;
  align-items: center;
  width: 100%;
  border-right: 1px solid var(--G500);
}
body main .tf-recommend-view .content .view-title h5 .icon-wrap:hover i {
  background-color: var(--G700);
}
body main .tf-recommend-view .content .view-title > .icon-wrap {
  width: 32px;
  height: 32px;
  cursor: pointer;
}
body main .tf-recommend-view .content .data-opction {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 16px 0;
}
body main .tf-recommend-view .content .data-opction h6 {
  position: relative;
  display: flex;
  justify-self: start;
  align-items: center;
  width: 100%;
  margin: 0 16px;
  padding-left: 32px;
  color: var(--G900);
}
body main .tf-recommend-view .content .data-opction h6::before {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: 32px;
  height: 32px;
  mask-position: center;
  mask-size: 24px;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 24px;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--G900);
}
body main .tf-recommend-view .content .data-opction ul {
  height: max-content;
  max-height: 112px;
  margin: 0 16px;
  padding: 0;
  background-color: var(--G00);
  border-radius: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
body main .tf-recommend-view .content .data-opction ul li {
  padding: 0 16px;
  transition: background-color ease 0.35s;
}
body main .tf-recommend-view .content .data-opction ul li a {
  display: block;
  width: max-content;
  line-height: 32px;
}
body main .tf-recommend-view .content .data-opction:not(.TF_citation) ul li:hover {
  background-color: var(--PB01);
}
body main .tf-recommend-view .content .data-opction:not(.TF_citation) ul li:hover a {
  color: var(--G00);
}
body main .tf-recommend-view .content .data-opction.TF_university h6::before {
  mask-image: url(../assets/icons/icon_tf_university.png);
  -webkit-mask-image: url(../assets/icons/icon_tf_university.png);
}
body main .tf-recommend-view .content .data-opction.TF_award h6::before {
  mask-image: url(../assets/icons/icon_tf_award.png);
  -webkit-mask-image: url(../assets/icons/icon_tf_award.png);
}
body main .tf-recommend-view .content .data-opction.TF_publications h6::before {
  mask-image: url(../assets/icons/icon_tf_publications.png);
  -webkit-mask-image: url(../assets/icons/icon_tf_publications.png);
}
body main .tf-recommend-view .content .data-opction.TF_citation {
  flex-direction: row;
  justify-content: start;
  gap: 4px;
  padding: 16px;
}
body main .tf-recommend-view .content .data-opction.TF_citation * {
  color: var(--SK01);
}
body main .tf-recommend-view .content .data-opction.TF_citation ul {
  border: 1px solid var(--SK01);
  transition: background-color ease 0.35s;
  cursor: pointer;
}
body main .tf-recommend-view .content .data-opction.TF_citation ul:hover {
  background-color: var(--SK02);
}
body main .tf-recommend-view .content .data-opction.TF_citation h6 {
  width: max-content;
  margin: 0;
}
body main .tf-recommend-view .content .data-opction.TF_citation h6::before {
  mask-image: url(../assets/icons/icon_tf_cnci.png);
  -webkit-mask-image: url(../assets/icons/icon_tf_cnci.png);
  mask-size: 24px;
  -webkit-mask-size: 24px;
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--SK01);
}
body main .tf-recommend-view .content .data-opction.TF_citation ul {
  display: flex;
  flex-direction: row;
  gap: 8px;
  width: max-content;
  margin: 0;
  padding: 0 8px 0 0;
}
body main .tf-recommend-view .content .data-opction.TF_citation ul li a,
body main .tf-recommend-view .content .data-opction.TF_citation ul li span {
  display: inline-block;
  vertical-align: middle;
  line-height: 32px;
}
body main .tf-recommend-view .content .data-opction.TF_citation .icon-wrap input {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  cursor: pointer;
}
body main .tf-recommend-view .content .data-opction.TF_citation .icon-wrap i {
  background-color: var(--G700);
}
body main .tf-recommend-view .content .data-opction.TF_citation .icon-wrap:hover i {
  background-color: var(--G700);
}
body main .tf-recommend-view .content:has(.data-opction.TF_citation .tips:hover) .tips-view {
  z-index: 1;
  opacity: 1;
}
body main .tf-recommend-view .content:has(.data-opction.TF_citation .tips:hover) .tips-view p {
  max-height: 100%;
  opacity: 1;
}
@media screen and (min-width: 769px) {
  body main .tf-recommend-view {
    transform: translate(168px, -388px);
    width: max-content;
    padding: 0;
  }
  body main .tf-recommend-view.left {
    transform: translate(-344px, -388px);
  }
}
body main.result, body main.detail {
  /*tags書籍清單*/
  /*批次加入*/
}
body main.result .popup-wrap .tags-list-wrap, body main.detail .popup-wrap .tags-list-wrap {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 480px;
  height: 100%;
  max-height: 80dvh;
  padding: 0 0 16px;
  background-color: var(--G00);
  overflow: hidden;
}
body main.result .popup-wrap .tags-list-wrap .title-wrap, body main.detail .popup-wrap .tags-list-wrap .title-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 16px;
}
body main.result .popup-wrap .tags-list-wrap .title-wrap h2, body main.detail .popup-wrap .tags-list-wrap .title-wrap h2 {
  width: 100%;
  line-height: 40px;
  border-bottom: 1px solid var(--G500);
}
body main.result .popup-wrap .tags-list-wrap .title-wrap h2::before, body main.detail .popup-wrap .tags-list-wrap .title-wrap h2::before {
  content: "#";
  margin: 0 4px 0 0;
}
body main.result .popup-wrap .tags-list-wrap .title-wrap label[for=tags_toggle], body main.detail .popup-wrap .tags-list-wrap .title-wrap label[for=tags_toggle] {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  cursor: pointer;
}
body main.result .popup-wrap .tags-list-wrap .title-wrap label[for=tags_toggle]:hover .icon-wrap i, body main.detail .popup-wrap .tags-list-wrap .title-wrap label[for=tags_toggle]:hover .icon-wrap i {
  background-color: var(--PB01);
}
body main.result .popup-wrap .tags-list-wrap .list-content, body main.detail .popup-wrap .tags-list-wrap .list-content {
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}
body main.result .popup-wrap .tags-list-wrap .list-content ul, body main.detail .popup-wrap .tags-list-wrap .list-content ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  height: max-content;
  padding: 16px;
  overflow-y: auto;
}
body main.result .popup-wrap .tags-list-wrap .list-content ul li, body main.detail .popup-wrap .tags-list-wrap .list-content ul li {
  width: calc(100% - 32px);
  height: max-content;
  min-height: 32px;
  margin: 0 auto;
  list-style: conic-gradient;
  color: var(--G900);
}
body main.result .popup-wrap .tags-list-wrap .list-content ul li p.book-title, body main.detail .popup-wrap .tags-list-wrap .list-content ul li p.book-title {
  color: var(--G900);
}
body main.result .popup-wrap > label[for=tags_toggle], body main.detail .popup-wrap > label[for=tags_toggle] {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: transparent;
}
body main.result .popup-wrap.result-add-batch, body main.detail .popup-wrap.result-add-batch {
  top: inherit;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
  z-index: -1;
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 16px;
  width: max-content;
  height: max-content;
  padding: 16px 0 12px;
  border-radius: 20px;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.35);
  background-color: var(--G300);
  opacity: 0;
}
body main.result .popup-wrap.result-add-batch p span, body main.detail .popup-wrap.result-add-batch p span {
  color: var(--SK01);
}
body main.result .popup-wrap.result-add-batch .btn-wrap, body main.detail .popup-wrap.result-add-batch .btn-wrap {
  display: flex;
  gap: 16px;
  width: max-content;
  max-width: inherit;
}
body main.result .popup-wrap.result-add-batch .btn-wrap button, body main.detail .popup-wrap.result-add-batch .btn-wrap button {
  min-width: 160px;
  padding: 0;
}
body main.result .popup-wrap.result-add-batch.active, body main.detail .popup-wrap.result-add-batch.active {
  bottom: 56px;
  z-index: 9;
  display: flex;
  opacity: 1;
  animation-delay: 0.2s;
  animation: BatchfedeIn 2.2s ease-in-out;
  animation-fill-mode: forwards;
}
@keyframes BatchfedeIn {
  0% {
    transform: translate(-50%, 100%);
    z-index: -1;
    opacity: 0;
  }
  1% {
    z-index: 1;
  }
  10% {
    z-index: 10;
    transform: translate(-50%, 0);
    opacity: 1;
  }
  100% {
    z-index: 10;
    transform: translate(-50%, 0);
    opacity: 1;
  }
}

.bookcase-module {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100dvw;
  margin: 24px 0;
  padding: 24px 0 40px;
  background-color: var(--G00);
  overflow-x: hidden;
  container: bookcase-module/inline-size;
}
.bookcase-module .area-title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  width: 100%;
  height: 64px;
  padding: 0 16px;
  margin: 16px 0 0;
  border: transparent;
  text-align: center;
}
.bookcase-module .area-title h2 {
  border: none;
  text-align: left;
}
.bookcase-module .area-title span.notes {
  position: relative;
  z-index: 1;
  display: block;
  width: max-content;
  margin: 0 0 0 -16px;
  padding: 0 16px;
  line-height: 24px;
  color: var(--SK01);
  background-color: var(--G00);
}
.bookcase-module .area-title::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--G300);
}
.bookcase-module .bookcase-list {
  position: relative;
  width: 100%;
  max-width: 100dvw;
  scrollbar-width: thin;
}
.bookcase-module .bookcase-list .swiper {
  width: calc(100% - 16px);
  height: 112px;
  border-radius: 8px;
}
.bookcase-module .bookcase-list .swiper .swiper-wrapper .swiper-slide .banner-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.bookcase-module .bookcase-list .bookcase-tab {
  position: relative;
  padding: 16px 0;
}
.bookcase-module .bookcase-list .bookcase-tab .tips-view {
  position: absolute;
  top: 88px;
  left: 16px;
  z-index: -1;
  width: 100%;
  max-width: 320px;
  max-height: 0;
  padding: 0;
  border-radius: 8px;
  background-color: var(--G700);
  opacity: 0;
  transition: ease 0.35s;
}
.bookcase-module .bookcase-list .bookcase-tab .tips-view p {
  color: var(--G00);
}
.bookcase-module .bookcase-list .bookcase-tab ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 8px;
}
.bookcase-module .bookcase-list .bookcase-tab ul li {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  cursor: pointer;
}
.bookcase-module .bookcase-list .bookcase-tab ul li label {
  position: relative;
}
.bookcase-module .bookcase-list .bookcase-tab ul li label input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.bookcase-module .bookcase-list .bookcase-tab ul li label p {
  display: flex;
  align-items: center;
  padding-left: 40px;
}
.bookcase-module .bookcase-list .bookcase-tab ul li label p::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 0;
  display: block;
  width: 32px;
  height: 32px;
  mask-size: 24px;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--G700);
}
.bookcase-module .bookcase-list .bookcase-tab ul li label p .icon-wrap.tips {
  z-index: 2;
}
.bookcase-module .bookcase-list .bookcase-tab ul li:hover label p, .bookcase-module .bookcase-list .bookcase-tab ul li.active label p {
  color: var(--PB01);
}
.bookcase-module .bookcase-list .bookcase-tab ul li:hover label p::before, .bookcase-module .bookcase-list .bookcase-tab ul li.active label p::before {
  background-color: var(--PB01);
}
.bookcase-module .bookcase-list .bookcase-tab ul li:focus {
  outline: 2px solid var(--PB01) !important;
  outline-style: auto !important;
}
.bookcase-module .bookcase-list .bookcase-tab ul li.TF-university label p::before {
  mask-image: url(../assets/icons/icon_tf_university.png);
}
.bookcase-module .bookcase-list .bookcase-tab ul li.TF-award label p::before {
  mask-image: url(../assets/icons/icon_tf_award.png);
}
.bookcase-module .bookcase-list .bookcase-tab ul li.TF-publications label p::before {
  mask-image: url(../assets/icons/icon_tf_publications.png);
}
.bookcase-module .bookcase-list .bookcase-tab ul li.TF-cnci label p::before {
  mask-image: url(../assets/icons/icon_tf_cnci.png);
}
.bookcase-module .bookcase-list .bookcase-tab:has(ul li.TF-cnci span.tips:hover) .tips-view {
  z-index: 5;
  max-height: 6666px;
  padding: 16px;
  opacity: 1;
}
.bookcase-module .bookcase-list > ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  min-width: 100dvw;
  max-width: 100dvw;
  height: 100%;
  padding: 16px 16px 32px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
}
.bookcase-module .bookcase-list > ul::-webkit-scrollbar {
  display: none;
}
.bookcase-module .bookcase-list > ul li.books-item {
  position: relative;
  z-index: 1;
  display: flex;
}
.bookcase-module .bookcase-list .slider-btn-wrap {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100dvw;
  pointer-events: visible;
  transition: ease 0.35s;
  display: none;
}
.bookcase-module .bookcase-list .slider-btn-wrap button {
  display: flex;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 2px;
  background-color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
}
.bookcase-module .bookcase-list .slider-btn-wrap button .icon-wrap i {
  background-color: var(--G900);
  mask-size: 32px;
  -webkit-mask-size: 32px;
}
.bookcase-module .bookcase-list .slider-btn-wrap button.btn-disabled {
  pointer-events: none;
  opacity: 0.15;
  filter: grayscale(0);
  cursor: not-allowed;
}
.bookcase-module .bookcase-list .tool-btn-wrap {
  justify-content: center;
  display: none;
}
.bookcase-module .bookcase-list .tool-btn-wrap .btn-change {
  position: absolute;
  top: 0;
  right: 16px;
  transform: translateY(-24px);
  width: max-content;
  height: 28px;
  padding: 0 8px 0 4px;
  border-radius: 4px;
  display: none;
}
.bookcase-module .bookcase-list .tool-btn-wrap .btn-change.btn-wrap.type2 {
  border-color: var(--SK01);
  outline: 6px solid var(--G00);
}
.bookcase-module .bookcase-list .tool-btn-wrap .btn-change.btn-wrap.type2 .icon-wrap i {
  background-color: var(--SK01);
}
.bookcase-module .bookcase-list .tool-btn-wrap .btn-change.btn-wrap.type2 b {
  color: var(--SK01);
}
.bookcase-module .bookcase-list .tool-btn-wrap .btn-change.btn-wrap.type2:hover {
  background-color: var(--SK02);
}
.bookcase-module .bookcase-list .tool-btn-wrap .btn-more {
  display: none;
}
.bookcase-module.change-on .bookcase-list .tool-btn-wrap {
  display: flex;
}
.bookcase-module.change-on .bookcase-list .tool-btn-wrap .btn-change {
  display: flex;
}
.bookcase-module.expand-on .bookcase-list .slider-btn-wrap {
  top: calc(50% - 38px);
}
.bookcase-module.expand-on .bookcase-list .tool-btn-wrap {
  display: flex;
}
.bookcase-module.expand-on .bookcase-list .tool-btn-wrap .btn-more {
  display: flex;
}
.bookcase-module.tool-all-on .bookcase-list .slider-btn-wrap {
  top: calc(50% - 38px);
}
.bookcase-module.tool-all-on .bookcase-list .tool-btn-wrap {
  display: flex;
}
.bookcase-module.tool-all-on .bookcase-list .tool-btn-wrap .btn-change {
  display: flex;
}
.bookcase-module.tool-all-on .bookcase-list .tool-btn-wrap .btn-more {
  display: flex;
}
@container bookcase-module (width > 480px) {
  .bookcase-module .bookcase-list ul li.books-item .books-module {
    --bookcover-size: 144px;
  }
  .bookcase-module .bookcase-list ul li.books-item .books-module .cover span.permission-icon {
    justify-content: start;
    gap: 4px;
    width: 100%;
    padding: 0 32px 0 4px;
  }
  .bookcase-module .bookcase-list ul li.books-item .books-module .cover span.permission-icon strong {
    display: flex;
    width: auto;
  }
}
@container bookcase-module (width > 769px) {
  .bookcase-module .bookcase-list ul li.books-item .books-module {
    --bookcover-size: 160px;
  }
}

@media screen and (min-width: 769px) {
  .bookcase-module .swiper {
    width: calc(100% - 24px);
    max-width: 980px;
    height: 220px;
  }
  .bookcase-module .area-title {
    max-width: 1200px;
    margin: 16px auto 0;
  }
  .bookcase-module .bookcase-list {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
  }
  .bookcase-module .bookcase-list .bookcase-tab .tips-view {
    top: 48px;
    right: 16px;
    left: inherit;
  }
  .bookcase-module .bookcase-list > ul:has(.tf-icon.active)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .bookcase-module .bookcase-list > ul:has(.tf-icon.active) li.books-item {
    z-index: 0;
  }
  .bookcase-module .bookcase-list > ul:has(.tf-icon.active) li.books-item:has(.tf-icon.active) {
    z-index: 2;
  }
  .bookcase-module .bookcase-list .slider-btn-wrap {
    top: calc(50% - 16px);
    display: flex;
    width: 100%;
    height: 0;
  }
}
@media screen and (min-width: 1025px) {
  .bookcase-module .swiper {
    width: calc(100% - 32px);
    max-width: 1200px;
    height: 360px;
  }
  .bookcase-module .area-title {
    max-width: 1200px;
    margin: 16px auto 0;
  }
  .bookcase-module .bookcase-list {
    max-width: 1200px;
    margin: 0 auto;
  }
  .bookcase-module .bookcase-list .bookcase-tab .tips-view {
    right: inherit;
    left: 640px;
  }
  .bookcase-module .bookcase-list > ul {
    min-width: unset;
  }
}
/*---- bookcase module + recommend module 書牆書櫃(推薦)模組----*/
.bookcase-module.recommend {
  margin: 0;
  padding: 0;
}
.bookcase-module.recommend .swiper,
.bookcase-module.recommend .area-title {
  display: none;
}
.bookcase-module.recommend .bookcase-list .tool-btn-wrap {
  display: none;
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul {
  justify-content: center;
  gap: 16px;
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul li label p {
  position: relative;
  padding: 0;
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul li label p::before {
  content: "";
  display: none;
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul li label p::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 4px);
  bottom: 0;
  width: 100%;
  height: 4px;
  background-color: var(--G700);
  opacity: 0;
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul li:hover label p {
  color: var(--G700);
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul li:hover label p::after {
  opacity: 1;
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul li:has(input:checked) label p {
  color: var(--PB01);
}
.bookcase-module.recommend .bookcase-list .bookcase-tab ul li:has(input:checked) label p::after {
  background-color: var(--PB01);
  opacity: 1;
}

.banner-module {
  position: relative;
  width: 100%;
  container: banner-module/inline-size;
}
.banner-module .bookcase {
  /*.swiper*/
  width: 100dvw;
  max-width: 480px;
  margin: 0 auto;
}
.banner-module .bookcase .swiper-wrapper {
  max-height: 640px;
  background-color: var(--SK02);
}
.banner-module .bookcase .swiper-wrapper .swiper-slide {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  justify-content: start;
  align-items: center;
  aspect-ratio: 1/1.75;
  padding: 16px;
  background-color: var(--SK02);
}
.banner-module .bookcase .swiper-wrapper .swiper-slide .banner-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.banner-module .bookcase .swiper-wrapper .swiper-slide .banner-text .slogan {
  color: var(--G900);
  line-height: 1.25;
}
.banner-module .bookcase .swiper-wrapper .swiper-slide .banner-text .description {
  color: var(--G900);
}
.banner-module .bookcase .swiper-wrapper .swiper-slide .mask {
  display: none;
}
.banner-module .bookcase .swiper-wrapper .swiper-slide.simple-type .banner-img-wrap img {
  max-height: 240px;
}
.banner-module .bookcase .swiper-wrapper .swiper-slide.full-type {
  padding: 0;
}
.banner-module .bookcase .swiper-wrapper .swiper-slide.full-type .banner-text {
  position: absolute;
  left: 50%;
  bottom: 80px;
  transform: translateX(-50%);
  width: calc(100% - 64px);
}
.banner-module .bookcase .swiper-wrapper .swiper-slide.full-type .banner-img-wrap img {
  width: 100%;
  height: fit-content;
  object-fit: contain;
  aspect-ratio: 1/1.75;
}
.banner-module .bookcase .swiper-wrapper .swiper-slide.full-type .mask {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 64px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 25%, rgba(255, 255, 255, 0.7) 50%, rgb(255, 255, 255) 75%);
}
.banner-module .bookcase .swiper-wrapper .swiper-slide.text-hide .banner-text {
  opacity: 0;
}
.banner-module .bookcase .swiper-pagination {
  position: absolute;
  bottom: 20px;
  display: flex;
  justify-content: center;
}
.banner-module .bookcase .swiper-pagination .swiper-pagination-bullet {
  width: 40px;
  height: 6px;
  border-radius: 2px;
  background-color: var(--G500);
  opacity: 1;
}
.banner-module .bookcase .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--G900);
}
.banner-module .bookcase .swiper-button-prev,
.banner-module .bookcase .swiper-button-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: var(--G00);
  opacity: 0;
  transition: ease 0.35s;
}
.banner-module .bookcase .swiper-button-prev::after,
.banner-module .bookcase .swiper-button-next::after {
  content: "";
}
.banner-module .bookcase .swiper-button-prev:hover,
.banner-module .bookcase .swiper-button-next:hover {
  background-color: var(--G900);
}
.banner-module .bookcase .swiper-button-prev:hover .icon-wrap i,
.banner-module .bookcase .swiper-button-next:hover .icon-wrap i {
  background-color: var(--G00);
}
.banner-module .bookcase .swiper-button-prev {
  left: 0;
}
.banner-module .bookcase .swiper-button-next {
  right: 0;
}
.banner-module .bookcase:hover .swiper-button-prev,
.banner-module .bookcase:hover .swiper-button-next {
  opacity: 1;
}
@container banner-module (min-width: 560px) {
  .banner-module .bookcase {
    /*.swiper*/
    max-width: 1200px;
  }
  .banner-module .bookcase .swiper-wrapper {
    align-items: center;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide {
    aspect-ratio: 16/9;
    max-height: 440px;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide .banner-text {
    max-width: 440px;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.simple-type {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 0 48px;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.simple-type .banner-text {
    max-width: 65%;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.simple-type .banner-img-wrap {
    margin: 0;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.simple-type .banner-img-wrap img {
    max-width: 160px;
    max-height: unset;
    aspect-ratio: unset;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.full-type .banner-text {
    top: 50%;
    bottom: inherit;
    left: 5%;
    transform: translateY(-50%);
    width: 70%;
    max-width: 440px;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.full-type .banner-img-wrap img {
    aspect-ratio: unset;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.right-type.simple-type {
    flex-direction: row-reverse;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.right-type.full-type .banner-text {
    left: inherit;
    right: 5%;
  }
}
@container banner-module (min-width: 980px) {
  .banner-module .bookcase {
    /*.swiper*/
  }
  .banner-module .bookcase .swiper-wrapper {
    align-items: center;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide {
    aspect-ratio: 14/5;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.simple-type .banner-img-wrap img {
    max-width: 280px;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.full-type .banner-text {
    top: 50%;
    bottom: inherit;
    left: 15%;
    transform: translateY(-50%);
    width: 70%;
    max-width: 560px;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.full-type .banner-img-wrap img {
    aspect-ratio: unset;
  }
  .banner-module .bookcase .swiper-wrapper .swiper-slide.right-type.full-type .banner-text {
    left: inherit;
    right: 15%;
  }
}

/* Pomption Banner 輪播 */
.banner-module.promption {
  margin: 24px 0 40px;
}

/* Wishlist settings */
.wishlist-switch {
  position: fixed;
  z-index: 9;
  right: 5%;
  bottom: 116px;
  display: none;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: scale 0.3s ease;
  cursor: pointer;
}
.wishlist-switch label {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  border: 1px solid var(--SK01);
  background-color: var(--SK01);
  border-radius: 40px;
  cursor: pointer;
}
.wishlist-switch label .icon-wrap i {
  background-color: var(--G00);
}
.wishlist-switch:hover {
  scale: 1.1;
}
.wishlist-switch:hover label .icon-wrap i {
  background-color: var(--G00);
}
.wishlist-switch.active {
  display: flex;
}

.wishlist-module {
  position: fixed;
  inset: 0;
  z-index: 10;
  display: none;
  justify-content: center;
  align-items: center;
  padding: 48px 0 0;
  background-color: rgba(0, 0, 0, 0.35);
  container: wishlist/inline-size;
}
.wishlist-module div.wishlist {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 8px;
  border: 1px solid var(--G300);
  background-color: var(--G00);
  overflow-y: auto;
}
.wishlist-module div.wishlist .area-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 16px;
  border-bottom: 1px solid var(--G500);
}
.wishlist-module div.wishlist .area-title .icon-wrap.wishlist {
  cursor: auto;
}
.wishlist-module div.wishlist .area-title .icon-wrap.wishlist i {
  background-color: var(--G900);
}
.wishlist-module div.wishlist .area-title .icon-wrap.wishlist :hover i {
  background-color: var(--G900);
}
.wishlist-module div.wishlist .area-title h2 {
  margin: 0 auto 0 0;
  color: var(--G900);
}
.wishlist-module div.wishlist .area-title > label {
  display: flex;
  width: max-content;
  cursor: pointer;
}
.wishlist-module div.wishlist .area-title > label:hover .icon-wrap i {
  background-color: var(--PB01) !important;
}
.wishlist-module div.wishlist .area-title:hover > label .icon-wrap i {
  background-color: var(--G700);
}
.wishlist-module div.wishlist .list-wrap {
  flex: 1;
  width: 100%;
  height: 100%;
  max-height: calc(100% - 108px);
  margin: 8px 0 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.wishlist-module div.wishlist .list-wrap ul {
  display: flex;
  flex-direction: column;
  height: max-content;
  overscroll-behavior: contain;
}
.wishlist-module div.wishlist .list-wrap ul li {
  position: relative;
  display: flex;
  align-items: start;
  width: 100%;
  min-height: 96px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--G300);
}
.wishlist-module div.wishlist .list-wrap ul li > label p {
  height: 20px;
  line-height: 20px;
}
.wishlist-module div.wishlist .list-wrap ul li a {
  display: flex;
  gap: 8px;
  flex: 1;
  height: 100%;
}
.wishlist-module div.wishlist .list-wrap ul li a .cover {
  display: flex;
  justify-content: center;
  align-items: start;
  width: 64px;
  aspect-ratio: 1/1.4;
  background-color: var(--G100);
  border: 1px solid var(--G500);
}
.wishlist-module div.wishlist .list-wrap ul li a .cover img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  font-size: var(--P4);
  text-align: center;
}
.wishlist-module div.wishlist .list-wrap ul li a .book-title,
.wishlist-module div.wishlist .list-wrap ul li a .group-title {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(100% - 64px);
}
.wishlist-module div.wishlist .list-wrap ul li a .book-title h3,
.wishlist-module div.wishlist .list-wrap ul li a .book-title h4,
.wishlist-module div.wishlist .list-wrap ul li a .group-title h3,
.wishlist-module div.wishlist .list-wrap ul li a .group-title h4 {
  margin: 0;
  color: var(--G900);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
}
.wishlist-module div.wishlist .list-wrap ul li a .book-title h3.ai-translate,
.wishlist-module div.wishlist .list-wrap ul li a .book-title h4.ai-translate,
.wishlist-module div.wishlist .list-wrap ul li a .group-title h3.ai-translate,
.wishlist-module div.wishlist .list-wrap ul li a .group-title h4.ai-translate {
  color: var(--G700);
  -webkit-line-clamp: 1;
}
.wishlist-module div.wishlist .list-wrap ul li a .book-title h3.ai-translate::after,
.wishlist-module div.wishlist .list-wrap ul li a .book-title h4.ai-translate::after,
.wishlist-module div.wishlist .list-wrap ul li a .group-title h3.ai-translate::after,
.wishlist-module div.wishlist .list-wrap ul li a .group-title h4.ai-translate::after {
  content: "(translate by AI)";
}
.wishlist-module div.wishlist .list-wrap ul li a .book-title h4,
.wishlist-module div.wishlist .list-wrap ul li a .group-title h4 {
  margin: 0 0 auto;
}
.wishlist-module div.wishlist .list-wrap ul li a .book-title .item-count,
.wishlist-module div.wishlist .list-wrap ul li a .group-title .item-count {
  display: none;
}
.wishlist-module div.wishlist .list-wrap ul li a .book-title .item-count span.count,
.wishlist-module div.wishlist .list-wrap ul li a .group-title .item-count span.count {
  color: var(--SK01);
}
.wishlist-module div.wishlist .list-wrap ul li button.btn-delete {
  width: max-content;
  height: max-content;
}
.wishlist-module div.wishlist .list-wrap ul li:hover {
  background-color: var(--G100);
}
.wishlist-module div.wishlist .list-wrap ul li.group-academic {
  background-color: var(--G100);
}
.wishlist-module div.wishlist .list-wrap ul li.group-academic a .cover {
  align-items: center;
}
.wishlist-module div.wishlist .list-wrap ul li.group-academic a .cover img {
  width: 56px;
  height: 56px;
}
.wishlist-module div.wishlist .list-wrap ul li.group-academic a .book-title h4,
.wishlist-module div.wishlist .list-wrap ul li.group-academic a .group-title h4 {
  display: none;
}
.wishlist-module div.wishlist .list-wrap ul li.group-academic a .book-title .item-count,
.wishlist-module div.wishlist .list-wrap ul li.group-academic a .group-title .item-count {
  display: block;
}
.wishlist-module div.wishlist .list-wrap ul li.group-tag {
  background-color: var(--G100);
}
.wishlist-module div.wishlist .list-wrap ul li.group-tag a .cover {
  align-items: center;
}
.wishlist-module div.wishlist .list-wrap ul li.group-tag a .cover img {
  width: 32px;
  height: 32px;
}
.wishlist-module div.wishlist .list-wrap ul li.group-tag a .book-title h4,
.wishlist-module div.wishlist .list-wrap ul li.group-tag a .group-title h4 {
  display: none;
}
.wishlist-module div.wishlist .list-wrap ul li.group-tag a .book-title .item-count,
.wishlist-module div.wishlist .list-wrap ul li.group-tag a .group-title .item-count {
  display: block;
}
.wishlist-module div.wishlist .user-info-wrap {
  display: none;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  max-height: calc(100% - 108px);
  padding: 16px;
  background-color: var(--G200);
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
.wishlist-module div.wishlist .user-info-wrap .alert-text p,
.wishlist-module div.wishlist .user-info-wrap .alert-text h3 {
  margin: 0;
  color: var(--G900);
}
.wishlist-module div.wishlist .user-info-wrap .alert-text p span,
.wishlist-module div.wishlist .user-info-wrap .alert-text h3 span {
  color: var(--SK01);
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  gap: 8px;
  width: 100%;
  margin: 16px 0 auto;
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form .input-wrap {
  display: block;
  width: 100%;
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form .input-wrap > i {
  display: block;
  font-style: normal;
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form .select-wrap {
  width: 100%;
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form .select-wrap p.tab-value {
  width: 100%;
  height: 32px;
  line-height: 32px;
  border-color: var(--G900);
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form .select-wrap p.tab-value:before {
  content: "Select an Identity";
  color: var(--G700);
  line-height: 32px;
  text-transform: capitalize;
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form .select-wrap p.tab-value:has(input:checked) {
  border-color: var(--PB01);
  border-bottom-color: transparent;
}
.wishlist-module div.wishlist .user-info-wrap .user-info-form .select-wrap ul li:has([data-tab=default]) {
  display: none;
}
.wishlist-module div.wishlist .feedback-wrap {
  display: none;
  flex-direction: column;
  gap: 16px;
  padding: 0 16px;
}
.wishlist-module div.wishlist .feedback-wrap h3 {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.wishlist-module div.wishlist .feedback-wrap p {
  max-width: 80%;
  margin: 0 auto;
  text-align: center;
  line-height: 1.65;
  letter-spacing: 0.5px;
}
.wishlist-module div.wishlist .feedback-wrap p strong {
  margin: 0 4px;
  font-weight: 700;
}
.wishlist-module div.wishlist .feedback-wrap .img-wrap {
  min-height: 150px;
  aspect-ratio: 2/1;
}
.wishlist-module div.wishlist .feedback-wrap .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: url(../assets/images/wishlist/feedback_success.png) no-repeat center/contain;
}
.wishlist-module div.wishlist .wishlist-count {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 32px;
  border-top: 1px solid var(--G500);
}
.wishlist-module div.wishlist .wishlist-count div span.count {
  margin: 0 4px;
  font-weight: bold;
  color: var(--SK01);
}
.wishlist-module div.wishlist .control-wrap {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 8px 16px 0;
  background-color: var(--G00);
}
.wishlist-module div.wishlist .control-wrap button {
  position: relative;
  border: 1px solid transparent;
  transition: border-color 0.3s ease;
  cursor: pointer;
}
.wishlist-module div.wishlist .control-wrap button > label {
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}
.wishlist-module div.wishlist .control-wrap button.btn-cancel {
  width: 100%;
  max-width: 112px;
}
.wishlist-module div.wishlist .control-wrap button.btn-cancel:has(:hover) {
  border-color: var(--SK01);
}
.wishlist-module div.wishlist .control-wrap button.btn-cancel:has(:hover) span {
  color: var(--SK01);
}
.wishlist-module div.wishlist .control-wrap button.btn-send {
  width: 100%;
  max-width: 360px;
}
.wishlist-module div.wishlist .control-wrap button.btn-explore, .wishlist-module div.wishlist .control-wrap button.btn-back, .wishlist-module div.wishlist .control-wrap button.btn-submit, .wishlist-module div.wishlist .control-wrap button.btn-success {
  display: none;
}
.wishlist-module > label {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
.wishlist-module.empty div.wishlist .list-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: var(--G100);
}
.wishlist-module.empty div.wishlist .list-wrap::before {
  content: "List is empty, just add some books to your wishlist.";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75;
  height: max-content;
  color: var(--G900);
  font-size: var(--H4);
  text-align: center;
}
.wishlist-module.empty div.wishlist .list-wrap ul {
  display: none;
}
.wishlist-module.empty div.wishlist .wishlist-count {
  display: none;
}
.wishlist-module.empty div.wishlist .control-wrap button.btn-cancel, .wishlist-module.empty div.wishlist .control-wrap button.btn-send {
  display: none;
}
.wishlist-module.empty div.wishlist .control-wrap button.btn-explore {
  width: 100%;
  max-width: 320px;
}
.wishlist-module.sended div.wishlist .list-wrap,
.wishlist-module.sended div.wishlist .wishlist-count {
  display: none;
}
.wishlist-module.sended div.wishlist .user-info-wrap {
  display: flex;
}
.wishlist-module.sended div.wishlist .control-wrap button.btn-cancel, .wishlist-module.sended div.wishlist .control-wrap button.btn-send, .wishlist-module.sended div.wishlist .control-wrap button.btn-explore {
  display: none;
}
.wishlist-module.sended div.wishlist .control-wrap button.btn-back {
  display: flex;
  width: 100%;
  max-width: 112px;
}
.wishlist-module.sended div.wishlist .control-wrap button.btn-back:has(:hover) {
  border-color: var(--SK01);
}
.wishlist-module.sended div.wishlist .control-wrap button.btn-back:has(:hover) span {
  color: var(--SK01);
}
.wishlist-module.sended div.wishlist .control-wrap button.btn-submit {
  display: flex;
  width: 100%;
  max-width: 320px;
}
.wishlist-module.success div.wishlist {
  justify-content: space-between;
}
.wishlist-module.success div.wishlist .list-wrap,
.wishlist-module.success div.wishlist .wishlist-count,
.wishlist-module.success div.wishlist .user-info-wrap {
  display: none;
}
.wishlist-module.success div.wishlist .feedback-wrap {
  display: flex;
  justify-content: center;
  min-height: 600px;
}
.wishlist-module.success div.wishlist .control-wrap {
  display: flex;
  margin: auto 0 16px;
}
.wishlist-module.success div.wishlist .control-wrap button {
  max-width: inherit;
}
.wishlist-module.success div.wishlist .control-wrap button:not(.btn-success) {
  display: none;
}
.wishlist-module.success div.wishlist .control-wrap button.btn-success {
  display: flex;
}

@media screen and (min-width: 769px) {
  .wishlist-module div.wishlist {
    transform: translateY(-24px);
    max-width: 480px;
  }
}
@media screen and (min-width: 1025px) {
  .wishlist-switch {
    bottom: 56px;
  }
  .wishlist-module {
    inset: unset;
    right: 0;
    top: 0;
    width: 400px;
    height: 100%;
    padding: 0 0 0 2px;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  .wishlist-module div.wishlist {
    transform: translateY(0);
    padding: 0 0 16px;
  }
  .wishlist-module div.wishlist .area-title {
    height: 48px;
  }
  .wishlist-module div.wishlist .list-wrap ul li {
    padding: 8px 16px 8px 24px;
  }
}
body main section aside {
  position: fixed;
  top: 0;
  transform: translateX(-100%);
  z-index: -1;
  display: block;
  width: 100%;
  height: 100dvh;
  padding: 0;
  transition: transform ease 0.35s;
  container: aside-filter/inline-size;
}
body main section aside .sidebar {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: space-between;
  width: 100%;
  max-width: 376px;
  height: 100%;
  background-color: var(--G00);
}
body main section aside .sidebar .area-title {
  height: 48px;
  flex: 0 0 auto;
}
body main section aside .sidebar .filter-view {
  width: 100%;
  max-height: calc(100dvh - 96px);
  padding: 0 16px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
body main section aside .sidebar .filter-view .filter-group {
  padding: 16px 8px 16px 16px;
  border-bottom: 1px solid var(--G300);
  /*filter category*/
}
body main section aside .sidebar .filter-view .filter-group h3 {
  margin: 0 0 8px;
  line-height: 32px;
  white-space: nowrap;
  letter-spacing: -0.5px;
}
body main section aside .sidebar .filter-view .filter-group h3 .select-count {
  display: none;
  width: max-content;
  height: max-content;
  padding: 0 8px;
  border-radius: 16px;
  font-size: var(--P4);
  line-height: 16px;
  letter-spacing: 0.2px;
  background-color: var(--PB01);
  color: var(--G00);
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions {
  position: relative;
  display: flex;
  flex-direction: column;
  max-height: 160px;
  overflow: hidden;
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: none;
  width: 100%;
  height: 40px;
  background-image: linear-gradient(0deg, var(--G00), rgba(255, 255, 255, 0));
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item {
  display: flex;
  justify-content: space-between;
  height: max-content;
  min-height: 28px;
  padding: 4px 0;
  flex: 0 0 auto;
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item .checkbox-wrap {
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex: 1;
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item .checkbox-wrap p {
  align-items: start;
  width: 100%;
  height: max-content;
  min-height: 24px;
  line-height: 1.5;
  word-break: break-all;
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item .checkbox-wrap p::before {
  transform: translateY(2px);
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item .checkbox-wrap p span {
  top: 2px;
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item strong.count {
  width: max-content;
  min-width: 48px;
  height: max-content;
  font-size: var(--P3);
  text-align: right;
  line-height: 1.25;
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item strong.count.maxed::after {
  content: "+";
}
body main section aside .sidebar .filter-view .filter-group > ul.conditions li.filter-item.hide {
  display: none;
}
body main section aside .sidebar .filter-view .filter-group .btn-toggle {
  position: relative;
  z-index: 2;
  text-align: right;
}
body main section aside .sidebar .filter-view .filter-group .btn-toggle span {
  position: relative;
  padding: 2px 0 2px 8px;
  color: var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group .btn-toggle span::before {
  content: "more";
}
body main section aside .sidebar .filter-view .filter-group .btn-toggle span input[type=checkbox] {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
body main section aside .sidebar .filter-view .filter-group:last-child {
  border-bottom: none;
}
body main section aside .sidebar .filter-view .filter-group.has-checked h3 .select-count {
  display: inline-block;
}
body main section aside .sidebar .filter-view .filter-group.lass-than-5 .btn-toggle {
  visibility: hidden;
}
body main section aside .sidebar .filter-view .filter-group.basic .range-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 0 8px;
}
body main section aside .sidebar .filter-view .filter-group.basic .range-wrap > div {
  width: 80px;
  height: 32px;
  border-radius: 24px;
  border: 1px solid var(--G500);
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1490196078) inset;
}
body main section aside .sidebar .filter-view .filter-group.basic .range-wrap > div input {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0 8px;
  text-align: center;
  line-height: 32px;
  letter-spacing: 0.5px;
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 32px;
  margin: 0 0 8px;
  padding: 0 8px 0 0;
  border-radius: 8px;
  border: 1px solid var(--G700);
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap input[type=search] {
  display: block;
  width: 100%;
  padding: 0 8px 0 16px;
  text-align: left;
  line-height: 32px;
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap .icon-wrap {
  cursor: pointer;
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap .icon-wrap.clear {
  display: none;
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap .icon-wrap.clear i {
  mask-size: 16px;
  -webkit-mask-size: 16px;
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap.focus, body main section aside .sidebar .filter-view .filter-group.basic .search-wrap:has(input[type=search]:focus) {
  border-color: var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap.focus input[type=search], body main section aside .sidebar .filter-view .filter-group.basic .search-wrap:has(input[type=search]:focus) input[type=search] {
  color: var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap.focus .icon-wrap.search i, body main section aside .sidebar .filter-view .filter-group.basic .search-wrap:has(input[type=search]:focus) .icon-wrap.search i {
  background-color: var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap.has-value input[type=search] {
  color: var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap.has-value .icon-wrap.clear {
  display: block;
}
body main section aside .sidebar .filter-view .filter-group.basic .search-wrap.has-value .icon-wrap.search i {
  background-color: var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group.basic:has(.range-wrap) ul.conditions, body main section aside .sidebar .filter-view .filter-group.basic:has(.search-wrap) ul.conditions {
  margin: 16px 0 0;
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 6px;
  flex: 0 0 fit-content;
  width: 100%;
  max-width: calc(100% - 56px);
  min-height: 24px;
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label input[type=checkbox] {
  display: none;
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label .check-icon {
  position: relative;
  transform: translateY(2px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border: 2px solid var(--PB01);
  border-radius: 4px;
  background-color: var(--G00);
  cursor: pointer;
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label .check-icon::before {
  content: "";
  display: none;
  width: 20px;
  height: 20px;
  mask-image: url("../assets/icons/icon_ckbox_arrow.png");
  mask-position: center;
  mask-size: 24px;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("../assets/icons/icon_ckbox_arrow.png");
  -webkit-mask-position: center;
  -webkit-mask-size: 24px;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--G00);
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label p.text {
  width: fit-content;
  margin: 0 8px 0 0;
  line-height: 1.25;
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label .count {
  width: max-content;
  margin: 0 0 0 auto;
  font-size: var(--P3);
  text-align: right;
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label:has(input[type=checkbox]:checked) .check-icon {
  background-color: var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group.basic ul.conditions label:has(input[type=checkbox]:checked) .check-icon::before {
  display: block;
}
body main section aside .sidebar .filter-view .filter-group.categories {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: max-content;
  padding: 16px 8px 16px 16px;
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 0 0 -8px;
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  padding: 0 8px;
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group h3::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background-color: var(--G500);
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group h3:first-child {
  padding: 0 8px 0 0;
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group h3:last-child::after {
  display: none;
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group h3 input[type=radio] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group h3:has(input[type=radio]:checked) {
  color: var(--G900);
}
body main section aside .sidebar .filter-view .filter-group.categories .tab-group h3.has-filter .select-count {
  display: block;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions {
  position: relative;
  z-index: 1;
  gap: 0;
  max-height: 160px;
  overflow: hidden;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category {
  padding: 4px 0;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  min-height: 24px;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label[for=select-all] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  border-radius: 4px;
  background-color: var(--G00);
  border: 2px solid var(--PB01);
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label[for=select-all] input[type=checkbox] {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  cursor: pointer;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label[for=select-all] span {
  position: relative;
  display: none;
  width: 20px;
  height: 20px;
  mask-image: url(../assets/icons/icon_ckbox_arrow.png);
  mask-size: 20px;
  mask-position: center;
  mask-repeat: no-repeat;
  background-color: var(--G00);
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label:not([for=select-all]) {
  display: inline-flex;
  align-items: start;
  justify-content: space-between;
  flex: 1 0 auto;
  gap: 4px;
  max-width: calc(100% - 20px);
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label:not([for=select-all]) > input[type=checkbox] {
  display: none;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label:not([for=select-all]) p {
  display: inline-block;
  align-items: start;
  width: max-content;
  margin: 0 auto 0 6px;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label:not([for=select-all]) p .icon-wrap {
  position: absolute;
  line-height: 24px;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item > label:not([for=select-all]) strong.count {
  width: max-content;
  text-align: right;
  font-size: var(--P3);
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item ul.sub-category {
  display: none;
  flex-direction: column;
  flex: 1 1 100%;
  margin: 8px 0;
  padding: 8px 0 8px 16px;
  border-top: 1px solid var(--G500);
  border-bottom: 1px solid var(--G500);
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item ul.sub-category li.filter-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  min-height: 32px;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item ul.sub-category li.filter-item > label {
  justify-content: start;
  flex: 0;
  width: max-content;
  max-width: inherit;
  min-height: 24px;
  margin: 0 auto 0 0;
}
body main section aside .sidebar .filter-view .filter-group.categories > div.conditions ul.main-category li.filter-item ul.sub-category li.filter-item > label p {
  display: inline-flex;
  width: max-content;
  margin: 0;
}
body main section aside .sidebar .filter-view .filter-group.categories::after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: 24px;
  width: 100%;
  height: 40px;
  background-image: linear-gradient(0deg, var(--G00), rgba(255, 255, 255, 0));
}
body main section aside .sidebar .control-wrap {
  display: flex;
  gap: 16px;
  width: 100%;
  height: max-content;
  padding: 16px;
  background-color: var(--G00);
  border-top: 1px solid var(--G500);
  margin: auto 0 0;
}
body main section aside > label[for=filter_toggle] {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 769px) {
  body main section aside {
    width: max-content;
  }
  body main section aside .sidebar {
    width: 30dvw;
    min-width: 352px;
    max-width: 360px;
    border-right: 1px solid var(--G500);
  }
  body main section aside .sidebar .area-title {
    flex: 0 0 auto;
  }
  body main section aside .sidebar .filter-view .filter-group {
    flex: 1 1 auto;
  }
  body main section aside .sidebar .filter-view .filter-group h3.H3 {
    font-size: var(--H4);
  }
  body main section aside .sidebar .control-wrap {
    flex: 0 0 auto;
  }
}

body main .subject-module {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px;
  background-color: var(--SK02);
  container: subject-module/inline-size;
}
body main .subject-module .banner-module {
  position: relative;
  z-index: 2;
  min-height: 96px;
  background-color: var(--G00);
}
body main .subject-module .banner-module .banner {
  position: relative;
  height: 96px;
  border-radius: 0;
  background-color: var(--G500);
  overflow: hidden;
}
body main .subject-module .banner-module .banner .text-wrap {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateX(24px) translateY(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  width: 100%;
  height: 100%;
  gap: 8px;
}
body main .subject-module .banner-module .banner .text-wrap h2,
body main .subject-module .banner-module .banner .text-wrap P {
  display: block;
  width: 100%;
  line-height: 1.25;
  text-align: center;
  word-break: break-all;
  color: var(--G00);
}
body main .subject-module .banner-module .banner .text-wrap p {
  position: relative;
  line-height: 24px;
}
body main .subject-module .banner-module .banner img {
  width: 100%;
  object-fit: cover;
}
body main .subject-module .subject-list {
  width: 100%;
}
body main .subject-module .subject-list > ul {
  display: grid;
  grid-template: repeat(1, 1fr)/repeat(2, 1fr);
  gap: 16px;
  justify-items: center; /* align-items: center; */
  width: 100%;
  padding: 24px 0;
}
body main .subject-module .subject-list > ul li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: end;
  width: 100%;
  max-width: 240px;
  background-color: var(--G00);
  border: 1px solid var(--PB01);
  border-radius: 12px;
  overflow: hidden;
}
body main .subject-module .subject-list > ul li a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  width: 100%;
  height: 100%;
  padding: 16px;
}
body main .subject-module .subject-list > ul li a .cover {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  padding: 16px;
  text-align: center;
  overflow: visible;
}
body main .subject-module .subject-list > ul li a .cover img {
  width: 128px;
  object-fit: cover;
}
body main .subject-module .subject-list > ul li a .subject-text {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: 128px;
}
body main .subject-module .subject-list > ul li a .subject-text h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  color: var(--G900);
  line-height: 1;
  text-align: center;
}
body main .subject-module .subject-list > ul li a .subject-text p.tag-list {
  display: -webkit-box;
  height: 56px;
  overflow: ellipsis;
  text-overflow: ellipsis;
  text-align: left;
  line-height: 18px;
  white-space: nowrap;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
}
body main .subject-module .subject-list > ul li a .subject-text p.tag-list span {
  display: inline-block;
  margin: 0 4px 0 0;
  line-height: 16px;
  white-space: nowrap;
  font-size: var(--P4);
}
body main .subject-module .subject-list > ul li a .subject-text p.tag-list span::before {
  content: "#";
}
body main .subject-module .subject-list > ul li:hover, body main .subject-module .subject-list > ul li:focus {
  background-color: rgba(255, 255, 255, 0.7);
  outline: 1px solid var(--PB01);
}
@container subject-module (width > 640px) {
  body main .subject-module .subject-list ul {
    grid-template: repeat(2, 1fr)/repeat(3, 1fr);
  }
}
@container subject-module (width > 980px) {
  body main .subject-module .subject-list ul {
    grid-template: repeat(2, 1fr)/repeat(4, 1fr);
  }
  body main .subject-module .subject-list ul li {
    width: 100%;
    max-width: 240px;
  }
  body main .subject-module .subject-list ul li a .subject-text {
    margin-top: 128px;
  }
}
@container subject-module (width > 1200px) {
  body main .subject-module .subject-list ul {
    grid-template: repeat(2, 1fr)/repeat(5, 1fr);
  }
}

body main.result {
  position: relative;
  padding: 48px 0 0;
  /*Result settings*/
}
body main.result .result-content {
  display: flex;
  min-height: 80dvh;
}
body main.result .result-content .result-wrap {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  padding: 0;
  border-left: 1px solid var(--G500);
}
body main.result .result-content .result-wrap .match-words {
  font-size: 100%;
  font-weight: bold;
  color: var(--CS);
}
body main.result .result-content .result-wrap .subject-view {
  position: relative;
  display: none;
  width: calc(100% - 32px);
  padding: 16px;
  margin: 0 auto;
  border-radius: 12px;
  background-color: var(--SK02);
}
body main.result .result-content .result-wrap .subject-view .pack-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
body main.result .result-content .result-wrap .subject-view .pack-item .main-cover {
  display: block;
  width: 100%;
}
body main.result .result-content .result-wrap .subject-view .pack-item .main-cover h3 {
  min-height: 48px;
  text-align: left;
  color: var(--G900);
}
body main.result .result-content .result-wrap .subject-view .pack-item .main-cover h3::before {
  content: "#";
}
body main.result .result-content .result-wrap .subject-view .pack-item .main-cover .tags-wrap {
  display: none;
}
body main.result .result-content .result-wrap .subject-view .pack-item .btn-wrap {
  max-width: unset;
}
body main.result .result-content .result-wrap .subject-view .pack-item .toolbar {
  display: flex;
  justify-content: end;
  gap: 8px;
  width: 100%;
}
body main.result .result-content .result-wrap .subject-view .pack-item .toolbar .btn-wrap {
  position: relative;
}
body main.result .result-content .result-wrap .subject-view .pack-item .toolbar .btn-wrap label[for=tags_toggle] {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  cursor: pointer;
}
body main.result .result-content .result-wrap .filters-wrap {
  position: relative;
  display: block;
  width: calc(100% - 32px);
  margin: 16px auto;
  padding: 0 16px;
  border-radius: 12px;
  background-color: var(--G100);
}
body main.result .result-content .result-wrap .filters-wrap h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 48px;
  color: var(--G900);
}
body main.result .result-content .result-wrap .filters-wrap h3 label {
  width: 32px;
  height: 32px;
  cursor: pointer;
}
body main.result .result-content .result-wrap .filters-wrap h3 label .icon-wrap i {
  transition: transform ease 0.35s;
}
body main.result .result-content .result-wrap .filters-wrap > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: 100%;
  height: 100%;
  max-height: 0;
  overflow-y: hidden;
}
body main.result .result-content .result-wrap .filters-wrap > ul li.selected-filter-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  height: 24px;
  padding: 0 2px 0 8px;
  border-radius: 8px;
  background-color: var(--G700);
}
body main.result .result-content .result-wrap .filters-wrap > ul li.selected-filter-item strong {
  font-size: var(--P4);
  color: var(--G00);
}
body main.result .result-content .result-wrap .filters-wrap > ul li.selected-filter-item .btn-clear {
  width: max-content;
  height: max-content;
}
body main.result .result-content .result-wrap .filters-wrap > ul li.selected-filter-item .btn-clear .icon-wrap i {
  mask-size: 16px;
  -webkit-mask-size: 16px;
  background-color: var(--G00);
}
body main.result .result-content .result-wrap .filters-wrap > ul li.selected-filter-item:hover {
  background-color: var(--PB01);
}
body main.result .result-content .result-wrap .filters-wrap button.btn-clear-all {
  position: relative;
  z-index: -1;
  float: right;
  margin-top: -24px;
  opacity: 0;
  width: max-content;
  transition: ease 0.35s;
}
body main.result .result-content .result-wrap .filters-wrap button.btn-clear-all span {
  margin: 4px 0 0;
  font-size: var(--P3);
  line-height: 24px;
  color: var(--PB01);
}
body main.result .result-content .result-wrap .filters-wrap.is-empty {
  display: none;
}
body main.result .result-content .result-wrap .panel-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: calc(100% - 32px);
  height: 56px;
  margin: 0 auto;
}
body main.result .result-content .result-wrap .panel-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--G500);
}
body main.result .result-content .result-wrap .panel-wrap label[for=filter_toggle] {
  position: absolute;
  left: 4px;
  display: flex;
  justify-content: start;
  width: 32px;
  border-right: 1px solid var(--G500);
  cursor: pointer;
}
body main.result .result-content .result-wrap .panel-wrap .area-title {
  padding: 0 0 0 48px;
  border: none;
}
body main.result .result-content .result-wrap .panel-wrap .area-title .checkbox-wrap {
  width: 24px;
  height: 24px;
}
body main.result .result-content .result-wrap .panel-wrap .area-title .checkbox-wrap span {
  top: 3px;
}
body main.result .result-content .result-wrap .panel-wrap .area-title .checkbox-wrap strong {
  display: none;
}
body main.result .result-content .result-wrap .panel-wrap .area-title h2 {
  flex: 0 0 auto;
  margin: 0 -8px 0 0;
  font-size: 1.15rem;
  line-height: 32px;
  border: none;
}
body main.result .result-content .result-wrap .panel-wrap .area-title .result-count {
  display: flex;
  align-items: center;
  margin: 0 auto 0 0;
  line-height: 32px;
}
body main.result .result-content .result-wrap .panel-wrap .area-title .result-count::before {
  content: "（";
}
body main.result .result-content .result-wrap .panel-wrap .area-title .result-count::after {
  content: "）";
}
body main.result .result-content .result-wrap .panel-wrap .area-title .result-count span {
  display: inline-block;
  max-width: 96px;
  font-size: 1.15rem;
  line-height: 32px;
  overflow-x: hidden;
}
body main.result .result-content .result-wrap .panel-wrap .area-title .result-count span.count {
  color: var(--CS);
}
body main.result .result-content .result-wrap .panel-wrap .area-title .result-count span.total::before {
  content: "/";
  margin: 0 2px;
}
body main.result .result-content .result-wrap .panel-wrap > label[for=review_setting_toggle] {
  position: relative;
  width: 32px;
  height: 32px;
  margin: 0 16px 0 0;
  cursor: pointer;
}
body main.result .result-content .result-wrap .panel-wrap > label[for=review_setting_toggle] .icon-wrap {
  cursor: pointer;
}
body main.result .result-content .result-wrap .panel-wrap > label[for=review_setting_toggle] strong {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 16px);
  z-index: 2;
  display: none;
  width: calc(100% - 32px);
  padding: 4px 16px 4px;
  border-radius: 8px;
  border: 1px solid var(--G500);
  background-color: var(--G00);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool > label[for=review_setting_toggle] {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background-color: var(--PB01);
  cursor: pointer;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool > label[for=review_setting_toggle] .icon-wrap i {
  background-color: var(--G00);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item {
  padding: 0 0 8px;
  border-bottom: 1px solid var(--G500);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item:last-child {
  border-bottom: none;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.mode {
  display: none;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item h4 {
  font-weight: 700;
  line-height: 36px;
  color: var(--G900);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item .options {
  display: flex;
  align-items: center;
  height: 32px;
  gap: 16px;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item .options label {
  position: relative;
  cursor: pointer;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item .options label input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item .options label:has(input[type=radio]:checked) strong {
  color: var(--PB01);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.mode .options label {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background-color: var(--G00);
  border: 1px solid var(--G500);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.mode .options label .icon-wrap i {
  background-color: var(--PB01);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.mode .options label:has(input[type=radio]:checked) {
  background-color: var(--PB01);
  border-color: var(--PB01);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.mode .options label:has(input[type=radio]:checked) .icon-wrap i {
  background-color: var(--G00);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.display .options label {
  width: 48px;
  height: 24px;
  border-radius: 8px;
  background-color: var(--G00);
  border: 1px solid var(--G500);
  text-align: center;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.display .options label strong {
  line-height: 24px;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.display .options label:has(input[type=radio]:checked) {
  background-color: var(--PB01);
  border-color: var(--PB01);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.display .options label:has(input[type=radio]:checked) strong {
  color: var(--G00);
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.sort .options {
  flex-direction: column;
  align-items: start;
  gap: 4px;
  height: max-content;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.tags-switch {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.tags-switch label {
  height: 16px;
}
body main.result .result-content .result-wrap .panel-wrap .review-tool .tool-item.tags-switch label input {
  z-index: 1;
}
body main.result .result-content .result-wrap .bookcase-list {
  width: calc(100% - 32px);
  margin: 0 auto;
}
body main.result .result-content .result-wrap .pagination {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: calc(100% - 32px);
  margin: 16px auto;
}
body main.result .result-content .result-wrap .pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
body main.result .result-content .result-wrap .pagination ul li {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 2px;
  background-color: var(--G100);
  border: 1px solid transparent;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
}
body main.result .result-content .result-wrap .pagination ul li a {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--G700);
}
body main.result .result-content .result-wrap .pagination ul li:hover {
  background-color: var(--PB02);
  border-color: var(--PB02);
}
body main.result .result-content .result-wrap .pagination ul li:hover a {
  color: var(--G00);
}
body main.result .result-content .result-wrap .pagination ul li.active {
  background-color: var(--PB02);
  border-color: var(--PB02);
}
body main.result .result-content .result-wrap .pagination ul li.active a {
  color: var(--G00);
}
body main.result .result-content .result-wrap .pagination ul li.disabled {
  pointer-events: none;
}
body main.result .result-content .result-wrap .pagination ul li.disabled a {
  background-color: var(--G500) !important;
}
body main.result .result-content .result-wrap .pagination ul li.first a, body main.result .result-content .result-wrap .pagination ul li.prev a, body main.result .result-content .result-wrap .pagination ul li.next a, body main.result .result-content .result-wrap .pagination ul li.last a {
  mask-position: center;
  mask-size: 24px;
  mask-repeat: no-repeat;
  background-color: var(--G700);
}
body main.result .result-content .result-wrap .pagination ul li.first:hover a, body main.result .result-content .result-wrap .pagination ul li.prev:hover a, body main.result .result-content .result-wrap .pagination ul li.next:hover a, body main.result .result-content .result-wrap .pagination ul li.last:hover a {
  background-color: var(--G00);
}
body main.result .result-content .result-wrap .pagination ul li.first a {
  mask-image: url("../assets/icons/icon_pagefirst.png");
}
body main.result .result-content .result-wrap .pagination ul li.prev a {
  mask-image: url("../assets/icons/icon_pageprev.png");
}
body main.result .result-content .result-wrap .pagination ul li.next a {
  mask-image: url("../assets/icons/icon_pagenext.png");
}
body main.result .result-content .result-wrap .pagination ul li.last a {
  mask-image: url("../assets/icons/icon_pagelast.png");
}
body main.result .result-content .result-wrap .pagination .goto-page {
  display: flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  height: 40px;
  margin: 0 0 0 auto;
  text-align: right;
}
body main.result .result-content .result-wrap .pagination .goto-page strong {
  width: 40px;
  line-height: 40px;
  background-color: var(--G100);
  border-radius: 2px;
  border: 1px solid var(--G100);
}
body main.result .result-content .result-wrap .pagination .goto-page strong input {
  width: 100%;
  text-align: center;
}
body main.result .result-content .result-wrap .pagination .goto-page strong input:placeholder {
  color: var(--G300);
}
body main.result .result-content .result-wrap .pagination .goto-page strong:hover {
  border-color: var(--PB01);
}
@media screen and (min-width: 769px) {
  body main.result .result-content .result-wrap .subject-view {
    width: calc(100% - 48px);
  }
  body main.result .result-content .result-wrap .subject-view .pack-item {
    align-items: start;
  }
  body main.result .result-content .result-wrap .subject-view .pack-item .main-cover {
    width: calc(100% - 112px);
    text-align: left;
  }
  body main.result .result-content .result-wrap .subject-view .pack-item > .btn-wrap {
    position: absolute;
    right: 16px;
    width: max-content;
    max-width: unset;
  }
  body main.result .result-content .result-wrap .filters-wrap {
    width: calc(100% - 48px);
  }
  body main.result .result-content .result-wrap .panel-wrap {
    width: calc(100% - 48px);
  }
  body main.result .result-content .result-wrap .panel-wrap label[for=filter_toggle] {
    margin: 0 0 0 16px;
  }
  body main.result .result-content .result-wrap .panel-wrap .area-title {
    padding: 0 0 0 64px;
  }
  body main.result .result-content .result-wrap .panel-wrap > label[for=review_setting_toggle] {
    margin: 0 24px 0 0;
  }
  body main.result .result-content .result-wrap .bookcase-list {
    width: calc(100% - 48px);
    margin: 0 auto;
  }
  body main.result .result-content .result-wrap .pagination {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 48px);
    margin: 0 auto;
  }
  body main.result .result-content .result-wrap .pagination ul {
    height: 112px;
  }
  body main.result .result-content .result-wrap .pagination .goto-page {
    margin: 0 0 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  body main.result {
    padding: 48px 0;
  }
  body main.result .result-content aside {
    top: 49px !important;
    width: max-content;
    height: calc(100dvh - 49px);
    transform: translateX(0);
    z-index: 6 !important;
    opacity: 1 !important;
    transition: top 0.5s ease, height 0.5s ease;
  }
  body main.result .result-content aside .sidebar .area-title {
    padding: 0 0 0 24px;
  }
  body main.result .result-content aside .sidebar .area-title h2 {
    border-color: transparent;
  }
  body main.result .result-content aside .sidebar .area-title > label[for=filter_toggle] {
    display: none;
  }
  body main.result .result-content .result-wrap {
    transform: translateX(-1px);
    width: calc(100% - 360px);
    margin: 0 auto 0 360px;
    padding: 0px 24px;
    border-left: 1px solid var(--G500);
  }
  body main.result .result-content .result-wrap .filters-wrap {
    width: calc(100% - 48px);
    padding: 0 16px;
  }
  body main.result .result-content .result-wrap .panel-wrap {
    width: calc(100% - 48px);
    margin: 0 auto;
  }
  body main.result .result-content .result-wrap .panel-wrap label[for=filter_toggle] {
    display: none;
  }
  body main.result .result-content .result-wrap .panel-wrap .area-title {
    padding: 0;
  }
  body main.result .result-content .result-wrap .panel-wrap > label[for=review_setting_toggle] {
    margin: 0;
  }
  body main.result .result-content .result-wrap .panel-wrap .review-tool {
    left: inherit;
    right: 6px;
    transform: translate(0, 7px);
    max-width: 228px;
  }
  body main.result .bookcase-module.recommend {
    max-width: calc(100% - 360px);
    margin: 0 0 0 360px;
  }
  body main.result ~ footer {
    max-width: calc(100% - 360px);
    margin: 0 0 0 360px;
  }
  body main.result ~ .member-ip {
    width: calc(100dvw - 360px);
    left: 360px;
  }
}

body {
  /*tags list show*/
}
body:has(#tags_toggle:checked) {
  overflow: hidden;
}
body:has(#tags_toggle:checked) main.result .popup-wrap:has(.tags-list-wrap),
body:has(#tags_toggle:checked) main.detail .popup-wrap:has(.tags-list-wrap) {
  display: flex;
}
body main .popup-wrap.remin-alert.fllow {
  display: flex !important;
}
body main .popup-wrap.remin-alert.fllow .content-wrap .text p:nth-of-type(1) {
  display: inline-block;
}
body main .popup-wrap.remin-alert.fllow .content-wrap .text p:nth-of-type(1)::before {
  content: "We will send you the latest information about #TAG. You can manage your Followings by";
}
body main .popup-wrap.remin-alert.fllow .content-wrap .text a {
  display: inline-block;
}
body main .popup-wrap.remin-alert.fllow .panel-wrap button[data-type=panel-ok] {
  display: flex;
  width: 100%;
}
body main .popup-wrap.remin-alert.fllow .panel-wrap button[data-type=panel-ok] span {
  display: block;
  width: 100%;
}
body main .popup-wrap.remin-alert.fllow .panel-wrap button[data-type=panel-ok] span::before {
  content: "OK";
}
body main .popup-wrap.remin-alert.exceeding-maximum {
  display: flex !important;
}
body main .popup-wrap.remin-alert.exceeding-maximum .content-wrap .text p:nth-of-type(1) {
  display: inline-block;
  color: var(--CD);
}
body main .popup-wrap.remin-alert.exceeding-maximum .content-wrap .text p:nth-of-type(1)::before {
  content: "Sorry, you've reached maximum number of 25 #TAG.";
}
body main .popup-wrap.remin-alert.exceeding-maximum .content-wrap .text p:nth-of-type(2) {
  display: inline-block;
}
body main .popup-wrap.remin-alert.exceeding-maximum .content-wrap .text p:nth-of-type(2)::before {
  content: "You can check up to 25 items.";
}
body main .popup-wrap.remin-alert.exceeding-maximum .content-wrap .text a {
  display: inline-block;
}
body main .popup-wrap.remin-alert.need-login {
  display: flex !important;
}
body main .popup-wrap.remin-alert.need-login .content-wrap .text p:nth-of-type(1) {
  display: inline-block;
}
body main .popup-wrap.remin-alert.need-login .content-wrap .text p:nth-of-type(1)::before {
  content: "Please log in to read books or use personalized services.";
}
body main .popup-wrap.remin-alert.like-check {
  display: flex !important;
}
body main .popup-wrap.remin-alert.like-check .content-wrap .text p:nth-of-type(1) {
  display: inline-block;
}
body main .popup-wrap.remin-alert.like-check .content-wrap .text p:nth-of-type(1)::before {
  content: "Do you like this book?";
}
body main .popup-wrap.remin-alert.like-check .content-wrap .text p:nth-of-type(2) {
  display: block;
  font-size: var(--P1);
  font-weight: 400;
}
body main .popup-wrap.remin-alert.like-check .content-wrap .text p:nth-of-type(2)::before {
  content: "Recommend it to your library!";
}
body main .popup-wrap.remin-alert.like-check .content-wrap .panel-wrap button[data-type=panel-cancel] {
  display: flex;
  width: 100%;
}
body main .popup-wrap.remin-alert.like-check .content-wrap .panel-wrap button[data-type=panel-cancel] span::before {
  content: "No";
}
body main .popup-wrap.remin-alert.like-check .content-wrap .panel-wrap button[data-type=panel-ok] span::before {
  content: "Add to wishlistK";
}
body main .popup-wrap.remin-alert.select-format {
  display: flex !important;
}
body main .popup-wrap.remin-alert.select-format .content-wrap .text p:nth-of-type(1) {
  display: block;
}
body main .popup-wrap.remin-alert.select-format .content-wrap .text p:nth-of-type(1)::before {
  content: "Start online reading";
  font-size: var(--H3);
}
body main .popup-wrap.remin-alert.select-format .content-wrap .text p:nth-of-type(1)::after {
  content: "This book is available in two formats. Please choose to open:";
  display: block;
  font-size: var(--P3);
  font-weight: 400;
}
body main .popup-wrap.remin-alert.select-format .content-wrap .text p:nth-of-type(2) {
  display: inline-block;
  margin: 8px 0 0;
  color: var(--CD);
}
body main .popup-wrap.remin-alert.select-format .content-wrap .text p:nth-of-type(2)::before {
  content: "PDF – original book layout";
}
body main .popup-wrap.remin-alert.select-format .content-wrap .text p:nth-of-type(2)::after {
  content: "EPUB – reflowable layout";
  display: block;
}
body main .popup-wrap.remin-alert.select-format .content-wrap .panel-wrap button[data-type=panel-cancel] {
  display: flex;
  width: 100%;
}
body main .popup-wrap.remin-alert.select-format .content-wrap .panel-wrap button[data-type=panel-cancel] span {
  display: block;
  width: 100%;
}
body main .popup-wrap.remin-alert.select-format .content-wrap .panel-wrap button[data-type=panel-cancel] span::before {
  content: "PDF";
}
body main .popup-wrap.remin-alert.select-format .content-wrap .panel-wrap button[data-type=panel-ok] span {
  display: block;
  width: 100%;
}
body main .popup-wrap.remin-alert.select-format .content-wrap .panel-wrap button[data-type=panel-ok] span::before {
  content: "EPUB";
}
body main .popup-wrap.remin-alert.error-ebook-open {
  display: flex !important;
}
body main .popup-wrap.remin-alert.error-ebook-open .content-wrap .text p:nth-of-type(1) {
  display: block;
}
body main .popup-wrap.remin-alert.error-ebook-open .content-wrap .text p:nth-of-type(1)::before {
  content: "Oops, this ebook isn’t available right now";
  color: var(--CD);
}
body main .popup-wrap.remin-alert.error-ebook-open .content-wrap .text p:nth-of-type(2) {
  display: inline-block;
}
body main .popup-wrap.remin-alert.error-ebook-open .content-wrap .text p:nth-of-type(2)::before {
  content: "There might be a temporary issue with the file. Please try again later or contact our support team—we'll resolve it as soon as possible.";
  font-size: var(--P3);
  font-weight: 400;
}
body main .popup-wrap.remin-alert.error-ebook-open .content-wrap .panel-wrap button[data-type=panel-ok] span::before {
  content: "Got it.";
}
body main .popup-wrap.remin-alert.books-expired {
  display: flex !important;
}
body main .popup-wrap.remin-alert.books-expired .content-wrap .text p:nth-of-type(1) {
  display: block;
}
body main .popup-wrap.remin-alert.books-expired .content-wrap .text p:nth-of-type(1)::before {
  content: "The license for this book has expired.";
}
body main .popup-wrap.remin-alert.books-expired .content-wrap .text p:nth-of-type(2) {
  display: inline-block;
}
body main .popup-wrap.remin-alert.books-expired .content-wrap .text p:nth-of-type(2)::before {
  content: "This book is available only to specific library users. Thank you for your understanding.";
  font-size: var(--P3);
  font-weight: 400;
}
body main .popup-wrap.remin-alert.books-expired .content-wrap .panel-wrap button[data-type=panel-ok] span::before {
  content: "Got it.";
}
body main .popup-wrap.remin-alert.inuse-maximum {
  display: flex !important;
}
body main .popup-wrap.remin-alert.inuse-maximum .content-wrap .text p:nth-of-type(1) {
  display: block;
}
body main .popup-wrap.remin-alert.inuse-maximum .content-wrap .text p:nth-of-type(1)::before {
  content: "The maximum number of concurrent users has been reached";
}
body main .popup-wrap.remin-alert.inuse-maximum .content-wrap .text p:nth-of-type(2) {
  display: inline-block;
}
body main .popup-wrap.remin-alert.inuse-maximum .content-wrap .text p:nth-of-type(2)::before {
  content: "Please try again later or select an alternative book. ";
  font-size: var(--P3);
  font-weight: 400;
}

body {
  /*------------------------------------------------------------------
              result page setting begin
  ------------------------------------------------------------------*/
  /*categories mainlist click to show sub list*/
  /*result list panel tool toggle*/
  /*result page all area about tags toggle*/
  /*search filters list toggle*/
}
body:has(header .sub-menu-switch input[type=checkbox]:checked) header .view-wrap .categories-wrap .categories .catgory-list {
  position: relative;
  z-index: 3;
  margin-top: -44px;
}
body:has(header .sub-menu-switch input[type=checkbox]:checked) header .view-wrap .categories-wrap .categories .catgory-list ul {
  transform: translateX(-100%);
}
body main.result .result-content .panel-wrap:has(#review_setting_toggle:checked) .review-tool {
  z-index: 9;
  display: block;
  outline: 6px solid rgba(255, 255, 255, 0.75);
}
body:has(#related_tag_switch:checked) main:is(.result) .result-content .result-wrap {
  padding: 24px 0;
}
body:has(#related_tag_switch:checked) main:is(.result) .result-content .result-wrap .subject-view {
  display: block;
}
body:has(#related_tag_switch:checked) main:is(.result) .result-content .result-wrap ul:has(.books-module) > li.metadata-wrap .metadata {
  min-height: 128px;
}
body:has(#related_tag_switch:checked) main:is(.result) .result-content .result-wrap ul:has(.books-module) > li .metadata-wrap .tags-wrap {
  display: block;
}
body main.result .result-content .filters-wrap:has(input[name=toggle_switch]:checked) {
  padding: 0 16px 40px;
}
body main.result .result-content .filters-wrap:has(input[name=toggle_switch]:checked) h3 .btn-toggle .icon-wrap {
  transform: rotate(180deg);
}
body main.result .result-content .filters-wrap:has(input[name=toggle_switch]:checked) > ul {
  max-height: 999px;
}
body main.result .result-content .filters-wrap:has(input[name=toggle_switch]:checked) button.btn-clear-all {
  z-index: 1;
  margin: 0;
  opacity: 1;
}

body {
  /*------------------------------------------------------------------
              filter aside setting begin
  ------------------------------------------------------------------*/
  /* filter group toggle*/
  /* prodsuct's extension show*/
  /* product's description & full text click change  */
  /* product's description & full text read toggle  */
}
body:has(#filter_toggle:checked) main section.result-content aside {
  transform: translateX(0);
  z-index: 10;
  opacity: 1;
}
body main section.result-content aside .sidebar .filter-view .filter-group:has(input[name=toggle_switch]:checked) > ul.conditions,
body main section.result-content aside .sidebar .filter-view .filter-group:has(input[name=toggle_switch]:checked) > div.conditions {
  max-height: 9999px !important;
}
body main section.result-content aside .sidebar .filter-view .filter-group:has(input[name=toggle_switch]:checked) .btn-toggle span::before {
  content: "less";
}
body main section.result-content aside .sidebar .filter-view .filter-group.categories {
  /* main categories select all*/
  /* sub categories toggle*/
}
body main section.result-content aside .sidebar .filter-view .filter-group.categories ul.main-category .filter-item > label[for=select-all]:has(input[name=main_category]:checked) {
  position: relative;
  background-color: var(--PB01);
}
body main section.result-content aside .sidebar .filter-view .filter-group.categories ul.main-category .filter-item > label[for=select-all]:has(input[name=main_category]:checked) span {
  display: block;
}
body main section.result-content aside .sidebar .filter-view .filter-group.categories ul.main-category:has(li.filter-item input[name=sub_category]:checked) .filter-item > label:not([for=select-all]) .icon-wrap i {
  transform: rotate(180deg);
}
body main section.result-content aside .sidebar .filter-view .filter-group.categories ul.main-category:has(li.filter-item input[name=sub_category]:checked) .filter-item ul.sub-category {
  display: flex;
}
body main .result-content .result-wrap .bookcase-list ul li .metadata-wrap {
  position: relative;
  z-index: 1;
}
body main .result-content .result-wrap .bookcase-list ul li .metadata-wrap:has(label[for=more_explanations] input[type=checkbox]:checked) .description {
  display: block;
}
body main .result-content .result-wrap .bookcase-list ul li .metadata-wrap .description:has(label[data-tab=description] input:checked) .text-wrap .content-description {
  display: block;
}
body main .result-content .result-wrap .bookcase-list ul li .metadata-wrap .description:has(label[data-tab=description] input:checked) .text-wrap .content-fulltext {
  display: none;
}
body main .result-content .result-wrap .bookcase-list ul li .metadata-wrap .description:has(label[data-tab=fulltext] input:checked) .text-wrap .content-description {
  display: none;
}
body main .result-content .result-wrap .bookcase-list ul li .metadata-wrap .description:has(label[data-tab=fulltext] input:checked) .text-wrap .content-fulltext {
  display: block;
}
body main .result-content .result-wrap .bookcase-list ul li:has(.metadata-wrap .description .btn-more input[type=checkbox]:checked) {
  min-height: 100dvh;
}
body main .result-content .result-wrap .bookcase-list ul li:has(.metadata-wrap .description .btn-more input[type=checkbox]:checked) .metadata-wrap .control-wrap {
  transform: translateY(64px);
}

html:has(.loading-wrap.active) {
  overflow-y: hidden;
}
html:has(.loader-wrap.active) {
  overflow-y: hidden;
}

body:is(.logined) .member-ip p span.ip {
  display: none;
}
body:is(.logined) .member-ip p span.id {
  display: block;
}
body:is(.logined) main .books-module .cover span.favorite input {
  z-index: 1;
}
body:has(.member-ip.hide) main.detail .detail-content .metadata-wrap .control-wrap {
  bottom: 0;
}
@media screen and (min-width: 1025px) {
  body:has(header.header-hide) main.result .result-content aside {
    top: 0 !important;
    height: 100dvh !important;
  }
  body:has(header.header-hide) main.overview .result-content aside {
    height: max-content !important;
  }
}