/*! PLUT Standard Design System v1.1.0 — 2026-09-26 (1.1: 모션)
 *  팀플럿(주) 전 SaaS 공통 UI. teamplut.com 회사·사업부 소개 페이지는 대상이 아님.
 *  네임스페이스: 토큰 --pl-* / 클래스 .pl-* (기존 사이트 CSS 와 충돌하지 않도록 반드시 접두어를 유지한다)
 *  서체: Pretendard Variable (jsDelivr dynamic-subset) — 가변 굵기 100~900
 *  구조: 1 토큰 · 2 베이스 · 3 타이포 · 4 레이아웃 · 5 컴포넌트 · 6 패턴 · 7 다크 · 8 유틸
 */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");

/* ═══════════════════════════════════════════════════════════
   1. 토큰
   ═══════════════════════════════════════════════════════════ */
:root{
  /* 원색 — 브랜드 파랑 (공식 가이드 #0046FF) */
  --pl-blue-50:#F2F6FF; --pl-blue-100:#E6EEFF; --pl-blue-200:#C7D8FF; --pl-blue-300:#9DBAFF; --pl-blue-400:#6B93FF;
  --pl-blue-500:#3D6FFF; --pl-blue-600:#0046FF; --pl-blue-700:#0038D1; --pl-blue-800:#002A9E; --pl-blue-900:#001D6B; --pl-blue-950:#0B1D52;
  /* 원색 — 무채색 (쿨 뉴트럴) */
  --pl-gray-0:#FFFFFF; --pl-gray-50:#F7F7F8; --pl-gray-100:#F4F4F5; --pl-gray-150:#EAEBEC; --pl-gray-200:#E1E2E4; --pl-gray-300:#DBDCDF;
  --pl-gray-400:#C2C4C8; --pl-gray-500:#989BA2; --pl-gray-600:#878A93; --pl-gray-700:#46474C; --pl-gray-800:#2C2D31; --pl-gray-900:#171717; --pl-gray-1000:#000000;
  /* 원색 — 상태 */
  --pl-red-500:#FF4242; --pl-red-600:#E03131; --pl-red-100:#FEECEC;
  --pl-green-500:#00BF40; --pl-green-600:#009E35; --pl-green-100:#E3FAEB;
  --pl-orange-500:#FF9200; --pl-orange-600:#E07E00; --pl-orange-100:#FEF4E6;
  --pl-sky-500:#0091FF; --pl-sky-100:#E6F3FF;

  /* ── 의미 토큰 (라이트) ── */
  --pl-label-normal:var(--pl-gray-900); --pl-label-strong:var(--pl-gray-1000); --pl-label-neutral:var(--pl-gray-700);
  --pl-label-alt:var(--pl-gray-600); --pl-label-assist:var(--pl-gray-400); --pl-label-disable:var(--pl-gray-300); --pl-label-inverse:#fff;
  --pl-line-normal:var(--pl-gray-300); --pl-line-neutral:var(--pl-gray-150); --pl-line-alt:var(--pl-gray-100); --pl-line-strong:var(--pl-gray-900);
  --pl-bg-normal:#fff; --pl-bg-alt:var(--pl-gray-50); --pl-bg-elevated:#fff; --pl-bg-dim:rgba(23,23,23,.48);
  --pl-fill-normal:var(--pl-gray-150); --pl-fill-strong:var(--pl-gray-200); --pl-fill-alt:var(--pl-gray-50); --pl-fill-neutral:var(--pl-gray-600);
  --pl-primary:var(--pl-blue-600); --pl-primary-strong:var(--pl-blue-700); --pl-primary-text:var(--pl-blue-700);
  --pl-primary-tint:var(--pl-blue-100); --pl-primary-tint-strong:var(--pl-blue-200); --pl-primary-on-ink:#7DA2FF; --pl-on-primary:#fff;
  --pl-ink:var(--pl-gray-900); --pl-ink-deep:#0D0D0D; --pl-on-ink:#fff; --pl-navy:var(--pl-blue-950);
  --pl-status-error:var(--pl-red-500); --pl-status-success:var(--pl-green-500); --pl-status-warning:var(--pl-orange-500); --pl-status-info:var(--pl-sky-500); --pl-status-neutral:var(--pl-gray-600);
  --pl-container-error:var(--pl-red-100); --pl-container-success:var(--pl-green-100); --pl-container-warning:var(--pl-orange-100); --pl-container-info:var(--pl-sky-100);
  --pl-interaction-inactive:var(--pl-gray-500); --pl-interaction-disable:var(--pl-gray-50);
  --pl-focus:var(--pl-blue-600);

  /* 서체 */
  --pl-font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --pl-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  /* 타입 스케일 — 크기 / 행간 / 자간 (레퍼런스 실측 그대로) */
  --pl-display1:56px; --pl-display1-lh:1.286; --pl-display1-ls:-1.786px;
  --pl-display2:40px; --pl-display2-lh:1.3;   --pl-display2-ls:-1.128px;
  --pl-title1:36px;   --pl-title1-lh:1.334;   --pl-title1-ls:-.972px;
  --pl-title2:28px;   --pl-title2-lh:1.358;   --pl-title2-ls:-.661px;
  --pl-title3:24px;   --pl-title3-lh:1.334;   --pl-title3-ls:-.552px;
  --pl-heading1:22px; --pl-heading1-lh:1.364; --pl-heading1-ls:-.427px;
  --pl-heading2:20px; --pl-heading2-lh:1.4;   --pl-heading2-ls:-.24px;
  --pl-headline1:18px;--pl-headline1-lh:1.445;--pl-headline1-ls:-.004px;
  --pl-body1:16px;    --pl-body1-lh:1.5;      --pl-body1-ls:.091px;  --pl-body1-reading-lh:1.625;
  --pl-body2:15px;    --pl-body2-lh:1.467;    --pl-body2-ls:.144px;  --pl-body2-reading-lh:1.6;
  --pl-label1:14px;   --pl-label1-lh:1.429;   --pl-label1-ls:.203px; --pl-label1-reading-lh:1.571;
  --pl-caption1:12px; --pl-caption1-lh:1.334; --pl-caption1-ls:.302px;
  --pl-caption2:11px; --pl-caption2-lh:1.273; --pl-caption2-ls:.342px;

  /* 라운드 */
  --pl-r-4:4px; --pl-r-6:6px; --pl-r-8:8px; --pl-r-12:12px; --pl-r-16:16px; --pl-r-20:20px; --pl-r-24:24px; --pl-r-full:9999px;
  /* 간격 (4 배수) */
  --pl-s-2:2px; --pl-s-4:4px; --pl-s-8:8px; --pl-s-12:12px; --pl-s-16:16px; --pl-s-20:20px; --pl-s-24:24px; --pl-s-32:32px; --pl-s-36:36px;
  --pl-s-40:40px; --pl-s-48:48px; --pl-s-64:64px; --pl-s-72:72px; --pl-s-96:96px; --pl-s-128:128px;
  /* 그림자 — 기본은 그림자 없음. 떠 있는 것(토스트·팝오버·모달)만 쓴다 */
  --pl-shadow-sm:0 1px 2px rgba(0,0,0,.04);
  --pl-shadow-md:0 4px 12px rgba(0,0,0,.06);
  --pl-shadow-lg:0 16px 48px rgba(17,24,39,.04),0 12px 24px rgba(17,24,39,.04),0 6px 8px rgba(17,24,39,.02),0 2px 3px rgba(17,24,39,.02);
  --pl-shadow-pop:0 8px 24px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04);
  /* 모션 */
  --pl-t-fast:.15s; --pl-t-base:.2s; --pl-t-slow:.3s; --pl-t-enter:.5s;
  --pl-ease:cubic-bezier(.4,0,.2,1); --pl-ease-out:cubic-bezier(0,0,.2,1);
  /* 레이아웃 */
  --pl-header-h:68px; --pl-header-h-m:60px; --pl-gutter:20px;
  --pl-container:1120px; --pl-container-narrow:800px; --pl-container-wide:1440px; --pl-container-form:480px;
  --pl-side-w:200px; --pl-console-gap:20px;
  --pl-z-header:80; --pl-z-drawer:90; --pl-z-dropdown:100; --pl-z-modal:200; --pl-z-toast:300; --pl-z-tooltip:400;
}

/* ═══════════════════════════════════════════════════════════
   2. 베이스 (.pl-root 아래에서만 적용 — 기존 페이지를 침범하지 않는다)
   ═══════════════════════════════════════════════════════════ */
