@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;600;700&display=swap');
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

.clearfix {
  content: "";
  clear: both;
  display: table;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  outline: none;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/* ============================================================
   [TechSophy] INTEGRATED CSS v3.0 — 칠판 그린 테마
   ============================================================ */

:root {
  --ts-font-body: 'Pretendard', -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --ts-font-heading: 'Noto Serif KR', 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  
  --ts-color-text: #1a1a1a;
  --ts-color-text-secondary: #4a4a4a;
  --ts-color-text-muted: #6b6b6b;
  --ts-color-text-hint: #999;
  --ts-color-accent: #2c6e49;
  --ts-color-accent-hover: #1e5638;
  --ts-color-accent-light: #eef6f1;
  --ts-color-border: #e2e5e0;
  --ts-color-border-light: #f0f2ee;
  --ts-color-bg: #fff;
  --ts-color-bg-secondary: #f7f8f6;
  --ts-color-bg-hover: #f0f2ee;
  --ts-color-category-active: #2c6e49;
  
  --ts-content-width: 720px;
  --ts-sidebar-width: 280px;
  --ts-max-width: 1200px;
  
  --ts-radius-sm: 6px;
  --ts-radius-md: 10px;
  --ts-radius-lg: 14px;
  
  --ts-shadow-card: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
  --ts-shadow-hover: 0 4px 12px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.03);
  --ts-transition: 0.2s ease;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  display: block;
}

body {
  font-family: var(--ts-font-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--ts-color-text);
  font-size: 16px;
  line-height: 1.7;
}

.blind {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  width: 1px;
  height: 1px;
}

html, body {
  position: relative;
  height: 100%;
  -webkit-text-size-adjust: 100%;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

#wrap {
  position: relative;
  overflow: clip;
}

/* =========================
   Header
   ========================= */
.header {
  position: relative;
  width: 100%;
  border-bottom: 1px solid var(--ts-color-border);
  z-index: 10;
  transition: top 0.2s ease-in-out;
  background: var(--ts-color-bg);
}

.header .inner-header {
  position: relative;
  max-width: var(--ts-max-width);
  margin: 0 auto;
  padding: 0 24px;
}

.header .title-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 24px 0;
}

.header .link_logo {
  display: block;
  max-width: 240px;
  font-size: 20px;
  font-weight: 700;
  color: var(--ts-color-text);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  min-height: 24px;
  letter-spacing: -0.3px;
}

.header .link_logo img {
  max-height: 20px;
}

.header .box-log {
  position: absolute;
  top: -1px;
  right: 0;
}

.header .button-menu {
  display: none;
  position: absolute;
  top: 21px;
  right: 80px;
  padding: 10px;
  border: none;
  background: none;
  cursor: pointer;
  opacity: 1;
}

.header .button-menu:hover {
  opacity: .7;
  transition: var(--ts-transition);
}

.header .area-slogun {
  padding-top: 28px;
  padding-bottom: 32px;
}

.header .area-slogun strong {
  margin-bottom: 8px;
  font-size: 32px;
  font-weight: 700;
  font-family: var(--ts-font-heading);
  letter-spacing: -0.5px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-height: 82px;
  overflow: hidden;
  white-space: normal;
  word-break: keep-all;
  line-height: 1.2;
}

.header .area-slogun p {
  width: 500px;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ts-color-text-muted);
  word-break: keep-all;
}

.header .area-gnb .topnavnone {
  display: none;
}

.header .tt_category {
  margin: 0;
  padding: 0;
}

.header .tt_category ul {
  padding: 0;
  list-style: none;
}

.header .tt_category li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.header .tt_category .link_tit {
  display: none;
}

.header .tt_category .category_list,
.header .topnavmenu>ul {
  font-size: 0;
  text-align: left;
  margin: 0;
  margin-bottom: -3px;
  padding: 0;
  list-style: none;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.header .tt_category .category_list li,
.header .topnavmenu>ul>li {
  display: inline-block;
  margin-right: 36px;
}

.header .tt_category .category_list li:last-child,
.header .topnavmenu>ul>li:last-child {
  margin-right: 0;
}

.header .tt_category .category_list .link_item,
.header .topnavmenu>ul>li>a {
  position: relative;
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: var(--ts-color-text-secondary) !important;
  text-decoration: none;
  white-space: nowrap;
  z-index: 2;
  transition: color var(--ts-transition);
}

.header .tt_category .category_list .link_item:hover,
.header .topnavmenu>ul>li>a:hover {
  color: var(--ts-color-accent) !important;
}

.header .tt_category .category_list .c_cnt {
  display: none;
}

.header .topnavmenu .tt_category {
  display: none;
}

.header .topnavmenu>ul {
  margin: 0;
}

.header .slogun-use .area-slogun:before, .header .slogun-use nav:before {
  border-top: none !important;
}

.header .slogun-use .tt_category .category_list,
.header .slogun-use .topnavmenu>ul {
  margin-top: -1px;
  padding-top: 0;
}

/* PC Navigation — Subcategory dropdown */
@media screen and (min-width: 1061px) {
  .header .category_list li:hover .sub_category_list {
    display: flex;
  }

  .header .tt_category .category_list .sub_category_list {
    position: absolute;
    display: none;
    top: 258px;
    left: 0;
    width: 100%;
    height: 94px;
    padding-top: 36px;
    font-size: 13px;
    color: var(--ts-color-text);
    z-index: 100;
  }

  .header .tt_category .category_list .sub_category_list:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 94px;
    margin-left: -50vw;
    border-top: 1px solid var(--ts-color-border);
    background: var(--ts-color-bg);
    z-index: -1;
  }

  .header .link_sub_item {
    font-size: 13px;
    text-decoration: none;
    color: var(--ts-color-text);
  }

  .header .link_sub_item:hover {
    text-decoration: underline;
    color: var(--ts-color-accent);
  }

  .wrap-right .header .category_list>li,
  .wrap-right .header .t_menu_home,
  .wrap-right .header .t_menu_guestbook,
  .wrap-right .header .t_menu_tag,
  .wrap-right .header .t_menu_link_1,
  .wrap-right .header .t_menu_category {
    padding: 28px 0;
  }

  .wrap-drawer .header .tt_category .category_list .sub_category_list {
    top: 49px;
  }

  #tt-body-tag.headerslogundisplayon .wrap-right .sub_category_list,
  #tt-body-archive.headerslogundisplayon .wrap-right .sub_category_list,
  #tt-body-category.headerslogundisplayon .wrap-right .sub_category_list,
  #tt-body-search.headerslogundisplayon .wrap-right .sub_category_list,
  #tt-body-guestbook.headerslogundisplayon .wrap-right .sub_category_list {
    top: 263px;
  }

  #tt-body-page .wrap-right .sub_category_list {
    top: 103px;
  }

  .header .tt_category .category_list>li:hover>a:after,
  .header .topnavmenu>ul>li:hover>a:after {
    content: '';
    position: absolute;
    top: 16px;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 3px;
    background: var(--ts-color-accent);
    border-radius: 3px 3px 0 0;
    z-index: 1;
  }

  .wrap-drawer .header .tt_category .category_list .link_item,
  .wrap-drawer .header .topnavmenu>ul>li>a {
    padding-bottom: 40px;
  }
}

/* =========================
   Footer
   ========================= */
#footer {
  margin-top: 80px;
  padding: 32px 0 48px 0;
  border-top: 1px solid var(--ts-color-border);
}

#footer .inner-footer {
  position: relative;
  max-width: var(--ts-max-width);
  margin: 0 auto;
  padding: 0 24px;
}

#footer .box-policy {
  margin-bottom: 28px;
}

#footer .link-footer {
  position: relative;
  display: inline-block;
  margin-right: 17px;
  font-size: 13px;
  text-decoration: none;
  color: var(--ts-color-text-secondary);
  white-space: nowrap;
}

#footer .link-footer:hover {
  text-decoration: underline;
  color: var(--ts-color-accent);
}

#footer .link-footer:before {
  content: '';
  position: absolute;
  top: 7px;
  left: -13px;
  width: 2px;
  height: 2px;
  background: var(--ts-color-text-hint);
  border-radius: 2px;
}

#footer .link-footer:first-child:before {
  width: 0;
}

#footer .text-info,
#footer address {
  font-size: 13px;
  color: var(--ts-color-text-hint);
}

#footer .text-info {
  margin: 0 0 9px 0;
  line-height: 1.5;
  padding-top: 2px;
}

#footer address {
  font-style: normal;
}

#footer .box-site {
  position: absolute;
  top: -5px;
  right: 24px;
}

#footer .box-site button {
  position: relative;
  width: 140px;
  height: 32px;
  padding-left: 12px;
  background: url(./images/icon-more.svg) no-repeat 116px center;
  border: 1px solid var(--ts-color-border);
  border-radius: var(--ts-radius-sm);
  font-size: 13px;
  text-align: left;
  color: var(--ts-color-text-hint);
  cursor: pointer;
}

#footer .box-site button.on {
  background: url(./images/icon-close.svg) no-repeat 116px center;
}

#footer .box-site ul {
  position: absolute;
  bottom: 31px;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background: var(--ts-color-bg);
  border: 1px solid var(--ts-color-border);
  border-radius: var(--ts-radius-sm);
  font-size: 13px;
  line-height: 32px;
  list-style: none;
  opacity: 0;
  overflow: hidden;
}

#footer .box-site ul li {
  margin: 0;
  padding-left: 13px;
}

#footer .box-site ul li a {
  display: block;
  background: var(--ts-color-bg);
  color: var(--ts-color-text-hint);
  text-decoration: none;
}

#footer .box-site ul li a:hover {
  color: var(--ts-color-text);
}

#footer .box-site ul.on {
  opacity: 1;
  transition: opacity var(--ts-transition);
}

/* =========================
   Promotion / Banner
   ========================= */
.area-promotion {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background-size: cover;
  background-position: 50% 50%;
  z-index: 11;
}

.area-promotion:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.35);
  z-index: 1;
}

.area-promotion .inner-promotion {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: var(--ts-max-width);
  height: 100%;
  margin: 0 auto;
  z-index: 2;
}

.area-promotion .inner-promotion strong {
  display: block;
  word-break: keep-all;
  width: 760px;
  font-size: 44px;
  font-weight: 700;
  font-family: var(--ts-font-heading);
  line-height: 1.15;
  color: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
  letter-spacing: -0.5px;
}

.area-promotion .inner-promotion .link-promotion {
  display: block;
  width: 160px;
  height: 42px;
  border-radius: 42px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  line-height: 42px;
  color: #fff;
  background: rgba(255,255,255,0.2);
  backdrop-filter: blur(4px);
  margin-top: 28px;
  transition: background var(--ts-transition);
}

.area-promotion .inner-promotion .link-promotion:hover {
  background: rgba(255,255,255,0.3);
}

.area-promotion .box-promotion {
  margin-top: -4px;
}

@media screen and (min-width: 1061px) {
  .area-promotion.height200 { height: 200px; }
  .area-promotion.height300 { height: 300px; }
  .area-promotion.height400 { height: 400px; }
  .area-promotion.height500 { height: 500px; }
}

@media screen and (max-width: 1061px) {
  .area-promotion {
    height: 300px;
  }
  .area-promotion .inner-promotion {
    position: relative;
    padding: 0 24px;
  }
  .area-promotion .inner-promotion .box-promotion {
    position: absolute;
    bottom: 36px;
  }
  .area-promotion .inner-promotion strong {
    width: 280px;
    font-size: 28px;
    line-height: 1.2;
    -webkit-line-clamp: 3;
  }
  .area-promotion .inner-promotion .link-promotion {
    width: 120px;
    height: 32px;
    font-size: 13px;
    line-height: 32px;
    margin-top: 20px;
  }
}

/* =========================
   Container & Main Layout
   ========================= */
#container {
  position: relative;
  margin-top: 60px;
}

.main {
  width: 100%;
  max-width: var(--ts-max-width);
  margin: 0 auto;
  padding: 0 24px;
}

.area-main {
  flex: 1;
  min-width: 0;
  max-width: 760px;
}

@media screen and (max-width: 1061px) {
  #container {
    margin-top: 0;
  }
  .area-main {
    flex: none;
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
  }
}

/* =========================
   ARTICLE CARDS
   ========================= */
.article-type-common {
  width: 100%;
}

.article-type-common .thumbnail {
  margin: 0;
  background-image: url(./images/no-image.jpg);
  background-size: cover;
  background-position: 50% 50%;
  border-radius: var(--ts-radius-md);
}

.article-type-common .thumbnail .img-thumbnail {
  display: none;
}

.article-type-common .link-article {
  text-decoration: none;
}

.article-type-common .title {
  display: block;
  max-height: 60px;
  margin-bottom: 10px;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  overflow: hidden;
  color: var(--ts-color-text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
  letter-spacing: -0.3px;
  transition: color var(--ts-transition);
}

.article-type-common .summary {
  margin: 0 0 12px 0;
  color: var(--ts-color-text-secondary);
  font-size: 14.5px;
  line-height: 1.65;
}

.article-type-common .link-category {
  margin-right: 12px;
  font-size: 12px;
  line-height: 1.67;
  color: var(--ts-color-accent);
  text-decoration: none;
  font-weight: 500;
}

.article-type-common .link-category:hover {
  text-decoration: underline;
}

.article-type-common .date {
  position: relative;
  margin-right: 15px;
  font-size: 12px;
  line-height: 1.67;
  color: var(--ts-color-text-hint);
}

.article-type-common .date:before {
  content: '';
  position: absolute;
  top: 9px;
  left: -10px;
  width: 2px;
  height: 2px;
  background: var(--ts-color-text-hint);
  border-radius: 2px;
}

.article-type-common .reply {
  position: relative;
  padding-left: 19px;
  background: url(./images/icon-reply.svg) no-repeat left center;
  font-size: 12px;
  line-height: 1.67;
  color: var(--ts-color-text-hint);
}

.article-type-common .reply:before {
  content: '';
  position: absolute;
  top: 9px;
  left: -10px;
  width: 2px;
  height: 2px;
  background: var(--ts-color-text-hint);
  border-radius: 2px;
}

.article-type-common:hover .title {
  color: var(--ts-color-accent);
  text-decoration: none;
}

.box-cover-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.box-cover-title .link-title {
  position: relative;
  padding-right: 10px;
  padding-bottom: 16px;
  font-size: 13px;
  text-decoration: none;
  color: var(--ts-color-text-hint);
  line-height: 14px;
}

.box-cover-title .link-title:after {
  content: '';
  position: absolute;
  top: 6.3px;
  right: 2px;
  width: 5px;
  height: 5px;
  border-top: 1px solid var(--ts-color-text-hint);
  border-left: 1px solid var(--ts-color-text-hint);
  transform: rotate(135deg);
}

.area-cover-thumbnail .box-cover-title {
  border-bottom: 1px solid var(--ts-color-border);
  margin-bottom: 24px;
}

/* Article Type: Crop */
.article-type-crop {
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--ts-color-border-light);
}

.article-type-crop:last-child {
  border-bottom: none;
}

.article-type-crop .thumbnail {
  height: 420px;
  margin-bottom: 20px;
  border-radius: var(--ts-radius-lg);
  overflow: hidden;
  transition: transform var(--ts-transition);
}

.article-type-crop:hover .thumbnail {
  transform: scale(1.01);
}

.article-type-crop .link-article {
  display: block;
}

.article-type-crop .title {
  height: auto;
  max-height: 62px;
  margin-top: 0;
  -webkit-line-clamp: 2;
  font-size: 24px;
}

.article-type- .title>img,
.article-type-thumbnail .title>img,
.article-type-resize .title>img,
.article-type-poster .title>img,
.article-type-crop .title>img {
  width: 15px !important;
}

