/* ============================================================================
   LOH · Skin "Linear"
   사양 출처: design-md/linear.app (VoltAgent/awesome-design-md)
   ---------------------------------------------------------------------------
   이 시트는 public/style.css 뒤에 로드되는 오버라이드 시트다. style.css 는 색을
   거의 전부 하드코딩 hex 로 쓰기 때문에 CSS 변수만으로는 갈아끼울 수 없다.
   대신 "클래스명이 안정적"이라는 점을 이용해 [data-skin="linear"] 로 스코프된
   규칙이 앞의 모든 하드코딩 색/라운드/보더를 덮어쓴다.
   ---------------------------------------------------------------------------
   사양 원칙 (이 파일이 지킨 것)
   1. 4단계 서피스 사다리로 위계를 만든다.
      canvas #010102 → surface-1 #0f1011 → surface-2 #141516 → surface-3 #18191a
      → surface-4 #191a1b. 두 면의 층위는 보더(hairline)로만 구분한다.
   2. 진짜 검정 #000000 은 쓰지 않는다 — #010102 의 미세한 청색 틴트가 이 컬렉션의
      특징. rgba(0,0,0,..) 알파나 #0a0a0a 계열도 캔버스에는 쓰지 않는다.
   3. lavender(#5e6ad2)는 브랜드 마크 / 주요 CTA / 포커스 링 / 활성 탭에만.
      데이터 강조나 배지 장식으로 쓰지 않는다.
   4. 디스플레이 weight 는 600 (700 금지), body 는 400, 컨트롤은 500.
      강한 음수 letter-spacing 은 디스플레이에만, body 는 -0.05px.
   5. 라운드 스케일: xs 4 / sm 6 / md 8 / lg 12 / xl 16 / pill 9999.
      입력·버튼 sm(6), 카드 md(8), 패널 lg(12), 칩 xs(4), 필터 pill.
   6. 그림자는 거의 없다 — 스티키 헤더와 모달 앰비언트만 남긴다.
   외부 폰트·CDN 없음. 시스템 폰트만. 인라인 style 없음(CSP style-src 'self').
   ========================================================================== */

/* ---------------------------------------------------------------- 1. 토큰 */
[data-skin="linear"]{
  color-scheme:dark;
  --bg:#010102;
  --bg2:#010102;
  --panel:#0f1011;       /* surface-1 */
  --panel2:#141516;      /* surface-2 */
  --panel3:#18191a;      /* surface-3 */
  --line:#23252a;        /* hairline */
  --line-soft:#191a1b;   /* surface-4 를 약한 구분선으로 사용 */
  --text:#f7f8f8;        /* ink */
  --muted:#8a8f98;       /* ink-subtle */
  --accent:#5e6ad2;      /* lavender */
  --accent2:#828fff;     /* primary-hover */
  --cyan:#8a8f98;        /* 두 번째 데이터 강조 금지 → ink-subtle */
  --green:#27a644;       /* semantic-success */
  --red:#e05252;         /* 사양에 error 가 없어 최소한의 실패색으로 보충(§참고) */
  --gold:#d0d6e0;        /* 목표/강조는 ink-muted 로 — 색 대신 명도로 구분 */
  --blue:#5e6ad2;
  --purple:#5e6ad2;
  font-family:Inter,system-ui,-apple-system,"Segoe UI","Malgun Gothic",sans-serif;
  font-weight:400;
}