.pl-root{font-family:var(--pl-font);font-size:var(--pl-body1);line-height:var(--pl-body1-lh);letter-spacing:var(--pl-body1-ls);font-weight:500;
  color:var(--pl-label-normal);background:var(--pl-bg-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;word-break:keep-all;overflow-wrap:anywhere;-webkit-text-size-adjust:100%;text-size-adjust:100%;
  font-feature-settings:"ss05"; /* Pretendard: 흘림 없는 g */
}
body.pl-root{margin:0;min-height:100vh}
.pl-root *,.pl-root *::before,.pl-root *::after{box-sizing:border-box}
.pl-root :where(h1,h2,h3,h4,h5,p,ul,ol,figure,dl,dd){margin:0}
.pl-root :where(ul,ol){padding:0;list-style:none}
.pl-root :where(a){color:inherit;text-decoration:none}
.pl-root :where(img,svg,video){display:block;max-width:100%}
.pl-root :where(button,input,select,textarea){font:inherit;letter-spacing:inherit;color:inherit;margin:0}
.pl-root :where(button){background:none;border:0;padding:0;cursor:pointer}
.pl-root [hidden]{display:none!important}
.pl-root ::placeholder{color:var(--pl-label-alt);opacity:1}
.pl-root ::selection{background:var(--pl-primary-tint-strong);color:var(--pl-label-strong)}
.pl-root :focus{outline:none}
.pl-root :focus-visible{outline:2px solid var(--pl-focus);outline-offset:2px;border-radius:var(--pl-r-4)}
.pl-root :where(hr){border:0;border-top:1px solid var(--pl-line-neutral);margin:0}
.pl-root :where(strong,b){font-weight:700}
.pl-root :where(small){font-size:var(--pl-caption1)}
.pl-root :where(code){font-family:var(--pl-font-mono);font-size:.875em;background:var(--pl-fill-alt);padding:.1em .4em;border-radius:var(--pl-r-4)}
.pl-root :where(table){border-collapse:collapse;border-spacing:0}
.pl-num,.pl-root [data-num]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","ss05"}
@media (prefers-reduced-motion:reduce){.pl-root *,.pl-root *::before,.pl-root *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ═══════════════════════════════════════════════════════════
   3. 타이포그래피
   ═══════════════════════════════════════════════════════════ */
.pl-display1{font-size:var(--pl-display1);line-height:var(--pl-display1-lh);letter-spacing:var(--pl-display1-ls);font-weight:700}
.pl-display2{font-size:var(--pl-display2);line-height:var(--pl-display2-lh);letter-spacing:var(--pl-display2-ls);font-weight:700}
.pl-title1{font-size:var(--pl-title1);line-height:var(--pl-title1-lh);letter-spacing:var(--pl-title1-ls);font-weight:700}
.pl-title2{font-size:var(--pl-title2);line-height:var(--pl-title2-lh);letter-spacing:var(--pl-title2-ls);font-weight:700}
.pl-title3{font-size:var(--pl-title3);line-height:var(--pl-title3-lh);letter-spacing:var(--pl-title3-ls);font-weight:700}
.pl-heading1{font-size:var(--pl-heading1);line-height:var(--pl-heading1-lh);letter-spacing:var(--pl-heading1-ls);font-weight:700}
.pl-heading2{font-size:var(--pl-heading2);line-height:var(--pl-heading2-lh);letter-spacing:var(--pl-heading2-ls);font-weight:700}
.pl-headline1{font-size:var(--pl-headline1);line-height:var(--pl-headline1-lh);letter-spacing:var(--pl-headline1-ls);font-weight:600}
.pl-body1{font-size:var(--pl-body1);line-height:var(--pl-body1-lh);letter-spacing:var(--pl-body1-ls);font-weight:500}
.pl-body1-reading{font-size:var(--pl-body1);line-height:var(--pl-body1-reading-lh);letter-spacing:var(--pl-body1-ls);font-weight:400}
.pl-body2{font-size:var(--pl-body2);line-height:var(--pl-body2-lh);letter-spacing:var(--pl-body2-ls);font-weight:500}
.pl-body2-reading{font-size:var(--pl-body2);line-height:var(--pl-body2-reading-lh);letter-spacing:var(--pl-body2-ls);font-weight:400}
.pl-label1{font-size:var(--pl-label1);line-height:var(--pl-label1-lh);letter-spacing:var(--pl-label1-ls);font-weight:500}
.pl-label1-reading{font-size:var(--pl-label1);line-height:var(--pl-label1-reading-lh);letter-spacing:var(--pl-label1-ls);font-weight:400}
.pl-caption1{font-size:var(--pl-caption1);line-height:var(--pl-caption1-lh);letter-spacing:var(--pl-caption1-ls);font-weight:500}
.pl-caption2{font-size:var(--pl-caption2);line-height:var(--pl-caption2-lh);letter-spacing:var(--pl-caption2-ls);font-weight:500}
.pl-w400{font-weight:400}.pl-w500{font-weight:500}.pl-w600{font-weight:600}.pl-w700{font-weight:700}.pl-w800{font-weight:800}
/* 색 유틸 */
.pl-c-normal{color:var(--pl-label-normal)}.pl-c-strong{color:var(--pl-label-strong)}.pl-c-neutral{color:var(--pl-label-neutral)}
.pl-c-alt{color:var(--pl-label-alt)}.pl-c-assist{color:var(--pl-label-assist)}.pl-c-disable{color:var(--pl-label-disable)}.pl-c-inverse{color:var(--pl-label-inverse)}
.pl-c-primary{color:var(--pl-primary-text)}.pl-c-error{color:var(--pl-status-error)}.pl-c-success{color:var(--pl-status-success)}
.pl-c-warning{color:var(--pl-status-warning)}.pl-c-info{color:var(--pl-status-info)}
/* 모바일 스케일 — 제목만 한 단계 내린다 (실측: 36→24, 28→22, 24→24, 40→34) */
@media (max-width:767px){
  .pl-display1{font-size:40px;letter-spacing:-1.128px;line-height:1.3}
  .pl-display2{font-size:34px;letter-spacing:-.9px;line-height:1.3}
  .pl-title1{font-size:24px;letter-spacing:-.552px;line-height:1.334}
  .pl-title2{font-size:22px;letter-spacing:-.427px;line-height:1.364}
  .pl-title3{font-size:22px;letter-spacing:-.427px;line-height:1.364}
}

/* ═══════════════════════════════════════════════════════════
   4. 레이아웃
   ═══════════════════════════════════════════════════════════ */
.pl-container{width:100%;max-width:calc(var(--pl-container) + var(--pl-gutter)*2);margin:0 auto;padding-left:var(--pl-gutter);padding-right:var(--pl-gutter)}
.pl-container--narrow{max-width:calc(var(--pl-container-narrow) + var(--pl-gutter)*2)}
.pl-container--wide{max-width:calc(var(--pl-container-wide) + var(--pl-gutter)*2)}
.pl-container--form{max-width:calc(var(--pl-container-form) + var(--pl-gutter)*2)}
.pl-section{padding:var(--pl-s-128) 0}
.pl-section--tight{padding:var(--pl-s-72) 0}
.pl-section--alt{background:var(--pl-bg-alt)}
.pl-section--ink{background:var(--pl-ink);color:var(--pl-on-ink)}
.pl-section__head{text-align:center;margin-bottom:var(--pl-s-48)}
.pl-section__head .pl-sub{margin-top:var(--pl-s-12);color:var(--pl-label-alt)}
@media (max-width:767px){.pl-section{padding:var(--pl-s-72) 0}.pl-section--tight{padding:var(--pl-s-48) 0}.pl-section__head{margin-bottom:var(--pl-s-32)}}
.pl-stack{display:flex;flex-direction:column;gap:var(--pl-s-16)}
.pl-stack--sm{gap:var(--pl-s-8)}.pl-stack--lg{gap:var(--pl-s-24)}.pl-stack--xl{gap:var(--pl-s-40)}
.pl-row{display:flex;align-items:center;gap:var(--pl-s-12)}
.pl-row--between{justify-content:space-between}.pl-row--center{justify-content:center}.pl-row--end{justify-content:flex-end}.pl-row--wrap{flex-wrap:wrap}.pl-row--start{align-items:flex-start}
.pl-grow{flex:1 1 auto;min-width:0}
.pl-grid{display:grid;gap:var(--pl-s-16)}
.pl-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.pl-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1023px){.pl-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.pl-grid--2,.pl-grid--3,.pl-grid--4{grid-template-columns:minmax(0,1fr)}}
.pl-divider{border:0;border-top:1px solid var(--pl-line-neutral)}
.pl-divider--strong{border-top-color:var(--pl-line-normal)}
@media (min-width:768px){.pl-show-m{display:none!important}}
@media (max-width:767px){.pl-hide-m{display:none!important}}

/* ═══════════════════════════════════════════════════════════
   5. 컴포넌트
   ═══════════════════════════════════════════════════════════ */
/* ── 5.1 아이콘 (plut.js 가 스프라이트를 주입, <svg class="pl-icon"><use href="#pl-i-check"/></svg>) ── */
.pl-icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.pl-icon--16{width:16px;height:16px}.pl-icon--24{width:24px;height:24px}.pl-icon--28{width:28px;height:28px}.pl-icon--fill{fill:currentColor;stroke:none}

/* ── 5.2 로고 락업: 심볼(파랑) + 서비스명 ── */
.pl-logo{display:inline-flex;align-items:center;gap:8px;height:40px;color:var(--pl-label-normal);font-weight:800;font-size:22px;letter-spacing:-.04em;line-height:1;white-space:nowrap}
.pl-logo__sym{width:26px;height:26px;color:var(--pl-primary);flex:0 0 auto}
.pl-logo__by{font-weight:500;font-size:12px;letter-spacing:.2px;color:var(--pl-label-alt);margin-left:2px;align-self:flex-end;padding-bottom:1px}
.pl-logo--inverse{color:#fff}.pl-logo--inverse .pl-logo__sym{color:#fff}

/* ── 5.3 버튼 ── */
.pl-btn{--h:40px;--px:16px;--fs:var(--pl-body2);--r:var(--pl-r-8);
  display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h);padding:0 var(--px);border-radius:var(--r);
  font-size:var(--fs);font-weight:600;letter-spacing:var(--pl-body2-ls);line-height:1;white-space:nowrap;
  border:1px solid transparent;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;text-decoration:none;
  transition:background-color var(--pl-t-base) var(--pl-ease),color var(--pl-t-base) var(--pl-ease),border-color var(--pl-t-base) var(--pl-ease),opacity var(--pl-t-base) var(--pl-ease),transform var(--pl-t-fast) var(--pl-ease)}
.pl-btn:active{transform:translateY(1px)}
.pl-btn:disabled,.pl-btn[aria-disabled="true"]{pointer-events:none}
.pl-btn .pl-icon{width:18px;height:18px}
/* 크기: sm 32 · md 40(기본) · lg 48 · xl 52(히어로 CTA) */
.pl-btn--sm{--h:32px;--px:12px;--fs:var(--pl-label1);--r:var(--pl-r-6)}
.pl-btn--lg{--h:48px;--px:20px;--fs:var(--pl-headline1)}
.pl-btn--xl{--h:52px;--px:40px;--fs:var(--pl-headline1);--r:var(--pl-r-12)}
.pl-btn--block{display:flex;width:100%}
.pl-btn--icon{--px:0;width:var(--h);padding:0}
.pl-btn--pill{--r:var(--pl-r-full)}
/* 종류 */
.pl-btn--primary{background:var(--pl-primary);color:var(--pl-on-primary);border-color:var(--pl-primary)}
.pl-btn--primary:hover{background:var(--pl-primary-strong);border-color:var(--pl-primary-strong)}
.pl-btn--primary:disabled,.pl-btn--primary[aria-disabled="true"]{opacity:.4}          /* 입력이 아직 안 끝난 CTA: 남겨 두고 흐리게 */
.pl-btn--secondary{background:var(--pl-fill-normal);color:var(--pl-label-normal);border-color:var(--pl-fill-normal)}
.pl-btn--secondary:hover{background:var(--pl-fill-strong);border-color:var(--pl-fill-strong)}
.pl-btn--secondary:disabled{background:var(--pl-interaction-disable);color:var(--pl-label-disable);border-color:var(--pl-interaction-disable)}
.pl-btn--outline{background:var(--pl-bg-normal);color:var(--pl-label-neutral);border-color:var(--pl-line-normal);font-weight:500}
.pl-btn--outline:hover{background:var(--pl-bg-alt)}
.pl-btn--outline:disabled{color:var(--pl-label-disable);border-color:var(--pl-line-neutral)}
.pl-btn--ghost{background:transparent;color:var(--pl-label-neutral);font-weight:500}
.pl-btn--ghost:hover{background:var(--pl-fill-alt);color:var(--pl-label-normal)}
.pl-btn--ghost:disabled{color:var(--pl-label-disable)}
.pl-btn--outline-primary{background:var(--pl-bg-normal);color:var(--pl-primary-text);border-color:var(--pl-primary)}
.pl-btn--outline-primary:hover{background:var(--pl-primary-tint)}
.pl-btn--tint{background:var(--pl-primary-tint);color:var(--pl-primary-text);border-color:var(--pl-primary-tint)}
.pl-btn--tint:hover{background:var(--pl-primary-tint-strong);border-color:var(--pl-primary-tint-strong)}
.pl-btn--ink{background:var(--pl-ink);color:var(--pl-on-ink);border-color:var(--pl-ink)}
.pl-btn--ink:hover{background:var(--pl-gray-800);border-color:var(--pl-gray-800)}
.pl-btn--inverse{background:#fff;color:var(--pl-gray-900);border-color:#fff}
.pl-btn--inverse:hover{background:var(--pl-gray-100)}
.pl-btn--danger{background:var(--pl-status-error);color:#fff;border-color:var(--pl-status-error)}
.pl-btn--danger:hover{background:var(--pl-red-600);border-color:var(--pl-red-600)}
.pl-btn--danger-soft{background:var(--pl-container-error);color:var(--pl-status-error);border-color:var(--pl-container-error)}
.pl-btn--link{background:none;color:var(--pl-primary-text);padding:0;height:auto;font-weight:500;border:0}
.pl-btn--link:hover{text-decoration:underline;text-underline-offset:3px}
.pl-btn--link.pl-btn--muted{color:var(--pl-label-alt)}
.pl-btn.is-loading{position:relative;color:transparent!important;pointer-events:none}
.pl-btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:pl-spin .7s linear infinite}
.pl-btn--secondary.is-loading::after,.pl-btn--outline.is-loading::after,.pl-btn--ghost.is-loading::after,.pl-btn--inverse.is-loading::after{border-color:var(--pl-gray-300);border-top-color:var(--pl-gray-700)}
.pl-btn-group{display:inline-flex;gap:var(--pl-s-8)}
/* 텍스트 링크 두 개를 세로선으로 나누는 보조 링크줄 (로그인 하단) */
.pl-links{display:flex;align-items:center;justify-content:center;gap:0}
.pl-links > *{padding:9px 16px;font-size:var(--pl-body2);font-weight:500;color:var(--pl-label-alt);border-radius:var(--pl-r-8)}
.pl-links > .is-primary{color:var(--pl-primary-text)}
.pl-links > * + *{position:relative}
.pl-links > * + *::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:var(--pl-line-normal)}

/* ── 5.4 입력 ── */
.pl-field{display:flex;flex-direction:column;gap:8px}
.pl-field__label{font-size:var(--pl-label1);line-height:var(--pl-label1-lh);letter-spacing:var(--pl-label1-ls);font-weight:600;color:var(--pl-label-normal)}
.pl-field__label .req{color:var(--pl-status-error);margin-left:2px}
.pl-field__label .opt{color:var(--pl-label-alt);font-weight:500;margin-left:4px}
.pl-field__help{font-size:var(--pl-caption1);line-height:var(--pl-caption1-lh);letter-spacing:var(--pl-caption1-ls);color:var(--pl-label-alt)}
.pl-field__error{font-size:var(--pl-caption1);line-height:var(--pl-caption1-lh);letter-spacing:var(--pl-caption1-ls);color:var(--pl-status-error);display:none}
.pl-field.is-error .pl-field__error{display:block}
.pl-field.is-error .pl-input,.pl-field.is-error .pl-select,.pl-field.is-error .pl-textarea{box-shadow:inset 0 0 0 1.5px var(--pl-status-error);background:var(--pl-bg-normal)}
.pl-input,.pl-select,.pl-textarea{--h:44px;width:100%;height:var(--h);padding:0 14px;border:0;border-radius:var(--pl-r-8);background:var(--pl-fill-alt);color:var(--pl-label-normal);
  font-size:var(--pl-body2);font-weight:500;letter-spacing:var(--pl-body2-ls);line-height:1.467;appearance:none;-webkit-appearance:none;
  transition:box-shadow var(--pl-t-fast) var(--pl-ease),background-color var(--pl-t-fast) var(--pl-ease)}
.pl-input:hover,.pl-select:hover,.pl-textarea:hover{background:var(--pl-fill-normal)}
.pl-input:focus,.pl-select:focus,.pl-textarea:focus{outline:none;background:var(--pl-bg-normal);box-shadow:inset 0 0 0 1.5px var(--pl-primary)}
.pl-input:disabled,.pl-select:disabled,.pl-textarea:disabled{color:var(--pl-label-disable);background:var(--pl-interaction-disable);cursor:not-allowed}
.pl-input:read-only:not(:disabled){background:var(--pl-fill-alt);box-shadow:none}
.pl-input--lg,.pl-select--lg{--h:48px;font-size:var(--pl-body1)}
.pl-input--sm,.pl-select--sm{--h:36px;padding:0 12px;font-size:var(--pl-label1)}
.pl-input--outline,.pl-select--outline,.pl-textarea--outline{background:var(--pl-bg-normal);box-shadow:inset 0 0 0 1px var(--pl-line-normal)}
.pl-input--outline:hover,.pl-select--outline:hover,.pl-textarea--outline:hover{background:var(--pl-bg-normal);box-shadow:inset 0 0 0 1px var(--pl-gray-400)}
.pl-textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical;line-height:1.6}
.pl-select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23878a93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.pl-select:invalid,.pl-select.is-placeholder{color:var(--pl-label-alt)}
/* 입력 + 버튼/아이콘 묶음 */
.pl-input-group{display:flex;gap:8px;align-items:stretch}
.pl-input-group .pl-input{flex:1 1 auto;min-width:0}
.pl-input-group .pl-btn{height:auto;flex:0 0 auto}
.pl-input-wrap{position:relative;display:flex;align-items:center}
.pl-input-wrap .pl-input{padding-right:44px}
.pl-input-wrap .pl-input--lead{padding-left:42px}
.pl-input-wrap__icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--pl-label-alt);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--pl-r-4)}
.pl-input-wrap__icon--lead{right:auto;left:14px}
.pl-input-wrap__icon:is(button):hover{color:var(--pl-label-normal)}
.pl-input-wrap__unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:var(--pl-body2);color:var(--pl-label-alt)}
/* 체크박스·라디오 (20px, 1.5px 테두리) */
.pl-check,.pl-radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--pl-body2);font-weight:500;letter-spacing:var(--pl-body2-ls);color:var(--pl-label-normal);-webkit-tap-highlight-color:transparent}
.pl-check input,.pl-radio input{position:absolute;opacity:0;width:0;height:0}
.pl-check__box,.pl-radio__dot{width:20px;height:20px;flex:0 0 auto;border:1.5px solid var(--pl-label-assist);background:var(--pl-bg-normal);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--pl-t-fast),border-color var(--pl-t-fast)}
.pl-check__box{border-radius:var(--pl-r-6)}.pl-radio__dot{border-radius:50%}
.pl-check--round .pl-check__box{border-radius:50%}
.pl-check__box svg{width:12px;height:12px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.6);transition:opacity var(--pl-t-fast),transform var(--pl-t-fast)}
.pl-check input:checked + .pl-check__box{background:var(--pl-primary);border-color:var(--pl-primary)}
.pl-check input:checked + .pl-check__box svg{opacity:1;transform:scale(1)}
.pl-check--success input:checked + .pl-check__box{background:var(--pl-status-success);border-color:var(--pl-status-success)}
.pl-radio__dot::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;transform:scale(0);transition:transform var(--pl-t-fast)}
.pl-radio input:checked + .pl-radio__dot{background:var(--pl-primary);border-color:var(--pl-primary)}
.pl-radio input:checked + .pl-radio__dot::after{transform:scale(1)}
.pl-check input:focus-visible + .pl-check__box,.pl-radio input:focus-visible + .pl-radio__dot{outline:2px solid var(--pl-focus);outline-offset:2px}
.pl-check input:disabled + .pl-check__box,.pl-radio input:disabled + .pl-radio__dot{background:var(--pl-interaction-disable);border-color:var(--pl-line-normal)}
.pl-check input:disabled ~ span,.pl-radio input:disabled ~ span{color:var(--pl-label-disable)}
/* 선택 카드 (결제수단·옵션): 라디오가 들어간 한 줄 */
.pl-option{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;border-radius:var(--pl-r-8);box-shadow:inset 0 0 0 1px var(--pl-line-neutral);background:var(--pl-bg-normal);cursor:pointer;transition:box-shadow var(--pl-t-fast),background-color var(--pl-t-fast)}
.pl-option:hover{background:var(--pl-bg-alt)}
.pl-option:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--pl-primary);background:var(--pl-bg-normal)}
.pl-option__mark{margin-left:auto;color:var(--pl-label-alt);display:inline-flex}
/* 스위치 */
.pl-switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--pl-body2);font-weight:500}
.pl-switch input{position:absolute;opacity:0;width:0;height:0}
.pl-switch__track{width:44px;height:24px;border-radius:var(--pl-r-full);background:var(--pl-gray-300);position:relative;transition:background-color var(--pl-t-base);flex:0 0 auto}
.pl-switch__track::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform var(--pl-t-base) var(--pl-ease)}
.pl-switch input:checked + .pl-switch__track{background:var(--pl-primary)}
.pl-switch input:checked + .pl-switch__track::after{transform:translateX(20px)}
.pl-switch input:focus-visible + .pl-switch__track{outline:2px solid var(--pl-focus);outline-offset:2px}
.pl-switch input:disabled + .pl-switch__track{opacity:.4}