.article-type-crop .summary {
  max-height: 72px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  -webkit-line-clamp: 3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  word-break: break-word;
  color: var(--ts-color-text-secondary);
}

@media screen and (max-width: 1060px) {
  .article-type-crop {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }
  .article-type-crop .thumbnail {
    height: auto;
    padding-top: 56%;
  }
  .article-type-crop .title {
    font-size: 20px;
    margin-bottom: 8px;
  }
  .article-type-crop .summary {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* Article Type: Resize */
.article-type-resize {
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--ts-color-border-light);
}

.article-type-resize:last-child {
  border-bottom: none;
}

.article-type-resize .thumbnail {
  margin-bottom: 20px;
  padding-top: 0;
  background: none;
  border-radius: var(--ts-radius-lg);
  overflow: hidden;
}

.article-type-resize .thumbnail .img-thumbnail {
  display: block;
  width: 100%;
  height: auto;
}

.article-type-resize .title {
  height: auto;
  max-height: 62px;
  -webkit-line-clamp: 2;
}

.article-type-resize .summary {
  max-height: 72px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  -webkit-line-clamp: 3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  word-break: break-word;
  color: var(--ts-color-text-secondary);
}

@media screen and (max-width: 1060px) {
  .article-type-resize {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }
  .article-type-resize .summary {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* Article Type: Thumbnail (list view) */
.article-type-,
.article-type-thumbnail {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 20px;
  border: 1px solid var(--ts-color-border-light);
  border-radius: var(--ts-radius-md);
  transition: border-color var(--ts-transition), box-shadow var(--ts-transition);
}

.article-type-:hover,
.article-type-thumbnail:hover {
  border-color: var(--ts-color-border);
  box-shadow: var(--ts-shadow-card);
}

.article-type- .thumbnail,
.article-type-thumbnail .thumbnail {
  width: 140px;
  height: 100px;
  margin-left: 24px;
  border-radius: var(--ts-radius-sm);
  flex-shrink: 0;
}

.article-type- .article-content,
.article-type-thumbnail .article-content {
  width: 100%;
  padding-top: 0;
}

.article-type- .title,
.article-type-thumbnail .title {
  word-break: break-all;
  margin-bottom: 6px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  max-height: 52px;
}

.article-type- .summary,
.article-type-thumbnail .summary {
  max-width: 100%;
  max-height: 42px;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  -webkit-line-clamp: 2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  word-break: break-word;
  color: var(--ts-color-text-secondary);
}

.article-type- .reply,
.article-type-thumbnail .reply {
  display: none;
}

.article-type-:hover .title,
.article-type-thumbnail:hover .title {
  text-decoration: none;
}

@media screen and (max-width: 1060px) {
  .article-type-,
  .article-type-thumbnail {
    margin-bottom: 12px;
    padding: 16px;
  }
  .article-type- .thumbnail,
  .article-type-thumbnail .thumbnail {
    width: 80px;
    height: 80px;
    margin-left: 16px;
  }
  .article-type- .article-content,
  .article-type-thumbnail .article-content {
    padding-top: 0;
  }
  .article-type- .title,
  .article-type-thumbnail .title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
  }
  .article-type- .summary,
  .article-type-thumbnail .summary {
    margin-bottom: 4px;
    font-size: 13px;
    line-height: 1.45;
  }
}

/* Article Type: Poster (grid) */
.article-type-poster {
  display: inline-block;
  width: 33%;
  margin-right: 16px;
  margin-bottom: 28px;
  vertical-align: top;
}

.article-type-poster .thumbnail {
  position: relative;
  margin-bottom: 12px;
  padding-top: 130%;
  border-radius: var(--ts-radius-md);
  overflow: hidden;
}

.article-type-poster .thumbnail:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.03);
  border-radius: var(--ts-radius-md);
}

.article-type-poster .title {
  width: 95%;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  white-space: initial;
  word-break: keep-all;
}

.article-type-poster .date:before {
  position: relative;
}

.article-type-poster .summary,
.article-type-poster .link-category,
.article-type-poster .reply {
  display: none;
}

@media screen and (min-width: 1061px) {
  .article-type-poster {
    max-width: 200px;
  }
  .wrap-right .area-cover>.article-type-poster:nth-child(3n),
  .wrap-right .area-view>.article-type-poster:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 761px) and (max-width: 1060px) {
  .article-type-poster {
    width: calc(33.3% - 13px);
  }
  .article-type-poster:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 760px) {
  .article-type-poster {
    width: calc(50% - 5px);
    max-width: initial;
    margin-right: 6px;
  }
  .article-type-poster:nth-of-type(2n) {
    margin-right: 0;
  }
}

.box-cover-poster {
  margin-bottom: -40px;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 1061px) {
  .box-cover-poster {
    white-space: inherit;
  }
}

@media screen and (max-width: 850px) {
  .box-cover-poster .article-type-poster {
    width: 190px;
    margin-right: 6px;
  }
  .box-cover-poster .article-type-poster .thumbnail {
    width: 190px;
    height: 250px;
    padding-top: 0;
  }
}

/* Article Type: Text */
.article-type-text {
  margin-bottom: 8px;
}

.article-type-text .thumbnail {
  display: none;
}

.article-type-text .title {
  height: auto;
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.6;
  text-overflow: ellipsis;
  white-space: normal;
  overflow: hidden;
  font-weight: 400;
}

.article-type-text .date:before {
  position: relative;
}

.article-type-text .summary,
.article-type-text .link-category,
.article-type-text .reply {
  display: none;
}

/* Cover Sections */
.area-cover {
  margin-bottom: 48px;
}

.area-cover:last-of-type {
  margin-bottom: 0;
}

.area-cover .title-cover {
  margin: 0;
  padding: 0 0 14px 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--ts-color-text);
  letter-spacing: -0.2px;
  border-bottom: 2px solid var(--ts-color-text);
}

.area-cover .button-more {
  display: none;
  width: 100%;
  height: 42px;
  background: none;
  border: 1px solid var(--ts-color-border);
  border-radius: var(--ts-radius-sm);
  font-size: 13px;
  color: var(--ts-color-text-muted);
  text-align: center;
  cursor: pointer;
  outline: none;
  transition: all var(--ts-transition);
}

.area-cover .button-more:hover {
  border-color: var(--ts-color-text-secondary);
  color: var(--ts-color-text);
}

.area-cover .article-type-crop:nth-child(n+4) {
  display: none;
}

.area-cover .article-type-resize:nth-child(n+4) {
  display: none;
}

.category-list {
  display: none;
}

@media screen and (max-width: 1060px) {
  .area-cover {
    margin-bottom: 36px;
  }
  .area-cover .title-cover {
    font-size: 14px;
    font-weight: 600;
    padding: 0 0 11px 0;
  }
  .title-search {
    margin: 10px 0 10px 0;
  }
  .title-search.title-border {
    margin-bottom: 19px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--ts-color-border);
    margin-top: 0;
  }
}

/* =========================
   SIDEBAR
   ========================= */
.area-aside {
  width: var(--ts-sidebar-width);
}

.area-aside>div {
  margin-bottom: 36px;
}

.area-aside ul {
  margin: 0;
  padding: 0;
}

.area-aside li {
  list-style: none;
  padding: 0;
}

.area-aside .item-sidebar {
  margin-bottom: 6px;
}

.area-aside .link-sidebar {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ts-color-text-secondary);
  text-decoration: none;
  transition: color var(--ts-transition);
}

.area-aside .link-sidebar:hover {
  color: var(--ts-color-accent);
}

.area-aside .link-sidebar span {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ts-color-text-hint);
}

.area-aside .title-sidebar {
  display: block;
  margin: 0 0 10px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  color: var(--ts-color-text);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 2px solid var(--ts-color-text);
  padding-bottom: 9px;
}

/* Profile box */
.area-aside .box-profile {
  position: relative;
  margin-bottom: 36px;
  border: 1px solid var(--ts-color-border);
  border-radius: var(--ts-radius-lg);
  text-align: center;
  overflow: hidden;
}

.area-aside .box-profile .img-profile {
  width: 120px;
  height: 120px;
  margin: 36px 0 12px 0;
  border-radius: 120px;
}

.area-aside .box-profile .text-profile {
  max-width: 200px;
  margin: 0 auto 28px auto;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ts-color-text-secondary);
  word-wrap: break-word;
}

.area-aside .box-profile .button-subscription {
  width: 84px;
  height: 30px;
  margin: 0 auto 24px auto;
  background: none;
  border: 1px solid var(--ts-color-border);
  border-radius: 50px;
  font-size: 13px;
  color: var(--ts-color-text);
  cursor: pointer;
  transition: all var(--ts-transition);
}

.area-aside .box-profile .button-subscription:hover {
  border-color: var(--ts-color-accent);
  color: var(--ts-color-accent);
}

.area-aside .box-profile .box-sns {
  font-size: 0;
  text-align: center;
  margin-bottom: 32px;
  margin-top: 24px;
}

.area-aside .box-profile .link-sns {
  display: inline-block;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid var(--ts-color-border);
  border-radius: 36px;
  vertical-align: top;
  transition: border-color var(--ts-transition);
}

.area-aside .box-profile .link-sns:hover {
  border-color: var(--ts-color-accent);
}

.area-aside .box-profile .link-sns:last-child {
  margin-right: 0;
}

.area-aside .box-profile .link-facebook { line-height: 48px; }
.area-aside .box-profile .link-youtube { line-height: 44px; }
.area-aside .box-profile .link-insta { line-height: 49px; }
.area-aside .box-profile .link-twitter { line-height: 46px; }

/* Profile invert */
.area-aside .box-profile-invert {
  border: none;
  border-radius: var(--ts-radius-lg);
  background-size: cover;
  background-position: 50% 50%;
}

.area-aside .box-profile-invert:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
  border-radius: var(--ts-radius-lg);
}

.area-aside .box-profile-invert .inner-box {
  position: relative;
  height: 100%;
  z-index: 2;
}

.area-aside .box-profile-invert .text-profile { color: #fff; }
.area-aside .box-profile-invert .button-subscription { color: #fff; }
.area-aside .box-profile-invert .link-sns { border: 1px solid rgba(255, 255, 255, 0.7); }
.area-aside .box-profile-invert .svg path { fill: #fff !important; }

/* Category sidebar */
.area-aside .box-category {
  margin-bottom: 32px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--ts-color-border);
}

.area-aside .box-category .tt_category a {
  display: block;
  text-decoration: none;
}

.area-aside .box-category .tt_category .c_cnt {
  display: inline-block;
  font-size: 11px;
  color: var(--ts-color-text-hint);
  vertical-align: 1px;
  margin-left: 4px;
}

.area-aside .box-category .tt_category .link_tit,
.area-aside .box-category .tt_category .category_list .link_item {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  color: var(--ts-color-text);
  padding: 4px 8px;
  border-radius: var(--ts-radius-sm);
  transition: all var(--ts-transition);
}

.area-aside .box-category .tt_category .link_tit {
  display: block;
  padding-bottom: 9px;
  margin-bottom: 8px;
  border-bottom: 2px solid var(--ts-color-text);
}

.area-aside .box-category .tt_category .link_tit:hover,
.area-aside .box-category .tt_category .category_list .link_item:hover {
  font-weight: 500;
  color: var(--ts-color-accent) !important;
  background: var(--ts-color-accent-light);
  text-decoration: none;
}

.area-aside .box-category .tt_category .category_list .link_sub_item.selected,
.area-aside .box-category .tt_category .category_list .link_item.selected {
  font-weight: 600;
  color: var(--ts-color-accent);
  background: var(--ts-color-accent-light);
}

.area-aside .box-category .tt_category .category_list .link_sub_item {
  position: relative;
  display: none;
  margin-bottom: 2px;
  margin-left: 16px;
  font-size: 13px;
  line-height: normal;
  color: var(--ts-color-text-muted);
  padding: 3px 8px;
  border-radius: var(--ts-radius-sm);
  transition: all var(--ts-transition);
}

.area-aside .box-category .tt_category .category_list .link_sub_item:before {
  content: '';
  position: absolute;
  top: 12px;
  left: -8px;
  width: 6px;
  height: 1px;
  background: var(--ts-color-text-hint);
}

.area-aside .box-category .tt_category .category_list .link_sub_item:hover {
  font-weight: 500;
  color: var(--ts-color-accent);
  background: var(--ts-color-accent-light);
}

.area-aside .box-category .tt_category .category_list .sub_category_list li:last-child a {
  margin-bottom: 8px;
}

.area-aside .box-category-2depth .tt_category .category_list .link_sub_item {
  display: block;
}

.area-aside .sub_category_list {
  margin-top: -2px;
  margin-bottom: 8px;
}

/* Sidebar: Tags */
.area-aside .box-tag a {
  position: relative;
  display: inline-block;
  max-width: 280px;
  margin-right: 4px;
  margin-bottom: 6px;
  padding: 2px 10px;
  font-size: 13px;
  line-height: 1.7;
  text-decoration: none;
  text-overflow: ellipsis;
  color: var(--ts-color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  background: var(--ts-color-bg-secondary);
  border-radius: var(--ts-radius-sm);
  transition: all var(--ts-transition);
}

.area-aside .box-tag a:hover {
  background: var(--ts-color-accent-light);
  color: var(--ts-color-accent);
}

.area-aside .box-tag a:last-child:after {
  content: '';
  position: absolute;
  top: 14px;
  right: -2px;
  width: 5px;
  height: 5px;
  background: var(--ts-color-bg);
}

/* Sidebar: Recent posts */
.area-aside .box-recent .tab-recent {
  display: flex;
  margin-bottom: 12px;
}

.area-aside .box-recent .tab-recent li {
  position: relative;
  margin-right: 20px;
}

.area-aside .box-recent .tab-recent li span {
  display: block;
}

.area-aside .box-recent .tab-recent li:last-child {
  margin-right: 0;
}

.area-aside .box-recent .tab-recent li:last-child:before {
  content: '';
  position: absolute;
  top: 9px;
  left: -10px;
  width: 2px;
  height: 10px;
  background: url(./images/bullet-tab.svg) no-repeat;
}

.area-aside .box-recent .tab-recent li.on a {
  color: var(--ts-color-text);
  font-weight: 600;
}

.area-aside .box-recent .tab-recent li a {
  display: block;
  font-size: 14px;
  line-height: 1.64;
  color: var(--ts-color-text-hint);
  text-decoration: none;
}

.area-aside .box-recent .list-recent li {
  margin-bottom: 16px;
}

.area-aside .box-recent .list-recent li:last-child {
  margin-bottom: 0;
}

.area-aside .box-recent .list-recent .link-recent {
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
  text-decoration: none;
}

.area-aside .box-recent .list-recent .thumbnail {
  width: 56px;
  height: 56px;
  margin: 0 12px 0 0;
  background-size: cover;
  background-position: 50% 50%;
  border-radius: var(--ts-radius-sm);
  flex-shrink: 0;
}

.area-aside .box-recent .list-recent .thumbnail+.box-recent {
  width: 70%;
}

.area-aside .box-recent .list-recent .box-recent {
  width: 100%;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ts-color-text);
}

.area-aside .box-recent .list-recent .box-recent strong {
  display: block;
  margin-bottom: 2px;
  font-weight: 400;
}

.area-aside .box-recent .list-recent .box-recent span {
  color: var(--ts-color-text-hint);
}

@media screen and (max-width: 1061px) {
  .area-aside .box-recent .list-recent .box-recent strong {
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
    overflow: hidden;
  }
  .box-notice .link-sidebar a,
  .box-reply .link-sidebar strong {
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: break-all;
    overflow: hidden;
  }
}

/* Sidebar: Plugins, Calendar, Visit, Search */
.area-aside .box-plugins {
  padding-bottom: 36px;
  border-bottom: 1px solid var(--ts-color-border);
}

.area-aside .box-plugins .tab-sns { display: flex; margin-bottom: 12px; }
.area-aside .box-plugins .tab-sns li { position: relative; margin-right: 20px; }
.area-aside .box-plugins .tab-sns li span { display: block; }
.area-aside .box-plugins .tab-sns li:last-child { margin-right: 0; }
.area-aside .box-plugins .tab-sns li:last-child:before { content: ''; position: absolute; top: 9px; left: -10px; width: 2px; height: 10px; background: url(./images/bullet-tab.svg) no-repeat; }
.area-aside .box-plugins .tab-sns li.on a { color: var(--ts-color-text); font-weight: 600; }
.area-aside .box-plugins .tab-sns li a { display: block; font-size: 14px; line-height: 1.64; color: var(--ts-color-text-hint); text-decoration: none; }
.area-aside .box-plugins .plugin-facebook { max-height: 410px; overflow: hidden; }
.area-aside .box-plugins .plugin-twitter { max-height: 410px; overflow: auto; }

.area-aside .box-calendar .inner-calendar { padding: 20px 24px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-md); font-size: 13px; }
.area-aside .box-calendar .inner-calendar table caption a { display: inline-block; margin-bottom: 12px; font-size: 14px; line-height: 1.57; color: var(--ts-color-text); text-decoration: none; }
.area-aside .box-calendar .inner-calendar table th,
.area-aside .box-calendar .inner-calendar table td { font-weight: 400; line-height: 1.81; color: var(--ts-color-text-hint); text-align: center; }
.area-aside .box-calendar .inner-calendar table th { margin-bottom: 10px; }

.area-aside .box-visit .text-total { margin: -10px 0 3px 0; line-height: 1.64; font-size: 24px; font-weight: 700; color: var(--ts-color-text); }
.area-aside .box-visit .item-visit { font-size: 13px; line-height: 1.71; color: var(--ts-color-text-hint); }

.area-aside .box-search { width: 100%; margin-top: -3px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-md); padding: 8px 12px; transition: border-color var(--ts-transition); }
.area-aside .box-search:focus-within { border-color: var(--ts-color-accent); }
.area-aside .box-search .inp-search { display: inline-block; width: calc(100% - 34px); padding: 4px 0; border: none; font-size: 14px; color: var(--ts-color-text); background: transparent; }
.area-aside .box-search .inp-search::placeholder { color: var(--ts-color-text-hint); }
.area-aside .box-search .button-search { display: inline-block; width: 24px; height: 20px; background: url(./images/icon-search.svg) no-repeat center; border: none; cursor: pointer; opacity: 0.5; transition: opacity var(--ts-transition); }
.area-aside .box-search .button-search:hover { opacity: 1; }