/* ------------------------------------------------------- 2. 캔버스/여백 */
[data-skin="linear"] body{background:#010102;color:var(--text);letter-spacing:-.05px}
[data-skin="linear"] body:before,
[data-skin="linear"] body:after{background:#010102}
[data-skin="linear"] #app{background:#010102;box-shadow:none}
[data-skin="linear"] .loading,
[data-skin="linear"] .empty,
[data-skin="linear"] .fatal{color:var(--muted)}
[data-skin="linear"] .sidebar-backdrop{background:rgba(1,1,2,.72)}
[data-skin="linear"] ::selection{background:rgba(94,106,210,.35);color:#f7f8f8}

/* --------------------------------------------- 3. 타이포 위계(600 / 400 / 500) */
[data-skin="linear"] h1,
[data-skin="linear"] h2,
[data-skin="linear"] h3{font-weight:600;letter-spacing:-.02em}
[data-skin="linear"] .boss-top h1,
[data-skin="linear"] .ranking-top h2,
[data-skin="linear"] .an-head h2{font-weight:600;letter-spacing:-.02em}
[data-skin="linear"] button,
[data-skin="linear"] input,
[data-skin="linear"] select,
[data-skin="linear"] textarea{font-weight:500}
[data-skin="linear"] th,
[data-skin="linear"] td{font-weight:400}
[data-skin="linear"] .side-card-title,
[data-skin="linear"] .eyebrow,
[data-skin="linear"] .an-card>span,
[data-skin="linear"] .ranking-summary span,
[data-skin="linear"] .cut-card span,
[data-skin="linear"] .cut-card small,
[data-skin="linear"] .an-streakbox span,
[data-skin="linear"] .explain-grid span,
[data-skin="linear"] .audit-list span,
[data-skin="linear"] .audit-list small,
[data-skin="linear"] .history-grid span,
[data-skin="linear"] .ranking-goal label,
[data-skin="linear"] .upload-meta label{text-transform:uppercase;letter-spacing:.06em;font-weight:500}
[data-skin="linear"] .eyebrow{color:var(--muted);font-weight:600}

/* ------------------------------------------------------- 4. 인터랙티브 요소 */
[data-skin="linear"] button,
[data-skin="linear"] input,
[data-skin="linear"] select,
[data-skin="linear"] textarea{
  border:1px solid #34343a;
  border-radius:6px;
  background:#0f1011;
  color:#f7f8f8;
}
[data-skin="linear"] button:hover:not(:disabled){
  border-color:#3e3e44;
  background:#18191a;
  color:#f7f8f8;
  transform:none;
}
[data-skin="linear"] .primary{background:#5e6ad2;border-color:#5e6ad2;color:#f7f8f8;font-weight:600}
[data-skin="linear"] .primary:hover:not(:disabled){background:#828fff;border-color:#828fff;color:#010102}
[data-skin="linear"] input:focus,
[data-skin="linear"] select:focus,
[data-skin="linear"] textarea:focus{
  border-color:#5e69d1;
  box-shadow:0 0 0 3px rgba(94,106,210,.28);
  outline:none;
}
[data-skin="linear"] .score-input.saved{border-color:#27a644;box-shadow:0 0 0 1px #27a644 inset}
[data-skin="linear"] .actions button{font-weight:500}
[data-skin="linear"] .admin-menu{grid-template-columns:1fr 1fr}
[data-skin="linear"] .admin-menu select{width:100%;grid-column:1/2}

/* ------------------------------------------------------------- 5. 사이드바 */
[data-skin="linear"] .side-nav{
  border-right:1px solid #23252a;
  background:#010102;
  box-shadow:none;
  scrollbar-color:#23252a transparent;
}
[data-skin="linear"] .side-nav::-webkit-scrollbar-thumb{background:#23252a;border-radius:999px}
[data-skin="linear"] .brand{border-bottom:1px solid #23252a}
[data-skin="linear"] .brand-mark{
  color:#010102;
  background:#5e6ad2;
  border:1px solid #5e6ad2;
  border-radius:8px;
  box-shadow:none;
  font-weight:600;
}
[data-skin="linear"] .brand strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .brand small{color:#8a8f98;font-weight:400}
[data-skin="linear"] .nav-separator{background:#23252a}
[data-skin="linear"] .boss-nav button{
  background:transparent;
  color:#d0d6e0;
  border-color:transparent;
  border-radius:6px;
  font-weight:500;
}
[data-skin="linear"] .boss-nav button:hover{background:#141516;color:#f7f8f8}
[data-skin="linear"] .boss-nav button.active{
  background:#18191a;
  color:#f7f8f8;
  border-color:#23252a;
  font-weight:600;
  box-shadow:inset 2px 0 0 #5e6ad2;
}
[data-skin="linear"] .boss-nav .nav-admin{border-top:1px solid #23252a}
[data-skin="linear"] .boss-nav .nav-admin span{
  background:#141516;
  border:1px solid #23252a;
  border-radius:8px;
  color:#d0d6e0;
  font-weight:500;
}
[data-skin="linear"] .sidebar-toggle{
  border:1px solid #34343a!important;
  border-radius:6px!important;
  background:#141516!important;
  color:#d0d6e0!important;
  box-shadow:none!important;
}
[data-skin="linear"] .sidebar-toggle:hover{
  border-color:#5e6ad2!important;
  background:#18191a!important;
  color:#f7f8f8!important;
}
[data-skin="linear"] .sidebar-fab{
  background:#0f1011!important;
  border:1px solid #34343a!important;
  border-radius:8px;
  color:#d0d6e0!important;
  box-shadow:none!important;
}
[data-skin="linear"] .app-shell.sidebar-collapsed .sidebar-fab{
  border:1px solid #5e6ad2!important;
  background:#0f1011!important;
  color:#f7f8f8!important;
  box-shadow:none!important;
}

/* ------------------------------------------- 6. 사이드 카드 (사다리 1→2→3단계) */
[data-skin="linear"] .side-card{
  background:#0f1011;
  border:1px solid #23252a;
  border-radius:8px;
  box-shadow:none;
}
[data-skin="linear"] .side-card-title{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .side-card>div:not(.side-card-title){border-bottom:1px solid #191a1b}
[data-skin="linear"] .side-card span{color:#8a8f98}
[data-skin="linear"] .side-card strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .side-card small{color:#62666d}
[data-skin="linear"] .side-info small{color:#62666d}
[data-skin="linear"] .side-context{
  background:#0f1011;
  border:1px solid #23252a;
  border-radius:8px;
  box-shadow:none;
}
[data-skin="linear"] .side-context>strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .side-context-boss{color:#d0d6e0;font-weight:600}
[data-skin="linear"] .side-context-meta{color:#8a8f98}
[data-skin="linear"] .side-release{border-top:1px solid #191a1b}
[data-skin="linear"] .side-release b{color:#d0d6e0;font-weight:600}
[data-skin="linear"] .side-release span{color:#8a8f98}
[data-skin="linear"] .side-release.normal{border-top-color:#191a1b}
[data-skin="linear"] .side-release.normal b{color:#8a8f98}
[data-skin="linear"] .side-release.normal span{color:#62666d}
[data-skin="linear"] .side-release.active b{color:#f7f8f8}
[data-skin="linear"] .side-release button{font-weight:500}
[data-skin="linear"] .highlight-card{
  background:#0f1011;
  border:1px solid #23252a;
  border-radius:8px;
  box-shadow:none;
}
[data-skin="linear"] .highlight-card .side-card-title{color:#f7f8f8}
[data-skin="linear"] .highlight-item{background:transparent;border-color:transparent;border-radius:6px}
[data-skin="linear"] .highlight-item.growth{background:rgba(39,166,68,.12);border-color:rgba(39,166,68,.35)}
[data-skin="linear"] .highlight-item.growth span,
[data-skin="linear"] .highlight-item.growth em{color:#27a644}
[data-skin="linear"] .highlight-item.rank{background:#141516;border-color:#23252a}
[data-skin="linear"] .highlight-item.rank span{color:#8a8f98}
[data-skin="linear"] .highlight-item.rank em{color:#d0d6e0}
[data-skin="linear"] .highlight-item.growth strong,
[data-skin="linear"] .highlight-item.rank strong{color:#f7f8f8}
[data-skin="linear"] .tier-legend{
  background:#0f1011;
  border:1px solid #23252a;
  border-radius:8px;
}
[data-skin="linear"] .tier-legend>div:not(.side-card-title){color:#8a8f98}
[data-skin="linear"] .tier-dot{
  background:#191a1b;
  border:1px solid #34343a;
  border-radius:4px;
  color:#d0d6e0;
  font-weight:600;
}
[data-skin="linear"] .tier-dot.t1,
[data-skin="linear"] .tier-dot.t2,
[data-skin="linear"] .tier-dot.t3,
[data-skin="linear"] .tier-dot.t4{background:#191a1b;border-color:#34343a;color:#d0d6e0}
[data-skin="linear"] .side-week-controls{
  background:#0f1011;
  border:1px solid #23252a;
  border-radius:8px;
}
[data-skin="linear"] .side-week-controls label{color:#8a8f98}
[data-skin="linear"] .side-week-controls select{
  background:#010102;
  color:#f7f8f8;
  border:1px solid #34343a;
  border-radius:6px;
}
[data-skin="linear"] .side-week-controls button{
  background:#18191a;
  border:1px solid #34343a;
  color:#f7f8f8;
  border-radius:6px;
  font-weight:500;
}
[data-skin="linear"] .side-week-controls button:hover{background:#191a1b;border-color:#5e6ad2;color:#f7f8f8}

/* --------------------------------------------------------- 7. 상단/배너 */
[data-skin="linear"] .boss-top h1{color:#f7f8f8}
[data-skin="linear"] .meta-line{color:#8a8f98}
[data-skin="linear"] .release-banner{
  background:#0f1011;
  border:1px solid #23252a;
  border-left:2px solid #5e6ad2;
  border-radius:8px;
}
[data-skin="linear"] .release-banner strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .release-banner span{color:#8a8f98}
[data-skin="linear"] .target-summary{
  background:#0f1011;
  border:1px solid #23252a;
  border-radius:8px;
}
[data-skin="linear"] .target-summary strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .target-summary span{color:#8a8f98}
[data-skin="linear"] .target-summary.muted{color:#62666d}
/* 신캐 표시는 색이 아니라 surface-4 한 단계 + hairline-strong 로 구분 */
[data-skin="linear"] .event-target{background:#191a1b;border-left:2px solid #3e3e44}
[data-skin="linear"] .event-target span{color:#8a8f98!important}
[data-skin="linear"] .event-target strong{color:#f7f8f8!important}

/* ------------------------------------------------------------- 8. 레이드 표 */
[data-skin="linear"] .raid-table-wrap{
  background:#0f1011;
  border:1px solid #23252a;
  border-radius:8px;
  box-shadow:none;
}
/* .members-table 은 .raid-table 가 아니라 일반 <th>/<td> 만 쓰므로 th/td 도 함께 덮는다. */
[data-skin="linear"] th,
[data-skin="linear"] td{border-bottom-color:#1a1b1c}
[data-skin="linear"] th,
[data-skin="linear"] .raid-table th{
  background:#141516;
  color:#d0d6e0;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  box-shadow:0 1px 0 #23252a;
}
[data-skin="linear"] .an-table th{text-transform:none;letter-spacing:0;box-shadow:none}
[data-skin="linear"] .raid-table tbody tr:hover td{
  background-color:#141516!important;
  background-image:none;
}
[data-skin="linear"] .raid-table tbody tr:hover{background:#141516}
[data-skin="linear"] .raid-table tr.hit{background:rgba(39,166,68,.06)}
[data-skin="linear"] .raid-table tr.miss{background:rgba(224,82,82,.08)}
[data-skin="linear"] .raid-table tr.group-upper td{background-color:rgba(255,255,255,.014)}
[data-skin="linear"] .raid-table tr.group-lower td{background-color:rgba(255,255,255,.008)}
[data-skin="linear"] .current{background:rgba(94,106,210,.05)}
[data-skin="linear"] .muted{color:#62666d}
[data-skin="linear"] .rank-col{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .rank-delta{font-weight:600}
[data-skin="linear"] .rank-delta.up{color:#27a644}
[data-skin="linear"] .rank-delta.down{color:#e05252}
[data-skin="linear"] .rank-delta.flat{color:#62666d}
[data-skin="linear"] .raid-table .rank-delta.up{color:#27a644}
[data-skin="linear"] .raid-table .rank-delta.down{color:#e05252}
[data-skin="linear"] .raid-table .positive{color:#27a644}
[data-skin="linear"] .raid-table .negative{color:#e05252}
[data-skin="linear"] .positive{color:#27a644;font-weight:500}
[data-skin="linear"] .negative{color:#e05252;font-weight:500}
[data-skin="linear"] .result{font-weight:600}
[data-skin="linear"] .hit-text{color:#27a644}
[data-skin="linear"] .miss-text{color:#e05252}
[data-skin="linear"] .gap-positive{color:#27a644!important}
[data-skin="linear"] .gap-negative{color:#e05252!important}
[data-skin="linear"] .member-link{color:#d0d6e0;font-weight:500}
[data-skin="linear"] .member-link:hover{background:transparent;color:#f7f8f8;transform:none}
[data-skin="linear"] .target-cell strong{font-weight:600}
[data-skin="linear"] .target-cell small,
[data-skin="linear"] .target-inc,
[data-skin="linear"] .raid-table td:last-child small{color:#62666d}
[data-skin="linear"] .boss-page .raid-table td.col-target .target-rate{
  color:#b2bcd0;
  background:rgba(94,106,210,.14);
  border-color:rgba(94,106,210,.42);
  border-radius:5px!important;
  font-weight:600!important;
}
[data-skin="linear"] .boss-page .raid-table td.col-target .target-tag{color:#8a8f98;border-color:#34343a;border-radius:4px!important;background:#141516}
[data-skin="linear"] .boss-page .raid-table td.col-target .target-inc{color:#62666d}
[data-skin="linear"] .mini-edit{
  color:#8a8f98;
  border-color:#34343a;
  background:#141516;
  border-radius:4px!important;
  font-weight:500!important;
}
[data-skin="linear"] .mini-edit:hover{color:#d0d6e0;border-color:#5e6ad2;background:#18191a}
[data-skin="linear"] .raid-table th.sortable>button{font-weight:600}
[data-skin="linear"] .raid-table th.sortable>button span{color:#5e6ad2}

/* 티어 배지 : ink 사다리 + 최고 티어(T0)만 lavender */
[data-skin="linear"] .tier-badge,
[data-skin="linear"] .week-badge{border-radius:4px}
[data-skin="linear"] .tier-badge{font-weight:600}
[data-skin="linear"] .tier-badge.tier-0{background:#5e6ad2;border-color:#5e6ad2;color:#f7f8f8;font-weight:600}
[data-skin="linear"] .tier-badge.tier-6{background:#5e6ad2;border-color:#5e6ad2;color:#f7f8f8;font-weight:600}
[data-skin="linear"] .tier-badge.tier-1{background:#191a1b;border-color:#34343a;color:#f7f8f8;font-weight:600}
[data-skin="linear"] .tier-badge.tier-2{background:#141516;border-color:#23252a;color:#d0d6e0;font-weight:500}
[data-skin="linear"] .tier-badge.tier-3{background:transparent;border-color:#23252a;color:#8a8f98;font-weight:400}
[data-skin="linear"] .tier-badge.tier-4{background:transparent;border-color:#23252a;color:#62666d;font-weight:400}
[data-skin="linear"] .tier-badge.tier-5{background:transparent;border-color:#23252a;color:#62666d;font-weight:400}
/* 티어 행 배경 : 최고(tier-row-6)만 lavender, 최저(tier-row-0)만 실패색 */
[data-skin="linear"] .raid-table tr.tier-row-6 td{background-color:rgba(94,106,210,.08)}
[data-skin="linear"] .raid-table tr.tier-row-6 td:first-child{box-shadow:inset 2px 0 0 #5e6ad2}
[data-skin="linear"] .raid-table tr.tier-row-5 td{background-color:rgba(255,255,255,.02)}
[data-skin="linear"] .raid-table tr.tier-row-5 td:first-child{box-shadow:inset 2px 0 0 #34343a}
[data-skin="linear"] .raid-table tr.tier-row-4 td{background-color:rgba(255,255,255,.014)}
[data-skin="linear"] .raid-table tr.tier-row-4 td:first-child{box-shadow:inset 2px 0 0 #34343a}
[data-skin="linear"] .raid-table tr.tier-row-3 td{background-color:transparent}
[data-skin="linear"] .raid-table tr.tier-row-3 td:first-child{box-shadow:inset 2px 0 0 #23252a}
[data-skin="linear"] .raid-table tr.tier-row-2 td{background-color:transparent}
[data-skin="linear"] .raid-table tr.tier-row-2 td:first-child{box-shadow:inset 2px 0 0 #23252a}
[data-skin="linear"] .raid-table tr.tier-row-1 td{background-color:transparent}
[data-skin="linear"] .raid-table tr.tier-row-1 td:first-child{box-shadow:inset 2px 0 0 #23252a}
[data-skin="linear"] .raid-table tr.tier-row-0 td{background-color:rgba(224,82,82,.08)}
[data-skin="linear"] .raid-table tr.tier-row-0 td:first-child{box-shadow:inset 2px 0 0 #e05252}
/* 길드 평균 경계 : hairline-tertiary */
[data-skin="linear"] .avg-divider td{
  background:#141516!important;
  border-top:1px solid #3e3e44!important;
  border-bottom:1px solid #3e3e44!important;
  color:#f7f8f8;
  font-weight:600;
}
[data-skin="linear"] .avg-divider span{font-weight:600}
[data-skin="linear"] .avg-divider small{color:#8a8f98}
[data-skin="linear"] .raid-table .avg-line-row td{background:#3e3e44!important}
[data-skin="linear"] .cohort-badge{border-radius:4px;font-weight:500}
[data-skin="linear"] .cohort-badge.upper{background:#18191a;color:#d0d6e0;border:1px solid #34343a}
[data-skin="linear"] .cohort-badge.lower{background:transparent;color:#62666d;border:1px solid #23252a}

/* 주간 배지 : 사다리만으로 구분, 칩은 4px */
[data-skin="linear"] .badge-growth{background:rgba(39,166,68,.14);border-color:rgba(39,166,68,.4);color:#27a644;font-weight:600}
[data-skin="linear"] .badge-jump{background:#18191a;border-color:#34343a;color:#d0d6e0;font-weight:600}
[data-skin="linear"] .badge-target{background:#191a1b;border-color:#3e3e44;color:#f7f8f8;font-weight:600}
[data-skin="linear"] .badge-miss{background:rgba(224,82,82,.12);border-color:rgba(224,82,82,.4);color:#e05252;font-weight:600}
[data-skin="linear"] .badge-none{color:#62666d;font-weight:400}

/* ------------------------------------------------------ 9. 레이아웃/포커스 */
[data-skin="linear"] .focus-section{background:transparent;border-color:transparent;border-radius:8px}
[data-skin="linear"] .focus-section.growth{background:rgba(39,166,68,.08);border-color:rgba(39,166,68,.28)}
[data-skin="linear"] .focus-section.rank{background:#141516;border-color:#23252a}
[data-skin="linear"] .focus-section-title{font-weight:600;letter-spacing:.06em}
[data-skin="linear"] .focus-section.growth .focus-section-title,
[data-skin="linear"] .focus-section.growth em{color:#27a644}
[data-skin="linear"] .focus-section.rank .focus-section-title{color:#d0d6e0}
[data-skin="linear"] .focus-section.rank em{color:#d0d6e0}
[data-skin="linear"] .focus-place{color:#62666d;font-weight:500}
[data-skin="linear"] .focus-row+.focus-row{border-top:1px solid #191a1b}
[data-skin="linear"] .members-toolbar{background:#141516;border-bottom:1px solid #23252a}
[data-skin="linear"] .members-toolbar strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .members-toolbar small{color:#62666d}
[data-skin="linear"] .member-edit{
  color:#8a8f98;
  border-color:#34343a;
  background:#141516;
  border-radius:4px!important;
  font-weight:500!important;
}
[data-skin="linear"] .member-edit:hover{color:#d0d6e0;border-color:#5e6ad2;background:#18191a}

/* ------------------------------------------------------------ 10. 모달/토스트 */
[data-skin="linear"] dialog{
  background:#0f1011;
  border:1px solid #34343a;
  border-radius:12px;
  color:#f7f8f8;
  box-shadow:0 16px 48px rgba(1,1,2,.6);
}
[data-skin="linear"] dialog::backdrop{background:rgba(1,1,2,.72)}
[data-skin="linear"] .form-stack label{color:#8a8f98}
[data-skin="linear"] .modal-error{color:#e05252}
[data-skin="linear"] .modal-x{
  background:#141516;
  border:1px solid #34343a;
  border-radius:6px;
  color:#d0d6e0;
  box-shadow:none;
  font-weight:500;
}
[data-skin="linear"] .modal-x:hover{background:#191a1b;border-color:#5e6ad2;color:#f7f8f8}
[data-skin="linear"] #toast{background:#18191a;border:1px solid #34343a;border-radius:8px;color:#f7f8f8}
[data-skin="linear"] .audit-list>div,
[data-skin="linear"] .history-grid>div{background:#141516;border:1px solid #23252a;border-radius:8px}
[data-skin="linear"] .history-note{color:#8a8f98}
[data-skin="linear"] .history-toolbar{background:#141516;border-color:#23252a;border-radius:8px}
[data-skin="linear"] .history-select-all{color:#f7f8f8}
[data-skin="linear"] .history-select-all input,
[data-skin="linear"] .history-check{accent-color:#5e6ad2}
[data-skin="linear"] .history-delete,
[data-skin="linear"] .history-bulk-delete{
  color:#e05252;
  border-color:rgba(224,82,82,.4);
  background:rgba(224,82,82,.08);
  border-radius:6px;
  font-weight:500;
}
[data-skin="linear"] .history-delete:hover,
[data-skin="linear"] .history-bulk-delete:hover:not(:disabled){background:rgba(224,82,82,.16);border-color:#e05252}
[data-skin="linear"] .confirm-modal p{color:#8a8f98}

/* ------------------------------------------------------------- 11. 랭킹 화면 */
[data-skin="linear"] .ranking-top p{color:#8a8f98}
[data-skin="linear"] .ranking-tabs button{
  background:transparent;
  border:1px solid #23252a;
  border-radius:6px;
  color:#8a8f98;
  font-weight:500;
}
[data-skin="linear"] .ranking-tabs button:hover{background:#141516;color:#f7f8f8}
[data-skin="linear"] .ranking-tabs button.active{background:#18191a;border-color:#34343a;color:#f7f8f8;font-weight:600;box-shadow:inset 0 -2px 0 #5e6ad2}
[data-skin="linear"] .ranking-controls{background:#0f1011;border:1px solid #23252a;border-radius:8px}
[data-skin="linear"] .cut-checks label{border:1px solid #23252a;border-radius:9999px;color:#8a8f98;font-weight:500}
[data-skin="linear"] .cut-checks label.checked{border-color:#34343a;background:#18191a;color:#f7f8f8}
[data-skin="linear"] .cut-checks input{accent-color:#5e6ad2}
[data-skin="linear"] .ranking-goal label{color:#8a8f98}
[data-skin="linear"] .ranking-goal select,
[data-skin="linear"] .ranking-goal input{background:#010102;border:1px solid #34343a;border-radius:6px;color:#f7f8f8}
[data-skin="linear"] .ranking-goal button{
  background:#5e6ad2;
  border:1px solid #5e6ad2;
  border-radius:6px;
  color:#f7f8f8;
  font-weight:600;
}
[data-skin="linear"] .ranking-goal button:hover{background:#828fff;border-color:#828fff;color:#010102}
[data-skin="linear"] .cut-card{background:#0f1011;border:1px solid #23252a;border-radius:8px}
[data-skin="linear"] .cut-card.goal{border-color:#5e6ad2;box-shadow:none}
[data-skin="linear"] .cut-card span,
[data-skin="linear"] .cut-card small{color:#8a8f98}
[data-skin="linear"] .cut-card strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .ranking-summary>div{background:#0f1011;border:1px solid #23252a;border-radius:8px}
[data-skin="linear"] .ranking-summary span{color:#62666d}
[data-skin="linear"] .ranking-summary strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .ranking-period{color:#d0d6e0;font-weight:600}
[data-skin="linear"] .ranking-table .sirius-row td{background:rgba(94,106,210,.1)!important}
[data-skin="linear"] .danger-link{color:#e05252;font-weight:500}
[data-skin="linear"] .danger{
  border:1px solid #e05252!important;
  background:transparent!important;
  color:#e05252!important;
  font-weight:500;
  border-radius:6px;
}
[data-skin="linear"] .danger:hover{background:rgba(224,82,82,.14)!important;border-color:#e05252!important}
[data-skin="linear"] .upload-meta input,
[data-skin="linear"] .upload-meta select,
[data-skin="linear"] .tier-weight-grid input{background:#010102;border:1px solid #34343a;border-radius:6px;color:#f7f8f8}
[data-skin="linear"] .screenshot-drop{
  background:#0f1011;
  border:1px dashed #34343a;
  border-radius:8px;
  color:#d0d6e0;
}
[data-skin="linear"] .screenshot-drop:hover{border-color:#5e6ad2;color:#f7f8f8}
[data-skin="linear"] .screenshot-drop small{color:#62666d}
[data-skin="linear"] .ocr-status{color:#8a8f98}
[data-skin="linear"] .ocr-preview th,
[data-skin="linear"] .ocr-preview td{border-bottom:1px solid #1a1b1c}
[data-skin="linear"] .ocr-preview input{background:#010102;border:1px solid #34343a;border-radius:4px;color:#f7f8f8}
[data-skin="linear"] .target-engine-form small{color:#62666d}
[data-skin="linear"] .target-engine-form p{color:#8a8f98}
[data-skin="linear"] .explain-grid>div{background:#0f1011;border:1px solid #23252a;border-radius:8px}
[data-skin="linear"] .explain-grid span{color:#62666d}
[data-skin="linear"] .explain-grid strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .target-explain>p{color:#8a8f98}

/* ------------------------------------------- 12. 고급 분석(.an-*) 화면 전체 */
[data-skin="linear"] .an-page{
  --an-bg:#0f1011;
  --an-bg2:#141516;
  --an-line:#23252a;
  --an-line2:#34343a;
  --an-text:#f7f8f8;
  --an-muted:#8a8f98;
  --an-up:#27a644;
  --an-down:#e05252;
  --an-gold:#d0d6e0;
}
[data-skin="linear"] .an-section{background:#0f1011;border:1px solid var(--an-line);border-radius:12px}
[data-skin="linear"] .an-section h3{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .an-note{color:#62666d}
[data-skin="linear"] .an-card{background:#0f1011;border:1px solid var(--an-line);border-radius:8px}
[data-skin="linear"] .an-card>span{color:#8a8f98;font-weight:500}
[data-skin="linear"] .an-card>strong{color:#f7f8f8;font-weight:600;letter-spacing:-.02em}
[data-skin="linear"] .an-card>small{color:#62666d}
[data-skin="linear"] .an-card-spread>strong{color:#f7f8f8}
[data-skin="linear"] .an-card-growth>strong{color:#27a644}
[data-skin="linear"] .an-duo-head strong{color:#f7f8f8;font-weight:600}
[data-skin="linear"] .an-chart{background:#010102;border:1px solid var(--an-line);border-radius:8px}
[data-skin="linear"] .an-grid line{stroke:#1a1b1c}
[data-skin="linear"] .an-grid text{fill:#8a8f98}
[data-skin="linear"] .an-axis{stroke:#34343a}
[data-skin="linear"] .an-xlabel{fill:#62666d}
[data-skin="linear"] .an-ytitle{fill:#8a8f98;font-weight:600}
[data-skin="linear"] .an-ref line{stroke:var(--an-gold)}
[data-skin="linear"] .an-ref text{fill:var(--an-gold);font-weight:600}
[data-skin="linear"] .an-dot{fill:#010102;stroke:#5e6ad2}
[data-skin="linear"] .an-swatch{border-top:2px solid #5e6ad2}
[data-skin="linear"] .an-swatch.dashed{border-top-style:dashed;opacity:.6}
[data-skin="linear"] .an-legend-item.an-boss-nephthys .an-swatch{border-top-color:#828fff}
[data-skin="linear"] .an-legend-item.an-boss-idun .an-swatch{border-top-color:#8a8f98}
[data-skin="linear"] .an-bar-label{color:#d0d6e0}
[data-skin="linear"] .an-bar-track{background:#18191a;border:1px solid var(--an-line);border-radius:4px}
[data-skin="linear"] .an-bar-fill{background:#5e6ad2;border-radius:4px}
[data-skin="linear"] .an-bar small{color:#62666d}
[data-skin="linear"] .an-table-wrap{background:#010102;border:1px solid var(--an-line);border-radius:8px}
[data-skin="linear"] .an-table th,
[data-skin="linear"] .an-table td{border-bottom:1px solid #1a1b1c}
[data-skin="linear"] .an-table thead th{background:#141516;color:#d0d6e0;font-weight:600;box-shadow:none}
[data-skin="linear"] .an-table tbody tr:hover td{background:#141516}
[data-skin="linear"] .an-table tfoot td{background:#141516;color:#f7f8f8;font-weight:600}
[data-skin="linear"] .an-table th.sortable>button span{color:#5e6ad2}
[data-skin="linear"] .an-table th.sortable>button:hover{color:#828fff}
[data-skin="linear"] .an-provisional-row td{background:rgba(255,255,255,.02);color:#62666d}
[data-skin="linear"] .an-row-miss td{background:rgba(224,82,82,.1)}
[data-skin="linear"] .an-row-miss{box-shadow:inset 2px 0 0 #e05252}
[data-skin="linear"] .an-streak{
  background:rgba(224,82,82,.12);
  border:1px solid rgba(224,82,82,.4);
  border-radius:4px;
  color:#e05252;
  font-weight:600;
}
[data-skin="linear"] .an-chip{background:#18191a;border:1px solid var(--an-line2);border-radius:4px;color:#d0d6e0;font-weight:500}
[data-skin="linear"] .an-chip-final{border-color:rgba(39,166,68,.4);background:rgba(39,166,68,.12);color:#27a644}
[data-skin="linear"] .an-chip-imported{border-color:#34343a;background:transparent;color:#d0d6e0}
[data-skin="linear"] .an-chip-manual{border-color:#34343a;background:transparent;color:#f7f8f8}
[data-skin="linear"] .an-boss-scotia{border-color:rgba(94,106,210,.42);background:rgba(94,106,210,.12);color:#828fff}
[data-skin="linear"] .an-boss-nephthys{border-color:#34343a;background:transparent;color:#d0d6e0}
[data-skin="linear"] .an-boss-idun{border-color:#23252a;background:transparent;color:#8a8f98}
[data-skin="linear"] .an-link{color:#5e6ad2;font-weight:500}
[data-skin="linear"] .an-link:hover{color:#828fff;background:transparent;transform:none}
[data-skin="linear"] .an-filter{
  background:transparent;
  border:1px solid var(--an-line2);
  border-radius:9999px;
  color:#d0d6e0;
  font-weight:500;
}
[data-skin="linear"] .an-filter span{color:#62666d}
[data-skin="linear"] .an-filter.active{background:#18191a;border-color:#3e3e44;color:#f7f8f8;font-weight:600}
[data-skin="linear"] .an-filter.an-boss-scotia.active{background:rgba(94,106,210,.18);border-color:#5e6ad2;color:#f7f8f8}
[data-skin="linear"] .an-filter.an-boss-nephthys.active{background:#18191a;border-color:#3e3e44;color:#f7f8f8}
[data-skin="linear"] .an-filter.an-boss-idun.active{background:#18191a;border-color:#3e3e44;color:#f7f8f8}
[data-skin="linear"] .an-streakbox>div{background:#0f1011;border:1px solid var(--an-line);border-radius:8px}
[data-skin="linear"] .an-streakbox>div.warn{border-color:rgba(224,82,82,.4);background:rgba(224,82,82,.08)}
[data-skin="linear"] .an-streakbox.warn strong{color:#e05252}
[data-skin="linear"] .an-empty{background:transparent;border:1px dashed var(--an-line2);border-radius:8px}
[data-skin="linear"] .an-empty-mark{color:#34343a}
[data-skin="linear"] .an-empty strong{color:#d0d6e0}

/* 13. 반응형 : 이 시트는 색/라운드/보더/타이포만 바꾼다.
       높이·패딩 등 밀도 규칙(style.css 의 @media)은 의도적으로 건드리지 않는다.
       단, style.css 의 @media(max-width:560px) 가 dialog 의 border-radius 를
       !important 로 고정해 두므로 기하 규칙(lg 12px)만 같은 조건에서 되돌려 준다. */
@media (max-width:560px){
  [data-skin="linear"] dialog{border-radius:12px!important}
}