/* ── 5.5 카드 ── */
.pl-card{background:var(--pl-bg-elevated);border-radius:var(--pl-r-16);padding:var(--pl-s-24)}
.pl-card--sm{border-radius:var(--pl-r-12);padding:var(--pl-s-20) var(--pl-s-24)}
.pl-card--lg{border-radius:var(--pl-r-20);padding:var(--pl-s-36)}
.pl-card--line{box-shadow:inset 0 0 0 1px var(--pl-line-neutral)}
.pl-card--fill{background:var(--pl-bg-alt)}
.pl-card--ink{background:var(--pl-ink);color:var(--pl-on-ink)}
.pl-card--ink .pl-c-alt{color:rgba(255,255,255,.6)}
.pl-card--navy{background:var(--pl-navy);color:#fff}
.pl-card--navy .pl-c-alt{color:rgba(255,255,255,.62)}
.pl-card--primary{background:var(--pl-primary);color:#fff}
.pl-card--primary .pl-c-alt{color:rgba(255,255,255,.72)}
.pl-card--tint{background:var(--pl-primary-tint)}
.pl-card--float{box-shadow:var(--pl-shadow-lg)}
.pl-card--interactive{cursor:pointer;transition:transform var(--pl-t-base) var(--pl-ease),box-shadow var(--pl-t-base) var(--pl-ease)}
.pl-card--interactive:hover{box-shadow:var(--pl-shadow-md)}
.pl-card__eyebrow{font-size:var(--pl-body2);color:var(--pl-label-alt);font-weight:500;margin-bottom:var(--pl-s-8)}
.pl-card--ink .pl-card__eyebrow,.pl-card--navy .pl-card__eyebrow,.pl-card--primary .pl-card__eyebrow{color:rgba(255,255,255,.62)}
.pl-card__title{font-size:var(--pl-title3);line-height:var(--pl-title3-lh);letter-spacing:var(--pl-title3-ls);font-weight:700}
.pl-card__desc{margin-top:var(--pl-s-8);color:var(--pl-label-alt);font-size:var(--pl-body1)}
.pl-card--ink .pl-card__desc,.pl-card--navy .pl-card__desc{color:rgba(255,255,255,.62)}
@media (max-width:767px){.pl-card{padding:var(--pl-s-20)}.pl-card--lg{padding:var(--pl-s-24)}.pl-card--sm{padding:var(--pl-s-16) var(--pl-s-20)}}
/* 섹션 카드 (결제·설정 화면의 흰 박스: 제목 + 밑줄 + 내용) */
.pl-panel{background:var(--pl-bg-elevated);border-radius:var(--pl-r-12);padding:var(--pl-s-20) var(--pl-s-24) var(--pl-s-24)}
.pl-panel__title{font-size:var(--pl-heading2);line-height:var(--pl-heading2-lh);letter-spacing:var(--pl-heading2-ls);font-weight:700;padding-bottom:var(--pl-s-16);border-bottom:1px solid var(--pl-line-neutral);margin-bottom:var(--pl-s-20);display:flex;align-items:center;justify-content:space-between;gap:12px}
.pl-panel__title .pl-btn{font-weight:500}
.pl-panel + .pl-panel{margin-top:var(--pl-s-16)}
@media (max-width:767px){.pl-panel{padding:var(--pl-s-16) var(--pl-s-20) var(--pl-s-20);border-radius:var(--pl-r-12)}}
/* 통계 카드 */
.pl-stat{background:var(--pl-bg-alt);border-radius:var(--pl-r-12);padding:var(--pl-s-20) var(--pl-s-24);display:flex;flex-direction:column;gap:var(--pl-s-12);min-height:118px}
.pl-stat__label{display:inline-flex;align-items:center;gap:4px;font-size:var(--pl-body2);font-weight:600;color:var(--pl-label-normal)}
.pl-stat__label .pl-icon{width:16px;height:16px;color:var(--pl-label-assist)}
.pl-stat__value{font-size:var(--pl-title3);line-height:1.2;letter-spacing:var(--pl-title3-ls);font-weight:700;color:var(--pl-primary-text);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","ss05"}
.pl-stat__value .unit{font-size:var(--pl-label1);font-weight:600;margin-left:2px;color:var(--pl-primary-text)}
.pl-stat__delta{font-size:var(--pl-caption1);font-weight:600;color:var(--pl-label-alt)}
.pl-stat__delta.is-up{color:var(--pl-status-success)}.pl-stat__delta.is-down{color:var(--pl-status-error)}
.pl-stat--plain .pl-stat__value{color:var(--pl-label-normal)}
.pl-stat--on-white{background:var(--pl-bg-elevated);box-shadow:inset 0 0 0 1px var(--pl-line-neutral)}

/* ── 5.6 목록 · 키값 · 표 ── */
.pl-list{background:var(--pl-bg-elevated);border-radius:var(--pl-r-8);box-shadow:inset 0 0 0 1px var(--pl-line-neutral);overflow:hidden}
.pl-list__item{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 20px;font-size:var(--pl-body1);font-weight:500;color:var(--pl-label-normal);transition:background-color var(--pl-t-fast)}
.pl-list__item + .pl-list__item{border-top:1px solid var(--pl-line-neutral)}
.pl-list__item:is(a,button){width:100%;text-align:left;cursor:pointer}
.pl-list__item:is(a,button):hover{background:var(--pl-bg-alt)}
.pl-list__lead{width:20px;height:20px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--pl-label-assist)}
.pl-list__lead--circle{border-radius:50%;border:1.5px solid var(--pl-label-assist)}
.pl-list__item.is-done .pl-list__lead--circle{background:var(--pl-status-success);border-color:var(--pl-status-success);color:#fff}
.pl-list__item.is-done .pl-list__lead--circle .pl-icon{width:12px;height:12px;stroke-width:2.6}
.pl-list__body{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px}
.pl-list__title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-list__sub{font-size:var(--pl-label1);color:var(--pl-label-alt)}
.pl-list__trail{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--pl-label-assist);font-size:var(--pl-label1);font-weight:600;flex:0 0 auto}
.pl-list__trail.is-done{color:var(--pl-status-success)}
.pl-list--plain{box-shadow:none;border-radius:0;background:transparent}
.pl-list--plain .pl-list__item{padding:0}
/* 키값 (주문금액 … 값) */
.pl-kv{display:flex;flex-direction:column;gap:12px;color:var(--pl-label-normal)}
.pl-kv__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:var(--pl-body2);font-weight:500}
.pl-kv__row .k{color:var(--pl-label-normal)}
.pl-kv__row .v{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","ss05";text-align:right}
.pl-kv__row--sub{font-size:var(--pl-label1);color:var(--pl-label-alt)}
.pl-kv__row--sub .k,.pl-kv__row--sub .v{color:var(--pl-label-alt)}
.pl-kv__row--discount .v{color:var(--pl-status-error)}
.pl-kv__row--total{padding-top:16px;border-top:1px solid var(--pl-line-neutral);margin-top:4px;font-size:var(--pl-headline1);font-weight:700}
.pl-kv__row--total .v{font-size:var(--pl-heading1);letter-spacing:var(--pl-heading1-ls)}
.pl-kv__note{font-size:var(--pl-caption1);color:var(--pl-label-assist);margin-top:-8px}
/* 표 */
.pl-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.pl-table{width:100%;font-size:var(--pl-body2);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","ss05"}
.pl-table th{font-size:var(--pl-label1);font-weight:600;color:var(--pl-label-alt);text-align:left;padding:10px 12px;border-bottom:1px solid var(--pl-line-normal);white-space:nowrap}
.pl-table td{padding:14px 12px;border-bottom:1px solid var(--pl-line-neutral);vertical-align:middle;color:var(--pl-label-normal);white-space:nowrap}
.pl-table td.wrap{white-space:normal}
.pl-table tr:last-child td{border-bottom:0}
.pl-table .num,.pl-table th.num,.pl-table td.num{text-align:right}
.pl-table tbody tr:hover td{background:var(--pl-bg-alt)}
.pl-table--card{background:var(--pl-bg-elevated);border-radius:var(--pl-r-12);box-shadow:inset 0 0 0 1px var(--pl-line-neutral);overflow:hidden}
.pl-table--card th{background:var(--pl-bg-alt);border-bottom-color:var(--pl-line-neutral);padding-left:20px;padding-right:20px}
.pl-table--card td{padding-left:20px;padding-right:20px}
.pl-table--card tr:last-child td{border-bottom:0}

/* ── 5.7 배지 · 칩 · 태그 ── */
.pl-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--pl-r-6);font-size:var(--pl-caption1);font-weight:600;letter-spacing:.1px;line-height:1;white-space:nowrap;vertical-align:middle;background:var(--pl-fill-normal);color:var(--pl-label-neutral)}
.pl-badge--sm{height:18px;padding:0 6px;font-size:var(--pl-caption2);border-radius:var(--pl-r-4)}
.pl-badge--primary{background:var(--pl-primary-tint);color:var(--pl-primary-text)}
.pl-badge--solid{background:var(--pl-primary);color:#fff}
.pl-badge--ink{background:var(--pl-ink);color:#fff}
.pl-badge--pro{background:var(--pl-ink);color:#fff;font-weight:700;letter-spacing:.2px}   /* 유료 기능 표시 */
.pl-badge--success{background:var(--pl-container-success);color:var(--pl-green-600)}
.pl-badge--error{background:var(--pl-container-error);color:var(--pl-status-error)}
.pl-badge--warning{background:var(--pl-container-warning);color:var(--pl-orange-600)}
.pl-badge--info{background:var(--pl-container-info);color:var(--pl-status-info)}
.pl-badge--outline{background:transparent;box-shadow:inset 0 0 0 1px var(--pl-line-normal);color:var(--pl-label-neutral)}
.pl-badge--dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pl-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--pl-r-full);font-size:var(--pl-label1);font-weight:600;background:var(--pl-fill-alt);color:var(--pl-label-neutral);box-shadow:inset 0 0 0 1px var(--pl-line-neutral);cursor:pointer;white-space:nowrap;transition:background-color var(--pl-t-fast),color var(--pl-t-fast),box-shadow var(--pl-t-fast)}
.pl-chip:hover{background:var(--pl-fill-normal)}
.pl-chip.is-active,.pl-chip[aria-pressed="true"]{background:var(--pl-ink);color:#fff;box-shadow:none}
.pl-chip--lg{height:54px;padding:0 24px;font-size:var(--pl-heading1);letter-spacing:var(--pl-heading1-ls);font-weight:500;background:var(--pl-bg-elevated);color:var(--pl-label-neutral)}
.pl-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--pl-primary);vertical-align:middle}
.pl-dot--success{background:var(--pl-status-success)}.pl-dot--error{background:var(--pl-status-error)}.pl-dot--warning{background:var(--pl-status-warning)}
.pl-mark{background:linear-gradient(transparent 55%,var(--pl-primary-tint-strong) 55%)}   /* 밑줄 형광: 이름 강조 */

.pl-stars{display:inline-flex;align-items:center;gap:2px;color:var(--pl-primary-text)}
.pl-stars svg{width:18px;height:18px;fill:currentColor}
.pl-stars b{margin-left:6px;font-size:var(--pl-body2);color:var(--pl-label-normal)}
.pl-stars span{font-size:var(--pl-label1);color:var(--pl-label-assist)}
.pl-display0{font-size:96px;line-height:1;letter-spacing:-3px;font-weight:700}
@media (max-width:767px){.pl-display0{font-size:64px;letter-spacing:-2px}}
.pl-charttip{position:absolute;background:var(--pl-bg-elevated);border-radius:var(--pl-r-8);box-shadow:var(--pl-shadow-pop);padding:8px 10px;font-size:var(--pl-caption1);line-height:1.5;color:var(--pl-label-neutral);white-space:nowrap}
.pl-charttip b{display:block;color:var(--pl-label-normal);font-weight:700;margin-bottom:2px}
.pl-charttip .g{color:var(--pl-primary-text);font-weight:600}
/* ── 5.8 탭 · 세그먼트 · 스텝 ── */
.pl-tabs{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.pl-tabs__tab{height:40px;padding:0 16px;border-radius:var(--pl-r-8);font-size:var(--pl-body2);font-weight:500;color:var(--pl-label-alt);display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;transition:background-color var(--pl-t-fast),color var(--pl-t-fast)}
.pl-tabs__tab:hover{color:var(--pl-label-normal)}
.pl-tabs__tab.is-active,.pl-tabs__tab[aria-selected="true"]{background:var(--pl-fill-alt);color:var(--pl-label-normal);font-weight:600}
.pl-tabs--line{gap:0;border-bottom:1px solid var(--pl-line-neutral)}
.pl-tabs--line .pl-tabs__tab{height:48px;border-radius:0;padding:0 4px;margin-right:20px;position:relative}
.pl-tabs--line .pl-tabs__tab.is-active,.pl-tabs--line .pl-tabs__tab[aria-selected="true"]{background:none}
.pl-tabs--line .pl-tabs__tab.is-active::after,.pl-tabs--line .pl-tabs__tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--pl-label-normal)}
.pl-tabpanel[hidden]{display:none}
/* 세그먼트: 회색 트랙 + 흰 활성 */
.pl-seg{display:inline-flex;padding:4px;border-radius:var(--pl-r-8);background:var(--pl-gray-100);gap:2px}
.pl-seg__btn{height:36px;padding:0 16px;border-radius:var(--pl-r-6);font-size:var(--pl-body2);font-weight:500;color:var(--pl-label-alt);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap;transition:background-color var(--pl-t-base),color var(--pl-t-base),box-shadow var(--pl-t-base)}
.pl-seg__btn.is-active,.pl-seg__btn[aria-selected="true"]{background:var(--pl-bg-elevated);color:var(--pl-label-normal);font-weight:600;box-shadow:var(--pl-shadow-sm)}
.pl-seg--lg .pl-seg__btn{height:44px;padding:0 24px;font-size:var(--pl-body1)}
.pl-seg--block{display:flex}.pl-seg--block .pl-seg__btn{flex:1 1 0}
.pl-seg--sm .pl-seg__btn{height:28px;padding:0 10px;font-size:var(--pl-caption1)}
/* 단계 진행 바 (가입 1/7) */
.pl-steps{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;padding:0 16px;border-radius:var(--pl-r-8);background:var(--pl-fill-alt);font-size:var(--pl-label1);font-weight:500;color:var(--pl-label-alt)}
.pl-steps__now{display:inline-flex;align-items:center;gap:8px;color:var(--pl-label-normal);font-weight:600;font-variant-numeric:tabular-nums}
.pl-steps__now::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pl-primary)}
/* 진행률 */
.pl-progress{height:6px;border-radius:var(--pl-r-full);background:var(--pl-fill-normal);overflow:hidden}
.pl-progress__bar{height:100%;background:var(--pl-primary);border-radius:inherit;transition:width var(--pl-t-slow) var(--pl-ease)}
/* 페이지네이션 */
.pl-pagination{display:inline-flex;align-items:center;gap:4px}
.pl-pagination__btn{min-width:36px;height:36px;padding:0 10px;border-radius:var(--pl-r-8);display:inline-flex;align-items:center;justify-content:center;font-size:var(--pl-label1);font-weight:500;color:var(--pl-label-alt);cursor:pointer;font-variant-numeric:tabular-nums}
.pl-pagination__btn:hover{background:var(--pl-fill-alt);color:var(--pl-label-normal)}
.pl-pagination__btn.is-active{background:var(--pl-ink);color:#fff;font-weight:600}
.pl-pagination__btn:disabled{color:var(--pl-label-disable);pointer-events:none}

/* ── 5.9 헤더 ── */
.pl-header{position:sticky;top:0;z-index:var(--pl-z-header);height:var(--pl-header-h);background:var(--pl-bg-normal);border-bottom:1px solid var(--pl-line-normal)}
.pl-header__in{height:100%;display:flex;align-items:center;gap:12px;padding:0 var(--pl-gutter)}
.pl-header__in--contained{max-width:calc(var(--pl-container-wide) + var(--pl-gutter)*2);margin:0 auto}
.pl-header__nav{display:flex;align-items:center;gap:12px;margin-left:20px}
.pl-header__link{height:40px;padding:0 12px;border-radius:var(--pl-r-4);display:inline-flex;align-items:center;gap:2px;font-size:var(--pl-body2);font-weight:500;color:var(--pl-label-normal);transition:background-color var(--pl-t-fast)}
.pl-header__link:hover{background:var(--pl-fill-alt)}
.pl-header__link.is-active{font-weight:600}
.pl-header__link .pl-icon{width:16px;height:16px;color:var(--pl-label-alt)}
.pl-header__actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.pl-header__burger{display:none;width:44px;height:44px;margin-right:-8px;align-items:center;justify-content:center;border-radius:var(--pl-r-8);color:var(--pl-label-normal)}
.pl-header--plain{border-bottom-color:var(--pl-line-neutral)}
.pl-header--transparent{background:transparent;border-bottom:0;position:absolute;left:0;right:0}
.pl-header--transparent .pl-logo,.pl-header--transparent .pl-header__link{color:#fff}
.pl-header--transparent .pl-logo__sym{color:#fff}
/* 아이콘 버튼(알림 등) + 아바타 */
.pl-iconbtn{width:40px;height:40px;border-radius:var(--pl-r-8);display:inline-flex;align-items:center;justify-content:center;color:var(--pl-label-normal);position:relative;transition:background-color var(--pl-t-fast)}
.pl-iconbtn:hover{background:var(--pl-fill-alt)}
.pl-iconbtn .pl-icon{width:24px;height:24px}
.pl-iconbtn__dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--pl-status-error);box-shadow:0 0 0 2px var(--pl-bg-normal)}
.pl-avatar{width:36px;height:36px;border-radius:50%;background:var(--pl-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:var(--pl-label1);font-weight:700;overflow:hidden;flex:0 0 auto}
.pl-avatar img{width:100%;height:100%;object-fit:cover}
.pl-avatar--lg{width:64px;height:64px;font-size:var(--pl-heading1)}
.pl-avatar--placeholder{background:var(--pl-fill-normal);color:var(--pl-label-assist)}
@media (max-width:767px){
  .pl-header{height:var(--pl-header-h-m)}
  .pl-header__in{padding:0 12px 0 var(--pl-gutter)}
  .pl-header__nav,.pl-header__actions .pl-hide-m{display:none}
  .pl-header__burger{display:inline-flex}
  .pl-logo{font-size:20px}.pl-logo__sym{width:24px;height:24px}
}
/* 모바일 드로어 */
.pl-drawer{position:fixed;inset:0;z-index:var(--pl-z-drawer);display:none}
.pl-drawer.is-open{display:block}
.pl-drawer__dim{position:absolute;inset:0;background:var(--pl-bg-dim);animation:pl-fade var(--pl-t-base) both}
.pl-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--pl-bg-normal);padding:12px 20px 24px;display:flex;flex-direction:column;gap:4px;animation:pl-slide-left var(--pl-t-slow) var(--pl-ease-out) both;overflow-y:auto}
.pl-drawer__top{display:flex;align-items:center;justify-content:space-between;height:48px;margin-bottom:8px}
.pl-drawer__link{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 4px;font-size:var(--pl-headline1);font-weight:600;color:var(--pl-label-normal);border-bottom:1px solid var(--pl-line-alt)}
.pl-drawer__cta{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:24px}