.area-aside .box-log { display: none; }

/* Reply sidebar */
.box-reply .list-sidebar li { margin-bottom: 8px; }
.box-reply .link-sidebar strong { font-size: 13px; font-weight: 400; line-height: 1.54; }
.box-reply .list-sidebar p { margin: 0; font-size: 12px; color: var(--ts-color-text-hint); }
.box-notice .list-sidebar li { margin-bottom: 8px; }
.box-calendar .cal_click { font-weight: 700; color: var(--ts-color-text); }

.area-aside .box-calendar .inner-calendar .cal_month { position: relative; margin-bottom: -6px; }
.area-aside .box-calendar .inner-calendar .cal_month a { font-size: 15px; font-weight: 600; color: var(--ts-color-text); }
.area-aside .box-calendar .inner-calendar .cal_month a:first-child:before { content: '〈'; position: absolute; top: -3px; left: 60px; width: 30px; height: 24px; background-color: transparent; font-size: 12px; padding-top: 5px; }
.area-aside .box-calendar .inner-calendar .cal_month a:last-child:before { content: '〉'; position: absolute; top: -3px; right: 60px; width: 34px; height: 24px; background-color: transparent; font-size: 12px; padding-top: 5px; }
.area-aside .box-calendar .inner-calendar thead tr th { padding-bottom: 8px; }

/* Sidebar: Mobile drawer */
@media screen and (max-width: 1060px) {
  .area-aside { position: fixed; top: 0; right: -100%; width: calc(100% - 80px); max-width: 360px; height: 100%; padding: 0 24px; border-left: 1px solid var(--ts-color-border); background: var(--ts-color-bg); overflow-x: hidden; overflow-y: auto; z-index: 20; }
  .area-aside .box-profile { width: 100%; border-radius: 0; border-left: none; border-right: none; }
  .area-aside .box-profile .img-profile { width: 80px; height: 80px; }
  .area-aside .box-profile .link-sns { width: 30px; height: 30px; }
  .area-aside .box-profile .link-facebook { line-height: 43px; }
  .area-aside .box-profile .link-facebook .svg { width: 12px; height: 14px; }
  .area-aside .box-profile .link-youtube { line-height: 40px; }
  .area-aside .box-profile .link-youtube .svg { width: 14px; height: 11px; }
  .area-aside .box-profile .link-insta { line-height: 42px; }
  .area-aside .box-profile .link-insta .svg { width: 14px; height: 14px; }
  .area-aside .box-profile .link-twitter { line-height: 42px; }
  .area-aside .box-profile .link-twitter .svg { width: 14px; height: 11px; }
  .area-aside .box-profile-invert { position: relative; margin: 0 -40px 40px -41px; z-index: 21; width: auto; }
  .area-aside .box-log { display: table; margin-top: 48px; text-align: center; }
  .area-aside .box-tag a { max-width: 100%; }
  .area-aside-on { right: 0; transition: .2s ease-out; }
  .area-aside .box-profile .text-profile { margin-bottom: 20px; }
}

.bg-dimmed:before { content: ''; position: absolute; top: 0; left: 50%; width: 100vw; height: 100vh; margin-left: -50vw; background: rgba(255, 255, 255, 0.85); z-index: 19; }

/* Box Log */
.box-log a { display: inline-block; margin-right: 12px; font-size: 13px; text-decoration: none; color: var(--ts-color-text-muted); float: left; }
.box-log .last { margin-right: 0; }
.box-log .link-log { position: relative; margin-left: 25px; margin-right: 0; }
.box-log .link-log:before { content: ''; position: absolute; top: 1px; left: -15px; width: 1px; height: 12px; background: var(--ts-color-border); }

/* Tags page */
.area-tag { min-height: 350px; }
.area-tag .title-other { margin: 0 0 14px 0; font-size: 14px; font-weight: 600; color: var(--ts-color-text); }
.area-tag .box-tag a { display: inline-block; max-width: 100%; margin: 0 8px 8px 0; padding: 4px 12px; font-size: 14px; font-weight: 400; line-height: 1.57; color: var(--ts-color-text-secondary); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; background: var(--ts-color-bg-secondary); border-radius: 20px; transition: all var(--ts-transition); }
.area-tag .box-tag a:hover { color: var(--ts-color-accent); background: var(--ts-color-accent-light); }

