:root{
  --bg:#f6f5f9;--ink:#2d3445;--navy:#151d2c;
  --lav:#a69bbc;--line:#dcdce8;--muted:#777d90;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
}
a{color:inherit;text-decoration:none}
.site-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px max(5vw,20px);gap:20px;background:#fcfbfe;
  border-bottom:1px solid var(--line);
}
.brand{font:italic 30px Georgia,serif;color:#8c759f}
.back{font-size:12px;color:#82768d}
.shell{max-width:1180px;margin:auto;padding:32px 20px 75px}
.breadcrumb{
  font:11px Consolas,monospace;color:#85839b;
  letter-spacing:.14em;margin-bottom:22px;
}
.hero{
  display:grid;grid-template-columns:1.05fr .95fr;
  overflow:hidden;border:1px solid #29364a;border-radius:17px;
  background:var(--navy);color:#f0eef8;
  box-shadow:0 16px 48px #29354a24;
}
.hero-copy{
  position:relative;padding:clamp(30px,5.5vw,68px);
  display:flex;flex-direction:column;justify-content:center;
}
.overline{
  font:11px Consolas,monospace;letter-spacing:.18em;
  color:#968bb1;font-weight:700;
}
.hero-copy .overline{color:#afa6cc}
.serial{
  color:#7f89a5;font:11px Consolas,monospace;
  letter-spacing:.15em;margin-top:16px;
}
.hero h1{
  font:600 clamp(48px,6vw,86px)/.98 Georgia,serif;
  letter-spacing:-.04em;margin:27px 0 22px;
}
.hero h1 em{font-weight:400;color:#c5b1d8}
.hero-subtitle{
  color:#deb4ce;font-size:clamp(12px,1.6vw,16px);
  font-weight:700;line-height:1.7;margin:0;
}
.hero-description{
  color:#b9bfd0;font-size:13px;line-height:2;
  max-width:415px;margin:21px 0 0;word-break:keep-all;
}
.hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:29px}
.hero-links a{
  border:1px solid #66718e;border-radius:3px;
  padding:11px 14px;font:10px Consolas,monospace;
  letter-spacing:.08em;color:#e0d9ee;
}
.hero-links a:hover{background:#333d54}
.hero-visual{min-height:400px;overflow:hidden}
.hero-visual svg{width:100%;height:100%;display:block}
.intro{text-align:center;padding:70px 20px 65px}
.intro h2{
  font:italic clamp(35px,4vw,55px) Georgia,serif;
  color:#626278;margin:16px 0;
}
.intro p{
  max-width:620px;margin:0 auto;color:#777d90;
  font-size:13px;line-height:2.2;word-break:keep-all;
}
.section{margin-bottom:72px;scroll-margin-top:25px}
.section-heading{
  display:flex;align-items:end;justify-content:space-between;
  gap:20px;padding-bottom:18px;border-bottom:1px solid #ced0dd;
}
.section-heading h2{
  font:500 clamp(28px,3.4vw,43px) Georgia,serif;
  margin:10px 0 0;color:#3f4559;
}
.counter{
  font:11px Consolas,monospace;color:#87809d;
  letter-spacing:.09em;white-space:nowrap;
}
.section-description{
  margin:19px 0 24px;color:#8a8799;
  font-size:13px;line-height:1.8;
}
.people-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.person{
  background:#fcfbff;border:1px solid #dedde9;border-radius:7px;
  padding:20px 15px;min-height:108px;
  display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 4px 15px #48506c08;
}
.person span{
  color:#aaa0be;font:11px Consolas,monospace;
}
.person strong{font-size:14px;color:#55566d;font-weight:600}
.record-tools{display:flex;gap:10px;margin:25px 0}
.record-tools[hidden]{display:none}
.record-tools input,.record-tools select{
  min-width:0;padding:12px;border:1px solid #d6d3e2;
  border-radius:5px;background:#fff;color:#3d4254;font:13px inherit;
}
.record-tools input{flex:1}
.record-list{display:grid;gap:14px}
.empty{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;
  min-height:295px;padding:37px 20px;
  border:1px dashed #c5c2d5;border-radius:9px;
  background:#faf9fd;
}
.empty-symbol{font-size:35px;color:#a4a0bc;margin-bottom:18px}
.empty strong{
  font:12px Consolas,monospace;letter-spacing:.12em;color:#63657c;
}
.empty p{font-size:13px;line-height:2;color:#86869b}
.empty>span:last-child{
  margin-top:12px;font:10px Consolas,monospace;
  letter-spacing:.1em;color:#ada7c0;
}
.log-card{
  background:#fcfbff;border:1px solid #dcdce8;
  border-left:4px solid #9d91b8;
  border-radius:6px;padding:23px 25px;
}
.log-meta{
  font:11px Consolas,monospace;color:#9084a6;
  letter-spacing:.06em;
}
.log-card h3{font-size:21px;margin:12px 0}
.log-card p{font-size:13px;line-height:2;color:#666d81}
.log-card details{margin-top:17px}
.log-card summary{cursor:pointer;color:#826f9c;font-size:12px}
.log-card .log-body{white-space:pre-wrap;overflow-wrap:anywhere}
.archive-end{
  text-align:center;letter-spacing:.2em;
  color:#9a92ac;font-size:11px;padding:10px 0 30px;
}
.site-footer{
  text-align:center;padding:29px 15px;
  border-top:1px solid #dedde8;color:#9b96aa;
  font:italic 17px Georgia,serif;
}
@media(max-width:850px){
  .hero{grid-template-columns:1fr}
  .hero-visual{min-height:260px;max-height:340px}
  .people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .shell{padding:22px 13px 55px}
  .hero-copy{padding:32px 23px}
  .hero h1{font-size:51px}
  .people-grid{gap:9px}
  .person{padding:16px 12px;min-height:95px}
  .person strong{font-size:12px}
  .record-tools{flex-direction:column}
  .section-heading{align-items:center}
  .counter{font-size:9px}
}

/* FRONTLINE-ZONES-STYLES-BEGIN */

.fl-zone-navigation {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:27px 0 35px;
}

.fl-zone-nav {
  display:inline-flex;
  padding:12px 16px;
  border-radius:6px;
  background:#fff;
  border:1px solid #d9d9e3;
  color:#4e5366;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
}

.fl-zone-nav:hover {
  transform:translateY(-2px);
}

.fl-zone-list {
  display:grid;
  gap:35px;
}

.fl-zone {
  --zone-bg:#25252b;
  --zone-card:#33333b;
  --zone-text:#f6f2f6;
  --zone-sub:#bdb5c1;
  --zone-accent:#a597ae;

  overflow:hidden;
  border-radius:13px;
  background:var(--zone-bg);
  color:var(--zone-text);
  border:1px solid var(--zone-accent);
  scroll-margin-top:24px;
}

.fl-zone-red {
  --zone-bg:#241b21;
  --zone-card:#36252d;
  --zone-text:#fff1f3;
  --zone-sub:#cfaeb8;
  --zone-accent:#aa536b;
}

.fl-zone-silver {
  --zone-bg:#e8ecf1;
  --zone-card:#f8fafc;
  --zone-text:#3b4b60;
  --zone-sub:#738397;
  --zone-accent:#a8b7c8;
}

.fl-zone-crown {
  --zone-bg:#fffdf7;
  --zone-card:#ffffff;
  --zone-text:#83642a;
  --zone-sub:#a58a56;
  --zone-accent:#c9a65c;
}

.fl-zone-black {
  --zone-bg:#141416;
  --zone-card:#252529;
  --zone-text:#f1eef2;
  --zone-sub:#ada8b0;
  --zone-accent:#625e67;
}

.fl-zone-heading {
  padding:35px clamp(20px,4vw,43px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--zone-accent);
}

.fl-zone-eyebrow {
  color:var(--zone-sub);
  font:10px Consolas,monospace;
  letter-spacing:.18em;
}

.fl-zone-heading h3 {
  margin:12px 0 6px;
  color:var(--zone-text);
  font:600 clamp(29px,4.5vw,52px) Georgia,serif;
  letter-spacing:.02em;
}

.fl-zone-heading p {
  margin:0;
  font-size:12px;
  color:var(--zone-sub);
}

.fl-zone-count {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  color:var(--zone-accent);
}

.fl-zone-count strong {
  font:600 39px Georgia,serif;
}

.fl-zone-count span {
  font:9px Consolas,monospace;
  letter-spacing:.1em;
}

.fl-zone-content {
  padding:24px clamp(14px,3vw,35px) 34px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.fl-character-card {
  min-width:0;
  border:1px solid var(--zone-accent);
  border-radius:8px;
  overflow:hidden;
  background:var(--zone-card);
}

.fl-character-card summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:97px;
  padding:20px 18px;
  list-style:none;
}

.fl-character-card summary::-webkit-details-marker {
  display:none;
}

.fl-character-number {
  font:12px Consolas,monospace;
  color:var(--zone-accent);
}

.fl-character-name {
  flex:1;
  min-width:0;
  color:var(--zone-text);
  font-size:clamp(13px,1.6vw,17px);
  font-weight:700;
  overflow-wrap:anywhere;
}

.fl-character-state {
  font:9px Consolas,monospace;
  color:var(--zone-sub);
  text-align:right;
  letter-spacing:.06em;
}

.fl-character-arrow {
  color:var(--zone-accent);
  font-size:20px;
}

.fl-character-card[open] .fl-character-arrow {
  transform:rotate(45deg);
}

.fl-character-details {
  padding:5px 20px 24px;
}

.fl-character-placeholder {
  border-top:1px solid var(--zone-accent);
  padding-top:20px;
  text-align:center;
  color:var(--zone-sub);
}

.fl-character-placeholder span {
  font:10px Consolas,monospace;
  letter-spacing:.12em;
}

.fl-character-placeholder p {
  font-size:12px;
  line-height:1.9;
}

@media(max-width:680px) {
  .fl-zone-content {
    grid-template-columns:1fr;
  }

  .fl-character-card summary {
    min-height:80px;
    padding:17px 14px;
    gap:10px;
  }

  .fl-character-state {
    font-size:8px;
  }

  .fl-zone-heading {
    padding:27px 20px;
  }
}

/* FRONTLINE-ZONES-STYLES-END */

/* REDZONE-V2-BEGIN */

/* 선명한 크림슨 레드 */
.fl-zone-red {
    --zone-bg: #810B20;
    --zone-card: #96132A;
    --zone-text: #FFF7F8;
    --zone-sub: #FFD0D7;
    --zone-accent: #F46F82;

    background: linear-gradient(
        145deg,
        #B7102C 0%,
        #850B21 55%,
        #610818 100%
    );
    border: 1px solid #DC3650;
}

/* 레드존 헤더 */
.fl-zone-red .fl-zone-heading {
    background: linear-gradient(
        115deg,
        #E2213A 0%,
        #9E0E25 60%,
        #67071A 100%
    );
    border-bottom: 1px solid #F46F82;
}

/* 캐릭터 카드 */
.fl-zone-red .fl-character-card {
    background: linear-gradient(
        135deg,
        #96132A,
        #720C20
    );
    border: 1px solid #D84B62;
    box-shadow: 0 5px 18px rgba(39,0,11,.20);
}

/* 호버 효과 */
.fl-zone-red .fl-character-card:hover {
    border-color: #FF9EAC;
    background: linear-gradient(
        135deg,
        #B71834,
        #850D25
    );
}

/* 번호와 강조 요소 */
.fl-zone-red .fl-character-number,
.fl-zone-red .fl-character-arrow {
    color: #FFB1BF;
}

.fl-zone-red .fl-zone-count {
    color: #FFE1E6;
}

.fl-zone-red .fl-character-state {
    color: #FFD0D7;
}

/* 상세 프로필 */
.fl-zone-red .fl-character-details {
    color: #FFF0F2;
}

.fl-zone-red .fl-character-placeholder {
    border-top-color: #C94B61;
}

/* REDZONE-V2-END */


/* FRONTLINE-ONE-COLUMN-BEGIN */

/* 모든 구역의 캐릭터 목록을 세로 1열로 통일 */
.fl-zone-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
}

/* 캐릭터 카드 전체 너비 */
.fl-zone-content > .fl-character-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* 모든 캐릭터 카드의 동일한 기본 높이 */
.fl-zone-content > .fl-character-card > summary {
    min-height: 100px !important;
    width: 100% !important;
}

/* 모바일에서도 동일하게 1열 */
@media (max-width: 680px) {
    .fl-zone-content {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .fl-zone-content > .fl-character-card > summary {
        min-height: 78px !important;
    }
}

/* FRONTLINE-ONE-COLUMN-END */


/* FRONTLINE-TABS-BEGIN */

.fl-zone.fl-tabified .fl-zone-content {
    display: block !important;
    padding-top: 14px;
}

.fl-zone.fl-tabified .fl-tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 0 18px;
}

.fl-zone.fl-tabified .fl-tab-btn {
    appearance: none;
    border: 1px solid var(--zone-accent);
    background: rgba(255,255,255,.07);
    color: var(--zone-sub);
    padding: 11px 14px;
    border-radius: 999px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font: inherit;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.fl-zone.fl-tabified .fl-tab-btn:hover {
    transform: translateY(-2px);
}

.fl-zone.fl-tabified .fl-tab-btn.is-active {
    background: var(--zone-card);
    border-color: var(--zone-accent);
    box-shadow: 0 0 0 1px var(--zone-accent) inset;
    color: var(--zone-text);
}

.fl-zone.fl-tabified .fl-tab-btn-num {
    font: 10px Consolas,monospace;
    letter-spacing: .08em;
    color: var(--zone-accent);
}

.fl-zone.fl-tabified .fl-tab-btn-name {
    font-size: 12px;
    font-weight: 700;
    color: var(--zone-text);
}

.fl-zone.fl-tabified .fl-tab-btn-state {
    font: 9px Consolas,monospace;
    letter-spacing: .06em;
    color: var(--zone-sub);
    opacity: .92;
}

.fl-zone.fl-tabified .fl-zone-content > .fl-character-card {
    display: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.fl-zone.fl-tabified .fl-zone-content > .fl-character-card.is-active {
    display: block !important;
}

.fl-zone.fl-tabified .fl-zone-content > .fl-character-card > summary {
    display: none !important;
}

.fl-zone.fl-tabified .fl-tab-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.fl-zone.fl-tabified .fl-tab-panel-num {
    font: 10px Consolas,monospace;
    letter-spacing: .12em;
    color: var(--zone-accent);
}

.fl-zone.fl-tabified .fl-tab-panel-head h4 {
    margin: 0;
    font-size: clamp(22px, 3.2vw, 34px);
    font-weight: 700;
    color: var(--zone-text);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.fl-zone.fl-tabified .fl-tab-panel-state {
    margin-left: auto;
    color: var(--zone-sub);
    font: 10px Consolas,monospace;
    letter-spacing: .08em;
}

.fl-zone.fl-tabified .fl-character-details {
    padding: 22px 22px 24px;
}

.fl-zone-silver.fl-tabified .fl-tab-panel-head,
.fl-zone-crown.fl-tabified .fl-tab-panel-head {
    border-bottom-color: rgba(0,0,0,.12);
}

.fl-zone-silver.fl-tabified .fl-tab-btn,
.fl-zone-crown.fl-tabified .fl-tab-btn {
    background: rgba(255,255,255,.7);
}

.fl-zone-silver.fl-tabified .fl-tab-btn.is-active,
.fl-zone-crown.fl-tabified .fl-tab-btn.is-active {
    background: #ffffff;
}

@media (max-width: 700px) {
    .fl-zone.fl-tabified .fl-tab-nav {
        gap: 8px;
    }

    .fl-zone.fl-tabified .fl-tab-btn {
        width: 100%;
        justify-content: flex-start;
        border-radius: 14px;
    }

    .fl-zone.fl-tabified .fl-tab-btn-state {
        margin-left: auto;
    }

    .fl-zone.fl-tabified .fl-character-details {
        padding: 16px;
    }

    .fl-zone.fl-tabified .fl-tab-panel-head {
        gap: 8px 10px;
        margin-bottom: 14px;
        padding-bottom: 12px;
    }

    .fl-zone.fl-tabified .fl-tab-panel-state {
        width: 100%;
        margin-left: 0;
    }
}

/* FRONTLINE-TABS-END */


/* FRONTLINE-TABS-REFINE-BEGIN */

/* 구역 자체를 하나의 아카이브 패널로 */
.fl-zone.fl-tabified {
    overflow: hidden;
}

/* 탭을 독립적인 알약이 아니라 이어진 메뉴로 변경 */
.fl-zone.fl-tabified .fl-tab-nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 28px !important;
    background: rgba(0,0,0,.07);
    border-bottom: 1px solid var(--zone-accent);
}

/* 탭 기본 디자인 */
.fl-zone.fl-tabified .fl-tab-btn {
    appearance: none;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px !important;

    width: 100% !important;
    min-width: 0;
    min-height: 76px !important;

    padding: 14px 9px !important;
    margin: 0 !important;

    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;

    color: var(--zone-sub);
    text-align: center;
    cursor: pointer;

    transform: none !important;
}

/* 번호 */
.fl-zone.fl-tabified .fl-tab-btn-num {
    color: var(--zone-sub);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
}

/* 캐릭터 이름 */
.fl-zone.fl-tabified .fl-tab-btn-name {
    color: var(--zone-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* 불필요한 PROFILE PENDING 제거 */
.fl-zone.fl-tabified .fl-tab-btn-state {
    display: none !important;
}

/* 활성 탭 */
.fl-zone.fl-tabified .fl-tab-btn.is-active {
    border-bottom-color: var(--zone-text) !important;
    background: rgba(255,255,255,.09) !important;
    box-shadow: none !important;
}

.fl-zone.fl-tabified .fl-tab-btn.is-active .fl-tab-btn-name {
    font-weight: 800;
}

/* 호버 */
.fl-zone.fl-tabified .fl-tab-btn:hover {
    background: rgba(255,255,255,.08) !important;
    transform: none !important;
}

.fl-zone.fl-tabified .fl-tab-btn:focus-visible {
    outline: 2px solid var(--zone-accent);
    outline-offset: -4px;
}

/* 캐릭터 콘텐츠: 별도 중첩 카드 제거 */
.fl-zone.fl-tabified .fl-zone-content {
    display: block !important;
    padding: 23px 28px 30px !important;
    background: transparent;
}

.fl-zone.fl-tabified .fl-zone-content > .fl-character-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
}

/* 기존 탭 제목 중복 제거 */
.fl-zone.fl-tabified .fl-tab-panel-head {
    display: none !important;
}

/* 프로필은 탭 아래에 바로 표시 */
.fl-zone.fl-tabified .fl-character-details {
    padding: 0 !important;
    background: transparent;
}

/* 정보가 아직 없는 캐릭터 */
.fl-zone.fl-tabified .fl-character-placeholder {
    min-height: 175px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 25px;
    border: 1px dashed var(--zone-accent);
    border-radius: 5px;

    background: rgba(0,0,0,.05);
    text-align: center;
}

.fl-zone.fl-tabified .fl-character-placeholder span {
    color: var(--zone-sub);
    font-size: 10px;
    letter-spacing: .12em;
}

.fl-zone.fl-tabified .fl-character-placeholder p {
    margin: 13px 0 0;
    color: var(--zone-text);
    font-size: 14px;
}

/* RED ZONE : 붉은색 유지 */
.fl-zone-red.fl-tabified .fl-tab-nav {
    background: rgba(80,0,14,.15);
}

.fl-zone-red.fl-tabified .fl-tab-btn.is-active {
    background: rgba(255,255,255,.12) !important;
    border-bottom-color: #FFFFFF !important;
}

/* SILVER SLOT */
.fl-zone-silver.fl-tabified .fl-tab-nav {
    background: rgba(64,86,112,.07);
}

.fl-zone-silver.fl-tabified .fl-tab-btn.is-active {
    background: #FFFFFF !important;
    border-bottom-color: #657D98 !important;
}

/* CROWN GATE : 골드 + 화이트 */
.fl-zone-crown.fl-tabified .fl-tab-nav {
    background: #FFF9EC;
}

.fl-zone-crown.fl-tabified .fl-tab-btn.is-active {
    background: #FFFFFF !important;
    border-bottom-color: #BA9449 !important;
}

/* BLACK VEIL */
.fl-zone-black.fl-tabified .fl-tab-nav {
    background: rgba(0,0,0,.18);
}

.fl-zone-black.fl-tabified .fl-tab-btn.is-active {
    border-bottom-color: #E2DEE5 !important;
}

/* 태블릿: 열 개수 자동 조절 */
@media(max-width:1000px) {
    .fl-zone.fl-tabified .fl-tab-nav {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

/* 모바일: 가로 스크롤 탭 */
@media(max-width:680px) {
    .fl-zone.fl-tabified .fl-tab-nav {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        padding: 0 12px !important;
        gap: 0 !important;
        scrollbar-width: thin;
        scroll-snap-type: x proximity;
    }

    .fl-zone.fl-tabified .fl-tab-btn {
        flex: 0 0 auto;
        width: auto !important;
        min-width: 115px;
        max-width: 210px;
        min-height: 67px !important;
        padding: 12px 13px !important;
        border-radius: 0 !important;
        scroll-snap-align: start;
    }

    .fl-zone.fl-tabified .fl-tab-btn-name {
        font-size: 12px;
        white-space: nowrap;
    }

    .fl-zone.fl-tabified .fl-zone-content {
        padding: 18px 14px 24px !important;
    }
}

/* FRONTLINE-TABS-REFINE-END */


/* DELIGH-MATHIS-FOLIO-BEGIN */

.fl-folio {
    --folio-red:#C71D3C;
    --folio-deep:#682638;
    --folio-ink:#53383E;
    --folio-muted:#987C7E;
    --folio-line:#EACCCE;

    overflow:hidden;
    width:100%;
    border:1px solid #F3BFC5;
    border-radius:18px;
    background:#FFF9F4;
    color:var(--folio-ink);
    box-shadow:0 22px 55px rgba(65,4,20,.20);
    font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
}

.fl-folio * {
    box-sizing:border-box;
}

.fl-folio-ribbon {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    padding:16px 28px;
    background:#FFFDFB;
    border-bottom:1px solid var(--folio-line);
    color:#A45A69;
    font:700 10px/1.5 Consolas,monospace;
    letter-spacing:.14em;
}

.fl-folio-cover {
    display:grid;
    grid-template-columns:1.04fr .96fr;
    min-height:400px;
}

.fl-folio-intro {
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    min-width:0;
    padding:clamp(29px,4.5vw,60px);
    background:
        radial-gradient(circle at 0% 5%,#FFE5E7 0%,transparent 39%),
        linear-gradient(145deg,#FFF9F3,#FFF1E9);
}

.fl-folio-index {
    display:flex;
    align-items:center;
    gap:10px;
    color:#B0495B;
    font:700 10px/1.5 Consolas,monospace;
    letter-spacing:.13em;
}

.fl-folio-dot {
    display:inline-block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#D52546;
    box-shadow:0 0 0 4px #FCE0E4;
}

.fl-folio-small {
    margin-top:29px;
    color:#BB8B89;
    font:italic 15px Georgia,serif;
    letter-spacing:.06em;
}

.fl-folio-name {
    margin:14px 0 7px !important;
    color:#662B3B !important;
    font-size:clamp(43px,5vw,70px) !important;
    font-weight:800 !important;
    letter-spacing:-.065em !important;
    line-height:1.18 !important;
    overflow-wrap:anywhere;
}

.fl-folio-heart {
    display:inline-block;
    margin-left:12px;
    font-family:Georgia,serif;
    color:#C84763;
    font-size:.45em;
    font-weight:400;
    vertical-align:top;
}

.fl-folio-en {
    margin:7px 0 0;
    color:#AB6D79;
    font:italic clamp(20px,2.5vw,29px) Georgia,serif;
    letter-spacing:.01em;
}

.fl-folio-rule {
    width:83px;
    height:2px;
    margin:29px 0 21px;
    background:var(--folio-red);
}

.fl-folio-role {
    margin:0;
    color:#673A44;
    font-size:14px;
    font-weight:700;
    line-height:1.9;
}

.fl-folio-role span {
    display:block;
    color:#9C6E76;
    font-size:12px;
    font-weight:500;
}

.fl-folio-art {
    display:flex;
    min-width:0;
    overflow:hidden;
    background:#B51B38;
}

.fl-folio-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:400px;
    object-fit:cover;
}

/* 캐릭터 소개 */
.fl-folio-story {
    display:grid;
    grid-template-columns:185px 1fr;
    gap:25px;
    padding:43px clamp(24px,4vw,55px);
    border-top:1px solid #EAC8CA;
    background:#FFF9F4;
}

.fl-folio-section-label {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    color:#B83F56;
}

.fl-folio-section-label span {
    font:italic 36px Georgia,serif;
}

.fl-folio-section-label strong {
    font:700 11px Consolas,monospace;
    letter-spacing:.15em;
}

.fl-folio-story-content {
    min-width:0;
}

.fl-folio-story-content > p {
    margin:0;
    color:#624A4C;
    font-size:15px;
    line-height:2;
    word-break:keep-all;
}

.fl-folio-highlight {
    margin-top:25px;
    border-left:3px solid #D6314D;
    padding:5px 0 5px 21px;
}

.fl-folio-highlight > span {
    color:#C24861;
    font:700 10px Consolas,monospace;
    letter-spacing:.16em;
}

.fl-folio-highlight > p {
    margin:11px 0 0;
    color:#6A303D;
    font-size:clamp(15px,2vw,20px);
    font-weight:700;
    line-height:1.85;
    word-break:keep-all;
}

/* 프로필 정보 */
.fl-folio-data {
    padding:40px clamp(24px,4vw,55px) 46px;
    background:#FFFDFC;
    border-top:1px solid var(--folio-line);
}

.fl-folio-data-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:25px;
}

.fl-folio-data-head span:first-child {
    color:#BE6070;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-folio-data-head h4 {
    margin:9px 0 0;
    color:#5F3C46;
    font:italic 35px Georgia,serif;
}

.fl-folio-ornament {
    color:#D9A4AC;
    font-size:27px;
}

.fl-folio-table-wrap {
    overflow:hidden;
    border-top:2px solid #C84B61;
}

.fl-folio-table {
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

.fl-folio-table tr {
    border-bottom:1px solid #EEDADD;
}

.fl-folio-table th,
.fl-folio-table td {
    padding:17px 12px;
    vertical-align:middle;
    text-align:left;
    line-height:1.6;
    overflow-wrap:anywhere;
}

.fl-folio-table th {
    width:18%;
    color:#B77E88;
    font-size:12px;
    font-weight:600;
}

.fl-folio-table td {
    width:32%;
    color:#563943;
    font-size:14px;
    font-weight:700;
}

.fl-folio-table th:nth-child(3) {
    border-left:1px solid #F0E0E0;
    padding-left:24px;
}

.fl-folio-license {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:29px;
    padding:19px 22px;
    background:#FBEFEF;
    border-radius:8px;
    border:1px solid #EFD4D7;
}

.fl-folio-license > div {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.fl-folio-license span {
    color:#AF7D86;
    font:700 10px Consolas,monospace;
    letter-spacing:.1em;
}

.fl-folio-license strong {
    color:#963B52;
    font:700 13px Consolas,monospace;
    letter-spacing:.06em;
    overflow-wrap:anywhere;
}

.fl-folio-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 28px;
    border-top:1px solid #EACCCE;
    background:#F8E8E7;
    color:#B16F7C;
    font:700 10px Consolas,monospace;
    letter-spacing:.16em;
}

@media(max-width:850px) {
    .fl-folio-cover {
        grid-template-columns:1fr;
    }

    .fl-folio-art {
        max-height:320px;
    }

    .fl-folio-art svg {
        min-height:300px;
    }

    .fl-folio-story {
        grid-template-columns:1fr;
        gap:16px;
    }

    .fl-folio-section-label {
        flex-direction:row;
        align-items:center;
    }

    .fl-folio-table th {
        width:21%;
    }

    .fl-folio-table td {
        width:29%;
    }
}

@media(max-width:600px) {
    .fl-folio {
        border-radius:10px;
    }

    .fl-folio-ribbon {
        padding:13px 14px;
        font-size:8px;
    }

    .fl-folio-intro {
        padding:33px 22px 37px;
    }

    .fl-folio-name {
        font-size:clamp(43px,10vw,57px) !important;
    }

    .fl-folio-story {
        padding:30px 20px;
    }

    .fl-folio-story-content > p {
        font-size:13px;
    }

    .fl-folio-highlight > p {
        font-size:16px;
    }

    .fl-folio-data {
        padding:30px 17px 35px;
    }

    .fl-folio-table,
    .fl-folio-table tbody {
        display:block;
        width:100%;
    }

    .fl-folio-table tr {
        display:grid;
        grid-template-columns:39% 61%;
        width:100%;
        border-bottom:0;
    }

    .fl-folio-table th,
    .fl-folio-table td {
        display:block;
        width:auto;
        padding:12px 8px;
        border-bottom:1px solid #EEDADD;
        font-size:12px;
    }

    .fl-folio-table th:nth-child(3) {
        border-left:0;
        padding-left:8px;
    }

    .fl-folio-license {
        grid-template-columns:1fr;
        gap:18px;
        padding:17px;
    }

    .fl-folio-bottom {
        font-size:8px;
        padding:14px;
    }
}

/* DELIGH-MATHIS-FOLIO-END */


/* REDZONE-FOLIO-DARK-BEGIN */

/* RED ZONE · DELIGH DARK FOLIO */

.fl-zone-red .fl-folio {
    --folio-red: #FF4A69;
    --folio-deep: #A81A38;
    --folio-ink: #F9EDEF;
    --folio-muted: #C69AA6;
    --folio-line: #51303C;

    background: #110E13;
    color: #F9EDEF;
    border: 1px solid #96344B;
    box-shadow: 0 22px 60px rgba(16,0,7,.36);
}

/* 상단 컬렉션 리본 */
.fl-zone-red .fl-folio-ribbon {
    background: #1D151B;
    border-bottom: 1px solid #57303E;
    color: #E7A3B2;
}

/* 이름 영역 : 다크 와인 블랙 */
.fl-zone-red .fl-folio-intro {
    background:
        radial-gradient(
            circle at 0% 5%,
            rgba(193,34,70,.20) 0%,
            transparent 44%
        ),
        linear-gradient(
            145deg,
            #28141D 0%,
            #161015 57%,
            #100E12 100%
        );
}

.fl-zone-red .fl-folio-index {
    color: #FF8398;
}

.fl-zone-red .fl-folio-dot {
    background: #FF4567;
    box-shadow: 0 0 0 4px #672035;
}

.fl-zone-red .fl-folio-small {
    color: #D2A1AC;
}

.fl-zone-red .fl-folio-name {
    color: #FFF1F3 !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.15);
}

.fl-zone-red .fl-folio-heart {
    color: #FF6C8A;
}

.fl-zone-red .fl-folio-en {
    color: #ECA0B2;
}

.fl-zone-red .fl-folio-rule {
    background: linear-gradient(
        90deg,
        #FF3F63,
        #A92848
    );
}

.fl-zone-red .fl-folio-role {
    color: #FFF0F3;
}

.fl-zone-red .fl-folio-role span {
    color: #CBA2AD;
}

/* SVG 아트는 기존 색감 그대로 유지 */
.fl-zone-red .fl-folio-art {
    background: #AA1735;
}

/* 인물 소개 */
.fl-zone-red .fl-folio-story {
    background: #151116;
    border-top: 1px solid #693044;
}

.fl-zone-red .fl-folio-section-label {
    color: #FF718C;
}

.fl-zone-red .fl-folio-story-content > p {
    color: #F3E2E6;
}

.fl-zone-red .fl-folio-highlight {
    border-left: 3px solid #FF496C;
    background: linear-gradient(
        90deg,
        rgba(179,30,65,.14),
        transparent 85%
    );
    padding: 16px 20px;
}

.fl-zone-red .fl-folio-highlight > span {
    color: #FF8299;
}

.fl-zone-red .fl-folio-highlight > p {
    color: #FFF0F3;
}

/* 개인정보 영역 : 가장 어두운 배경 */
.fl-zone-red .fl-folio-data {
    background: #100E12;
    border-top: 1px solid #51303C;
}

.fl-zone-red .fl-folio-data-head span:first-child {
    color: #FF7892;
}

.fl-zone-red .fl-folio-data-head h4 {
    color: #FFF0F3;
}

.fl-zone-red .fl-folio-ornament {
    color: #BC5A74;
}

/* 정보표 */
.fl-zone-red .fl-folio-table-wrap {
    border-top: 2px solid #E53A5B;
}

.fl-zone-red .fl-folio-table tr {
    border-bottom: 1px solid #49303B;
}

.fl-zone-red .fl-folio-table th {
    color: #D29BA9;
}

.fl-zone-red .fl-folio-table td {
    color: #FFF1F3;
}

.fl-zone-red .fl-folio-table th:nth-child(3) {
    border-left-color: #49303B;
}

/* 라이선스 : 붉은 다크 카드 */
.fl-zone-red .fl-folio-license {
    background: linear-gradient(
        115deg,
        #2B151F,
        #20151C
    );
    border: 1px solid #753248;
    border-radius: 10px;
}

.fl-zone-red .fl-folio-license > div {
    padding: 3px 0;
}

.fl-zone-red .fl-folio-license > div + div {
    border-left: 1px solid #633044;
    padding-left: 20px;
}

.fl-zone-red .fl-folio-license span {
    color: #CC92A2;
}

.fl-zone-red .fl-folio-license strong {
    color: #FF7993;
}

/* 하단 서명 */
.fl-zone-red .fl-folio-bottom {
    background: #21131A;
    border-top: 1px solid #663046;
    color: #E8A3B5;
}

/* 모바일 라이선스 구분선 */
@media (max-width:600px) {
    .fl-zone-red .fl-folio-license > div + div {
        border-left: 0;
        border-top: 1px solid #633044;
        padding-left: 0;
        padding-top: 17px;
    }

    .fl-zone-red .fl-folio-highlight {
        padding: 13px 15px;
    }
}

/* REDZONE-FOLIO-DARK-END */


/* EAMON-FOLIO-BEGIN */

.fl-zone-silver .fl-team-symbol {
    margin-top:12px;
    color:#607B98;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
}

/* 캐릭터 카드 */
.fl-zone-silver .fl-eamon-card {
    width:100%;
    background:#172434;
    border:1px solid #9AAFC4;
}

.fl-zone-silver .fl-eamon-card > summary {
    background:#22354A;
}

.fl-zone-silver .fl-eamon-card .fl-character-state {
    color:#A9C1D9;
}

.fl-zone-silver .fl-eamon-card .fl-character-details {
    padding:0 !important;
}

/* 개인 화보 */
.fl-eamon-folio {
    --e-line:#4A5D71;
    --e-text:#F2F6FC;
    --e-muted:#B2C2D3;

    width:100%;
    min-width:0;
    overflow:hidden;
    background:#152130;
    border:1px solid #8298B0;
    border-radius:17px;
    color:var(--e-text);
    box-sizing:border-box;
    box-shadow:0 20px 50px rgba(21,32,47,.2);
}

.fl-eamon-folio * {
    box-sizing:border-box;
}

.fl-eamon-ribbon {
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:16px 25px;
    background:#25364A;
    border-bottom:1px solid #61758B;
    color:#C7D8E9;
    font:700 10px/1.6 Consolas,monospace;
    letter-spacing:.13em;
}

/* 상단 커버 */
.fl-eamon-cover {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    min-height:410px;
}

.fl-eamon-intro {
    min-width:0;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    padding:clamp(30px,4.5vw,60px);
    background:
        radial-gradient(circle at 0 0,rgba(168,193,220,.16),transparent 55%),
        linear-gradient(145deg,#293A50,#182637);
}

.fl-eamon-kicker {
    color:#BBD0E6;
    font:700 10px Consolas,monospace;
    letter-spacing:.12em;
}

.fl-eamon-label {
    margin-top:30px;
    color:#8FAAC6;
    font:italic 15px Georgia,serif;
    letter-spacing:.05em;
}

.fl-eamon-name {
    margin:14px 0 7px !important;
    color:#F8FAFF !important;
    font-size:clamp(36px,4.3vw,63px) !important;
    line-height:1.22 !important;
    letter-spacing:-.06em !important;
    font-weight:800 !important;
    overflow-wrap:anywhere;
}

.fl-eamon-name span {
    display:inline-block;
    margin-left:12px;
    color:#D3E1EF;
    font-size:.5em;
    vertical-align:top;
}

.fl-eamon-en {
    margin:7px 0 0;
    color:#AEC3DB;
    font:italic 25px Georgia,serif;
}

.fl-eamon-divider {
    width:87px;
    height:2px;
    margin:28px 0 19px;
    background:linear-gradient(90deg,#F0F5FF,#819DB9);
}

.fl-eamon-role {
    margin:0;
    color:#EFF5FC;
    font-size:14px;
    font-weight:700;
    line-height:1.9;
}

.fl-eamon-role span {
    display:block;
    color:#B3C5D8;
    font-size:12px;
    font-weight:500;
}

.fl-eamon-tags {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:22px;
}

.fl-eamon-tags span {
    border:1px solid #6B839E;
    border-radius:20px;
    padding:8px 12px;
    background:rgba(219,230,245,.06);
    color:#C7DAEC;
    font:700 10px Consolas,monospace;
    letter-spacing:.08em;
}

/* 고유 SVG */
.fl-eamon-art {
    min-width:0;
    overflow:hidden;
    background:#24364B;
}

.fl-eamon-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:410px;
}

/* 인물 설명 */
.fl-eamon-story {
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:25px;
    padding:43px clamp(22px,4vw,55px);
    background:#172434;
    border-top:1px solid #4E637A;
}

.fl-eamon-section {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:13px;
    color:#BDD2E8;
}

.fl-eamon-section span {
    font:italic 37px Georgia,serif;
}

.fl-eamon-section strong {
    font:700 11px Consolas,monospace;
    letter-spacing:.12em;
}

.fl-eamon-story-text {
    min-width:0;
}

.fl-eamon-story-text > p {
    margin:0;
    color:#E5ECF5;
    font-size:15px;
    line-height:2.1;
    word-break:keep-all;
}

.fl-eamon-story-text blockquote {
    margin:23px 0 0;
    padding:14px 20px;
    border-left:3px solid #A9C2DE;
    background:linear-gradient(
        90deg,rgba(182,207,233,.10),transparent
    );
    color:#F1F6FC;
    font-size:clamp(14px,2vw,18px);
    font-weight:700;
    line-height:1.95;
    word-break:keep-all;
}

/* 기본 정보 */
.fl-eamon-data {
    padding:40px clamp(22px,4vw,55px) 45px;
    background:#111C2A;
    border-top:1px solid #43566A;
}

.fl-eamon-data-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:26px;
}

.fl-eamon-data-heading span:first-child {
    color:#A5BDD6;
    font:700 10px Consolas,monospace;
    letter-spacing:.1em;
}

.fl-eamon-data-heading h4 {
    margin:8px 0 0;
    color:#F6F9FF;
    font:italic 35px Georgia,serif;
}

.fl-eamon-asterisk {
    color:#ADC4DF;
    font-size:29px;
}

.fl-eamon-table-wrap {
    border-top:2px solid #ACC2D9;
    overflow:hidden;
}

.fl-eamon-table {
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
}

.fl-eamon-table tr {
    border-bottom:1px solid #3D4D61;
}

.fl-eamon-table th,
.fl-eamon-table td {
    padding:17px 12px;
    vertical-align:middle;
    text-align:left;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.fl-eamon-table th {
    width:18%;
    color:#A7BED6;
    font-size:12px;
    font-weight:600;
}

.fl-eamon-table td {
    width:32%;
    color:#F4F7FC;
    font-size:14px;
    font-weight:700;
}

.fl-eamon-table th:nth-child(3) {
    border-left:1px solid #3D4D61;
    padding-left:24px;
}

/* 라이선스 */
.fl-eamon-license {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:28px;
    padding:20px 22px;
    background:linear-gradient(115deg,#25364B,#1B2B3D);
    border:1px solid #617992;
    border-radius:9px;
}

.fl-eamon-license > div {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:9px;
}

.fl-eamon-license > div + div {
    border-left:1px solid #516A85;
    padding-left:20px;
}

.fl-eamon-license small {
    color:#9FB8D0;
    font:700 10px Consolas,monospace;
    letter-spacing:.1em;
}

.fl-eamon-license strong {
    color:#E2ECF8;
    font:700 13px Consolas,monospace;
    letter-spacing:.05em;
    overflow-wrap:anywhere;
}

.fl-eamon-footer {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    padding:17px 25px;
    background:#233449;
    border-top:1px solid #536B84;
    color:#B6CBE0;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

/* 반응형 */
@media(max-width:850px) {
    .fl-eamon-cover {
        grid-template-columns:1fr;
    }

    .fl-eamon-art {
        max-height:310px;
    }

    .fl-eamon-art svg {
        min-height:300px;
    }

    .fl-eamon-story {
        grid-template-columns:1fr;
        gap:17px;
    }

    .fl-eamon-section {
        flex-direction:row;
        align-items:center;
    }
}

@media(max-width:600px) {
    .fl-eamon-folio {
        border-radius:10px;
    }

    .fl-eamon-ribbon {
        padding:13px 14px;
        font-size:8px;
    }

    .fl-eamon-intro {
        padding:34px 21px 37px;
    }

    .fl-eamon-name {
        font-size:clamp(36px,9vw,52px) !important;
    }

    .fl-eamon-story {
        padding:30px 19px;
    }

    .fl-eamon-story-text > p {
        font-size:13px;
    }

    .fl-eamon-data {
        padding:29px 17px 35px;
    }

    .fl-eamon-table,
    .fl-eamon-table tbody {
        display:block;
        width:100%;
    }

    .fl-eamon-table tr {
        display:grid;
        grid-template-columns:39% 61%;
        border:0;
    }

    .fl-eamon-table th,
    .fl-eamon-table td {
        display:block;
        width:auto;
        padding:12px 8px;
        font-size:12px;
        border-bottom:1px solid #3D4D61;
    }

    .fl-eamon-table th:nth-child(3) {
        border-left:0;
        padding-left:8px;
    }

    .fl-eamon-license {
        grid-template-columns:1fr;
        padding:17px;
    }

    .fl-eamon-license > div + div {
        border-left:0;
        border-top:1px solid #516A85;
        padding:16px 0 0;
    }

    .fl-eamon-footer {
        font-size:8px;
        padding:14px;
    }
}

/* EAMON-FOLIO-END */


/* CASSIAN-FOLIO-BEGIN */

.fl-zone-crown .fl-team-symbol {
    margin-top:12px;
    color:#A07D3D;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
}

/* 개인 화보 : 골드 × 화이트 */
.fl-zone-crown .fl-cassian-card {
    width:100%;
    background:#FFFDF8;
    border-color:#D0B47C;
}

.fl-zone-crown .fl-cassian-card .fl-character-details,
.fl-zone-crown.fl-tabified .fl-cassian-card .fl-character-details {
    padding:0 !important;
}

.fl-cassian-folio {
    --cg-ink:#514333;
    --cg-gold:#B18D4C;
    --cg-muted:#947D59;
    --cg-line:#E8D9B9;

    width:100%;
    min-width:0;
    overflow:hidden;
    border:1px solid #D9BF86;
    border-radius:16px;
    background:#FFFEFB;
    color:var(--cg-ink);
    box-shadow:0 18px 42px rgba(96,72,29,.10);
    font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
}

.fl-cassian-folio * { box-sizing:border-box; }

.fl-cassian-ribbon {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    padding:16px 25px;
    border-bottom:1px solid var(--cg-line);
    background:#F8F1E2;
    color:#927441;
    font:700 10px/1.6 Consolas,monospace;
    letter-spacing:.13em;
}

.fl-cassian-cover {
    display:grid;
    grid-template-columns:1.08fr .92fr;
    min-height:470px;
}

.fl-cassian-intro {
    min-width:0;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    padding:clamp(28px,4vw,58px);
    background:
        radial-gradient(circle at 0 0,#FFF4D9,transparent 48%),
        linear-gradient(135deg,#FFFFFF,#FBF6EB);
}

.fl-cassian-kicker {
    font:700 10px Consolas,monospace;
    color:#A4864C;
    letter-spacing:.13em;
}

.fl-cassian-caption {
    margin-top:26px;
    color:#B59A6B;
    font:italic 17px Georgia,serif;
}

.fl-cassian-name {
    margin:14px 0 8px !important;
    color:#44392C !important;
    font-size:clamp(31px,3.6vw,53px) !important;
    line-height:1.3 !important;
    font-weight:800 !important;
    letter-spacing:-.06em !important;
    overflow-wrap:anywhere;
}

.fl-cassian-name span {
    color:#C5A45F;
    font-size:.55em;
    vertical-align:top;
}

.fl-cassian-en {
    color:#A48755;
    margin:5px 0 0;
    font:italic 25px Georgia,serif;
}

.fl-cassian-rule {
    width:95px;
    height:2px;
    margin:27px 0 19px;
    background:linear-gradient(90deg,#9E7B3E,#E1C88F);
}

.fl-cassian-role {
    margin:0;
    color:#655038;
    font-size:14px;
    font-weight:700;
    line-height:1.9;
}

.fl-cassian-role span {
    display:block;
    color:#947C57;
    font-size:12px;
    font-weight:500;
}

.fl-cassian-achievement {
    display:flex;
    align-items:center;
    gap:17px;
    margin-top:25px;
    padding:12px 19px;
    border-left:3px solid #BA9858;
    background:#F7EFDD;
}

.fl-cassian-achievement strong {
    color:#9A783C;
    font:italic 46px Georgia,serif;
}

.fl-cassian-achievement div {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.fl-cassian-achievement small {
    color:#A18753;
    font:700 10px Consolas,monospace;
    letter-spacing:.1em;
}

.fl-cassian-achievement div span {
    color:#655139;
    font-size:12px;
    font-weight:700;
}

.fl-cassian-art {
    overflow:hidden;
    min-width:0;
    background:#F3E7CB;
}

.fl-cassian-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:470px;
}

/* 인물 소개 */
.fl-cassian-story {
    display:grid;
    grid-template-columns:170px minmax(0,1fr);
    gap:27px;
    padding:40px clamp(22px,4vw,52px);
    background:#FFFEFC;
    border-top:1px solid var(--cg-line);
}

.fl-cassian-section {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    color:#B18D4C;
}

.fl-cassian-section span {
    font:italic 37px Georgia,serif;
}

.fl-cassian-section strong {
    font:700 11px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-cassian-story-text p {
    margin:0;
    color:#584B3D;
    font-size:15px;
    line-height:2.1;
    word-break:keep-all;
}

.fl-cassian-story-text blockquote {
    margin:25px 0 0;
    padding:15px 20px;
    border-left:3px solid #C3A261;
    background:linear-gradient(90deg,#F8F0E0,transparent);
    color:#785B29;
    font-size:clamp(14px,1.8vw,19px);
    font-weight:700;
    line-height:1.95;
    word-break:keep-all;
}

/* 프로필 표 */
.fl-cassian-data {
    padding:39px clamp(22px,4vw,52px) 45px;
    background:#FAF7F0;
    border-top:1px solid var(--cg-line);
}

.fl-cassian-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:25px;
}

.fl-cassian-heading span:first-child {
    color:#A2844E;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-cassian-heading h4 {
    margin:9px 0 0;
    color:#5C4A32;
    font:italic 35px Georgia,serif;
}

.fl-cassian-flourish {
    font-size:30px;
    color:#C0A263;
}

.fl-cassian-table-wrap {
    border-top:2px solid #BEA064;
    overflow:hidden;
}

.fl-cassian-table {
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
}

.fl-cassian-table tr {
    border-bottom:1px solid #E6D9BC;
}

.fl-cassian-table th,
.fl-cassian-table td {
    padding:17px 11px;
    text-align:left;
    vertical-align:middle;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.fl-cassian-table th {
    width:18%;
    color:#94794C;
    font-size:12px;
    font-weight:600;
}

.fl-cassian-table td {
    width:32%;
    color:#4E4031;
    font-size:14px;
    font-weight:700;
}

.fl-cassian-table th:nth-child(3) {
    border-left:1px solid #E7D9BC;
    padding-left:22px;
}

.fl-cassian-license {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:28px;
    padding:20px 22px;
    border:1px solid #E0CDA6;
    border-radius:9px;
    background:#FFFDF7;
}

.fl-cassian-license > div {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.fl-cassian-license > div + div {
    border-left:1px solid #E0CDA6;
    padding-left:20px;
}

.fl-cassian-license small {
    color:#9C8358;
    font:700 10px Consolas,monospace;
    letter-spacing:.1em;
}

.fl-cassian-license strong {
    color:#816532;
    font:700 13px Consolas,monospace;
    letter-spacing:.05em;
    overflow-wrap:anywhere;
}

.fl-cassian-footer {
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:16px 25px;
    border-top:1px solid #DBC79D;
    background:#F0E4CA;
    color:#927847;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

/* 모바일 대응 */
@media(max-width:850px) {
    .fl-cassian-cover {
        grid-template-columns:1fr;
    }

    .fl-cassian-art {
        max-height:340px;
    }

    .fl-cassian-art svg {
        min-height:300px;
    }

    .fl-cassian-story {
        grid-template-columns:1fr;
        gap:14px;
    }

    .fl-cassian-section {
        flex-direction:row;
        align-items:center;
    }
}

@media(max-width:600px) {
    .fl-cassian-folio {
        border-radius:10px;
    }

    .fl-cassian-ribbon {
        padding:13px 14px;
        font-size:8px;
    }

    .fl-cassian-intro {
        padding:32px 21px 37px;
    }

    .fl-cassian-name {
        font-size:clamp(30px,7.5vw,45px) !important;
    }

    .fl-cassian-story {
        padding:29px 19px;
    }

    .fl-cassian-story-text p {
        font-size:13px;
    }

    .fl-cassian-data {
        padding:29px 17px 35px;
    }

    .fl-cassian-table,
    .fl-cassian-table tbody {
        display:block;
        width:100%;
    }

    .fl-cassian-table tr {
        display:grid;
        grid-template-columns:39% 61%;
        border:0;
    }

    .fl-cassian-table th,
    .fl-cassian-table td {
        display:block;
        width:auto;
        padding:12px 8px;
        font-size:12px;
        border-bottom:1px solid #E6D9BC;
    }

    .fl-cassian-table th:nth-child(3) {
        border-left:0;
        padding-left:8px;
    }

    .fl-cassian-license {
        grid-template-columns:1fr;
        padding:17px;
    }

    .fl-cassian-license > div + div {
        border-left:0;
        border-top:1px solid #E0CDA6;
        padding:16px 0 0;
    }

    .fl-cassian-footer {
        padding:14px;
        font-size:8px;
    }
}

/* CASSIAN-FOLIO-END */


/* FRONTLINE-FOLD-BEGIN */

/* 구역 헤더 */
.fl-zone .fl-zone-heading {
    flex-wrap: wrap;
}

/* 구역 접기 버튼 */
.fl-zone .fl-zone-fold-btn {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 39px;
    padding: 9px 15px;
    border: 1px solid var(--zone-accent);
    border-radius: 7px;
    background: var(--zone-card);
    color: var(--zone-text);
    font: 700 11px 'Pretendard','Malgun Gothic',sans-serif;
    letter-spacing: .03em;
    cursor: pointer;
    transition: background .2s, transform .2s;
}

.fl-zone .fl-zone-fold-btn:hover {
    transform: translateY(-2px);
}

.fl-zone .fl-zone-fold-btn:focus-visible,
.fl-zone .fl-profile-fold-btn:focus-visible {
    outline: 2px solid var(--zone-accent);
    outline-offset: 3px;
}

/* 프로필 접기 버튼 영역 */
.fl-zone .fl-profile-fold-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 13px 28px 0;
}

.fl-zone .fl-profile-fold-btn {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid var(--zone-accent);
    border-radius: 0;
    background: transparent;
    color: var(--zone-text);
    font: 700 11px 'Pretendard','Malgun Gothic',sans-serif;
    cursor: pointer;
    transition: opacity .2s;
}

.fl-zone .fl-profile-fold-btn:hover {
    opacity: .7;
}

/* 기존 탭의 display!important보다 우선해서 숨김 */
.fl-zone .fl-zone-fold-body[hidden],
.fl-zone.fl-tabified .fl-zone-content[hidden],
.fl-zone .fl-zone-content[hidden] {
    display: none !important;
}

/* 밝은 구역 */
.fl-zone-silver .fl-zone-fold-btn,
.fl-zone-crown .fl-zone-fold-btn {
    background: #FFFFFF;
}

/* RED ZONE */
.fl-zone-red .fl-zone-fold-btn {
    background: #A5122B;
    border-color: #FA758A;
    color: #FFFFFF;
}

.fl-zone-red .fl-profile-fold-btn {
    color: #FFE0E6;
}

/* BLACK VEIL */
.fl-zone-black .fl-zone-fold-btn {
    background: #28252C;
    color: #F5F0F7;
}

/* 모바일 */
@media(max-width:680px) {
    .fl-zone .fl-zone-fold-btn {
        width: 100%;
        margin-top: 7px;
    }

    .fl-zone .fl-profile-fold-row {
        padding: 10px 14px 0;
    }

    .fl-zone .fl-profile-fold-btn {
        min-height: 39px;
    }
}

/* FRONTLINE-FOLD-END */


/* FL-FOLD-ICON-ONLY-BEGIN */

/* 글씨를 시각적으로 숨기고 접근성 텍스트는 유지 */
.fl-zone .fl-zone-fold-btn,
.fl-zone .fl-profile-fold-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    flex: 0 0 36px;
    padding: 0 !important;
    gap: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
    border: 1px solid currentColor !important;
    border-radius: 50% !important;

    opacity: .78;
    transform: none !important;
    transition:
        opacity .2s ease,
        background .2s ease,
        border-color .2s ease;
}

/* 구역 버튼 오른쪽 정렬 */
.fl-zone .fl-zone-fold-btn {
    margin-left: auto !important;
}

/* 프로필 버튼 영역 */
.fl-zone .fl-profile-fold-row {
    padding: 10px 22px 0 !important;
}

/* CSS로 그린 얇은 화살표 */
.fl-zone .fl-zone-fold-btn::after,
.fl-zone .fl-profile-fold-btn::after {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-right: 1.7px solid currentColor;
    border-bottom: 1.7px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .25s ease;
}

/* 펼쳐진 상태: 위쪽 화살표 */
.fl-zone .fl-zone-fold-btn[aria-expanded="true"]::after,
.fl-zone .fl-profile-fold-btn[aria-expanded="true"]::after {
    transform: translateY(2px) rotate(225deg);
}

/* 호버 */
.fl-zone .fl-zone-fold-btn:hover,
.fl-zone .fl-profile-fold-btn:hover {
    opacity: 1;
    background: rgba(255,255,255,.09) !important;
}

/* RED ZONE */
.fl-zone-red .fl-zone-fold-btn,
.fl-zone-red .fl-profile-fold-btn {
    color: #FFE5EB !important;
}

/* SILVER SLOT */
.fl-zone-silver .fl-zone-fold-btn,
.fl-zone-silver .fl-profile-fold-btn {
    color: #47647E !important;
}

/* CROWN GATE */
.fl-zone-crown .fl-zone-fold-btn,
.fl-zone-crown .fl-profile-fold-btn {
    color: #A28343 !important;
}

/* BLACK VEIL */
.fl-zone-black .fl-zone-fold-btn,
.fl-zone-black .fl-profile-fold-btn {
    color: #E1DDE5 !important;
}

@media (max-width: 680px) {
    .fl-zone .fl-zone-fold-btn {
        width: 36px !important;
        margin-top: 0 !important;
    }

    .fl-zone .fl-profile-fold-row {
        padding: 8px 14px 0 !important;
    }
}

/* FL-FOLD-ICON-ONLY-END */


/* FRONTLINE-LEGACY-CSS-BEGIN */

/* 과거 헌터 : 기존 4개 팀과 분리된 아카이브 */
.fl-zone-legacy {
    --zone-accent:#C8A979;
    --zone-text:#F3E9D9;
    --zone-sub:#BFAE97;
    --zone-card:#302821;

    display:block;
    margin-top:55px;
    padding:0;
    overflow:hidden;
    background:#201C1A;
    color:#F3E9D9;
    border:1px solid #806A50;
    border-radius:13px;
    box-shadow:0 18px 50px rgba(20,14,9,.2);
}

.fl-zone-legacy > .fl-zone-heading {
    display:flex;
    align-items:center;
    gap:18px;
    padding:28px 30px;
    background:
      radial-gradient(circle at 90% 0%,rgba(192,153,100,.14),transparent 48%),
      linear-gradient(135deg,#342B25,#1B1918);
    border-bottom:1px solid #756047;
}

.fl-legacy-heading-copy {
    flex:1;
    min-width:0;
}

.fl-legacy-eyebrow {
    display:block;
    margin-bottom:9px;
    color:#D2B58A;
    font:700 10px Consolas,monospace;
    letter-spacing:.19em;
}

.fl-zone-legacy .fl-zone-heading h3 {
    margin:0;
    color:#F5E8D5;
    font-family:Georgia,serif;
    font-size:clamp(26px,3.5vw,40px);
    letter-spacing:.03em;
    line-height:1.2;
}

.fl-zone-legacy .fl-zone-heading p {
    margin:9px 0 0;
    color:#C5B29B;
    font-size:13px;
}

.fl-legacy-count {
    color:#C6AD87;
    font:700 10px Consolas,monospace;
    letter-spacing:.12em;
    white-space:nowrap;
}

.fl-zone-legacy .fl-tab-nav {
    border-bottom-color:#806A50 !important;
    background:#27211E !important;
}

.fl-zone-legacy .fl-tab-btn {
    color:#C5B29B !important;
}

.fl-zone-legacy .fl-tab-btn-name {
    color:#E8D8C1 !important;
}

.fl-zone-legacy .fl-tab-btn.is-active {
    background:rgba(210,175,126,.1) !important;
    border-bottom-color:#E4C596 !important;
}

.fl-zone-legacy .fl-zone-content {
    background:#201C1A !important;
}

.fl-zone-legacy .fl-character-card {
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.fl-zone-legacy .fl-character-details {
    padding:0 !important;
}

.fl-legacy-record {
    position:relative;
    padding:clamp(28px,5vw,65px);
    min-height:270px;
    background:
      linear-gradient(120deg,rgba(195,157,105,.07),transparent 60%),
      #211D1A;
}

.fl-legacy-record-index {
    color:#C3A579;
    font:700 10px Consolas,monospace;
    letter-spacing:.17em;
}

.fl-legacy-record h4 {
    margin:24px 0 0;
    color:#F6EADB;
    font-size:clamp(30px,4vw,52px);
    letter-spacing:-.05em;
    line-height:1.35;
}

.fl-legacy-record-rule {
    width:85px;
    height:2px;
    margin:23px 0;
    background:#CAA876;
}

.fl-legacy-record p {
    color:#C8B9A4;
    font-size:14px;
}

.fl-legacy-record-foot {
    display:block;
    margin-top:36px;
    color:#967F61;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

/* 구역 접기 화살표 */
.fl-zone-legacy .fl-zone-fold-btn,
.fl-zone-legacy .fl-profile-fold-btn {
    color:#E2C69B !important;
}

@media(max-width:680px) {
    .fl-zone-legacy {
        margin-top:32px;
    }

    .fl-zone-legacy > .fl-zone-heading {
        padding:21px 17px;
    }

    .fl-legacy-count {
        display:none;
    }

    .fl-legacy-record {
        padding:29px 22px;
    }
}

/* FRONTLINE-LEGACY-CSS-END */


/* FL-LOG-LINK-BEGIN */

.fl-log-action {
    --log-bg:#21161B;
    --log-border:#70465A;
    --log-accent:#F49AAF;
    --log-text:#FFF1F4;
    --log-muted:#D0A9B5;

    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
    padding:23px 28px;

    background:var(--log-bg);
    border-top:1px solid var(--log-border);
    color:var(--log-text);
}

.fl-log-action * {
    box-sizing:border-box;
}

.fl-log-copy {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    min-width:0;
}

.fl-log-eyebrow {
    color:var(--log-accent);
    font:700 10px Consolas,monospace;
    letter-spacing:.15em;
}

.fl-log-title {
    margin:0;
    color:var(--log-text);
    font-size:16px;
    font-weight:700;
    line-height:1.5;
}

.fl-log-subtitle {
    color:var(--log-muted);
    font-size:12px;
    line-height:1.6;
}

.fl-log-button,
.fl-log-pending {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    min-height:44px;
    padding:11px 17px;
    border:1px solid var(--log-border);
    border-radius:8px;

    background:transparent;
    color:var(--log-text);
    font-size:12px;
    font-weight:700;
    line-height:1.5;
    text-decoration:none;
    white-space:nowrap;
}

.fl-log-button {
    border-color:var(--log-accent);
    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.fl-log-button:hover {
    background:color-mix(
        in srgb,
        var(--log-accent) 15%,
        transparent
    );
    color:var(--log-text);
    transform:translateY(-2px);
    box-shadow:0 7px 20px rgba(0,0,0,.12);
}

.fl-log-button:focus-visible {
    outline:2px solid var(--log-accent);
    outline-offset:3px;
}

.fl-log-arrow {
    color:var(--log-accent);
    font-size:19px;
    font-weight:400;
    line-height:1;
}

.fl-log-pending {
    opacity:.68;
    cursor:default;
    white-space:normal;
}

/* RED ZONE */
.fl-zone-red .fl-log-action {
    --log-bg:#221219;
    --log-border:#723246;
    --log-accent:#FF6987;
    --log-text:#FFF1F3;
    --log-muted:#CEA5B0;
}

/* SILVER SLOT */
.fl-zone-silver .fl-log-action {
    --log-bg:#1C2A3B;
    --log-border:#58728C;
    --log-accent:#BED5ED;
    --log-text:#F5F9FF;
    --log-muted:#B3C6D9;
}

/* CROWN GATE : 화이트 × 골드 */
.fl-zone-crown .fl-log-action {
    --log-bg:#FAF4E8;
    --log-border:#DDC79C;
    --log-accent:#977237;
    --log-text:#57452E;
    --log-muted:#9C8158;
}

/* BLACK VEIL */
.fl-zone-black .fl-log-action {
    --log-bg:#1C1B20;
    --log-border:#55525E;
    --log-accent:#CFC8D8;
    --log-text:#F5F2F8;
    --log-muted:#B3AEBB;
}

/* PAST HUNTERS */
.fl-zone-legacy .fl-log-action {
    --log-bg:#29221D;
    --log-border:#816A4D;
    --log-accent:#D3B285;
    --log-text:#F7EBDD;
    --log-muted:#C3AE95;
}

@media(max-width:600px) {
    .fl-log-action {
        padding:21px 17px;
        gap:16px;
    }

    .fl-log-button,
    .fl-log-pending {
        width:100%;
    }
}

/* FL-LOG-LINK-END */
/* PAST HUNTERS navigation position */
#zone-legacy {
    scroll-margin-top: 24px;
}


/* LUCAS-FOLIO-BEGIN */

/* SILVER SLOT · LUCAS STRAUSS */

.fl-zone-silver .fl-lucas-card {
    width:100%;
    border-color:#8EA8C1;
}

.fl-zone-silver .fl-lucas-card .fl-character-details {
    padding:0 !important;
}

.fl-lucas-folio {
    --ls-line:#516981;
    --ls-text:#F3F7FF;
    --ls-muted:#B5C8DA;

    width:100%;
    min-width:0;
    overflow:hidden;
    background:#142234;
    color:var(--ls-text);
    border:1px solid #809BB6;
    border-radius:17px;
    box-sizing:border-box;
    box-shadow:0 20px 45px rgba(10,25,44,.18);
    font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
}

.fl-lucas-folio * {
    box-sizing:border-box;
}

.fl-lucas-ribbon {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    padding:16px 25px;
    background:#25394F;
    color:#D0E1F3;
    border-bottom:1px solid #6D86A0;
    font:700 10px/1.6 Consolas,monospace;
    letter-spacing:.13em;
}

.fl-lucas-cover {
    display:grid;
    grid-template-columns:1.08fr .92fr;
    min-height:440px;
}

.fl-lucas-intro {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    min-width:0;
    padding:clamp(28px,4.3vw,58px);
    background:
      radial-gradient(circle at 0 0,rgba(155,190,225,.16),transparent 55%),
      linear-gradient(135deg,#293E55,#152436);
}

.fl-lucas-kicker {
    color:#B7D0EA;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-lucas-editorial {
    display:block;
    margin-top:28px;
    color:#90B0D0;
    font:italic 16px Georgia,serif;
}

.fl-lucas-name {
    margin:13px 0 8px !important;
    color:#F8FBFF !important;
    font-size:clamp(37px,4.3vw,63px) !important;
    line-height:1.22 !important;
    letter-spacing:-.065em !important;
    font-weight:800 !important;
    overflow-wrap:anywhere;
}

.fl-lucas-name span {
    display:inline-block;
    margin-left:10px;
    color:#BED3E8;
    font-size:.48em;
    vertical-align:top;
}

.fl-lucas-en {
    margin:6px 0 0;
    color:#BFD4E9;
    font:italic 26px Georgia,serif;
}

.fl-lucas-rule {
    width:91px;
    height:2px;
    margin:27px 0 19px;
    background:linear-gradient(90deg,#F0F7FF,#7E9BB8);
}

.fl-lucas-role {
    margin:0;
    color:#EDF5FD;
    font-size:14px;
    font-weight:700;
    line-height:1.9;
}

.fl-lucas-role span {
    display:block;
    color:#B7CADC;
    font-size:12px;
    font-weight:500;
}

.fl-lucas-accent {
    display:flex;
    align-items:center;
    gap:17px;
    margin-top:25px;
    padding:12px 18px;
    border-left:3px solid #C5DBEF;
    background:rgba(207,228,247,.08);
}

.fl-lucas-accent > strong {
    color:#EFF6FF;
    font:italic 47px Georgia,serif;
}

.fl-lucas-accent > div {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.fl-lucas-accent small {
    color:#A8C4DE;
    font:700 10px Consolas,monospace;
    letter-spacing:.08em;
}

.fl-lucas-accent div span {
    color:#F3F8FF;
    font-size:12px;
    font-weight:700;
}

.fl-lucas-art {
    display:flex;
    min-width:0;
    overflow:hidden;
    background:#2B4159;
}

.fl-lucas-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:440px;
}

/* 인물 소개 */
.fl-lucas-story {
    display:grid;
    grid-template-columns:175px minmax(0,1fr);
    gap:26px;
    padding:42px clamp(22px,4vw,54px);
    background:#182739;
    border-top:1px solid #536C86;
}

.fl-lucas-section-label {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    color:#BDD5ED;
}

.fl-lucas-section-label span {
    font:italic 37px Georgia,serif;
}

.fl-lucas-section-label strong {
    font:700 11px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-lucas-story-content > p {
    margin:0;
    color:#EBF1F9;
    font-size:15px;
    line-height:2.05;
    word-break:keep-all;
}

.fl-lucas-story-content blockquote {
    margin:24px 0 0;
    padding:16px 20px;
    border-left:3px solid #BCD4EA;
    background:linear-gradient(90deg,rgba(185,214,241,.12),transparent);
    color:#F6FAFF;
    font-size:clamp(15px,1.9vw,19px);
    line-height:1.9;
    font-weight:700;
    word-break:keep-all;
}

/* 정보표 */
.fl-lucas-data {
    padding:40px clamp(22px,4vw,54px) 45px;
    background:#111D2D;
    border-top:1px solid #455B73;
}

.fl-lucas-data-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:25px;
}

.fl-lucas-data-head span:first-child {
    color:#AAC5DE;
    font:700 10px Consolas,monospace;
    letter-spacing:.12em;
}

.fl-lucas-data-head h4 {
    margin:9px 0 0;
    color:#F5F9FF;
    font:italic 35px Georgia,serif;
}

.fl-lucas-ornament {
    color:#B1CAE3;
    font-size:29px;
}

.fl-lucas-table-wrap {
    width:100%;
    overflow:hidden;
    border-top:2px solid #B7D0E8;
}

.fl-lucas-table {
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
}

.fl-lucas-table tr {
    border-bottom:1px solid #425870;
}

.fl-lucas-table th,
.fl-lucas-table td {
    padding:17px 11px;
    text-align:left;
    vertical-align:middle;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.fl-lucas-table th {
    width:18%;
    color:#A4BDD7;
    font-size:12px;
    font-weight:600;
}

.fl-lucas-table td {
    width:32%;
    color:#F3F8FF;
    font-size:14px;
    font-weight:700;
}

.fl-lucas-table th:nth-child(3) {
    border-left:1px solid #425870;
    padding-left:22px;
}

/* 라이선스 */
.fl-lucas-license {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:27px;
    padding:19px 21px;
    background:linear-gradient(115deg,#263B52,#1C2E42);
    border:1px solid #6883A0;
    border-radius:9px;
}

.fl-lucas-license > div {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.fl-lucas-license > div + div {
    border-left:1px solid #506A85;
    padding-left:19px;
}

.fl-lucas-license small {
    color:#AAC3DC;
    font:700 10px Consolas,monospace;
    letter-spacing:.09em;
}

.fl-lucas-license strong {
    color:#EDF6FF;
    font:700 13px Consolas,monospace;
    overflow-wrap:anywhere;
}

/* 기존 로그 연결 JS가 인식하는 footer 클래스 유지 */
.fl-lucas-folio .fl-lucas-footer {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    padding:17px 25px;
    background:#23374C;
    border-top:1px solid #607B98;
    color:#B8D0E7;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

/* 반응형 */
@media(max-width:850px) {
    .fl-lucas-cover {
        grid-template-columns:1fr;
    }

    .fl-lucas-art {
        max-height:320px;
    }

    .fl-lucas-art svg {
        min-height:300px;
    }

    .fl-lucas-story {
        grid-template-columns:1fr;
        gap:15px;
    }

    .fl-lucas-section-label {
        flex-direction:row;
        align-items:center;
    }
}

@media(max-width:600px) {
    .fl-lucas-folio {
        border-radius:10px;
    }

    .fl-lucas-ribbon {
        padding:13px 14px;
        font-size:8px;
    }

    .fl-lucas-intro {
        padding:34px 21px 37px;
    }

    .fl-lucas-name {
        font-size:clamp(37px,9vw,53px) !important;
    }

    .fl-lucas-story {
        padding:29px 19px;
    }

    .fl-lucas-story-content > p {
        font-size:13px;
    }

    .fl-lucas-data {
        padding:30px 17px 35px;
    }

    .fl-lucas-table,
    .fl-lucas-table tbody {
        display:block;
        width:100%;
    }

    .fl-lucas-table tr {
        display:grid;
        grid-template-columns:39% 61%;
        border:0;
    }

    .fl-lucas-table th,
    .fl-lucas-table td {
        display:block;
        width:auto;
        padding:12px 8px;
        font-size:12px;
        border-bottom:1px solid #425870;
    }

    .fl-lucas-table th:nth-child(3) {
        border-left:0;
        padding-left:8px;
    }

    .fl-lucas-license {
        grid-template-columns:1fr;
        padding:17px;
    }

    .fl-lucas-license > div + div {
        border-left:0;
        border-top:1px solid #506A85;
        padding:16px 0 0;
    }

    .fl-lucas-folio .fl-lucas-footer {
        padding:14px;
        font-size:8px;
    }
}

/* LUCAS-FOLIO-END */


/* FL-NAV-UNIFY-BEGIN */

/* 상단 구역 바로가기 : 5개 전부 동일한 디자인 */
.fl-zone-navigation a,
a.fl-legacy-nav-link,
a[href*="#zone-legacy"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 47px !important;
    padding: 12px 18px !important;
    margin: 0 !important;

    background: #FFFFFF !important;
    color: #414B60 !important;

    border: 1px solid #D7D9E5 !important;
    border-radius: 7px !important;

    box-shadow: none !important;
    text-decoration: none !important;

    font-family: 'Pretendard','Malgun Gothic',sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: .04em !important;

    white-space: nowrap;
    vertical-align: middle !important;
    opacity: 1 !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease !important;
}

.fl-zone-navigation a:hover,
a.fl-legacy-nav-link:hover,
a[href*="#zone-legacy"]:hover {
    background: #F5F3FA !important;
    border-color: #A6A2BE !important;
    color: #414B60 !important;
    transform: translateY(-2px);
}

.fl-zone-navigation a:focus-visible,
a.fl-legacy-nav-link:focus-visible,
a[href*="#zone-legacy"]:focus-visible {
    outline: 2px solid #A6A2BE !important;
    outline-offset: 3px;
}

/* 5번째 버튼도 기존 버튼과 같은 간격 */
.fl-zone-navigation {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

/* FL-NAV-UNIFY-END */


/* FL-COMPACT-TABS-BEGIN */

/* 접기 버튼의 기준 위치 */
.fl-zone .fl-zone-fold-body {
    position: relative !important;
}

/* 캐릭터 탭 오른쪽에 화살표 공간 확보 */
.fl-zone.fl-tabified .fl-tab-nav {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 74px 0 28px !important;
}

/* 탭 개수에 맞게 균등 배치 */
@media (min-width: 901px) {
    .fl-zone-red.fl-tabified .fl-tab-nav {
        grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    }

    .fl-zone-silver.fl-tabified .fl-tab-nav,
    .fl-zone-crown.fl-tabified .fl-tab-nav {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    }

    .fl-zone-black.fl-tabified .fl-tab-nav {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    .fl-zone-legacy.fl-tabified .fl-tab-nav {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    }
}

/* 기존에 한 줄을 차지하던 프로필 화살표를
   캐릭터 탭 오른쪽 끝으로 이동 */
.fl-zone.fl-tabified .fl-profile-fold-row {
    position: absolute !important;
    top: 0 !important;
    right: 19px !important;
    z-index: 5 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 76px !important;
    min-height: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    pointer-events: none;
}

/* 원형 화살표만 클릭 가능 */
.fl-zone.fl-tabified .fl-profile-fold-btn {
    pointer-events: auto;
    margin: 0 !important;
}

/* 접힌 프로필은 완전히 숨김 */
.fl-zone.fl-tabified .fl-zone-content[hidden] {
    display: none !important;
}

/* 펼친 프로필은 탭 바로 아래에 표시 */
.fl-zone.fl-tabified .fl-zone-content:not([hidden]) {
    margin-top: 0 !important;
}

/* 모바일: 가로 스크롤 탭 유지 */
@media (max-width: 680px) {
    .fl-zone.fl-tabified .fl-tab-nav {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;

        padding: 0 68px 0 12px !important;
    }

    .fl-zone.fl-tabified .fl-profile-fold-row {
        right: 12px !important;
        height: 67px !important;
    }

    .fl-zone.fl-tabified .fl-tab-btn {
        flex: 0 0 auto !important;
    }
}

/* FL-COMPACT-TABS-END */


/* DANTE-FOLIO-BEGIN */

/* RED ZONE · DANTE ROMANO */

.fl-zone-red .fl-dante-card {
    width:100%;
    border-color:#A02A43;
}

.fl-zone-red .fl-dante-card .fl-character-details {
    padding:0 !important;
}

.fl-dante-folio {
    --dante-line:#653144;
    --dante-ink:#FFF1F4;
    --dante-muted:#D3A3B0;

    box-sizing:border-box;
    width:100%;
    min-width:0;
    overflow:hidden;
    border:1px solid #9E2C47;
    border-radius:17px;
    background:#120E13;
    color:var(--dante-ink);
    box-shadow:0 22px 56px rgba(21,0,8,.3);
    font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
}

.fl-dante-folio * {
    box-sizing:border-box;
}

.fl-dante-ribbon {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    padding:16px 26px;
    background:#2B121C;
    border-bottom:1px solid #793249;
    color:#F0A8B9;
    font:700 10px/1.6 Consolas,monospace;
    letter-spacing:.13em;
}

.fl-dante-cover {
    display:grid;
    grid-template-columns:1.06fr .94fr;
    min-height:440px;
}

.fl-dante-intro {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    min-width:0;
    padding:clamp(29px,4.5vw,59px);
    background:
        radial-gradient(circle at 0 0,rgba(224,37,75,.20),transparent 52%),
        linear-gradient(145deg,#2C121C,#120D13 70%);
}

.fl-dante-kicker {
    color:#FF8CA2;
    font:700 10px Consolas,monospace;
    letter-spacing:.12em;
}

.fl-dante-editorial {
    margin-top:30px;
    color:#D8869A;
    font:italic 17px Georgia,serif;
}

.fl-dante-name {
    margin:15px 0 8px !important;
    color:#FFF4F5 !important;
    font-size:clamp(43px,4.8vw,70px) !important;
    line-height:1.16 !important;
    letter-spacing:-.065em !important;
    font-weight:900 !important;
}

.fl-dante-name span {
    display:inline-block;
    margin-left:12px;
    color:#FF617F;
    font-size:.46em;
    vertical-align:top;
}

.fl-dante-en {
    margin:6px 0 0;
    color:#F0A4B5;
    font:italic 27px Georgia,serif;
}

.fl-dante-rule {
    width:95px;
    height:3px;
    margin:30px 0 20px;
    background:linear-gradient(90deg,#FF496B,#8B1433);
}

.fl-dante-role {
    margin:0;
    color:#F9E5E9;
    font-size:14px;
    font-weight:700;
    line-height:1.9;
}

.fl-dante-role span {
    display:block;
    color:#CAA0AC;
    font-size:12px;
    font-weight:500;
}

.fl-dante-champion {
    display:flex;
    align-items:center;
    gap:19px;
    margin-top:25px;
    padding:13px 19px;
    border-left:3px solid #FF5575;
    background:linear-gradient(90deg,#67182C,#33121E);
}

.fl-dante-champion > strong {
    color:#FFF0F2;
    font:italic 49px Georgia,serif;
}

.fl-dante-champion > div {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.fl-dante-champion small {
    color:#FF9CAF;
    font:700 10px Consolas,monospace;
    letter-spacing:.09em;
}

.fl-dante-champion div span {
    color:#FFF0F3;
    font-size:13px;
    font-weight:700;
}

.fl-dante-art {
    display:flex;
    overflow:hidden;
    min-width:0;
    background:#6E102A;
}

.fl-dante-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:440px;
}

/* 인물 소개 */

.fl-dante-story {
    display:grid;
    grid-template-columns:175px minmax(0,1fr);
    gap:26px;
    padding:42px clamp(23px,4vw,55px);
    background:#181015;
    border-top:1px solid #703246;
}

.fl-dante-section-label {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    color:#FF7A94;
}

.fl-dante-section-label span {
    font:italic 37px Georgia,serif;
}

.fl-dante-section-label strong {
    font:700 11px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-dante-story-content > p {
    margin:0;
    color:#F5E4E8;
    font-size:15px;
    line-height:2.1;
    word-break:keep-all;
}

.fl-dante-highlight {
    margin-top:25px;
    padding:15px 20px;
    border-left:3px solid #FF4D70;
    background:linear-gradient(90deg,rgba(175,27,60,.22),transparent);
}

.fl-dante-highlight span {
    color:#FF90A5;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-dante-highlight p {
    margin:10px 0 0;
    color:#FFF0F2;
    font-size:clamp(15px,2vw,20px);
    font-weight:700;
    line-height:1.9;
    word-break:keep-all;
}

/* 정보표 */

.fl-dante-data {
    padding:40px clamp(23px,4vw,55px) 45px;
    background:#100D12;
    border-top:1px solid #573040;
}

.fl-dante-data-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:26px;
}

.fl-dante-data-head span:first-child {
    color:#FF8DA2;
    font:700 10px Consolas,monospace;
    letter-spacing:.12em;
}

.fl-dante-data-head h4 {
    margin:9px 0 0;
    color:#FFF0F3;
    font:italic 35px Georgia,serif;
}

.fl-dante-ornament {
    color:#D55B78;
    font-size:29px;
}

.fl-dante-table-wrap {
    overflow:hidden;
    border-top:2px solid #EC4666;
}

.fl-dante-table {
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

.fl-dante-table tr {
    border-bottom:1px solid #4A2D39;
}

.fl-dante-table th,
.fl-dante-table td {
    padding:17px 11px;
    text-align:left;
    vertical-align:middle;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.fl-dante-table th {
    width:18%;
    color:#D39EAB;
    font-size:12px;
    font-weight:600;
}

.fl-dante-table td {
    width:32%;
    color:#FFF2F4;
    font-size:14px;
    font-weight:700;
}

.fl-dante-table th:nth-child(3) {
    border-left:1px solid #4A2D39;
    padding-left:22px;
}

.fl-dante-license {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:28px;
    padding:20px 22px;
    border:1px solid #7B3049;
    border-radius:9px;
    background:linear-gradient(115deg,#31141F,#21131A);
}

.fl-dante-license > div {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.fl-dante-license > div + div {
    border-left:1px solid #633044;
    padding-left:20px;
}

.fl-dante-license small {
    color:#CA92A1;
    font:700 10px Consolas,monospace;
    letter-spacing:.1em;
}

.fl-dante-license strong {
    color:#FF8BA1;
    font:700 13px Consolas,monospace;
    overflow-wrap:anywhere;
}

/* 로그 연결 JS가 사용하는 서명 영역 */

.fl-dante-folio .fl-dante-footer {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    padding:17px 26px;
    background:#27131D;
    border-top:1px solid #693247;
    color:#E5A5B5;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

/* 반응형 */

@media(max-width:850px) {
    .fl-dante-cover {
        grid-template-columns:1fr;
    }

    .fl-dante-art {
        max-height:330px;
    }

    .fl-dante-art svg {
        min-height:300px;
    }

    .fl-dante-story {
        grid-template-columns:1fr;
        gap:16px;
    }

    .fl-dante-section-label {
        flex-direction:row;
        align-items:center;
    }
}

@media(max-width:600px) {
    .fl-dante-folio {
        border-radius:10px;
    }

    .fl-dante-ribbon {
        padding:13px 14px;
        font-size:8px;
    }

    .fl-dante-intro {
        padding:34px 21px 37px;
    }

    .fl-dante-name {
        font-size:clamp(43px,10vw,60px) !important;
    }

    .fl-dante-story {
        padding:29px 19px;
    }

    .fl-dante-story-content > p {
        font-size:13px;
    }

    .fl-dante-data {
        padding:30px 17px 35px;
    }

    .fl-dante-table,
    .fl-dante-table tbody {
        display:block;
        width:100%;
    }

    .fl-dante-table tr {
        display:grid;
        grid-template-columns:39% 61%;
        border:0;
    }

    .fl-dante-table th,
    .fl-dante-table td {
        display:block;
        width:auto;
        padding:12px 8px;
        font-size:12px;
        border-bottom:1px solid #4A2D39;
    }

    .fl-dante-table th:nth-child(3) {
        border-left:0;
        padding-left:8px;
    }

    .fl-dante-license {
        grid-template-columns:1fr;
        padding:17px;
    }

    .fl-dante-license > div + div {
        border-left:0;
        border-top:1px solid #633044;
        padding:16px 0 0;
    }

    .fl-dante-folio .fl-dante-footer {
        padding:14px;
        font-size:8px;
    }
}

/* DANTE-FOLIO-END */


/* DIEGO-FOLIO-BEGIN */

/* CROWN GATE · DIEGO A. CÁRDENAS */

.fl-zone-crown .fl-diego-card {
    width:100%;
    border-color:#D5B879;
}

.fl-zone-crown .fl-diego-card .fl-character-details {
    padding:0 !important;
}

.fl-diego-folio {
    border-color:#D9B979;
    box-shadow:0 20px 52px rgba(119,86,31,.13);
}

/* 더 밝고 부드러운 화이트 × 골드 */
.fl-diego-folio .fl-cassian-ribbon {
    background:#FFFAF0;
    color:#AA854A;
    border-bottom-color:#E8D5AA;
}

.fl-diego-folio .fl-cassian-intro {
    background:
        radial-gradient(
            circle at 10% 5%,
            #FFF0C9 0%,
            transparent 52%
        ),
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #FFF9EC 62%,
            #F7EBD0 100%
        );
}

.fl-diego-folio .fl-cassian-kicker {
    color:#A98341;
}

.fl-diego-folio .fl-cassian-caption {
    color:#B49354;
}

.fl-diego-folio .fl-diego-name {
    color:#52402C !important;
    font-size:clamp(35px,4vw,60px) !important;
    line-height:1.24 !important;
}

.fl-diego-folio .fl-diego-name span {
    color:#C6A052;
}

.fl-diego-folio .fl-cassian-en {
    color:#A8884B;
}

.fl-diego-folio .fl-cassian-rule {
    width:110px;
    height:3px;
    background:linear-gradient(
        90deg,
        #B48B43,
        #E6CB90,
        transparent
    );
}

.fl-diego-folio .fl-cassian-role {
    color:#5F4A30;
}

.fl-diego-folio .fl-cassian-role span {
    color:#9A7B4B;
}

/* 전용 Amigo 장식 */
.fl-diego-greeting {
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:26px;
    padding:16px 19px;
    background:rgba(228,191,115,.16);
    border-left:3px solid #BE9652;
}

.fl-diego-greeting > span {
    color:#B68D46;
    font-size:35px;
    line-height:1;
}

.fl-diego-greeting > div {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.fl-diego-greeting small {
    color:#9F8050;
    font:700 10px Consolas,monospace;
    letter-spacing:.09em;
}

.fl-diego-greeting strong {
    color:#8F6C33;
    font:italic 25px Georgia,serif;
}

/* 전용 태양 아트 */
.fl-diego-folio .fl-diego-art {
    background:#F1DEB9;
}

.fl-diego-folio .fl-diego-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:470px;
}

/* 인물 소개 */
.fl-diego-folio .fl-cassian-story {
    background:#FFFDF7;
}

.fl-diego-folio .fl-cassian-section {
    color:#AE8949;
}

.fl-diego-folio .fl-cassian-story-text > p {
    color:#574735;
    font-size:clamp(15px,1.8vw,18px);
    font-weight:600;
}

.fl-diego-folio .fl-cassian-story-text blockquote {
    border-left-color:#C9A059;
    background:linear-gradient(
        90deg,
        #FAF0D9,
        transparent
    );
    color:#795A2A;
}

/* 기본 정보표 */
.fl-diego-folio .fl-cassian-data {
    background:#FCF8EF;
}

.fl-diego-folio .fl-cassian-heading h4 {
    color:#59452D;
}

.fl-diego-folio .fl-cassian-table-wrap {
    border-top-color:#C6A160;
}

.fl-diego-folio .fl-cassian-table th {
    color:#987745;
}

.fl-diego-folio .fl-cassian-table td {
    color:#4F4132;
}

.fl-diego-folio .fl-cassian-license {
    border-color:#E0C996;
    background:#FFFCF3;
}

.fl-diego-folio .fl-cassian-license strong {
    color:#8D6B35;
}

/* 서명 */
.fl-diego-folio .fl-diego-footer {
    background:#F5E9CF;
    border-top-color:#DDC696;
    color:#947440;
}

/* 모바일 */
@media(max-width:850px) {
    .fl-diego-folio .fl-diego-art svg {
        min-height:300px;
    }
}

@media(max-width:600px) {
    .fl-diego-folio .fl-diego-name {
        font-size:clamp(35px,9vw,50px) !important;
    }

    .fl-diego-greeting {
        margin-top:21px;
        padding:14px 15px;
    }

    .fl-diego-greeting strong {
        font-size:22px;
    }
}

/* DIEGO-FOLIO-END */


/* ROWAN-FOLIO-BEGIN */

/* RED ZONE · ROWAN BLAKE */

.fl-zone-red .fl-rowan-card {
    width:100%;
    border-color:#97405A;
}

.fl-zone-red .fl-rowan-card .fl-character-details {
    padding:0 !important;
}

.fl-rowan-folio {
    border-color:#9E4560;
    background:#130E16;
    box-shadow:0 23px 54px rgba(19,0,12,.28);
}

.fl-rowan-folio .fl-dante-ribbon {
    background:#291520;
    color:#E6ADC0;
    border-bottom-color:#814158;
}

.fl-rowan-folio .fl-dante-intro {
    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(228,85,130,.16),
            transparent 51%
        ),
        linear-gradient(
            145deg,
            #2E1728,
            #161019 72%
        );
}

.fl-rowan-folio .fl-dante-kicker {
    color:#F899B2;
}

.fl-rowan-folio .fl-dante-editorial {
    color:#DA9AAD;
}

.fl-rowan-folio .fl-dante-name {
    color:#FFF1F5 !important;
    font-size:clamp(42px,4.6vw,67px) !important;
}

.fl-rowan-folio .fl-dante-name span {
    color:#FF9DB7;
}

.fl-rowan-folio .fl-dante-en {
    color:#EDACC1;
}

.fl-rowan-folio .fl-dante-rule {
    background:linear-gradient(
        90deg,
        #F778A0,
        #973756,
        transparent
    );
}

.fl-rowan-folio .fl-dante-role {
    color:#F7E5ED;
}

.fl-rowan-folio .fl-dante-role span {
    color:#CFA4B3;
}

/* 초신성이라는 외부 평가 */
.fl-rowan-reputation {
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:25px;
    padding:17px 20px;
    border-left:3px solid #F387A6;
    background:linear-gradient(
        110deg,
        rgba(178,55,100,.24),
        rgba(178,55,100,.05)
    );
}

.fl-rowan-reputation-star {
    flex:none;
    color:#FFBAD0;
    font-size:36px;
    line-height:1;
}

.fl-rowan-reputation > div {
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0;
}

.fl-rowan-reputation small {
    color:#DFA2B7;
    font:700 10px Consolas,monospace;
    letter-spacing:.07em;
}

.fl-rowan-reputation strong {
    color:#FFF0F5;
    font-size:18px;
    font-weight:800;
}

/* 전용 SVG */
.fl-rowan-folio .fl-rowan-art {
    background:#54182E;
}

.fl-rowan-folio .fl-rowan-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:440px;
}

/* 캐릭터 소개 */
.fl-rowan-folio .fl-dante-story {
    background:#1A111B;
    border-top-color:#62354A;
}

.fl-rowan-folio .fl-dante-section-label {
    color:#F18AA9;
}

.fl-rowan-folio .fl-dante-story-content > p {
    color:#F4E4EC;
}

.fl-rowan-folio .fl-dante-highlight {
    border-left-color:#F18CAC;
    background:linear-gradient(
        90deg,
        rgba(166,65,104,.18),
        transparent
    );
}

.fl-rowan-folio .fl-dante-highlight span {
    color:#F5A5BE;
}

.fl-rowan-folio .fl-dante-highlight p {
    color:#FFF0F5;
}

/* 개인정보 영역 */
.fl-rowan-folio .fl-dante-data {
    background:#110F15;
    border-top-color:#513244;
}

.fl-rowan-folio .fl-dante-data-head span:first-child {
    color:#F69DB7;
}

.fl-rowan-folio .fl-dante-data-head h4 {
    color:#FFF1F5;
}

.fl-rowan-folio .fl-dante-ornament {
    color:#D981A0;
}

.fl-rowan-folio .fl-dante-table-wrap {
    border-top-color:#DC6C90;
}

.fl-rowan-folio .fl-dante-table tr {
    border-bottom-color:#4C3041;
}

.fl-rowan-folio .fl-dante-table th {
    color:#D3A1B3;
}

.fl-rowan-folio .fl-dante-table td {
    color:#FFF0F5;
}

.fl-rowan-folio .fl-dante-table th:nth-child(3) {
    border-left-color:#4C3041;
}

/* 라이선스 */
.fl-rowan-folio .fl-dante-license {
    border-color:#754057;
    background:linear-gradient(
        110deg,
        #2B1827,
        #1B1520
    );
}

.fl-rowan-folio .fl-dante-license > div + div {
    border-left-color:#674054;
}

.fl-rowan-folio .fl-dante-license small {
    color:#CDA0B3;
}

.fl-rowan-folio .fl-dante-license strong {
    color:#F4AAC2;
}

/* 하단 서명 / 로그 연결 영역과 호환 */
.fl-rowan-folio .fl-dante-footer {
    background:#281720;
    border-top-color:#714058;
    color:#E2A7BD;
}

/* 작은 화면 */
@media(max-width:850px) {
    .fl-rowan-folio .fl-rowan-art svg {
        min-height:300px;
    }
}

@media(max-width:600px) {
    .fl-rowan-folio .fl-dante-name {
        font-size:clamp(42px,10vw,60px) !important;
    }

    .fl-rowan-reputation {
        margin-top:20px;
        padding:14px 15px;
        gap:12px;
    }

    .fl-rowan-reputation-star {
        font-size:29px;
    }

    .fl-rowan-reputation strong {
        font-size:16px;
    }

    .fl-rowan-folio .fl-dante-license > div + div {
        border-left:0;
        border-top:1px solid #674054;
    }
}

/* ROWAN-FOLIO-END */


/* DOMINIC-FOLIO-BEGIN */

.fl-zone-crown .fl-dominic-card {
    width:100%;
    border-color:#CBB485;
}

.fl-zone-crown .fl-dominic-card .fl-character-details {
    padding:0 !important;
}

.fl-dominic-folio {
    border-color:#C9B07E;
    background:#FFFCF6;
    box-shadow:0 20px 50px rgba(87,67,37,.12);
}

/* 차분한 화이트 × 앤티크 골드 */
.fl-dominic-folio .fl-cassian-ribbon {
    background:#F6EFE2;
    border-bottom-color:#DAC7A3;
    color:#977B4C;
}

.fl-dominic-folio .fl-cassian-intro {
    background:
        radial-gradient(
            circle at 0 0,
            #F8EFDD 0%,
            transparent 50%
        ),
        linear-gradient(
            140deg,
            #FFFEFB,
            #F8F2E8
        );
}

.fl-dominic-folio .fl-cassian-kicker {
    color:#998052;
}

.fl-dominic-folio .fl-cassian-caption {
    color:#B49A72;
}

.fl-dominic-folio .fl-dominic-name {
    color:#493B2D !important;
    font-size:clamp(40px,4.1vw,63px) !important;
    line-height:1.23 !important;
}

.fl-dominic-folio .fl-dominic-name span {
    color:#AE8B4E;
}

.fl-dominic-folio .fl-cassian-en {
    color:#9F8151;
}

.fl-dominic-folio .fl-cassian-rule {
    width:93px;
    background:linear-gradient(
        90deg,
        #A78A57,
        #E2CFA7
    );
}

.fl-dominic-folio .fl-cassian-role {
    color:#594936;
}

.fl-dominic-folio .fl-cassian-role span {
    color:#907A59;
}

/* 9년 차 경력 장식 */
.fl-dominic-feature {
    display:flex;
    align-items:center;
    gap:17px;
    margin-top:25px;
    padding:15px 19px;
    background:#F4EBDD;
    border-left:3px solid #B69864;
}

.fl-dominic-feature > strong {
    color:#8F7348;
    font:italic 47px Georgia,serif;
}

.fl-dominic-feature > div {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.fl-dominic-feature small {
    color:#A0865C;
    font:700 10px Consolas,monospace;
    letter-spacing:.09em;
}

.fl-dominic-feature div span {
    color:#584633;
    font-size:12px;
    font-weight:700;
}

/* 개인 전용 그래픽 */
.fl-dominic-folio .fl-dominic-art {
    background:#EDE0C9;
}

/* 인물 소개 */
.fl-dominic-folio .fl-cassian-story {
    background:#FFFDF9;
    border-top-color:#E4D5B8;
}

.fl-dominic-folio .fl-cassian-section {
    color:#A48650;
}

.fl-dominic-folio .fl-cassian-story-text > p {
    color:#564736;
}

.fl-dominic-folio .fl-cassian-story-text blockquote {
    border-left-color:#AF8F57;
    background:linear-gradient(
        90deg,
        #F4EBDB,
        transparent
    );
    color:#6B5230;
}

/* 정보표 */
.fl-dominic-folio .fl-cassian-data {
    background:#F9F5ED;
}

.fl-dominic-folio .fl-cassian-heading h4 {
    color:#4E4031;
}

.fl-dominic-folio .fl-cassian-table-wrap {
    border-top-color:#AC8B53;
}

.fl-dominic-folio .fl-cassian-table th {
    color:#967B50;
}

.fl-dominic-folio .fl-cassian-table td {
    color:#4D4032;
}

/* 라이선스 */
.fl-dominic-folio .fl-cassian-license {
    background:#FFFCF5;
    border-color:#D9C5A0;
}

.fl-dominic-folio .fl-cassian-license strong {
    color:#826839;
}

/* 서명 */
.fl-dominic-folio .fl-dominic-footer {
    background:#EEE3D0;
    border-top-color:#D5BF98;
    color:#8F7449;
}

@media(max-width:600px) {
    .fl-dominic-folio .fl-dominic-name {
        font-size:clamp(38px,9.5vw,54px) !important;
    }

    .fl-dominic-feature {
        padding:12px 15px;
        gap:12px;
    }

    .fl-dominic-feature > strong {
        font-size:39px;
    }

    .fl-dominic-folio .fl-cassian-license > div + div {
        border-left:0;
        border-top:1px solid #D9C5A0;
    }
}

/* DOMINIC-FOLIO-END */


/* ADRIAN-REGISTER-BEGIN */

/* PAST HUNTERS · ADRIAN HALE */

.fl-zone-legacy .fl-adrian-card {
    grid-column:1 / -1;
    width:100%;
}

.fl-zone-legacy .fl-adrian-card .fl-character-details {
    padding:0 !important;
}

/* 1995년 헌터 개인 기록부 */
.fl-hunter-register {
    --hr-ink:#504333;
    --hr-gold:#A38860;
    --hr-line:#D9C8AA;

    width:100%;
    min-width:0;
    overflow:hidden;
    box-sizing:border-box;

    background:#F5EFE3;
    color:var(--hr-ink);
    border:1px solid #A7906D;
    border-radius:15px;

    font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
    box-shadow:0 20px 55px rgba(18,12,7,.25);
}

.fl-hunter-register * {
    box-sizing:border-box;
}

/* 표지 */
.fl-hunter-register-ribbon {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    padding:16px 26px;

    background:#342A24;
    border-bottom:1px solid #877154;
    color:#D9C4A1;

    font:700 10px/1.6 Consolas,monospace;
    letter-spacing:.13em;
}

.fl-hunter-register-cover {
    display:grid;
    grid-template-columns:1.06fr .94fr;
    min-height:440px;
}

.fl-hunter-register-intro {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    min-width:0;
    padding:clamp(28px,4.5vw,58px);

    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(171,143,97,.18),
            transparent 55%
        ),
        linear-gradient(140deg,#342A23,#1D1A18);
    color:#F6EADA;
}

.fl-hunter-register-date {
    color:#D4BB95;
    font:700 11px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-hunter-register-type {
    display:block;
    margin-top:33px;
    color:#E1CDAE;
    font-size:12px;
    font-weight:700;
    letter-spacing:.15em;
}

.fl-hunter-register-intro h3 {
    margin:19px 0 8px !important;
    color:#FFF4E3 !important;
    font-size:clamp(35px,4.2vw,61px) !important;
    line-height:1.23 !important;
    letter-spacing:-.055em !important;
    font-weight:800 !important;
    overflow-wrap:anywhere;
}

.fl-hunter-register-en {
    margin:5px 0 0;
    color:#D4BE9B;
    font:italic 26px Georgia,serif;
}

.fl-hunter-register-rule {
    width:95px;
    height:2px;
    margin:29px 0 23px;
    background:linear-gradient(90deg,#E4C79B,#8C7354);
}

.fl-hunter-register-code {
    display:flex;
    flex-direction:column;
    gap:10px;
}

.fl-hunter-register-code small {
    color:#C3A987;
    font:700 10px Consolas,monospace;
    letter-spacing:.12em;
}

.fl-hunter-register-code strong {
    color:#FFF0D6;
    font:700 15px Consolas,monospace;
    letter-spacing:.06em;
    overflow-wrap:anywhere;
}

.fl-hunter-register-art {
    min-width:0;
    overflow:hidden;
    background:#D5C2A6;
}

.fl-hunter-register-art svg {
    display:block;
    width:100%;
    height:100%;
    min-height:440px;
}

/* 공통 기록부 섹션 */
.fl-hunter-register-section {
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:26px;

    padding:39px clamp(22px,4vw,54px);
    border-top:1px solid var(--hr-line);
    background:#F8F1E5;
}

.fl-hunter-register-section:nth-of-type(even) {
    background:#F2E8D8;
}

.fl-hunter-register-section-title {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    min-width:0;
}

.fl-hunter-register-section-title > span {
    color:#9D8058;
    font:italic 38px Georgia,serif;
    line-height:1;
}

.fl-hunter-register-section-title h4 {
    margin:0;
    color:#594832;
    font-size:19px;
    font-weight:800;
    letter-spacing:-.03em;
}

.fl-hunter-register-section-title small {
    color:#A08A6B;
    font:700 10px/1.7 Consolas,monospace;
    letter-spacing:.09em;
}

.fl-hunter-register-text {
    margin:0;
    color:#504435;
    font-size:14px;
    line-height:2.15;
    word-break:keep-all;
}

/* 인적 사항 표 */
.fl-hunter-register-table-wrap {
    min-width:0;
    overflow:hidden;
    border-top:2px solid #AE9064;
}

.fl-hunter-register-table {
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

.fl-hunter-register-table tr {
    border-bottom:1px solid #DCCBAD;
}

.fl-hunter-register-table th,
.fl-hunter-register-table td {
    padding:15px 12px;
    text-align:left;
    vertical-align:top;
    line-height:1.8;
    overflow-wrap:anywhere;
}

.fl-hunter-register-table th {
    width:23%;
    color:#947A56;
    font-size:12px;
    font-weight:700;
}

.fl-hunter-register-table td {
    color:#493D30;
    font-size:13px;
    font-weight:600;
    word-break:keep-all;
}

/* 작성 근거 */
.fl-hunter-register-source {
    padding:25px clamp(22px,4vw,54px);
    background:#E9DDC8;
    border-top:1px solid #CEB995;
}

.fl-hunter-register-source > span,
.fl-hunter-register-memo > span {
    display:block;
    margin-bottom:11px;
    color:#957851;
    font:700 10px Consolas,monospace;
    letter-spacing:.13em;
}

.fl-hunter-register-source p {
    margin:0;
    color:#665642;
    font-size:12px;
    line-height:1.9;
    word-break:keep-all;
}

/* 기록의 마지막 메모 */
.fl-hunter-register-memo {
    padding:25px clamp(22px,4vw,54px);
    background:#342921;
    border-top:1px solid #B29974;
}

.fl-hunter-register-memo > span {
    color:#CAAF88;
}

.fl-hunter-register-memo p {
    margin:0;
    color:#F1E0C8;
    font:italic clamp(16px,2vw,21px)/1.8
         Georgia,'Noto Serif KR',serif;
    word-break:keep-all;
}

/* 하단 서명 / 로그 링크 삽입 기준 */
.fl-hunter-register-footer {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    margin:0;
    padding:17px 26px;

    background:#251F1C;
    border-top:1px solid #65533F;
    color:#CBB28F;

    font:700 10px Consolas,monospace;
    letter-spacing:.12em;
}

/* 반응형 */
@media(max-width:850px) {
    .fl-hunter-register-cover {
        grid-template-columns:1fr;
    }

    .fl-hunter-register-art {
        max-height:320px;
    }

    .fl-hunter-register-art svg {
        min-height:300px;
    }

    .fl-hunter-register-section {
        grid-template-columns:1fr;
        gap:20px;
    }

    .fl-hunter-register-section-title {
        flex-direction:row;
        flex-wrap:wrap;
        align-items:center;
        gap:10px 16px;
    }
}

@media(max-width:600px) {
    .fl-hunter-register {
        border-radius:9px;
    }

    .fl-hunter-register-ribbon {
        padding:13px 14px;
        font-size:8px;
    }

    .fl-hunter-register-intro {
        padding:35px 21px;
    }

    .fl-hunter-register-intro h3 {
        font-size:clamp(35px,9vw,52px) !important;
    }

    .fl-hunter-register-section {
        padding:28px 19px;
    }

    .fl-hunter-register-text {
        font-size:13px;
    }

    .fl-hunter-register-table th,
    .fl-hunter-register-table td {
        padding:12px 8px;
        font-size:12px;
    }

    .fl-hunter-register-table th {
        width:27%;
    }

    .fl-hunter-register-source,
    .fl-hunter-register-memo {
        padding:23px 19px;
    }

    .fl-hunter-register-footer {
        padding:14px;
        font-size:8px;
    }
}

/* ADRIAN-REGISTER-END */


/* MATHIS-LOG-V2-BEGIN */

/* MATHIS MORREL · PERSONAL LOG */
.fl-mathis-log {
    box-sizing: border-box;
    width: calc(100% - 36px);
    max-width: 100%;
    margin: 28px auto;
    overflow: hidden;
    border: 1px solid #814353;
    border-radius: 12px;
    background: #181318;
    color: #F4E8E8;
    box-shadow: 0 16px 42px rgba(0,0,0,.23);
    font-family: 'Pretendard','Noto Sans KR',sans-serif;
}

.fl-mathis-log * {
    box-sizing: border-box;
}

.fl-mathis-log-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 26px 30px;
    background: linear-gradient(125deg,#3C1925,#23141C);
    border-bottom: 1px solid #72404F;
}

.fl-mathis-log-overline {
    display: block;
    margin-bottom: 11px;
    color: #D7A7B2;
    font: 700 10px/1.7 Consolas,monospace;
    letter-spacing: .13em;
}

.fl-mathis-log-header h4 {
    margin: 0 !important;
    color: #F7E9D1 !important;
    font: italic clamp(25px,3vw,38px)/1.2 Georgia,serif !important;
}

.fl-mathis-log-header p {
    margin: 9px 0 0;
    color: #D5ACB3;
    font-size: 11px;
    letter-spacing: .08em;
}

.fl-mathis-log-seal {
    display: grid;
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    place-items: center;
    border: 1px solid #C4A889;
    border-radius: 50%;
    color: #E6D3B0;
    font: italic 43px Georgia,serif;
}

.fl-mathis-log-content {
    padding: 42px clamp(21px,5vw,58px);
    background:
        radial-gradient(circle at 50% 0,rgba(130,45,67,.13),transparent 65%),
        #181318;
}

.fl-mathis-log-prose {
    margin: 0;
    color: #EBDEE0;
    font-size: 15px;
    line-height: 2.15;
    word-break: keep-all;
}

.fl-mathis-log-verse {
    margin: 34px 0;
    padding: 25px 20px;
    border-top: 1px solid #73545A;
    border-bottom: 1px solid #73545A;
    text-align: center;
    background: rgba(225,195,145,.035);
}

.fl-mathis-log-decor {
    display: block;
    margin-bottom: 14px;
    color: #D8BC8B;
    font-size: 19px;
}

.fl-mathis-log-verse blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: #F1DFB8;
    font: italic clamp(23px,3.2vw,37px)/1.55 Georgia,serif;
    overflow-wrap: anywhere;
}

.fl-mathis-log-verse figcaption {
    margin-top: 17px;
    color: #D7C9A9;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.9;
}

.fl-mathis-log-ending {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 25px;
    border-top: 1px solid #64434B;
    background: #261820;
    color: #C9A4AC;
    font: 700 10px/1.6 Consolas,monospace;
    letter-spacing: .1em;
}

@media (max-width: 600px) {
    .fl-mathis-log {
        width: calc(100% - 20px);
        margin: 18px auto;
    }

    .fl-mathis-log-header {
        padding: 21px 18px;
    }

    .fl-mathis-log-seal {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        font-size: 27px;
    }

    .fl-mathis-log-content {
        padding: 28px 18px;
    }

    .fl-mathis-log-prose {
        font-size: 13px;
    }

    .fl-mathis-log-verse {
        padding: 23px 7px;
    }

    .fl-mathis-log-verse blockquote {
        font-size: clamp(22px,6vw,29px);
    }

    .fl-mathis-log-ending {
        padding: 14px 17px;
        font-size: 9px;
    }
}

/* MATHIS-LOG-V2-END */