/* ── 5.10 콘솔 사이드바 ── */
.pl-side{width:var(--pl-side-w);flex:0 0 auto;background:var(--pl-bg-elevated);border-radius:var(--pl-r-16);padding:20px;position:sticky;top:calc(var(--pl-header-h) + var(--pl-console-gap));align-self:flex-start;max-height:calc(100vh - var(--pl-header-h) - var(--pl-console-gap)*2);overflow-y:auto}
.pl-side__group + .pl-side__group{margin-top:12px;padding-top:12px;border-top:1px solid var(--pl-line-neutral)}
.pl-side__label{font-size:var(--pl-caption1);font-weight:600;color:var(--pl-label-assist);padding:0 12px 8px;letter-spacing:.3px}
.pl-side__item{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px;border-radius:var(--pl-r-8);font-size:var(--pl-body2);font-weight:500;color:var(--pl-label-neutral);cursor:pointer;width:100%;text-align:left;transition:background-color var(--pl-t-fast),color var(--pl-t-fast)}
.pl-side__item .pl-icon{width:20px;height:20px;color:var(--pl-label-alt)}
.pl-side__item:hover{background:var(--pl-fill-alt);color:var(--pl-label-normal)}
.pl-side__item.is-active,.pl-side__item[aria-current="page"]{background:var(--pl-primary-tint);color:var(--pl-primary-text);font-weight:600}
.pl-side__item.is-active .pl-icon,.pl-side__item[aria-current="page"] .pl-icon{color:var(--pl-primary-text)}
.pl-side__item .pl-badge{margin-left:auto}
/* 모바일: 사이드바는 가로 스크롤 칩 줄로 */
@media (max-width:1023px){
  .pl-side{width:100%;position:static;max-height:none;padding:8px 12px;border-radius:var(--pl-r-12);display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
  .pl-side::-webkit-scrollbar{display:none}
  .pl-side__group{display:contents}.pl-side__label{display:none}
  .pl-side__item{height:40px;padding:0 12px;white-space:nowrap;flex:0 0 auto;width:auto}
  .pl-side__item .pl-badge{margin-left:4px}
}

/* ── 5.11 배너 · 토스트 · 툴팁 · 빈 상태 ── */
.pl-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--pl-r-8);font-size:var(--pl-body2);font-weight:500;background:var(--pl-container-info);color:var(--pl-label-normal)}
.pl-banner__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.pl-banner__title{font-weight:600}
.pl-banner__link{font-size:var(--pl-label1);font-weight:600;display:inline-flex;align-items:center;gap:2px}
.pl-banner__trail{margin-left:auto;display:inline-flex;color:currentColor;opacity:.7}
.pl-banner > .pl-icon{flex:0 0 auto}
.pl-banner--info{background:var(--pl-container-info);color:var(--pl-status-info)}
.pl-banner--info .pl-banner__title{color:var(--pl-status-info)}
.pl-banner--error{background:var(--pl-container-error);border:1px dashed var(--pl-status-error);color:var(--pl-label-normal)}
.pl-banner--error .pl-banner__link,.pl-banner--error .pl-banner__trail{color:var(--pl-status-error)}
.pl-banner--warning{background:var(--pl-container-warning)}
.pl-banner--warning .pl-banner__link{color:var(--pl-orange-600)}
.pl-banner--success{background:var(--pl-container-success)}
.pl-banner--success .pl-banner__link{color:var(--pl-green-600)}
.pl-banner--neutral{background:var(--pl-fill-alt);color:var(--pl-label-neutral)}
.pl-banner--primary{background:var(--pl-primary-tint);color:var(--pl-primary-text)}
.pl-banner:is(a,button){cursor:pointer;width:100%;text-align:left}
/* 토스트 (알림 카드): 흰 카드 r14 + 점 + 라벨 + 문장 */
.pl-toast-host{position:fixed;right:20px;bottom:20px;z-index:var(--pl-z-toast);display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 40px));pointer-events:none}
.pl-toast{pointer-events:auto;background:var(--pl-bg-elevated);border-radius:14px;padding:16px 18px;box-shadow:var(--pl-shadow-lg);display:flex;flex-direction:column;gap:8px;animation:pl-slide-up var(--pl-t-slow) var(--pl-ease-out) both}
.pl-toast.is-leaving{animation:pl-fade-out var(--pl-t-base) both}
.pl-toast__meta{display:flex;align-items:center;gap:6px;font-size:var(--pl-label1);font-weight:500;color:var(--pl-label-alt)}
.pl-toast__meta .tag{color:var(--pl-primary-text);font-weight:600}
.pl-toast__meta .pl-dot{margin-left:2px}
.pl-toast__msg{font-size:var(--pl-headline1);font-weight:700;letter-spacing:var(--pl-headline1-ls);color:var(--pl-label-normal)}
.pl-toast__close{position:absolute;right:12px;top:12px;color:var(--pl-label-assist)}
.pl-toast{position:relative}
.pl-toast--error .tag{color:var(--pl-status-error)}.pl-toast--error .pl-dot{background:var(--pl-status-error)}
.pl-toast--success .tag{color:var(--pl-green-600)}.pl-toast--success .pl-dot{background:var(--pl-status-success)}
.pl-toast--ink{background:var(--pl-ink);color:#fff}.pl-toast--ink .pl-toast__msg{color:#fff}.pl-toast--ink .pl-toast__meta{color:rgba(255,255,255,.62)}
/* 툴팁: 검정 알약 */
.pl-tip{position:relative;display:inline-flex}
.pl-tip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--pl-ink);color:#fff;font-size:var(--pl-caption1);font-weight:600;letter-spacing:var(--pl-caption1-ls);padding:6px 10px;border-radius:var(--pl-r-6);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--pl-t-fast),transform var(--pl-t-fast);z-index:var(--pl-z-tooltip)}
.pl-tip__bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--pl-ink)}
.pl-tip:hover .pl-tip__bubble,.pl-tip:focus-within .pl-tip__bubble,.pl-tip.is-open .pl-tip__bubble{opacity:1;transform:translateX(-50%) translateY(0)}
.pl-tip--right .pl-tip__bubble{bottom:auto;left:calc(100% + 8px);top:50%;transform:translate(0,-50%)}
.pl-tip--right .pl-tip__bubble::after{top:50%;left:-10px;transform:translateY(-50%);border-color:transparent var(--pl-ink) transparent transparent}
.pl-tip--right:hover .pl-tip__bubble{transform:translate(0,-50%)}
.pl-info{display:inline-flex;width:16px;height:16px;color:var(--pl-label-assist);vertical-align:middle;cursor:help}
.pl-info .pl-icon{width:16px;height:16px}
/* 빈 상태 */
.pl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:72px 20px;text-align:center;color:var(--pl-label-normal)}
.pl-empty__art{width:80px;height:80px;color:var(--pl-primary)}
.pl-empty__art svg{width:100%;height:100%}
.pl-empty__title{font-size:var(--pl-body1);font-weight:600}
.pl-empty__desc{font-size:var(--pl-label1);color:var(--pl-label-alt);margin-top:-8px}
/* 스켈레톤·스피너 */
.pl-skeleton{background:linear-gradient(90deg,var(--pl-fill-alt) 25%,var(--pl-fill-normal) 37%,var(--pl-fill-alt) 63%);background-size:400% 100%;animation:pl-shimmer 1.4s ease infinite;border-radius:var(--pl-r-6)}
.pl-spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--pl-line-normal);border-top-color:var(--pl-primary);animation:pl-spin .7s linear infinite;display:inline-block}
.pl-spinner--lg{width:32px;height:32px;border-width:3px}