/* Article Detail Page — Header */
.article-header { position: absolute; top: 0; left: 50%; width: 100vw; height: 400px; margin-left: -50vw; padding: 0 24px; background-size: cover; background-position: 50% 50%; }
.article-header:before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.6)); z-index: 1; }
.article-header .inner-header { max-width: var(--ts-max-width); margin: 0 auto; color: #fff; }
.article-header .box-meta { position: absolute; bottom: 48px; width: 100%; max-width: 720px; z-index: 2; }
.article-header .box-meta p { margin: 0; }
.article-header .box-meta .category { margin-bottom: 10px; font-size: 13px; font-weight: 500; opacity: 0.9; letter-spacing: 0.5px; text-transform: uppercase; }
.article-header .title-article { display: block; width: 100%; max-width: 720px; margin: 0 0 28px 0; font-size: 40px; font-weight: 700; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; word-break: keep-all; letter-spacing: -0.5px; }
.article-header .box-info { font-size: 13px; line-height: 1.54; opacity: .7; }
.article-header .box-info .writer { margin-right: 15px; }
.article-header .box-info .date { position: relative; }
.article-header .box-info .date:before { content: ''; position: absolute; top: 10px; left: -10px; width: 2px; height: 2px; background: #fff; border-radius: 2px; }

@media screen and (max-width: 1060px) {
  .article-header .box-meta { bottom: 32px; }
  .article-header .box-meta .category { font-size: 12px; font-weight: 400; }
  .article-header .title-article { padding-right: 24px; font-size: 28px; }
  .article-header .box-info { font-size: 11px; font-weight: 400; }
  .article-header .box-info .date:before { top: 8px; }
}

/* Article View */
.article-view { margin-bottom: 12px; word-break: break-word; }
.article-view p { font-size: 17px; line-height: 1.8; color: var(--ts-color-text); word-break: keep-all; }
.article-view h1, .article-view h2, .article-view h3, .article-view h4 { margin-top: 2em; margin-bottom: 0.8em; font-weight: 700; color: var(--ts-color-text); letter-spacing: -0.3px; line-height: 1.35; }
.article-view h1 { font-size: 30px; }
.article-view h2 { font-size: 24px; padding-bottom: 8px; border-bottom: 1px solid var(--ts-color-border-light); }
.article-view h3 { font-size: 20px; }
.article-view h4 { font-size: 18px; }
.article-view blockquote { margin: 24px 0; padding: 16px 20px; border-left: 3px solid var(--ts-color-accent); background: var(--ts-color-bg-secondary); border-radius: 0 var(--ts-radius-sm) var(--ts-radius-sm) 0; font-size: 16px; line-height: 1.75; color: var(--ts-color-text-secondary); }
.article-view ul, .article-view ol { margin: 16px 0; padding: 0 0 0 24px; }
.article-view ul { margin-top: 12px; }
.article-view ul li { font-size: 16px; line-height: 1.75; color: var(--ts-color-text); word-break: break-all; margin-bottom: 4px; }
.article-view ol { margin-bottom: 24px; }
.article-view ol li { margin-bottom: 8px; font-size: 16px; line-height: 1.75; color: var(--ts-color-text); word-break: break-all; }
.article-view table { border-collapse: collapse; }
.article-view table thead tr { background: var(--ts-color-bg-secondary); font-size: 15px; color: var(--ts-color-text); }
.article-view table tr th, .article-view table tr td { padding: 10px 12px; }
.article-view pre { background: var(--ts-color-bg-secondary); color: var(--ts-color-text); padding: 20px 24px; border-radius: var(--ts-radius-md); border: 1px solid var(--ts-color-border); font-size: 14px; white-space: pre-wrap; overflow-x: auto; line-height: 1.6; }
.article-view .cap1 { font-size: 14px; color: var(--ts-color-text-muted); }
.article-view hr { margin: 40px 0; border: none; height: 1px; background: var(--ts-color-border); }
.article-view a { display: inline; color: var(--ts-color-accent); text-decoration: underline; text-decoration-color: rgba(44, 110, 73, 0.3); text-underline-offset: 2px; transition: text-decoration-color var(--ts-transition); }
.article-view a:hover { text-decoration-color: var(--ts-color-accent); opacity: 1; }
.article-view .moreless_fold span, .article-view .moreless_top span { font-size: 16px; line-height: 2.5; }
.article-view .moreless_content { padding-top: 40px; }
.article-view .moreless_top { border-bottom: 1px solid var(--ts-color-border-light); }
.article-view .moreless_bottom { border-top: 1px solid var(--ts-color-border-light); }
.article-view .moreless_bottom span { display: none; }
.article-view .footnote a { color: var(--ts-color-accent) !important; text-decoration: none; }
.article-view .footnotes li { font-size: 12px; color: var(--ts-color-text-muted); }
.article-view .table-overflow { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.article-view img { max-width: 100%; border-radius: var(--ts-radius-sm); }

@media screen and (max-width: 743px) { .article-view iframe { width: 100%; height: 56vw; } }
@media screen and (max-width: 768px) { .article-view { margin-top: 0px; } .article-view p { font-size: 16px; line-height: 1.75; } }

/* Article Footer: Tags */
.article-footer .title-footer { margin: 0; font-size: 14px; font-weight: 600; }
@media screen and (max-width: 1060px) { .article-footer .title-footer { font-size: 13px; } }
.article-tag { display: flex; margin-bottom: 40px; padding-bottom: 36px; border-bottom: 1px solid var(--ts-color-border); }
.article-tag .title-footer { margin-right: 24px; padding-top: 8px; }
.article-tag .box-tag { font-size: 0; }
.article-tag .box-tag a { position: relative; display: inline-block; max-width: 100%; margin-right: 8px; margin-bottom: 6px; padding: 5px 14px; border: 1px solid var(--ts-color-border); border-radius: 20px; font-size: 13px; line-height: 1.69; color: var(--ts-color-text-secondary); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; transition: all var(--ts-transition); }
.article-tag .box-tag a:hover { border-color: var(--ts-color-accent); color: var(--ts-color-accent); background: var(--ts-color-accent-light); }
.article-tag .box-tag a:after { content: ''; position: absolute; bottom: 6px; right: -10px; width: 5px; height: 5px; background: var(--ts-color-bg); }

@media screen and (max-width: 1060px) {
  .article-tag { display: block; margin-bottom: 32px; padding-bottom: 24px; }
  .article-tag .title-footer { margin: 0 0 10px 0; }
  .article-tag .box-tag a { margin: 0 6px 8px 0; padding: 3px 12px; font-size: 12px; }
  .article-tag .box-tag a:after { bottom: 4px; right: -7px; }
}

/* Article Footer: Prev/Next */
.article-page { margin-bottom: 40px; border-bottom: 1px solid var(--ts-color-border); }
.article-page .title-footer { margin-bottom: 14px; }
.article-page ul { list-style: none; margin: 0 0 36px 0; padding: 0; }
.article-page ul li { position: relative; margin-bottom: 6px; padding: 0; font-size: 14px; line-height: 1.7; color: var(--ts-color-text-hint); }
.article-page ul li:nth-child(2) { color: var(--ts-color-text); }
.article-page ul li:nth-child(2):after { content: ':'; position: absolute; top: 3px; left: 45px; font-size: 9px; opacity: .7; }
.article-page ul li:last-child { margin-bottom: 0; }
.article-page ul li span { padding-right: 23px; }
.article-page ul li a { color: var(--ts-color-text-secondary); text-decoration: none; transition: color var(--ts-transition); }
.article-page ul li a:hover { color: var(--ts-color-accent); }
.article-page ul li strong { font-weight: 400; }

@media screen and (max-width: 1060px) {
  .article-page { margin-bottom: 32px; }
  .article-page .title-footer { margin-bottom: 10px; }
  .article-page ul { margin: 0 0 28px 0; }
  .article-page ul li { margin-bottom: 5px; font-size: 13px; }
  .article-page ul li a { display: block; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
}

/* Article Footer: Related posts */
.article-related { margin-bottom: 36px; }
.article-related a { text-decoration: none; }
.article-related .title-footer { margin-bottom: 16px; }
.article-related .list-related { display: flex; list-style: none; margin: 0 -8px; padding: 0; border: none; box-sizing: border-box; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.article-related .item-related { width: 33.3%; }
.article-related .item-related:last-child { display: none; }
.article-related .thumnail { display: block; width: 100%; height: auto; padding-top: 60%; margin-bottom: 10px; background-size: cover; background-position: 50% 50%; border-radius: var(--ts-radius-sm); }
.article-related .link-related { display: block; margin: 0 8px; }
.article-related .link-related strong { display: block; max-height: 40px; margin: 0 0 3px 0; font-size: 14px; font-weight: 500; line-height: 1.45; color: var(--ts-color-text); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; word-break: keep-all; }
.article-related .date { display: block; font-size: 12px; line-height: 1.83; color: var(--ts-color-text-hint); }

@media screen and (max-width: 760px) {
  .article-related { margin-bottom: 28px; }
  .article-related .title-footer { margin-bottom: 11px; }
  .article-related .item-related { min-width: 145px; }
  .article-related .link-related { margin: 0 5px; }
  .article-related .thumnail { margin-bottom: 8px; }
  .article-related .link-related strong { margin-bottom: 0; font-size: 13px; }
}

/* =========================
   Comments
   ========================= */
.article-reply { width: 100%; margin-bottom: 32px; }
.article-reply ul { list-style: none; margin: 0; padding: 0; }
.article-reply a { text-decoration: none; }
.article-reply .box-total { margin: 0 0 3px 0; padding-bottom: 14px; border-bottom: 1px solid var(--ts-color-border); font-size: 14px; font-weight: 600; }
.article-reply .box-total a { color: var(--ts-color-text); }
.article-reply .box-total span { color: var(--ts-color-accent); }
.article-reply .tt_more_preview_comments_wrap { width: 100%; height: 42px; margin-top: -14px; margin-bottom: 4px; background-color: transparent; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-sm); font-size: 13px; font-weight: 400; line-height: 39px; color: var(--ts-color-text-muted); }

@media screen and (max-width: 1060px) {
  .article-reply .box-meta strong { display: block; }
  .article-reply .box-total { font-size: 13px; }
  .article-reply .tt_more_preview_comments_wrap { height: 32px; font-size: 12px; line-height: 30px; }
}

.area-reply { margin-bottom: 48px; }
.area-reply .item-reply { position: relative; display: flex; flex-wrap: wrap; width: 100%; padding: 20px 0; border-bottom: 1px solid var(--ts-color-border-light); }
.area-reply .thumbnail { display: block; width: 44px; height: 44px; margin-right: 12px; background-size: cover; background-position: 50% 50%; border-radius: 50px; }
.area-reply .box-content { width: calc(100% - 60px); }
.area-reply .box-content .box-meta { margin-bottom: 4px; font-size: 13px; line-height: 1.69; }
.area-reply .box-content .box-meta strong a { font-weight: 500; color: var(--ts-color-text); }
.area-reply .box-content .box-meta .date { position: relative; padding-left: 18px; color: var(--ts-color-text-hint); }
.area-reply .box-content .box-meta .date:before { content: ''; position: absolute; top: 9px; left: 7px; width: 2px; height: 2px; background: var(--ts-color-border); }
.area-reply .box-content .box-meta .date a { position: relative; padding-left: 18px; color: var(--ts-color-text-hint); }
.area-reply .box-content .box-meta .date a:before { content: ''; position: absolute; top: 10px; left: 7px; width: 2px; height: 2px; background: var(--ts-color-border); }
.area-reply .box-content .text { margin: 0 100px 8px 0; font-size: 14px; line-height: 1.55; color: var(--ts-color-text-secondary); word-break: break-all; }
.area-reply .box-content .link-comment { font-size: 13px; line-height: 1.69; color: var(--ts-color-text-hint); }
.area-reply .box-content .box-modify { position: absolute; top: 20px; right: -9px; font-size: 13px; }
.area-reply .box-content .button-modify { width: 20px; height: 20px; padding: 10px 0 10px 10px; background: url(./images/icon-modify.svg) no-repeat; background-size: 14px; background-position: 50% 50%; border: none; cursor: pointer; }
.area-reply .box-content .list-modify { display: none; position: absolute; top: 6px; left: -76px; width: 80px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-sm); overflow: hidden; }
.area-reply .box-content .list-modify li { border-bottom: 1px solid var(--ts-color-border); }
.area-reply .box-content .list-modify li:last-child { border-bottom: none; }
.area-reply .box-content .list-modify a { display: block; line-height: 29px; text-align: center; color: var(--ts-color-text); background-color: var(--ts-color-bg); }
.area-reply .list-reply-comment { width: 100%; margin: 24px 0 -24px 0; padding: 32px 0 24px 56px; background-color: var(--ts-color-bg-secondary); border-top: 1px solid var(--ts-color-border-light); border-bottom: 1px solid var(--ts-color-border-light); border-radius: 0 0 var(--ts-radius-md) var(--ts-radius-md); }
.area-reply .list-reply-comment .item-reply { margin-bottom: 24px; padding: 0; border-bottom: none; }
.area-reply .list-reply-comment .item-reply:last-child { margin-bottom: 0; }
.area-reply .list-reply-comment .box-modify { top: -4px; right: 15px; }
.area-reply .list-reply-other { margin-bottom: 20px; }

@media screen and (max-width: 1060px) {
  .area-reply { margin-bottom: 24px; }
  .area-reply .item-reply { padding: 20px 0 16px 0; }
  .area-reply .thumbnail { width: 36px; height: 36px; margin-right: 10px; }
  .area-reply .box-content { margin-top: -3px; }
  .area-reply .box-content .box-meta { line-height: 1.59; }
  .area-reply .box-content .box-meta strong a { font-size: 12px; }
  .area-reply .box-content .box-meta .date { padding-left: 0; font-size: 12px; }
  .area-reply .box-content .box-meta .date:before { background: none; }
  .area-reply .box-content .text { width: 100%; margin-bottom: 6px; font-size: 13px; }
  .area-reply .box-content .list-modify { background: var(--ts-color-bg); }
  .area-reply .list-reply-comment { width: 100vw; margin: 16px -20px -16px -20px; padding: 16px 20px 12px 56px; }
  .area-reply .list-reply-comment .box-modify { right: -9px; }
  .area-reply .list-reply-comment .box-meta { margin-top: 6px; }
}

/* Comment Write Area */
.area-write .box-account { display: flex; justify-content: space-between; margin-bottom: 12px; }
.area-write .box-account input { width: calc(50% - 6px); padding: 10px 16px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-sm); font-size: 14px; color: var(--ts-color-text); transition: border-color var(--ts-transition); }
.area-write .box-account input:hover, .area-write .box-account input:focus { border-color: var(--ts-color-accent); }
.area-write .box-homepage { margin-bottom: 12px; }
.area-write .box-homepage input { width: 100%; padding: 10px 16px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-sm); font-size: 14px; color: var(--ts-color-text); transition: border-color var(--ts-transition); }
.area-write .box-homepage input:hover, .area-write .box-homepage input:focus { border-color: var(--ts-color-accent); }
.area-write .box-textarea { margin-bottom: 14px; }
.area-write .box-textarea textarea { width: 100%; height: 120px; padding: 16px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-sm); font-size: 14px; color: var(--ts-color-text); resize: vertical; transition: border-color var(--ts-transition); }
.area-write .box-textarea textarea:hover, .area-write .box-textarea textarea:focus { border-color: var(--ts-color-accent); }
.area-write .box-write { display: flex; justify-content: space-between; align-items: center; }
.area-write .box-write .xe-label { display: flex; position: relative; margin-top: 0; min-width: 20px; min-height: 20px; text-align: left; cursor: pointer; }
.area-write .box-write .xe-label input[type="checkbox"] { overflow: hidden; position: absolute; width: 0; height: 0; border: 0; font-size: 0; line-height: 0; left: -9999px; }
.area-write .box-write .xe-label>input[type="checkbox"]+.xe-input-helper { display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-color: var(--ts-color-bg); border: 1px solid var(--ts-color-border); border-radius: 4px; }
.area-write .box-write .xe-label>input[type="checkbox"]:checked+.xe-input-helper:after { position: absolute; left: 50%; top: 50%; width: 7px; height: 11px; margin-top: -7px; margin-left: -3px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(40deg); content: ""; }
.area-write .box-write .xe-label>input[type="checkbox"]:checked+.xe-input-helper { border-color: transparent; background-color: var(--ts-color-accent); }
.area-write .box-write .xe-label .xe-label-text { display: block; padding: 2px 0 0 27px; font-size: 13px; color: var(--ts-color-text); }
.area-write .box-write .btn_register { width: 72px; height: 34px; background: var(--ts-color-text); border: none; border-radius: 34px; font-size: 13px; font-weight: 500; color: #fff; cursor: pointer; transition: background var(--ts-transition); }
.area-write .box-write .btn_register:hover { background: var(--ts-color-accent); }

@media screen and (max-width: 1060px) { .area-write .box-textarea textarea { height: 120px; font-size: 14px; } }

/* Protected Post */
.area-protected { max-width: 280px; margin: 0 auto; text-align: center; }
.area-protected .text-protected { margin: 0 0 21px 0; padding-top: 112px; background: url(./images/icon-exclamation.svg) no-repeat center top; font-size: 18px; color: var(--ts-color-text); }
.area-protected .text-protected span { font-size: 14px; line-height: 2; color: var(--ts-color-text-muted); }
.area-protected input { width: 100%; height: 42px; margin-bottom: 10px; font-size: 14px; padding-left: 16px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-sm); }
.area-protected input:hover, .area-protected input:focus { border: 1px solid var(--ts-color-accent); }
.area-protected input.active+button { background: var(--ts-color-text); color: #fff; cursor: pointer; }
.area-protected button { display: block; width: 100%; height: 42px; background: var(--ts-color-border); border: none; border-radius: var(--ts-radius-sm); font-size: 13px; }
.article-header-noimg { background: none !important; background-size: 50% 50% !important; }
.article-header-protected { background: url(./images/icon-exclamation.svg) no-repeat center !important; background-size: 50% 50% !important; }
.title-other { margin: 0; font-size: 14px; font-weight: 600; white-space: nowrap; }

/* Paging */
.paging-more { display: block; width: 100%; height: 44px; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-sm); font-size: 13px; line-height: 44px; color: var(--ts-color-text-muted); text-align: center; text-decoration: none; transition: all var(--ts-transition); }
.paging-more:hover { border-color: var(--ts-color-text-secondary); color: var(--ts-color-text); }
.area-paging { text-align: center; margin-top: 32px; }
.area-paging a { text-decoration: none; }
.area-paging .link_page { display: inline-block; font-size: 20px; color: var(--ts-color-text); }
.area-paging .link_page:hover { color: var(--ts-color-accent); }
.area-paging .paging_num { display: inline-block; vertical-align: top; }
.area-paging .link_num span { display: inline-block; min-width: 32px; height: 32px; margin: 0 2px; padding: 0 8px; font-size: 14px; font-weight: 400; line-height: 32px; text-align: center; color: var(--ts-color-text-secondary); border-radius: var(--ts-radius-sm); transition: all var(--ts-transition); }
.area-paging .link_num:hover span { background: var(--ts-color-bg-hover); color: var(--ts-color-text); }
.area-paging .selected { display: block; border-radius: var(--ts-radius-sm); background: var(--ts-color-accent); color: #fff !important; font-size: 14px; font-weight: 500; line-height: 32px; }
.area-paging .link_num:hover .selected { background: var(--ts-color-accent); color: #fff; text-decoration: none; }
.area-paging .paging_slash { display: none; }
.area-paging .link_page.no-more-prev, .area-paging .link_page.no-more-next { display: none; }

@media screen and (max-width: 1023px) {
  .area-paging .link_page { color: rgba(0, 0, 0, 0.75); }
  .area-paging .link_page.no-more-prev, .area-paging .link_page.no-more-next { color: rgba(0, 0, 0, 0.15); }
  .area-paging .link_page span { font-size: 20px; font-weight: 600; }
  .area-paging .link_num { font-size: 14px; font-weight: 900; }
  .area-paging .link_num span { position: relative; }
  .area-paging .selected { position: relative; width: auto; font-size: 14px; color: #fff; }
  .area-paging .link_num:last-child span:before { content: '/'; position: absolute; top: 0; left: -10px; width: 10px; height: 29px; }
  .area-paging .link_num:last-child span.selected:before { content: ''; }
  .area-paging .link_num span:not(.selected) { display: inline-block; }
  .area-paging .link_num:last-child span { display: inline-block; }
  .area-paging .link_ellipsis { display: none; }
  .area-paging .selected { margin-right: 8px !important; color: #fff !important; }
}

.area-paging-more { position: relative; }
@keyframes spinner { to { transform: rotate(360deg); } }
.paging-more-loading { color: #fff; pointer-events: none; }
.paging-more-loading:before { content: ''; box-sizing: border-box; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin-top: -10px; margin-left: -15px; border-radius: 50%; border: 2px solid var(--ts-color-border); border-top-color: var(--ts-color-accent); animation: spinner .6s linear infinite; }

@media screen and (min-width: 1061px) { .listmorebutton .area-paging { display: none; } .listmorenumber .area-paging-more { display: none; } }
@media screen and (max-width: 1060px) { .listmorebuttonmobile .area-paging { display: none; } .listmorenumbermobile .area-paging-more { display: none; } }

/* Search Page */
.title-search { margin: 10px 0 0 0; padding-bottom: 14px; font-size: 14px; font-weight: 600; }
.title-search span { color: var(--ts-color-accent); }
.title-search.title-border { margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--ts-color-border); }
.article-title-crop, .article-title-resize, .article-title-poster { margin-bottom: 0px; border-bottom: none; }
.box-no-search { display: none; margin-bottom: 40px; font-size: 14px; color: var(--ts-color-text-muted); }
.box-no-search span { position: relative; display: block; padding-left: 7px; line-height: 2; vertical-align: middle; }
.box-no-search span:before { content: ''; position: absolute; top: 15px; left: 0; width: 2px; height: 2px; background: var(--ts-color-text-muted); border-radius: 2px; }

#tt-body-search .type-search { display: block; }
#tt-body-search .title-search .search { display: inline !important; }
#tt-body-category .type-category { display: block; }
#tt-body-tag .type-tag { display: block; }
#tt-body-tag .title-search .tag { display: inline !important; }
#tt-body-archive .type-archive { display: block; }
#tt-body-archive .title-search .search { display: inline !important; }
#tt-body-archive .archives:before { content: "'"; }
#tt-body-archive .archives:after { content: "'에 등록된 글"; }
#tt-body-tag .archives:before { content: "#"; }
#tt-body-search .archives:before { content: "'"; }
#tt-body-search .archives:after { content: "'의 검색결과"; }

/* Search Box */
.util { position: absolute; top: 0; right: 0; }
.util .search { position: relative; float: left; overflow: hidden; background-color: var(--ts-color-bg); box-sizing: border-box; transition: width 0.5s; }
.util .search input { width: 100%; padding: 8px 0; background: url(./images/icon-search.svg) no-repeat 98% center; border: none; border-bottom: 2px solid var(--ts-color-text); font-size: 14px; color: var(--ts-color-text); }
.util .search input::placeholder { color: var(--ts-color-text-hint); }
.util .search button { position: absolute; top: 1px; right: 1px; z-index: 20; width: 30px; height: 30px; text-indent: -999em; border: 1px solid var(--ts-color-border); border-radius: 50%; background: var(--ts-color-bg) url(./images/ico_package.png) no-repeat -1px -1px; vertical-align: top; outline: none; cursor: pointer; }
.util.use-sidebar { position: initial; margin: 24px auto; float: none; }
.util.use-sidebar .search { float: none; }
.util.use-top { width: 222px; margin-top: -6px; }
.util.use-top .search { width: 100%; }

@media screen and (min-width: 1061px) {
  .util:not(.use-top) { display: none; }
  .wrap-drawer .util.use-sidebar { display: block; }
  .wrap-drawer .util.use-top { display: none; }
  .article-type-poster:nth-of-type(3n) { margin-right: 0; }
}

@media screen and (max-width: 1060px) {
  .util:not(.use-sidebar) { display: none; }
  .wrap-drawer .util.use-sidebar { display: block; }
  .wrap-drawer .util.use-top { display: none; }
  .util.use-sidebar .searchInput { font-size: 12px; }
}

/* Layout: wrap-right (sidebar LEFT) */
@media screen and (min-width: 1061px) {
  .wrap-right .main { display: flex; flex-direction: row-reverse; gap: 60px; }
  .wrap-right .area-aside { margin: 32px 0 0 0; flex-shrink: 0; align-self: flex-start; position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; }
}

.wrap-right .title-search { margin: 2px 0 0 0; }
.wrap-right .title-search.article-title-thumbnail { margin-bottom: 24px; }
.use-slogan-wrp .wrap-right .area-slogun.topnavmenu { padding-bottom: 0px; }

/* Layout: wrap-drawer (1-column) */
.wrap-drawer .header { border: none; }
#tt-body-page .wrap-drawer .main { margin-top: 0px; }

@media screen and (min-width: 1061px) {
  .wrap-drawer .header { padding-top: 80px; }
  .wrap-drawer .header.border-none { border-bottom: none; }
  .wrap-drawer .header .inner-header { position: initial; max-width: var(--ts-content-width); }
  .wrap-drawer .header .title-logo { position: absolute; top: -1px; left: 80px; }
  .wrap-drawer .header .area-align { display: flex; flex-wrap: wrap; flex-direction: column-reverse; }
  .wrap-drawer .header .area-slogun { width: var(--ts-content-width); margin: 30px 0 -3px 0; }
  .wrap-drawer .header .area-gnb { position: absolute; top: 31px; width: 100%; max-width: var(--ts-content-width); }
  .wrap-drawer .header .area-gnb>nav>ul { text-align: center; }
  .wrap-drawer .header .tt_category .category_list { text-align: center; }
  .wrap-drawer .header .button-menu { display: block; }
  .wrap-drawer .header .box-log { display: none; }
  .wrap-drawer .area-main { max-width: var(--ts-content-width); margin: 0 auto; flex: none; }
  .wrap-drawer .area-promotion .inner-promotion { max-width: var(--ts-content-width); }
  .wrap-drawer .article-type-poster { width: 25%; max-width: 180px; margin-right: 16px; }
  .wrap-drawer .article-type-poster:nth-of-type(3n) { margin-right: 17px; }
  .wrap-drawer .article-type-poster:nth-of-type(4n) { margin-right: -3px; }
  .wrap-drawer .area-cover>.article-type-poster:nth-of-type(4n) { margin-right: 0; }
  .wrap-drawer .area-aside { position: fixed; top: 0; right: -381px; width: 381px; height: 100%; padding: 0 36px; border-left: 1px solid var(--ts-color-border); background: var(--ts-color-bg); overflow-x: hidden; overflow-y: auto; z-index: 20; }
  .wrap-drawer .area-aside .box-profile { border-left: none; border-right: none; }
  .wrap-drawer .area-aside .box-profile .img-profile { margin: 72px 0 12px 0; }
  .wrap-drawer .area-aside .box-profile-invert { position: relative; height: 430px; margin: 0 -40px 36px -41px; z-index: 21; }
  .wrap-drawer .area-aside .box-log { display: table; margin-top: 48px; margin-bottom: 40px; text-align: center; }
  .wrap-drawer .area-aside-on { right: 0; transition: .2s ease-out; }
  .wrap-drawer .article-related .item-related { width: 25%; }
  .wrap-drawer .article-related .item-related:last-child { display: block; }
  .wrap-right #footer .inner-footer { max-width: var(--ts-max-width); }
  .wrap-drawer .article-header .inner-header { max-width: var(--ts-content-width); }
  .wrap-drawer .header .line-bottom { top: 80px; display: block; width: 100%; position: absolute; border-bottom: solid 1px var(--ts-color-border); }
  .wrap-drawer .header .area-slogun, .wrap-drawer .header .topnavmen { margin-top: 0px; padding-top: 0px; }
  .wrap-drawer .header .area-slogun { margin-top: 65px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; }
  .wrap-drawer .main { margin-top: 48px; }
}

/* TT-Body specific */
#tt-body-tag:not(.wrap-drawer) .header, #tt-body-page:not(.wrap-drawer) .header, #tt-body-category:not(.wrap-drawer) .header, #tt-body-search:not(.wrap-drawer) .header, #tt-body-archive:not(.wrap-drawer) .header { border-bottom: 1px solid var(--ts-color-border); }
#tt-body-index #container, #tt-body-tag #container, #tt-body-page #container, #tt-body-category #container, #tt-body-search #container, #tt-body-archive #container, #tt-body-guestbook #container { margin-top: 0; }
#tt-body-page .area-promotion { display: none; }
#tt-body-tag .area-main, #tt-body-page .area-main, #tt-body-category .area-main, #tt-body-search .area-main, #tt-body-archive .area-main { margin-top: 0; }
#tt-body-page .area-slogun { display: none; }
#tt-body-page .main { padding-top: 470px; }
#tt-body-page .area-view img { display: inline-block; max-width: 100% !important; margin: 0; height: auto; }
#tt-body-page .area-view .map_attach img { max-width: none !important; }
#tt-body-page .area-paging { display: block; }

@media screen and (max-width: 1060px) { #tt-body-page .main { padding-top: 440px; } }
#tt-body-page .area-aside { margin-top: 0px; }
#mediaLogNest { max-width: 106x; height: auto !important; margin: 0 auto; padding: 0 20px; }
.another_category { margin-bottom: 48px !important; }
.article-view .another_category table, .article-view .another_category table * { border: none; }
#article-view .another_category table td { font-size: 11px; }

#tt-body-index .main, #tt-body-category .main, #tt-body-search .main, #tt-body-tag .main, #tt-body-archive .main, #tt-body-guestbook .main { padding-top: 48px; }
.container_postbtn { padding: 36px 0 32px 0 !important; }
@media screen and (max-width: 1060px) { .container_postbtn { padding: 28px 0 16px 0 !important; } }
@media screen and (max-width: 1060px) { #tt-body-tag .title-search { font-size: 13px; } #tt-body-tag .title-search.title-search.title-border { padding-bottom: 11px; } }

/* Display helpers & Slogun */
#tt-body-category.headerslogundisplayon .area-slogun, #tt-body-search.headerslogundisplayon .area-slogun, #tt-body-archive.headerslogundisplayon .area-slogun, #tt-body-tag.headerslogundisplayon .area-slogun, #tt-body-media.headerslogundisplayon .area-slogun, #tt-body-location.headerslogundisplayon .area-slogun, #tt-body-guestbook.headerslogundisplayon .area-slogun, #tt-body-page.headerslogundisplayon .area-slogun { display: none; }
#tt-body-category.headerbannerdisplayon .area-promotion, #tt-body-search.headerbannerdisplayon .area-promotion, #tt-body-archive.headerbannerdisplayon .area-promotion, #tt-body-tag.headerbannerdisplayon .area-promotion, #tt-body-media.headerbannerdisplayon .area-promotion, #tt-body-location.headerbannerdisplayon .area-promotion, #tt-body-guestbook.headerbannerdisplayon .area-promotion, #tt-body-page.headerbannerdisplayon .area-promotion { display: none; }
.display-none { display: none; }

@media screen and (min-width: 1061px) {
  .headerslogundisplayoff.headerbannerdisplayoff .wrap-right .sub_category_list { top: 134px; }
  .headerslogundisplayoff.headerbannerdisplayoff .wrap-right .slogun-use .sub_category_list { top: 290px; }
  .wrap-right .header .area-gnb .topnavmenu:before { content: ''; position: absolute; left: 50%; width: 100vw; height: 1px; margin-left: -50vw; border-top: 1px solid var(--ts-color-border); }
}

/* Mobile header */
@media screen and (max-width: 1060px) {
  .header .inner-header { max-width: initial; padding-top: 50px; }
  .header .title-logo { position: absolute; top: 15px; left: 20px; margin: 0; }
  .header .link_logo { font-size: 16px; }
  .header .area-slogun { display: none; padding: 0 20px; }
  .header .area-slogun strong { display: block; overflow: inherit; max-height: 100%; font-size: 26px; margin-bottom: 8px; line-height: 1.15; }
  .header .area-slogun p { width: auto; font-size: 12px; }
  .header .area-slogun.slogunmobileoff { display: block; }
  .header .area-promotion { display: none; }
  .header .area-promotion.bannermobile-on { display: block; }
  .header .area-gnb { width: 100%; margin-bottom: 0; border-top: 1px solid var(--ts-color-border); margin-top: 0; }
  .header .tt_category .category_list, .header .topnavmenu>ul { overflow-x: auto; overflow-y: hidden; }
  .header .tt_category .category_list li, .header .topnavmenu>ul>li { margin-right: 20px; }
  .header .tt_category .category_list li:first-child, .header .topnavmenu>ul>li:first-child { margin-left: 20px; float: left; }
  .header .tt_category .category_list li:last-child, .header .topnavmenu>ul>li:last-child { margin-right: 20px; }
  .header .tt_category .category_list .link_item, .header .topnavmenu>ul>li>a { padding: 16px 0 15px 0; font-size: 13px; font-weight: 400; }
  .header .button-menu { display: block; top: 5px; right: 10px; }
  .header .button-menu svg { width: 17px; height: 12px; }
  .header .box-log { display: none; }
  .header .topnavmenu>ul { padding: 0; }
  .wrap-right .header .topnavmenu>ul { padding: 0; }
  .header .area-gnb .topnavmenu { border-bottom: 1px solid var(--ts-color-border); }
  .header .area-slogun { padding-top: 0px; margin-top: 24px; margin-bottom: 24px; }
}

@media screen and (max-width: 768px) {
  .header .line-bottom { display: none; }
  #tt-body-tag .main, #tt-body-media .main, #tt-body-index .main, #tt-body-category .main, #tt-body-search .main, #tt-body-archive .main, #tt-body-guestbook .main { padding-top: 0px; margin-top: 32px; }
  .area_common { margin-top: 32px; }
}

@media screen and (min-width: 1061px) {
  #tt-body-index .wrap-drawer .main, #tt-body-category .wrap-drawer .main, #tt-body-search .wrap-drawer .main, #tt-body-tag .wrap-drawer .main, #tt-body-archive .wrap-drawer .main, #tt-body-location .wrap-drawer .main, #tt-body-guestbook .wrap-drawer .main { padding-top: 0; }
}

@media screen and (max-width: 1060px) {
  #tt-body-tag .header, #tt-body-media .header, #tt-body-search .header, #tt-body-location .header, #tt-body-guestbook .header, #tt-body-archive .header, #tt-body-page .header, #tt-body-category .header { margin-bottom: 0; }
  #tt-body-page .header .title-logo, #tt-body-category .header .title-logo, #tt-body-archive .header .title-logo, #tt-body-search .header .title-logo { margin: 0; }
}

/* No Image / Protected Image */
.not-found-img .thumbnail { text-align: center; }
.not-found-img .img-thumbnail { content: url(./images/no-image.jpg); }
.protected-img .thumbnail { background-color: var(--ts-color-bg-secondary); background-image: url(./images/icon-exclamation.svg); background-repeat: no-repeat; background-size: inherit; }
.protected-img .img-thumbnail { content: url(./images/icon-exclamation.svg); }
.article-type-resize .not-found-img .thumbnail { background-image: url(./images/no-image.jpg); background-size: cover; background-position: 50% 50%; }
.article-type- .protected-img .thumbnail, .article-type-thumbnail .protected-img .thumbnail { background-size: 50%; }
.article-type-resize .protected-img .thumbnail { background-image: none; background-color: var(--ts-color-bg-secondary); height: 200px; line-height: 200px; }
.article-type-resize .not-found-img:not(.protected-img) .img-thumbnail { display: none; }
.article-type-resize .protected-img .img-thumbnail { display: inline-block; vertical-align: middle; }
.article-type-resize .not-found-img:not(.protected-img) .thumbnail, .article-type-crop .not-found-img .thumbnail { height: 200px; }
.article-type-resize .not-found-img .thumbnail .img-thumbnail { width: 77px; }
.article-type-resize .protected-img .thumbnail .img-thumbnail { height: 90px; }
#tt-body-page.protected-view .article-header, #tt-body-page.protected-view .area-paging, #tt-body-page.protected-view .area-aside { display: none; }
#tt-body-page.protected-view .area-main { max-width: 100%; }
#tt-body-page.protected-view .article-view { margin-bottom: 310px; }
#tt-body-page.protected-view .main { padding-top: 70px; }
.article-type-common.article-type- .thumbnail:not([has-thumbnail]), .article-type-common.article-type-thumbnail .thumbnail:not([has-thumbnail]) { display: none; }

/* Notice */
#tt-body-index.notice-index .area-view .notice-title:first-child { display: block; }

/* Guestbook */
#tt-body-guestbook .title-search { border-bottom: 1px solid var(--ts-color-border); }
#tt-body-guestbook .area-reply form { padding-top: 20px; }
#tt-body-guestbook .area-reply .list-reply+form { padding-top: 0; }

/* Cover Title */
.area-cover .title-cover { min-height: 32px; }
.area-cover .title-cover:empty { min-height: auto; padding-bottom: 0px; }
@media screen and (min-width: 1061px) { .wrap-right .area-cover:first-child .title-cover:empty { min-height: 32px; } }
@media screen and (max-width: 760px) { .area-cover .box-cover-poster { margin-bottom: 0px; } .area-cover .article-type-poster { margin-bottom: 0px; } }

/* Category Banner */
.use-category-banner .category-banner-wrp { display: block; }
.use-category-banner .category-banner:before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.35); z-index: 1; }
#tt-body-category.use-category-banner #container { margin-top: 400px; }
.use-category-banner .category-banner-wrp { display: block; width: 100%; height: 400px; position: absolute; top: -400px; left: 0px; }
.use-category-banner .category-banner { width: 100%; height: 100%; position: relative; left: 0; background-size: cover; background-position: 50% 50%; z-index: 11; }
.use-category-banner .category-banner .category-banner-inner { position: relative; display: flex; align-items: center; justify-content: flex-start; max-width: var(--ts-max-width); height: 100%; margin: 0 auto; z-index: 2; }
.use-category-banner .category-banner .category-description-box { margin-top: -4px; }
.use-category-banner .category-banner .category-description-box strong { font-weight: 700; width: 760px; font-size: 44px; font-family: var(--ts-font-heading); line-height: 1.15; color: #fff; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; word-break: keep-all; letter-spacing: -0.5px; }
.use-category-banner .wrap-drawer .category-banner .category-banner-inner { max-width: var(--ts-content-width); }

@media screen and (min-width: 1061px) {
  .use-category-banner .wrap-drawer .category-banner-wrp { top: -456px; }
  #tt-body-category.use-category-banner .wrap-drawer #container { margin-top: 456px; }
  #tt-body-category.use-slogan-wrp.headerslogundisplayoff.use-category-banner .wrap-drawer #container { margin-top: 512px; }
}

@media screen and (max-width: 1061px) {
  #tt-body-category.use-category-banner #container { margin-top: 386px; }
  .use-category-banner .category-banner-wrp { height: 350px; top: -386px; }
  .use-category-banner .category-banner .category-description-box { position: absolute; bottom: 36px; }
  .use-category-banner .category-banner .category-banner-inner { position: relative; padding: 0 24px; }
  .use-category-banner .category-banner .category-description-box strong { width: 280px; margin-bottom: 20px; font-size: 28px; line-height: 1.2; -webkit-line-clamp: 3; }
  .border-none { border: none; }
}

/* Revenue */
.revenue_unit_wrap.position_list { max-width: var(--ts-max-width); margin: 24px auto; }
.my_edit .ico_more { fill: #fff !important; }

/* 404 */
.absent_post { display: none; }
.notfoundpage .absent_post { display: block; }
.notfoundpage#tt-body-page.notfoundpage .main { padding-top: 39px; }
.notfoundpage .absent_post:before { content: "혹시 다른 글이지 않을까요?"; display: block; margin-bottom: 20px; font-weight: 600; font-size: 18px; line-height: 1.3; color: var(--ts-color-text-secondary); white-space: pre; background: url(./images/icon-no-img.svg) no-repeat center !important; height: 90px; padding-top: 122px; }
.notfoundpage .absent_post { padding: 0px 0px 80px 0 !important; background: none !important; font-weight: normal !important; font-size: 14px !important; line-height: 1.75; color: var(--ts-color-text-hint) !important; }

/* =========================
   Article View (Tistory Editor)
   ========================= */
#article-view { margin: 0; padding: 20px 0 40px; word-wrap: break-word; color: var(--ts-color-text); min-height: 370px; font-family: var(--ts-font-body); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; letter-spacing: 0; }
.contents_style>* { margin: 20px 0 0 0; }
#article-view h2[data-ke-size] { font-size: 1.5em; line-height: 1.4; font-weight: 700; }
#article-view h3[data-ke-size] { font-size: 1.35em; line-height: 1.45; font-weight: 700; }
#article-view h4[data-ke-size] { font-size: 1.2em; line-height: 1.5; font-weight: 600; }
#article-view p[data-ke-size='size18'] { font-size: 1.12em; line-height: 1.8; }
#article-view p[data-ke-size='size16'] { line-height: 1.8; }
#article-view p[data-ke-size='size14'] { font-size: 0.87em; line-height: 1.75; }
#article-view h2, #article-view h3, #article-view h4 { font-weight: 700; letter-spacing: -0.5px; color: var(--ts-color-text); margin: 1.5em 0 16px; }
#article-view p+p, #article-view p { margin-bottom: 24px; }
#article-view h2+h2, #article-view h3+h3, #article-view h4+h4 { margin: 0; }
#article-view h2+h3, #article-view h2+h4, #article-view h3+h4 { margin-top: 8px; }
#article-view h2+p, #article-view h3+p, #article-view h4+p, #article-view h5+p, #article-view h6+p { margin-top: 8px; }
#article-view div[data-ke-type='moreLess'] { caret-color: auto; background-color: var(--ts-color-bg-secondary); padding: 20px 24px; margin: 20px 0; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-md); color: var(--ts-color-text); }
#article-view a { color: var(--ts-color-accent); text-decoration: underline; text-decoration-color: rgba(44, 110, 73, 0.3); text-underline-offset: 2px; }
#article-view figure[data-ke-type='contentSearch'] a { text-decoration: none; }

/* Tistory Blockquotes */
#article-view blockquote[data-ke-style='style1'] { text-align: center; background: url(https://t1.daumcdn.net/keditor/dist/0.7.21/image/blockquote-style1.svg) no-repeat 50% 0; padding: 34px 0 0 0; font-size: 1.12em; color: var(--ts-color-text); line-height: 1.7; border: 0 none; font-family: "Noto Serif KR"; }
#article-view blockquote[data-ke-style='style2'] { border-color: var(--ts-color-accent); border-width: 0 0 0 3px; border-style: solid; padding: 4px 0 4px 16px; color: var(--ts-color-text-secondary); line-height: 1.8; font-size: 1em; text-align: left; }
#article-view blockquote[data-ke-style='style3'] { border: 1px solid var(--ts-color-border); background-color: var(--ts-color-bg-secondary); text-align: left; padding: 20px 24px; color: var(--ts-color-text-secondary); font-size: 1em; line-height: 1.8; border-radius: var(--ts-radius-md); }
#article-view blockquote { display: block; margin: 20px auto 0; letter-spacing: 0px; }
#article-view span[data-lightbox] { cursor: pointer; }

/* File block */
#article-view figure.fileblock { width: 470px; height: 73px; box-sizing: border-box; position: relative; border-radius: var(--ts-radius-md); margin-top: 20px; margin-bottom: 0px; box-shadow: var(--ts-shadow-card); border: 1px solid var(--ts-color-border); }
#article-view figure.fileblock a { display: block; }
#article-view figure.fileblock .image { float: left; width: 30px; height: 30px; background-image: url('https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg'); margin: 22px 17px 21px 22px; background-position: 0 0; }
#article-view figure.fileblock .desc { position: absolute; left: 70px; right: 60px; top: 4px; bottom: 0; }
#article-view figure.fileblock .filename { color: var(--ts-color-text); font-size: 14px; text-overflow: ellipsis; width: 100%; height: 20px; margin: 16px 0 0; }
#article-view figure.fileblock .size { font-family: var(--ts-font-body); font-size: 12px; color: var(--ts-color-text-muted); height: 16px; }
#article-view figure[data-ke-align=alignCenter].fileblock { margin-left: auto; margin-right: auto; }
#article-view figure[data-ke-align=alignRight].fileblock { margin-left: auto; }
#article-view figure.fileblock .name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 272px; height: 20px; display: block; }
#article-view figure.fileblock a::after { content: ''; background-image: url('https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg'); background-position: -40px 0; width: 30px; height: 30px; position: absolute; right: 24px; top: 19px; }

/* Image block */
#article-view figure.imageblock { display: table; position: relative; }
#article-view figure.imageblock.alignLeft { text-align: left; }
#article-view figure.imageblock.alignCenter { margin: 20px auto 0; text-align: center; }
#article-view figure.imageblock.alignRight { text-align: right; margin-left: auto; }
#article-view figure.imageblock.floatLeft { float: left; margin-right: 20px; }
#article-view figure.imageblock.floatRight { float: right; margin-left: 20px; }
#article-view figure.imageblock.widthContent { display: block; }
#article-view figure.imageblock.widthContent img { width: 100%; }
#article-view figure.imageblock.floatLeft figcaption, #article-view figure.imageblock.floatRight figcaption { text-align: left; }
#article-view figure.imageblock img { display: inline-block; max-width: 100%; margin: 0; height: auto; border-radius: var(--ts-radius-sm); }
#article-view iframe, #article-view figure img, #article-view figure iframe { max-width: 100%; }
#article-view figure img:not([width]), #article-view figure iframe:not([width]) { width: 100%; }
#article-view figure { max-width: 100%; clear: both; }
#article-view figure img { display: inline-block; }
#article-view figure.imagegridblock+figure.imagegridblock, #article-view figure.imagegridblock+figure.imageblock, #article-view figure.imageblock+figure.imagegridblock { margin-top: 10px; }

/* Caption */
#article-view figure figcaption { font-size: 13px; color: var(--ts-color-text-muted); word-break: break-word; padding-top: 10px; min-height: 20px; caption-side: bottom; text-align: center; width: 100%; box-sizing: content-box; }

/* Image grid */
#article-view figure.imagegridblock { position: relative; background-color: transparent; width: 100%; height: auto; margin: 20px 0 0 0; }
#article-view figure.imagegridblock .image-container { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; }
#article-view figure.imagegridblock .image-container>span { margin-right: 0; margin-top: 2px; }
#article-view figure.imagegridblock img { margin: 0; height: inherit; }
#article-view figure.imagegridblock span img { width: 100%; }

/* Divider lines */
hr[data-ke-style], #article-view hr[data-ke-style] { border: none; font-size: 0; line-height: 0; margin: 32px auto; background: url(https://t1.daumcdn.net/keditor/dist/0.7.21/image/divider-line.svg); background-size: 200px 420px; cursor: default !important; }
hr[data-ke-style='style1'], #article-view hr[data-ke-style='style1'] { background-position: center 0; width: 64px; height: 4px; padding: 20px; }
hr[data-ke-style='style2'], #article-view hr[data-ke-style='style2'] { background-position: center -48px; width: 64px; height: 3px; padding: 20px; }
hr[data-ke-style='style3'], #article-view hr[data-ke-style='style3'] { background-position: center -96px; width: 64px; height: 8px; padding: 18px 20px; }
hr[data-ke-style='style4'], #article-view hr[data-ke-style='style4'] { background-position: center -144px; width: 2px; height: 60px; padding: 0 51px; }
hr[data-ke-style='style4']+hr[data-ke-style='style4'], #article-view hr[data-ke-style='style4']+hr[data-ke-style='style4'] { margin-top: 0; }
hr[data-ke-style='style5'], #article-view hr[data-ke-style='style5'] { background-position: center -208px; background-repeat: repeat-x; height: 2px; padding: 21px 0; }
hr[data-ke-style='style6'], #article-view hr[data-ke-style='style6'] { background-position: center -256px; background-repeat: repeat-x; height: 2px; padding: 21px 0; }
hr[data-ke-style='style7'], #article-view hr[data-ke-style='style7'] { background-position: center -304px; width: 200px; height: 19px; padding: 18px 20px 17px 20px; }
hr[data-ke-style='style8'], #article-view hr[data-ke-style='style8'] { background-position: center -362px; width: 200px; height: 19px; padding: 18px 20px 17px 20px; }

/* Tables */
#article-view table[data-ke-style] { margin-bottom: 0px; }
#article-view table { border-color: var(--ts-color-border); margin-bottom: 0px; }
#article-view table tbody tr { box-sizing: content-box; }
#article-view table td { word-break: break-word; padding: 10px 12px; font-size: 15px; }
#article-view table[data-ke-style='style1'] tr:first-child td { border-bottom: 1px solid #6ed3d8; }
#article-view table[data-ke-style='style2'] tr:first-child td { border-bottom: 1px solid #008300; }
#article-view table[data-ke-style='style3'] tr:first-child td { border-bottom: 1px solid #006dbe; }
#article-view table[data-ke-style='style4'] tr:nth-child(2n) td { background-color: var(--ts-color-bg-secondary); }
#article-view table[data-ke-style='style5'] tr:nth-child(2n) td { background-color: #f8fbfb; }
#article-view table[data-ke-style='style6'] tr:nth-child(2n) td { background-color: #f5f7f5; }
#article-view table[data-ke-style='style7'] tr:nth-child(2n) td { background-color: #f6f8fb; }
#article-view table[data-ke-style='style8'] tr:first-child td { border-bottom: 2px solid #797979; }
#article-view table[data-ke-style='style8'] { border-left: 0 none; border-right: 0 none; }
#article-view table[data-ke-style='style8'] td { border-right-color: transparent; border-left-color: transparent; }
#article-view table[data-ke-style='style9'] tr:first-child td { border-bottom: 2px solid #6ed3d8; }
#article-view table[data-ke-style='style9'] { border-left: 0 none; border-right: 0 none; }
#article-view table[data-ke-style='style9'] td { border-right-color: transparent; border-left-color: transparent; }
#article-view table[data-ke-style='style10'] tr:first-child td { border-bottom: 2px solid #008300; }
#article-view table[data-ke-style='style10'] { border-left: 0 none; border-right: 0 none; }
#article-view table[data-ke-style='style10'] td { border-right-color: transparent; border-left-color: transparent; }
#article-view table[data-ke-style='style11'] tr:first-child td { border-bottom: 2px solid #2780d4; }
#article-view table[data-ke-style='style11'] { border-left: 0 none; border-right: 0 none; }
#article-view table[data-ke-style='style11'] td { border-right-color: transparent; border-left-color: transparent; }
#article-view table[data-ke-style='style12'] tr:nth-child(odd) td { background-color: var(--ts-color-bg-secondary); }
#article-view table[data-ke-style='style12'] tr td:first-child { background-color: #efefef; }
#article-view table[data-ke-style='style12'] tr:first-child td { background-color: #9b9b9b; border: 1px solid #888; color: #fff; }
#article-view table[data-ke-style='style13'] tr:nth-child(odd) td { background-color: var(--ts-color-bg-secondary); }
#article-view table[data-ke-style='style13'] tr td:first-child { background-color: #efefef; }
#article-view table[data-ke-style='style13'] tr:first-child td { background-color: #6ed3d8; border: 1px solid #5cbcc1; color: #fff; }
#article-view table[data-ke-style='style14'] tr:nth-child(odd) td { background-color: var(--ts-color-bg-secondary); }
#article-view table[data-ke-style='style14'] tr td:first-child { background-color: #efefef; }
#article-view table[data-ke-style='style14'] tr:first-child td { background-color: #008300; border: 1px solid #006d00; color: #fff; }
#article-view table[data-ke-style='style15'] tr:nth-child(odd) td { background-color: var(--ts-color-bg-secondary); }
#article-view table[data-ke-style='style15'] tr td:first-child { background-color: #efefef; }
#article-view table[data-ke-style='style15'] tr:first-child td { background-color: #2780d4; border: 1px solid #1568b7; color: #fff; }
#article-view table[data-ke-style='style16'], #article-view table[data-ke-style='style16'] tr, #article-view table[data-ke-style='style16'] tr td { border-color: transparent; }

/* Open graph */
#article-view figure[data-ke-type='opengraph'] { margin: 10px 0; }
#article-view figure[data-ke-type='opengraph'] a { box-sizing: initial; width: 100%; display: flex; justify-content: center; align-items: center; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-md); text-decoration: none; color: var(--ts-color-text); overflow: hidden; transition: box-shadow var(--ts-transition); }
#article-view figure[data-ke-type='opengraph'] a:hover { opacity: 1; box-shadow: var(--ts-shadow-card); }
#article-view figure[data-ke-type='opengraph'] div.og-image { border-right: 1px solid var(--ts-color-border-light); width: 200px; height: 200px; background-size: cover; background-position: center; }
#article-view figure[data-ke-type='opengraph'] div.og-image button { display: none; }
#article-view figure[data-ke-type='opengraph'] p.og-title { color: var(--ts-color-text); font-size: 18px; font-weight: 600; padding-bottom: 8px; max-width: 467px; text-overflow: ellipsis; white-space: nowrap; margin: 0px; overflow: hidden; font-family: var(--ts-font-body); }
#article-view figure[data-ke-type='opengraph'] .og-desc { margin: 0px; max-width: 467px; text-overflow: ellipsis; overflow: hidden; font-family: var(--ts-font-body); font-size: 14px; font-weight: 400; color: var(--ts-color-text-muted); max-height: 42px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; line-height: 1.5; }

@media (max-width: 600px) {
  #article-view figure[data-ke-type='opengraph'] a { height: 90px; }
  #article-view figure[data-ke-type='opengraph'] div.og-image { width: 90px; height: 90px; }
  #article-view figure[data-ke-type='opengraph'] div.og-text { padding: 12px 12px 0 16px; height: 90px; }
  #article-view figure[data-ke-type='opengraph'] div.og-text p.og-title { font-size: 15px; -webkit-line-clamp: 1; }
  #article-view figure[data-ke-type='opengraph'] div.og-text p.og-desc { display: none; }
}

/* Video */
#article-view figure[data-ke-type='video'] { display: block; table-layout: fixed; position: relative; text-align: center; color: var(--ts-color-text-muted); font-size: 16px; line-height: 30px; }
#article-view figure[data-ke-type='video'][data-ke-style='alignCenter'] { margin: 20px auto 0; text-align: center; }
#article-view figure[data-ke-type='video'] img { display: block; max-width: 100%; margin: 0 auto; }
#article-view figure[data-ke-type='video'][data-video-host] iframe { margin: 0px; display: block; }
#article-view figure[data-ke-type='video']>iframe[width='0'][height='0'] { width: 860px; height: 484px; max-width: 100%; }

/* Code block */
#article-view pre code.hljs { font-size: 14px; padding: 20px 24px; font-family: 'SF Mono', 'Fira Code', Menlo, Consolas, Monaco, monospace; border: 1px solid var(--ts-color-border); border-radius: var(--ts-radius-md); line-height: 1.65; overflow: auto; background: var(--ts-color-bg-secondary); color: var(--ts-color-text); }

/* Fold/More */
#article-view .moreless-content :first-child { margin-top: 0; margin-bottom: 0; }
#article-view div[data-ke-type='moreLess'] .moreless-content { display: none; }
#article-view div[data-ke-type='moreLess'].open .moreless-content { display: block; }
#article-view div[data-ke-type='moreLess'] .btn-toggle-moreless { color: var(--ts-color-text-hint); font-size: 15px; line-height: 26px; font-family: var(--ts-font-body); cursor: pointer; text-decoration: none; }

/* Lists */
#article-view ul li, #article-view ol li { margin: 0 0 4px 22px; line-height: 1.75; }
#article-view ul, #article-view ol { margin: 14px auto 24px; padding: 0 0 0 10px; }

/* Emoticon, Map */
#article-view figure[data-ke-type=emoticon][data-ke-align=alignCenter] { text-align: center; }
#article-view figure[data-ke-type=emoticon][data-ke-align=alignLeft] { text-align: left; }
#article-view figure[data-ke-type=emoticon][data-ke-align=alignRight] { text-align: right; }
#article-view figure[data-ke-type='map'], #article-view iframe[data-ke-type='map'] { display: block; margin: 0 auto; }

/* Image slide */
#article-view figure.imageslideblock { clear: both; position: relative; font-size: 0; outline: 0 none; }
#article-view figure.imageslideblock .btn { display: none; outline: none; }
#article-view figure.imageslideblock.ready .btn { display: inline-block; }
#article-view figure.imageslideblock.ready .mark { opacity: 1; }
#article-view figure.imageslideblock div.image-container { position: relative; min-width: 480px; max-width: 100%; min-height: 300px; max-height: 860px; background-color: #000; display: flex; align-items: center; justify-content: center; overflow: hidden; margin: 0 auto; border-radius: var(--ts-radius-md); }
#article-view figure.imageslideblock div.image-container span.image-wrap { display: none; }
#article-view figure.imageslideblock div.image-container span.image-wrap.selected { display: inline; }
#article-view figure.imageslideblock div.image-container img { max-width: 100%; max-height: 100%; }
#article-view figure.imageslideblock div.image-container .btn { position: absolute; border: 0; background: transparent; width: 60px; height: 60px; top: 50%; margin-top: -20px; }
#article-view figure.imageslideblock div.image-container .btn-prev { left: 0; }
#article-view figure.imageslideblock div.image-container .btn-next { right: 0; }
#article-view figure.imageslideblock div.image-container:hover .btn span { opacity: 0.3; }
#article-view figure.imageslideblock div.image-container .btn span { background-image: url('https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg'); text-indent: -10000px; overflow: hidden; width: 40px; height: 40px; opacity: 0; transition: opacity ease-in-out 0.2s; display: inline-block; }
#article-view figure.imageslideblock div.image-container .btn:hover span { opacity: 1; }
#article-view figure.imageslideblock div.image-container .btn .ico-prev { background-position: -220px 0; }
#article-view figure.imageslideblock div.image-container .btn .ico-next { background-position: -260px 0; }
#article-view figure.imageslideblock div.mark { display: block; height: 44px; text-align: center; opacity: 0; transition: opacity ease-in-out 0.2s; }
#article-view figure.imageslideblock div.mark span { width: 30px; height: 4px; display: inline-block; margin: 20px 1px; background-color: var(--ts-color-border); text-indent: -10000px; overflow: hidden; cursor: pointer; border-radius: 2px; }
#article-view figure.imageslideblock div.mark span:first-child { background-color: var(--ts-color-text); margin-left: 0; }
#article-view figure.imageslideblock div.mark span:last-child { margin-right: 0; }
#article-view figure.imageslideblock figcaption { text-align: center; color: var(--ts-color-text-secondary); font-size: 14px; }
#article-view figure.imageslideblock.alignCenter { margin: 0 auto 20px; text-align: center; }

@media (max-width: 600px) {
  #article-view figure.imageslideblock div.image-container { min-width: 100%; width: 100%; max-height: 100%; }
  #article-view figure.imageslideblock div.image-container .btn span { opacity: 0.3; }
}

/* Old editor */
.btn_more, .btn_less { border: 0; background: transparent; display: block; height: 21px; margin: 20px 0; font-size: 14px; line-height: 14px; color: var(--ts-color-text-hint); position: relative; width: 100%; text-align: left; }
.btn_less::before, .btn_more::before { content: "..."; display: inline-block; padding-right: 5px; font-size: 14px; line-height: 6px; vertical-align: top; }
.box-timeline-content { word-break: break-all; }

/* Subscription / Profile buttons */
.area-aside .box-profile .btn_subscription, .btn-g { display: inline-block; min-width: 120px; height: 40px; padding: 0 20px; border-radius: 20px; border: 1px solid var(--ts-color-border); font-weight: 400; font-size: 13px; color: var(--ts-color-text); line-height: 38px; box-sizing: border-box; text-align: center; background-color: var(--ts-color-bg); cursor: pointer; vertical-align: middle; outline: none; transition: all var(--ts-transition); }
.area-aside .box-profile .btn_subscription:hover, .btn-g:hover { color: #fff; background-color: var(--ts-color-accent); border: 1px solid var(--ts-color-accent); text-decoration: none; }
.area-aside .box-profile .btn_subscription:active, .btn-g:active { color: #fff; background-color: var(--ts-color-accent-hover); border: 1px solid var(--ts-color-accent-hover); text-decoration: none; }
.area-aside .box-profile .btn_subscription:not(.following), .area-aside .box-profile .btn-primary { border-color: var(--ts-color-accent); background-color: var(--ts-color-accent); color: #fff; text-decoration: none; }
.group-btn { font-size: 0; line-height: 0; text-align: center; }
.btn_subscription strong { display: none; }
.btn_subscription em { font-style: normal; font-weight: normal; }
.area-aside .box-profile { border-bottom: 1px solid var(--ts-color-border); }
.area-aside .box-profile .img-profile { margin: 36px 0 14px; }
.area-aside .box-profile .tit-g { display: block; padding: 0 32px; font-weight: 600; font-size: 15px; word-break: break-word; margin: 0 0 10px 0; }
.area-aside .box-profile .btn_tool + .profile-btn-group.member { margin-top: 28px; }
.area-aside .box-profile .profile-btn-group:not(.member) { display: none; }
.area-aside .box-profile .btn-g { min-width: 120px; }
.area-aside .box-profile .btn_subscription:only-of-type { width: calc(100% - 40px); }
.area-aside .box-profile .btn-g + .btn-g { margin-left: 10px; }
.area-aside .box-profile .group-btn { padding: 28px 0 36px; }
.cont-empty { text-align: center; }
.cont-empty .tit-g { display: block; margin-top: 72px; font-weight: 600; font-size: 18px; line-height: 1.2; color: var(--ts-color-text); letter-spacing: -0.5px; }
.cont-empty .desc-g { margin: 8px 0 0 0; font-size: 13px; line-height: 1.5; color: var(--ts-color-text-muted); }
.cont-empty .group-btn { margin-top: 28px; }

/* ============================================================
   [TechSophy] Custom Additions
   ============================================================ */

/* 카테고리별 글 목록 — 텍스트 리스트 */
.area-cover-list { margin-bottom: 20px !important; padding: 16px 18px 12px !important; border: 1px solid var(--ts-color-border) !important; border-radius: var(--ts-radius-md) !important; background: var(--ts-color-bg) !important; box-shadow: var(--ts-shadow-card) !important; }
.area-cover-list:last-of-type { margin-bottom: 0 !important; }
.area-cover-list .box-cover-title { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 8px !important; padding-bottom: 9px !important; border-bottom: 2px solid var(--ts-color-text) !important; }
.area-cover-list .title-cover { font-size: 13.5px !important; font-weight: 700 !important; color: var(--ts-color-text) !important; letter-spacing: -0.2px !important; padding: 0 !important; min-height: auto !important; border-bottom: none !important; }
.area-cover-list .link-title { font-size: 11px !important; color: var(--ts-color-text-hint) !important; text-decoration: none !important; padding: 0 !important; }
.area-cover-list .link-title::after { display: none !important; }
.area-cover-list .link-title:hover { color: var(--ts-color-accent) !important; }
.list-cover-text { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.item-cover-text { border-bottom: 1px solid var(--ts-color-border-light) !important; }
.item-cover-text:last-child { border-bottom: none !important; }
.link-cover-text { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 6px 4px !important; text-decoration: none !important; border-radius: var(--ts-radius-sm) !important; transition: background var(--ts-transition), color var(--ts-transition) !important; gap: 10px !important; }
.link-cover-text:hover { background: var(--ts-color-bg-hover) !important; }
.link-cover-text:hover .title-cover-text { color: var(--ts-color-accent) !important; }
.title-cover-text { flex: 1 !important; font-size: 13.5px !important; font-weight: 400 !important; color: var(--ts-color-text) !important; line-height: 1.5 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; transition: color var(--ts-transition) !important; }
.date-cover-text { flex-shrink: 0 !important; font-size: 11px !important; color: var(--ts-color-text-hint) !important; white-space: nowrap !important; }

@media screen and (max-width: 1060px) {
  .area-cover-list { padding: 14px 14px 10px !important; margin-bottom: 14px !important; }
  .title-cover-text { font-size: 13px !important; }
  .date-cover-text { font-size: 10.5px !important; }
}

/* PROFILE — 이미지·소개 숨김, 구독버튼만 표시 */
.area-aside .box-profile .img-profile { display: none !important; }
.area-aside .box-profile .tit-g { display: none !important; }
.area-aside .box-profile .text-profile { display: none !important; }
.area-aside .box-profile .box-sns { display: none !important; }
.area-aside .box-profile .group-btn { padding: 20px 0 20px !important; }
.area-aside .box-profile { padding-top: 0 !important; }

/* 글 목록 — 썸네일 이미지 숨김 */
.article-type- .thumbnail, .article-type-thumbnail .thumbnail { display: none !important; }
.article-type- .article-content, .article-type-thumbnail .article-content { width: 100% !important; }

/* 카테고리 사이드바 — 클릭 가능 + 간격 조정 */
.tt_category .category_list > li { margin-top: 12px !important; margin-bottom: 6px !important; border-bottom: 1px solid var(--ts-color-border) !important; padding-bottom: 6px !important; }
.tt_category .category_list > li > a { font-size: 14px !important; font-weight: 700 !important; color: var(--ts-color-text) !important; text-decoration: none !important; display: block !important; letter-spacing: -0.2px; transition: color var(--ts-transition); }
.tt_category .category_list > li > a:hover { color: var(--ts-color-accent) !important; }
.tt_category .category_list > li > ul { margin-top: 6px !important; padding-left: 0 !important; }
.tt_category .category_list > li > ul > li { margin-bottom: 1px !important; }
.tt_category .category_list > li > ul > li a { font-size: 13.5px !important; color: var(--ts-color-text-secondary) !important; padding: 3px 10px !important; display: block !important; border-radius: var(--ts-radius-sm); transition: all var(--ts-transition); }
.tt_category .category_list > li > ul > li a:hover { background-color: var(--ts-color-accent-light) !important; color: var(--ts-color-accent) !important; text-decoration: none !important; }
.tt_category .category_list > li > ul > li a.selected { background-color: var(--ts-color-accent-light) !important; color: var(--ts-color-accent) !important; font-weight: 600 !important; }
.tt_category .c_cnt { display: none !important; }

/* 홈으로 유도 UX */
.btn-home-sidebar { display: block; width: calc(100% - 40px); margin: 0 auto 10px auto; height: 40px; line-height: 38px; border-radius: 20px; border: 1px solid var(--ts-color-border); background: var(--ts-color-bg); color: var(--ts-color-text); font-size: 13px; font-weight: 400; text-align: center; text-decoration: none; transition: all var(--ts-transition); }
.btn-home-sidebar:hover { border-color: var(--ts-color-accent); color: var(--ts-color-accent); text-decoration: none; }
.cta-home-banner { display: flex; align-items: center; justify-content: space-between; margin: 48px 0 48px; padding: 18px 24px; background: var(--ts-color-accent-light); border: 2px solid var(--ts-color-accent); border-radius: var(--ts-radius-md); text-decoration: none; transition: all var(--ts-transition); }
.cta-home-banner:hover { background: var(--ts-color-accent); }
.cta-home-banner:hover .cta-home-text, .cta-home-banner:hover .cta-home-arrow { color: #fff; background: rgba(255,255,255,0.2); }
.cta-home-text { font-size: 16px; font-weight: 700; color: var(--ts-color-accent); letter-spacing: -0.3px; }
.cta-home-arrow { flex-shrink: 0; font-size: 13px; font-weight: 600; color: #fff; background: var(--ts-color-accent); padding: 7px 16px; border-radius: 20px; white-space: nowrap; transition: all var(--ts-transition); }

@media screen and (max-width: 1060px) {
  .cta-home-banner { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 16px; margin: 32px 0 32px; }
  .cta-home-text { font-size: 14px; }
  .cta-home-arrow { font-size: 12px; }
}

html { scroll-behavior: smooth; }

/* 모바일 상위 카테고리 클릭 복원 */
@media screen and (max-width: 1060px) {
  .area-aside .tt_category .category_list > li > a { pointer-events: auto !important; cursor: pointer !important; -webkit-tap-highlight-color: rgba(37, 99, 235, 0.08); touch-action: manipulation; }
  .area-aside .tt_category .category_list > li > a:active { color: var(--ts-color-accent) !important; opacity: 0.8; }
  .header .tt_category .category_list > li > .link_item { pointer-events: auto !important; cursor: pointer !important; }
}

/* ============================================================
   [TechSophy] CSS OVERRIDE v3.0 — 최종 완성본
   
   ★ 적용법: 기존 style.css 맨 아래에 이 파일 내용 전체를 붙여넣기
   ★ HTML: <head>에 Noto Serif KR 폰트 link 태그 추가 필요 (별도 안내)
   ★ 기존 CSS는 한 글자도 수정하지 않음
   
   원리: 동일 선택자가 뒤에 다시 나오면 CSS cascade에 의해
   나중 것이 우선. :root 변수도 동일하게 덮어씌워짐.
   ============================================================ */


/* ============================================================
   OVERRIDE 1: :root 변수 덮어쓰기 — 칠판 그린 팔레트
   ============================================================ */
:root {
  --ts-font-heading: 'Noto Serif KR', 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;

  --ts-color-text-secondary: #4a4a4a;
  --ts-color-text-muted: #6b6b6b;

  --ts-color-accent: #2c6e49;
  --ts-color-accent-hover: #1e5638;
  --ts-color-accent-light: #eef6f1;

  --ts-color-border: #e2e5e0;
  --ts-color-border-light: #f0f2ee;
  --ts-color-bg-secondary: #f7f8f6;
  --ts-color-bg-hover: #f0f2ee;

  --ts-color-category-active: #2c6e49;

  --ts-shadow-card: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
  --ts-shadow-hover: 0 4px 12px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.03);
}


/* ============================================================
   OVERRIDE 2: TAG 섹션 완전 숨김
   
   HTML 구조 확인:
   <s_sidebar_element>
     <div class="box-tag">
       <h3 class="title-sidebar">Tag</h3>
       <div class="box_tag"> ... </div>
     </div>
   </s_sidebar_element>
   ============================================================ */
.area-aside .box-tag {
  display: none !important;
}


/* ============================================================
   OVERRIDE 3: 타이포그래피 — 헤딩에 세리프 적용
   
   HTML 확인:
   - 글 목록: .article-type-common .title (strong 태그)
   - 글 상세: #article-view h2/h3/h4, .article-view h2/h3/h4
   - 글 상세 제목: .article-header .title-article (h2)
   - 커버 제목: .area-cover .title-cover (h2)
   - 슬로건: .area-slogun strong
   - 프로모션: .area-promotion .inner-promotion strong
   ============================================================ */
.article-view h1,
.article-view h2,
.article-view h3,
.article-view h4,
#article-view h2,
#article-view h3,
#article-view h4,
#article-view h2[data-ke-size],
#article-view h3[data-ke-size],
#article-view h4[data-ke-size],
.article-type-common .title,
.article-type-crop .title,
.article-type-resize .title,
.article-header .title-article,
.area-cover .title-cover,
.area-promotion .inner-promotion strong,
.header .area-slogun strong {
  font-family: var(--ts-font-heading) !important;
}


/* ============================================================
   OVERRIDE 4: 본문 가독성 최적화
   
   HTML 확인:
   - 글 상세 본문: #article-view p[data-ke-size]
   - .article-view p (비-에디터 모드)
   ============================================================ */
.article-view p,
#article-view p[data-ke-size='size16'] {
  line-height: 1.85 !important;
  letter-spacing: -0.2px;
  word-break: keep-all;
}

#article-view p[data-ke-size='size18'] {
  line-height: 1.85 !important;
}

.article-view h2,
#article-view h2,
#article-view h2[data-ke-size] {
  margin-top: 2.2em !important;
  margin-bottom: 0.7em !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--ts-color-border) !important;
  letter-spacing: -0.5px !important;
}

.article-view h3,
#article-view h3,
#article-view h3[data-ke-size] {
  margin-top: 1.8em !important;
  margin-bottom: 0.6em !important;
  letter-spacing: -0.4px !important;
}


/* ============================================================
   OVERRIDE 5: 글 목록 타이틀 — 세리프 + 크기 최적화
   
   HTML 확인:
   - .article-type-common .title = <strong class="title">
   - .article-type-crop .title = <strong class="title">
   - .summary = <p class="summary">
   ============================================================ */
.article-type-common .title {
  font-size: 20px !important;
  line-height: 1.4 !important;
  letter-spacing: -0.4px !important;
  font-weight: 600 !important;
}

.article-type-crop .title {
  font-size: 26px !important;
  letter-spacing: -0.5px !important;
}

.article-type-common .summary {
  line-height: 1.7 !important;
  letter-spacing: -0.1px;
}


/* ============================================================
   OVERRIDE 6: blockquote 그린 강조
   
   HTML 확인: 티스토리 에디터가 생성하는 blockquote 스타일
   - data-ke-style='style2' = 왼쪽 보더형
   - data-ke-style='style3' = 박스형
   ============================================================ */
.article-view blockquote,
#article-view blockquote[data-ke-style='style2'] {
  border-left-color: var(--ts-color-accent) !important;
}

#article-view blockquote[data-ke-style='style3'] {
  background-color: var(--ts-color-bg-secondary) !important;
  border-color: var(--ts-color-border) !important;
}


/* ============================================================
   OVERRIDE 7: 카테고리 사이드바 정렬 개선
   
   HTML 확인:
   - <div class="box-category box-category-2depth">
   -   <nav>[##_category_list_##]</nav>
   - Tistory가 렌더링: .tt_category > .category_list > li > a
   -                    .tt_category > .category_list > li > ul > li > a
   ============================================================ */
.area-aside .box-category {
  margin-bottom: 28px !important;
  padding-bottom: 24px !important;
}

.tt_category .category_list > li {
  margin-top: 10px !important;
  margin-bottom: 4px !important;
  padding-bottom: 8px !important;
}

.tt_category .category_list > li > a,
.area-aside .box-category .tt_category .category_list .link_item {
  font-family: var(--ts-font-heading) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: -0.3px !important;
}

.tt_category .category_list > li > ul > li a,
.area-aside .box-category .tt_category .category_list .link_sub_item {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.area-aside .box-category .tt_category .category_list .link_item.selected,
.area-aside .box-category .tt_category .category_list .link_sub_item.selected,
.tt_category .category_list > li > ul > li a.selected {
  background-color: var(--ts-color-accent-light) !important;
  color: var(--ts-color-accent) !important;
  font-weight: 600 !important;
}


/* ============================================================
   OVERRIDE 8: 글 목록 카드 호버 UX
   
   HTML 확인:
   - <article class="article-type-common article-type-thumbnail">
   - <article class="article-type-common article-type-"> (빈 style)
   - 기존 CSS에서 .article-type-, .article-type-thumbnail 으로 타겟
   ============================================================ */
.article-type-,
.article-type-thumbnail {
  padding: 22px 24px !important;
  margin-bottom: 14px !important;
  border-color: var(--ts-color-border) !important;
  transition: border-color var(--ts-transition), box-shadow var(--ts-transition), transform var(--ts-transition) !important;
}

.article-type-:hover,
.article-type-thumbnail:hover {
  border-color: var(--ts-color-accent) !important;
  box-shadow: var(--ts-shadow-hover) !important;
  transform: translateY(-1px);
}

.article-type-common .link-category {
  color: var(--ts-color-accent) !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
}

.article-type-crop {
  margin-bottom: 52px !important;
  padding-bottom: 52px !important;
}

.article-type-common:hover .title {
  color: var(--ts-color-accent) !important;
}


/* ============================================================
   OVERRIDE 9: 헤더 내비 — 그린 호버 + 밑줄
   
   HTML 확인:
   - .header nav 안에 [##_blog_menu_##] 또는 .tt_category
   - PC에서 호버 시 :after 밑줄 표시
   ============================================================ */
.header .tt_category .category_list > li:hover > a:after,
.header .topnavmenu > ul > li:hover > a:after {
  background: var(--ts-color-accent) !important;
}

.header .tt_category .category_list .link_item:hover,
.header .topnavmenu > ul > li > a:hover {
  color: var(--ts-color-accent) !important;
}


/* ============================================================
   OVERRIDE 10: 프로필 영역 버튼 — 그린
   
   HTML 확인:
   - [##_subscription_button_##] → .btn_subscription
   - <a class="btn-home-sidebar">🏠 홈으로</a>
   - <button class="btn-g btn-primary btn-write">글쓰기</button>
   ============================================================ */
.area-aside .box-profile .btn_subscription:not(.following),
.area-aside .box-profile .btn-primary {
  border-color: var(--ts-color-accent) !important;
  background-color: var(--ts-color-accent) !important;
  color: #fff !important;
}

.area-aside .box-profile .btn_subscription:hover,
.area-aside .box-profile .btn-g:hover {
  background-color: var(--ts-color-accent) !important;
  border-color: var(--ts-color-accent) !important;
}

.btn-home-sidebar:hover {
  border-color: var(--ts-color-accent) !important;
  color: var(--ts-color-accent) !important;
}


/* ============================================================
   OVERRIDE 11: CTA 홈 배너 — 그린
   
   HTML 확인:
   - <a class="cta-home-banner">
   -   <span class="cta-home-text">📚 카테고리별로 정리된 글 더 보기</span>
   -   <span class="cta-home-arrow">TechSophy 홈으로 →</span>
   - </a>
   ============================================================ */
.cta-home-banner {
  background: var(--ts-color-accent-light) !important;
  border-color: var(--ts-color-accent) !important;
}

.cta-home-banner:hover {
  background: var(--ts-color-accent) !important;
}

.cta-home-text {
  color: var(--ts-color-accent) !important;
}

.cta-home-arrow {
  background: var(--ts-color-accent) !important;
}


/* ============================================================
   OVERRIDE 12: 글 본문 링크 — 그린
   
   HTML 확인:
   - #article-view a (에디터 생성 링크)
   - #article-view figure[data-ke-type='opengraph'] a (OG 카드)
   - #article-view figure[data-ke-type='contentSearch'] a
   ============================================================ */
.article-view a,
#article-view a {
  color: var(--ts-color-accent) !important;
  text-decoration-color: rgba(44, 110, 73, 0.3) !important;
}

.article-view a:hover,
#article-view a:hover {
  text-decoration-color: var(--ts-color-accent) !important;
}

#article-view figure[data-ke-type='opengraph'] a:hover {
  box-shadow: var(--ts-shadow-card) !important;
}


/* ============================================================
   OVERRIDE 13: 코드 블록 — 따뜻한 배경
   
   HTML 확인:
   - #article-view pre code.hljs (하이라이트 코드)
   - .article-view pre (일반 코드)
   ============================================================ */
#article-view pre code.hljs,
.article-view pre {
  background: #f5f7f3 !important;
  border-color: var(--ts-color-border) !important;
  font-size: 13.5px !important;
}


/* ============================================================
   OVERRIDE 14: 페이지네이션 — 그린
   
   HTML 확인:
   - <div class="area-paging">
   -   <a class="link_num"><span class="selected">1</span></a>
   - <a class="paging-more">더보기</a>
   ============================================================ */
.area-paging .selected {
  background: var(--ts-color-accent) !important;
}

.area-paging .link_num:hover .selected {
  background: var(--ts-color-accent) !important;
}

.area-paging .link_page:hover {
  color: var(--ts-color-accent) !important;
}

.paging-more:hover {
  border-color: var(--ts-color-accent) !important;
  color: var(--ts-color-accent) !important;
}


/* ============================================================
   OVERRIDE 15: 댓글 영역 — 그린
   
   HTML 확인:
   - .article-reply .box-total span (댓글 수 강조)
   - .area-write .box-write .btn_register (등록 버튼)
   - .area-write .box-account input (이름/비번 입력)
   - .area-write .box-textarea textarea (내용 입력)
   ============================================================ */
.article-reply .box-total span {
  color: var(--ts-color-accent) !important;
}

.area-write .box-write .btn_register {
  background: var(--ts-color-accent) !important;
}

.area-write .box-write .btn_register:hover {
  background: var(--ts-color-accent-hover) !important;
}

.area-write .box-write .xe-label > input[type="checkbox"]:checked + .xe-input-helper {
  background-color: var(--ts-color-accent) !important;
}

.area-write .box-account input:focus,
.area-write .box-account input:hover,
.area-write .box-homepage input:focus,
.area-write .box-homepage input:hover,
.area-write .box-textarea textarea:focus,
.area-write .box-textarea textarea:hover {
  border-color: var(--ts-color-accent) !important;
}


/* ============================================================
   OVERRIDE 16: 검색 · 태그페이지 · 커버리스트 — 그린
   
   HTML 확인:
   - .area-aside .box-search (사이드바 검색)
   - .title-search span (검색 결과 수)
   - .area-cover-list (thumbnail/text 커버)
   ============================================================ */
.area-aside .box-search:focus-within {
  border-color: var(--ts-color-accent) !important;
}

.title-search span {
  color: var(--ts-color-accent) !important;
}

.area-cover-list .link-cover-text:hover .title-cover-text {
  color: var(--ts-color-accent) !important;
}

.area-cover-list .link-title:hover {
  color: var(--ts-color-accent) !important;
}


/* ============================================================
   OVERRIDE 17: 이미지 둥근 모서리 + 사이드바 스크롤바
   
   HTML 확인:
   - #article-view figure.imageblock img
   - .area-aside (sticky sidebar, overflow-y: auto)
   ============================================================ */
#article-view figure.imageblock img {
  border-radius: var(--ts-radius-md) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.area-aside::-webkit-scrollbar {
  width: 4px;
}

.area-aside::-webkit-scrollbar-track {
  background: transparent;
}

.area-aside::-webkit-scrollbar-thumb {
  background: var(--ts-color-border);
  border-radius: 4px;
}

.area-aside::-webkit-scrollbar-thumb:hover {
  background: var(--ts-color-text-hint);
}


/* ============================================================
   OVERRIDE 18: 모바일 최적화 보완
   ============================================================ */
@media screen and (max-width: 1060px) {
  .article-type-,
  .article-type-thumbnail {
    padding: 16px 18px !important;
  }

  .article-view p,
  #article-view p {
    font-size: 15.5px !important;
    line-height: 1.8 !important;
  }

  .article-view h2,
  #article-view h2 {
    font-size: 22px !important;
  }

  .article-view h3,
  #article-view h3 {
    font-size: 18px !important;
  }
}
.date { display: none !important; }