/* ── 5.12 드롭다운 · 모달 ── */
.pl-dropdown{position:relative;display:inline-block}
.pl-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--pl-bg-elevated);border-radius:var(--pl-r-12);box-shadow:var(--pl-shadow-pop);padding:6px;z-index:var(--pl-z-dropdown);display:none;animation:pl-pop var(--pl-t-fast) var(--pl-ease-out) both}
.pl-menu.is-open{display:block}
.pl-menu--left{right:auto;left:0}
.pl-menu__item{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border-radius:var(--pl-r-8);font-size:var(--pl-body2);font-weight:500;color:var(--pl-label-normal);cursor:pointer;text-align:left;white-space:nowrap}
.pl-menu__item:hover{background:var(--pl-fill-alt)}
.pl-menu__item .pl-icon{width:18px;height:18px;color:var(--pl-label-alt)}
.pl-menu__item.is-danger{color:var(--pl-status-error)}
.pl-menu__sep{height:1px;background:var(--pl-line-neutral);margin:6px 4px}
.pl-modal{position:fixed;inset:0;z-index:var(--pl-z-modal);display:none;align-items:center;justify-content:center;padding:20px}
.pl-modal.is-open{display:flex}
.pl-modal__dim{position:absolute;inset:0;background:var(--pl-bg-dim);animation:pl-fade var(--pl-t-base) both}
.pl-modal__box{position:relative;width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--pl-bg-elevated);border-radius:var(--pl-r-20);padding:28px 24px 24px;box-shadow:var(--pl-shadow-lg);animation:pl-pop var(--pl-t-slow) var(--pl-ease-out) both}
.pl-modal__box--lg{width:min(720px,100%)}
.pl-modal__title{font-size:var(--pl-heading1);line-height:var(--pl-heading1-lh);letter-spacing:var(--pl-heading1-ls);font-weight:700;padding-right:32px}
.pl-modal__desc{margin-top:8px;color:var(--pl-label-alt);font-size:var(--pl-body2);font-weight:400;line-height:1.6}
.pl-modal__body{margin-top:20px}
.pl-modal__foot{margin-top:24px;display:flex;gap:8px;justify-content:flex-end}
.pl-modal__foot .pl-btn{min-width:96px}
.pl-modal__close{position:absolute;top:16px;right:16px}
@media (max-width:639px){
  .pl-modal{padding:0;align-items:flex-end}
  .pl-modal__box{width:100%;max-height:92vh;border-radius:var(--pl-r-20) var(--pl-r-20) 0 0;padding:24px 20px calc(20px + env(safe-area-inset-bottom));animation:pl-slide-up var(--pl-t-slow) var(--pl-ease-out) both}
  .pl-modal__foot{flex-direction:column-reverse}.pl-modal__foot .pl-btn{width:100%;height:48px}
}
.pl-root.pl-lock{overflow:hidden}

/* ── 5.13 FAQ (details) ── */
.pl-faq{display:flex;flex-direction:column;gap:20px}
.pl-faq__item{padding-bottom:0}
.pl-faq__q{display:flex;align-items:center;gap:8px;font-size:var(--pl-body1);font-weight:600;color:var(--pl-label-normal);cursor:pointer;list-style:none}
.pl-faq__q::-webkit-details-marker{display:none}
.pl-faq__q::before{content:"";width:0;height:0;border-left:8px solid var(--pl-label-normal);border-top:5px solid transparent;border-bottom:5px solid transparent;margin-right:6px;transition:transform var(--pl-t-base) var(--pl-ease);flex:0 0 auto}
.pl-faq__item[open] .pl-faq__q::before{transform:rotate(90deg)}
.pl-faq__a{margin-top:12px;padding-left:22px;color:var(--pl-label-neutral);font-size:var(--pl-body2);font-weight:400;line-height:1.6}

/* ── 5.14 푸터 ── */
.pl-footer{background:var(--pl-bg-alt);padding:36px 48px 40px;color:var(--pl-label-neutral)}
.pl-footer__in{max-width:var(--pl-container);margin:0 auto}
.pl-footer__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:var(--pl-caption1);font-weight:500}
.pl-footer__links a:hover{color:var(--pl-label-normal);text-decoration:underline;text-underline-offset:3px}
.pl-footer__notice{margin-top:16px;font-size:var(--pl-caption1);font-weight:600;color:var(--pl-label-normal)}
.pl-footer__biz{margin-top:8px;font-size:var(--pl-caption1);font-weight:400;line-height:1.7;color:var(--pl-label-alt)}
.pl-footer__biz a{text-decoration:underline;text-underline-offset:2px}
.pl-footer__legal{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font-size:var(--pl-caption1);font-weight:500}
.pl-footer__copy{margin-top:16px;font-size:var(--pl-caption1);color:var(--pl-label-alt)}
.pl-footer__trust{margin-top:24px;padding-top:24px;border-top:1px solid var(--pl-line-neutral);display:flex;flex-direction:column;gap:14px}
.pl-footer__trust-row{display:flex;align-items:flex-start;gap:12px;font-size:var(--pl-caption1);color:var(--pl-label-alt);line-height:1.5}
.pl-footer__trust-row .ic{width:36px;height:36px;border-radius:50%;background:var(--pl-fill-normal);display:inline-flex;align-items:center;justify-content:center;color:var(--pl-label-neutral);flex:0 0 auto}
.pl-footer__trust-row b{display:block;color:var(--pl-label-normal);font-weight:600;margin-bottom:2px}
@media (max-width:767px){.pl-footer{padding:32px 20px 40px}}
/* 플로팅 도움 버튼 (우하단 56px) */
.pl-fab{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:var(--pl-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,70,255,.28);z-index:var(--pl-z-header);transition:transform var(--pl-t-base) var(--pl-ease)}
.pl-fab:hover{transform:translateY(-2px)}
.pl-fab .pl-icon{width:26px;height:26px}

/* ═══════════════════════════════════════════════════════════
   6. 패턴 (페이지 골격)
   ═══════════════════════════════════════════════════════════ */