/* ==========================================
   YouTube Channel Strip
   ========================================== */
.yt-strip {
  width: 100%;
  background: #fff8f8;
  border-bottom: 1.5px solid #ffcccc;
}

.yt-strip-inner {
  max-width: var(--ts-max-width);
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.yt-strip-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.yt-strip-icon {
  width: 28px;
  height: 28px;
  background: #FF0000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.yt-strip-text {
  font-size: 13px;
  color: #444;
}

.yt-strip-btn {
  background: #FF0000;
  color: #fff !important;
  font-size: 12px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 6px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s;
}

.yt-strip-btn:hover {
  background: #cc0000 !important;
}

@media screen and (max-width: 600px) {
  .yt-strip-inner {
    flex-direction: column;
    gap: 8px;
    text-align: center;
    padding: 10px 16px;
  }
  .yt-strip-left {
    justify-content: center;
  }
  .yt-strip-text {
    font-size: 12px;
  }
  .yt-strip-btn {
    width: 100%;
    display: block;
    text-align: center;
    padding: 9px 14px;
  }
}

/* ==========================================
   YouTube Sidebar Widget
   ========================================== */
.box-youtube-cta {
  border: 1px solid #ffcccc;
  border-radius: var(--ts-radius-md);
  background: var(--ts-color-bg);
  padding: 14px;
  margin-bottom: 28px;
}
.yt-cta-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.yt-cta-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #FF0000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.yt-cta-name {
  font-family: var(--ts-font-heading);
  font-size: 14px;
  font-weight: 600;
  color: var(--ts-color-text);
  line-height: 1.3;
}
.yt-cta-label {
  font-size: 12px;
  color: var(--ts-color-text-muted);
}
.yt-cta-desc {
  font-size: 12.5px;
  color: var(--ts-color-text-secondary);
  line-height: 1.6;
  margin-bottom: 12px;
  border-top: 1px solid var(--ts-color-border-light);
  padding-top: 10px;
}
.yt-cta-btn {
  display: block;
  text-align: center;
  background: #FF0000;
  color: #fff !important;
  border-radius: var(--ts-radius-sm);
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.2s;
}
.yt-cta-btn:hover {
  background: #cc0000 !important;
}