/* 6.1 히어로: 짙은 남색 바탕 + 흰 제목 + 강조어(밝은 파랑) + CTA. 3D·그라데이션·글로우 금지 */
.pl-hero{background:var(--pl-navy);color:#fff;min-height:472px;display:flex;align-items:center;overflow:hidden;position:relative}
.pl-hero__in{width:100%;max-width:calc(var(--pl-container) + var(--pl-gutter)*2);margin:0 auto;padding:64px var(--pl-gutter);display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.pl-hero__title{font-size:var(--pl-display2);line-height:var(--pl-display2-lh);letter-spacing:var(--pl-display2-ls);font-weight:700}
.pl-hero__title .pl-accent{color:var(--pl-primary-on-ink)}
.pl-hero__sub{margin-top:12px;font-size:var(--pl-headline1);font-weight:500;color:rgba(255,255,255,.62)}
.pl-hero__cta{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap}
.pl-hero__visual{position:relative;min-height:320px}
.pl-hero--center .pl-hero__in{grid-template-columns:1fr;text-align:center}
.pl-hero--center .pl-hero__cta{justify-content:center}
.pl-hero--light{background:var(--pl-bg-alt);color:var(--pl-label-normal)}
.pl-hero--light .pl-hero__title .pl-accent{color:var(--pl-primary)}
.pl-hero--light .pl-hero__sub{color:var(--pl-label-alt)}
@media (max-width:1023px){.pl-hero__in{grid-template-columns:1fr;text-align:center;padding:64px var(--pl-gutter) 48px}.pl-hero__cta{justify-content:center}.pl-hero__visual{display:none}}
@media (max-width:767px){.pl-hero{min-height:0}.pl-hero__title{font-size:34px;letter-spacing:-.9px}.pl-hero__sub{font-size:var(--pl-body1)}.pl-hero__cta{margin-top:32px}.pl-hero__cta .pl-btn{width:100%}}

/* 6.2 비교 (남 vs 우리): 왼쪽 회색 / 오른쪽 파랑, 사이 화살표 */
.pl-compare{display:grid;grid-template-columns:1fr 24px 1fr;gap:16px 8px;align-items:center;max-width:800px;margin:0 auto}
.pl-compare__head{font-size:var(--pl-body2);font-weight:600;color:var(--pl-label-alt);text-align:center}
.pl-compare__head.is-ours{color:var(--pl-primary-text)}
.pl-compare__cell{border-radius:var(--pl-r-12);padding:16px 20px;text-align:center;min-height:91px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.pl-compare__cell .k{font-size:var(--pl-caption1);font-weight:500;color:var(--pl-label-assist)}
.pl-compare__cell .v{font-size:var(--pl-heading2);font-weight:700;letter-spacing:var(--pl-heading2-ls);color:var(--pl-label-alt)}
.pl-compare__cell.is-ours{background:var(--pl-primary);box-shadow:inset 0 0 0 1px var(--pl-primary)}
.pl-compare__cell.is-ours .k{color:rgba(255,255,255,.7)}.pl-compare__cell.is-ours .v{color:#fff}
.pl-compare__cell.is-theirs{background:var(--pl-fill-alt)}
.pl-compare__arrow{color:var(--pl-primary);display:flex;justify-content:center}
.pl-compare__arrow::before{content:"";border-left:10px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
@media (max-width:639px){.pl-compare{grid-template-columns:1fr 16px 1fr;gap:8px 4px}.pl-compare__cell{min-height:76px;padding:12px}.pl-compare__cell .v{font-size:var(--pl-body1)}}

/* 6.3 기능 카드 묶음 (2열 카드 + 전폭 카드), 카드 안에 실제 화면·목업 */
.pl-feature{border-radius:var(--pl-r-20);padding:36px;background:var(--pl-bg-elevated);display:flex;flex-direction:column;gap:24px;min-height:360px}
.pl-feature__eyebrow{font-size:var(--pl-body2);color:var(--pl-label-alt)}
.pl-feature__title{font-size:var(--pl-title2);line-height:var(--pl-title2-lh);letter-spacing:var(--pl-title2-ls);font-weight:700}
.pl-feature > .pl-feature__eyebrow + .pl-feature__title{margin-top:-16px}
:not(.pl-feature) > .pl-feature__eyebrow + .pl-feature__title{margin-top:8px}
.pl-feature__mock{margin-top:auto;border-radius:var(--pl-r-12);background:var(--pl-bg-alt);padding:16px}
.pl-feature--ink{background:var(--pl-ink);color:#fff}.pl-feature--ink .pl-feature__eyebrow{color:rgba(255,255,255,.55)}
.pl-feature--primary{background:var(--pl-primary);color:#fff}.pl-feature--primary .pl-feature__eyebrow{color:rgba(255,255,255,.72)}
.pl-feature--tint{background:var(--pl-primary-tint)}.pl-feature--tint .pl-feature__eyebrow{color:var(--pl-primary-text)}
.pl-feature--wide{grid-column:1 / -1;flex-direction:row;align-items:center}
.pl-feature--wide > *{flex:1 1 0}
.pl-feature--wide .pl-feature__mock{margin-top:0}
@media (max-width:767px){.pl-feature{padding:24px;min-height:0;border-radius:var(--pl-r-16)}.pl-feature--wide{flex-direction:column;align-items:stretch}.pl-feature__title{font-size:22px;letter-spacing:-.427px}}

/* 6.4 가격 카드 */
.pl-price{background:var(--pl-bg-elevated);border-radius:var(--pl-r-20);padding:36px;display:grid;grid-template-columns:1fr 1px 1fr;gap:36px}
.pl-price__plan{font-size:var(--pl-title3);font-weight:700;color:var(--pl-primary-text)}
.pl-price__desc{margin-top:4px;color:var(--pl-label-alt);font-size:var(--pl-label1)}
.pl-price__rows{margin-top:20px;display:flex;flex-direction:column;gap:8px}
.pl-price__row{display:flex;justify-content:space-between;align-items:center;height:44px;padding:0 16px;border-radius:var(--pl-r-8);background:var(--pl-bg-alt);font-size:var(--pl-body2)}
.pl-price__row .k{color:var(--pl-label-alt)}.pl-price__row .v{font-weight:600;color:var(--pl-primary-text)}
.pl-price__sep{background:var(--pl-line-neutral)}
.pl-price__list{display:flex;flex-direction:column;gap:14px;justify-content:center}
.pl-price__list li{display:flex;align-items:center;gap:8px;font-size:var(--pl-body2);font-weight:500}
.pl-price__list .pl-icon{width:18px;height:18px;color:var(--pl-primary)}
@media (max-width:767px){.pl-price{grid-template-columns:1fr;gap:24px;padding:24px}.pl-price__sep{height:1px}}

/* 6.5 인증(로그인·가입): 480 한 줄, 위 여백 130 */
.pl-auth{min-height:calc(100vh - var(--pl-header-h));padding:130px var(--pl-gutter) 80px}
.pl-auth__box{width:100%;max-width:var(--pl-container-form);margin:0 auto;display:flex;flex-direction:column;gap:12px}
.pl-auth__title{font-size:var(--pl-title3);line-height:var(--pl-title3-lh);letter-spacing:var(--pl-title3-ls);font-weight:700;margin-bottom:8px}
.pl-auth__or{display:flex;align-items:center;gap:16px;color:var(--pl-label-alt);font-size:var(--pl-label1);font-weight:600;margin:20px 0 8px}
.pl-auth__or::before,.pl-auth__or::after{content:"";flex:1 1 auto;height:1px;background:var(--pl-line-normal)}
.pl-auth__social{height:50px;border-radius:var(--pl-r-6);box-shadow:inset 0 0 0 1px var(--pl-line-normal);background:var(--pl-bg-normal);display:flex;align-items:center;padding:0 16px;font-size:var(--pl-body1);font-weight:500;color:var(--pl-label-normal);position:relative;transition:background-color var(--pl-t-fast)}
.pl-auth__social:hover{background:var(--pl-bg-alt)}
.pl-auth__social .ic{width:24px;height:24px;flex:0 0 auto}
.pl-auth__social .lb{flex:1 1 auto;text-align:center;margin-right:24px}
.pl-auth__social .pl-tip__bubble{left:12px;transform:translate(0,4px)}
.pl-auth__social:hover .pl-tip__bubble{transform:translate(0,0)}
.pl-auth__social .pl-tip__bubble::after{left:24px}
.pl-auth__foot{text-align:center;margin-top:16px;font-size:var(--pl-body2);color:var(--pl-label-alt)}
.pl-auth__foot a{color:var(--pl-primary-text);font-weight:600;margin-left:6px}
.pl-auth__bottom{margin-top:auto;padding-top:48px;display:flex;flex-direction:column;gap:12px}
.pl-auth--steps .pl-auth__box{min-height:calc(100vh - var(--pl-header-h) - 210px)}
@media (max-width:767px){.pl-auth{padding:100px var(--pl-gutter) 40px;min-height:calc(100vh - var(--pl-header-h-m))}.pl-auth--steps .pl-auth__box{min-height:calc(100vh - var(--pl-header-h-m) - 140px)}}

/* 6.6 결제(체크아웃): 회색 바탕, 흰 패널 쌓기, 아래 고정 CTA */
.pl-checkout{background:var(--pl-bg-alt);min-height:100vh;padding:40px 0 120px}
.pl-checkout__in{max-width:calc(1152px + var(--pl-gutter)*2);margin:0 auto;padding:0 var(--pl-gutter);display:flex;flex-direction:column;gap:16px}
.pl-checkout__title{font-size:var(--pl-heading1);line-height:var(--pl-heading1-lh);letter-spacing:var(--pl-heading1-ls);font-weight:700;margin-bottom:4px}
.pl-checkout__meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--pl-body2);color:var(--pl-label-neutral);padding:4px 0}
.pl-checkout__meta .pl-btn--link{color:var(--pl-label-neutral)}
.pl-ctabar{position:fixed;left:0;right:0;bottom:0;z-index:var(--pl-z-header);padding:16px var(--pl-gutter) calc(16px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--pl-bg-alt) 70%,rgba(247,247,248,0))}
.pl-ctabar__in{max-width:1120px;margin:0 auto}
.pl-ctabar--inset{position:static;padding:0;background:none}
.pl-product{display:flex;gap:16px;align-items:flex-start}
.pl-product__thumb{width:160px;height:120px;flex:0 0 auto;border-radius:var(--pl-r-8);background:var(--pl-fill-alt);box-shadow:inset 0 0 0 1px var(--pl-line-neutral);overflow:hidden}
.pl-product__thumb img{width:100%;height:100%;object-fit:cover}
.pl-product__name{font-size:var(--pl-body1);font-weight:600}
.pl-product__opt{font-size:var(--pl-label1);color:var(--pl-label-alt);margin-top:4px}
.pl-product__price{margin-top:8px;display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}
.pl-product__price .rate{color:var(--pl-status-error);font-weight:700;font-size:var(--pl-headline1)}
.pl-product__price .now{font-weight:700;font-size:var(--pl-headline1)}
.pl-product__price .was{color:var(--pl-label-assist);text-decoration:line-through;font-size:var(--pl-label1)}
@media (max-width:767px){.pl-checkout{padding:20px 0 110px}.pl-product__thumb{width:96px;height:72px}}

.pl-product-card{display:flex;flex-direction:column;gap:8px}
.pl-product-card__thumb{position:relative;aspect-ratio:4/3;border-radius:var(--pl-r-8);background:var(--pl-fill-alt);box-shadow:inset 0 0 0 1px var(--pl-line-neutral);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--pl-label-assist)}
.pl-product-card__thumb .pl-badge{position:absolute;top:8px;right:8px}
.pl-product-card__meta{font-size:var(--pl-caption1);color:var(--pl-label-alt)}
.pl-product-card__name{font-size:var(--pl-body2);font-weight:600}
.pl-product-card__price{font-size:var(--pl-body2);font-weight:700;font-variant-numeric:tabular-nums}
.pl-product-card__actions{display:flex;gap:6px}
.pl-product-card__actions .pl-btn{flex:1 1 0}
/* 6.7 콘솔: 헤더 + (사이드 200 | 내용) 회색 바탕 */
.pl-console{background:var(--pl-bg-alt);min-height:calc(100vh - var(--pl-header-h))}
.pl-console__in{display:flex;gap:var(--pl-console-gap);padding:var(--pl-console-gap);max-width:calc(var(--pl-container-wide) + var(--pl-console-gap)*2);margin:0 auto;align-items:flex-start}
.pl-console__main{flex:1 1 auto;min-width:0;background:var(--pl-bg-elevated);border-radius:var(--pl-r-16);padding:36px;min-height:calc(100vh - var(--pl-header-h) - var(--pl-console-gap)*2)}
.pl-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.pl-page-head__title{font-size:var(--pl-heading1);line-height:var(--pl-heading1-lh);letter-spacing:var(--pl-heading1-ls);font-weight:700}
.pl-page-head__desc{margin-top:6px;font-size:var(--pl-body2);color:var(--pl-label-alt);font-weight:400}
.pl-page-head__actions{display:flex;gap:8px;flex:0 0 auto}
.pl-block{margin-top:32px}
.pl-block__title{font-size:var(--pl-headline1);font-weight:700;letter-spacing:var(--pl-headline1-ls);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pl-block__title small{font-size:var(--pl-label1);color:var(--pl-label-alt);font-weight:500}
.pl-setting{display:grid;grid-template-columns:40px 1fr;gap:12px 12px;align-items:start}
.pl-setting__ic{width:40px;height:40px;border-radius:var(--pl-r-8);background:var(--pl-fill-alt);display:inline-flex;align-items:center;justify-content:center;color:var(--pl-label-neutral)}
.pl-setting__title{font-size:var(--pl-body1);font-weight:600;margin-top:2px}
.pl-setting__desc{font-size:var(--pl-label1);color:var(--pl-label-alt);margin-top:2px}
.pl-setting__body{grid-column:2}
@media (max-width:767px){.pl-block__title{flex-wrap:wrap}.pl-block__title small{flex-basis:100%}}
@media (max-width:1023px){.pl-console__in{flex-direction:column;padding:12px}.pl-console__main{padding:24px 20px;border-radius:var(--pl-r-12);min-height:0;width:100%}.pl-page-head{flex-direction:column;gap:12px}.pl-page-head__actions{width:100%}.pl-page-head__actions .pl-btn{flex:1 1 0}}

/* 6.8 문서·정적 안내(약관·가이드) */
.pl-prose{font-size:var(--pl-body1);line-height:1.7;font-weight:400;color:var(--pl-label-normal)}
.pl-prose h2{font-size:var(--pl-title3);letter-spacing:var(--pl-title3-ls);font-weight:700;margin:40px 0 12px}
.pl-prose h3{font-size:var(--pl-headline1);font-weight:700;margin:28px 0 8px}
.pl-prose p + p{margin-top:12px}
.pl-prose ul{padding-left:20px;list-style:disc;margin:12px 0}
.pl-prose ol{padding-left:20px;list-style:decimal;margin:12px 0}
.pl-prose li + li{margin-top:6px}
.pl-prose a{color:var(--pl-primary-text);text-decoration:underline;text-underline-offset:3px}
.pl-prose blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--pl-primary);background:var(--pl-bg-alt);border-radius:0 var(--pl-r-8) var(--pl-r-8) 0;color:var(--pl-label-neutral)}

/* ═══════════════════════════════════════════════════════════
   7. 다크 (명시적 [data-theme="dark"] 만. 결제창처럼 어두운 문맥에서 쓴다)
   ═══════════════════════════════════════════════════════════ */
[data-theme="dark"]{
  --pl-label-normal:#F5F5F5; --pl-label-strong:#FFFFFF; --pl-label-neutral:#C8C8CC; --pl-label-alt:#8E8E93; --pl-label-assist:#5C5C61; --pl-label-disable:#3A3A3E; --pl-label-inverse:#171717;
  --pl-line-normal:#2E2E31; --pl-line-neutral:#232326; --pl-line-alt:#1C1C1E; --pl-line-strong:#F5F5F5;
  --pl-bg-normal:#0D0D0D; --pl-bg-alt:#0D0D0D; --pl-bg-elevated:#161616; --pl-bg-dim:rgba(0,0,0,.64);
  --pl-fill-normal:#232326; --pl-fill-strong:#2C2C30; --pl-fill-alt:#1C1C1E; --pl-fill-neutral:#8E8E93;
  --pl-primary-text:#7DA2FF; --pl-primary-tint:#14225A; --pl-primary-tint-strong:#1B2F7A; --pl-focus:#7DA2FF;
  --pl-ink:#F5F5F5; --pl-on-ink:#171717; --pl-navy:#0B1D52;
  --pl-container-error:#3A1717; --pl-container-success:#12331E; --pl-container-warning:#3A2A12; --pl-container-info:#12283A;
  --pl-interaction-disable:#1C1C1E;
  --pl-shadow-lg:0 16px 48px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4); --pl-shadow-pop:0 8px 24px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06); --pl-shadow-sm:0 1px 2px rgba(0,0,0,.4);
}
[data-theme="dark"] .pl-panel,[data-theme="dark"] .pl-card,[data-theme="dark"] .pl-list,[data-theme="dark"] .pl-option,[data-theme="dark"] .pl-side,[data-theme="dark"] .pl-console__main{box-shadow:inset 0 0 0 1px var(--pl-line-neutral)}
[data-theme="dark"] .pl-btn--inverse{background:#fff;color:#171717}
[data-theme="dark"] .pl-btn--outline{background:transparent;color:var(--pl-label-neutral)}
[data-theme="dark"] .pl-input,[data-theme="dark"] .pl-select,[data-theme="dark"] .pl-textarea{background:var(--pl-fill-alt);color:var(--pl-label-normal)}
[data-theme="dark"] .pl-input:focus,[data-theme="dark"] .pl-select:focus,[data-theme="dark"] .pl-textarea:focus{background:#0D0D0D;box-shadow:inset 0 0 0 1.5px var(--pl-primary-text)}
[data-theme="dark"] .pl-check__box,[data-theme="dark"] .pl-radio__dot{background:transparent}
[data-theme="dark"] .pl-ctabar{background:linear-gradient(to top,#0D0D0D 70%,rgba(13,13,13,0))}
[data-theme="dark"] .pl-seg{background:#1C1C1E}
[data-theme="dark"] .pl-badge--pro,[data-theme="dark"] .pl-badge--ink{background:#F5F5F5;color:#171717}
[data-theme="dark"] .pl-tip__bubble{background:#F5F5F5;color:#171717}[data-theme="dark"] .pl-tip__bubble::after{border-top-color:#F5F5F5}
[data-theme="dark"] .pl-footer{background:#111}
[data-theme="dark"] .pl-header{background:#0D0D0D}
[data-theme="dark"] .pl-stat{background:#161616;box-shadow:inset 0 0 0 1px var(--pl-line-neutral)}
[data-theme="dark"] .pl-compare__cell.is-theirs{background:#161616}
[data-theme="dark"] .pl-hero--light{background:#111}
[data-theme="dark"] .pl-mark{background:linear-gradient(transparent 55%,#1B2F7A 55%)}

/* ═══════════════════════════════════════════════════════════
   7.5 모션 (plut.js 와 짝) — 등장·순차·떠오름·그리기·채움·헤더
   ═══════════════════════════════════════════════════════════ */
/* 스크롤 등장: [data-pl-reveal] 은 처음엔 숨김, 보이면 .is-in. 변형: up(기본)·left·right·scale·fade */
[data-pl-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--pl-ease-out),transform .6s var(--pl-ease-out);transition-delay:var(--pl-delay,0ms);will-change:opacity,transform}
[data-pl-reveal="left"]{transform:translateX(-20px)}
[data-pl-reveal="right"]{transform:translateX(20px)}
[data-pl-reveal="scale"]{transform:scale(.96)}
[data-pl-reveal="fade"]{transform:none}
[data-pl-reveal].is-in{opacity:1;transform:none}
/* 순차: [data-pl-stagger] 의 직계 자식이 --i 순서로 80ms 씩 늦게 */
[data-pl-stagger] > *{opacity:0;transform:translateY(14px);transition:opacity .55s var(--pl-ease-out),transform .55s var(--pl-ease-out);transition-delay:calc(var(--i,0) * var(--pl-stagger,80ms))}
[data-pl-stagger].is-in > *{opacity:1;transform:none}
/* 떠오름(히어로 알림 카드 등): 6px 왕복, 위상은 --pl-float-delay */
.pl-float{animation:pl-float 6s ease-in-out infinite;animation-delay:var(--pl-float-delay,0s)}
.pl-float--slow{animation-duration:9s}
/* 선 그리기: [data-pl-draw] svg 안의 path·polyline·circle 을 보일 때 그린다 (길이는 JS 가 잰다) */
[data-pl-draw] path,[data-pl-draw] polyline,[data-pl-draw] line{stroke-dasharray:var(--len,1000);stroke-dashoffset:var(--len,1000);transition:stroke-dashoffset 1.4s var(--pl-ease-out)}
[data-pl-draw].is-in path,[data-pl-draw].is-in polyline,[data-pl-draw].is-in line{stroke-dashoffset:0}
[data-pl-draw] circle{opacity:0;transition:opacity .3s;transition-delay:1.1s}
[data-pl-draw].is-in circle{opacity:1}
[data-pl-draw] [data-pl-draw-skip]{stroke-dasharray:none;stroke-dashoffset:0;opacity:1}
/* 진행률 채움: .pl-progress[data-pl-progress="42"] 는 보일 때 폭이 0→42% */
.pl-progress[data-pl-progress] .pl-progress__bar{width:0;transition:width 1s var(--pl-ease-out)}
/* 헤더: 스크롤하면 그림자 */
.pl-header.is-scrolled{box-shadow:0 1px 0 var(--pl-line-normal),0 6px 20px rgba(0,0,0,.05)}
.pl-header{transition:box-shadow var(--pl-t-slow)}
/* 탭 패널 교차 */
.pl-tabpanel:not([hidden]),[data-pl-panel]:not([hidden]).pl-anim{animation:pl-fade var(--pl-t-slow) var(--pl-ease-out) both}
/* FAQ 펼침(JS 가 높이를 잰다) */
.pl-faq__a.is-animating{overflow:hidden}
/* 페이지 진입: body.pl-root.pl-enter 는 첫 그림에 살짝 떠오른다 */
.pl-enter{animation:pl-slide-up .5s var(--pl-ease-out) both}
/* 배지 점 맥동(«거래 중» 같은 살아있는 상태만) */
.pl-badge--live::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pl-pulse 1.6s ease-in-out infinite}
/* 숫자 카운트업은 data-pl-countup (JS). 카운트 중 흔들리지 않게 등폭 */
[data-pl-countup]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","ss05"}
@keyframes pl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pl-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
@media (prefers-reduced-motion:reduce){[data-pl-reveal],[data-pl-stagger] > *{opacity:1!important;transform:none!important;transition:none!important}[data-pl-draw] *{stroke-dashoffset:0!important;opacity:1!important}.pl-float{animation:none!important}}

/* ═══════════════════════════════════════════════════════════
   8. 유틸 · 애니메이션
   ═══════════════════════════════════════════════════════════ */
.pl-mt-4{margin-top:4px}.pl-mt-8{margin-top:8px}.pl-mt-12{margin-top:12px}.pl-mt-16{margin-top:16px}.pl-mt-20{margin-top:20px}.pl-mt-24{margin-top:24px}.pl-mt-32{margin-top:32px}.pl-mt-40{margin-top:40px}.pl-mt-48{margin-top:48px}.pl-mt-64{margin-top:64px}
.pl-mb-4{margin-bottom:4px}.pl-mb-8{margin-bottom:8px}.pl-mb-12{margin-bottom:12px}.pl-mb-16{margin-bottom:16px}.pl-mb-20{margin-bottom:20px}.pl-mb-24{margin-bottom:24px}.pl-mb-32{margin-bottom:32px}.pl-mb-40{margin-bottom:40px}.pl-mb-48{margin-bottom:48px}
.pl-p-0{padding:0}.pl-p-16{padding:16px}.pl-p-20{padding:20px}.pl-p-24{padding:24px}
.pl-ta-c{text-align:center}.pl-ta-r{text-align:right}.pl-ta-l{text-align:left}
.pl-w-full{width:100%}.pl-mx-auto{margin-left:auto;margin-right:auto}
.pl-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pl-nowrap{white-space:nowrap}
.pl-fade-in{animation:pl-fade var(--pl-t-enter) var(--pl-ease-out) both}
.pl-rise{animation:pl-slide-up var(--pl-t-enter) var(--pl-ease-out) both}
@keyframes pl-fade{from{opacity:0}to{opacity:1}}
@keyframes pl-fade-out{from{opacity:1}to{opacity:0}}
@keyframes pl-slide-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes pl-slide-left{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes pl-pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes pl-spin{to{transform:rotate(360deg)}}
@keyframes pl-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