/* ==========================================
   YouTube Post CTA (글 본문 하단)
   ========================================== */
.yt-post-cta {
  margin: 40px 0 20px;
  border: 1px solid #ffcccc;
  border-left: 4px solid #FF0000;
  border-radius: var(--ts-radius-md);
  background: #fff8f8;
  padding: 18px 20px;
}

.yt-post-cta-inner {
  display: flex;
  align-items: center;
  gap: 14px;
}

.yt-post-cta-icon {
  width: 42px;
  height: 42px;
  background: #FF0000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.yt-post-cta-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.yt-post-cta-text strong {
  font-size: 14px;
  color: var(--ts-color-text);
  font-family: var(--ts-font-heading);
}

.yt-post-cta-text span {
  font-size: 12.5px;
  color: var(--ts-color-text-muted);
}

.yt-post-cta-btn {
  background: #FF0000;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: var(--ts-radius-sm);
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s;
}

.yt-post-cta-btn:hover {
  background: #cc0000 !important;
}

@media screen and (max-width: 600px) {
  .yt-post-cta-inner {
    flex-direction: column;
    text-align: center;
  }
  .yt-post-cta-text {
    align-items: center;
  }
  .yt-post-cta-btn {
    width: 100%;
    text-align: center;
    padding: 10px;
  }
}
/* 홈 화면 카테고리별 글 목록 날짜 숨김 */
.area-cover-list .date-cover-text {
    display: none !important;
}

/* ============================================================
   [END] TechSophy CSS Override v3.0
   ============================================================ */