/* ═══════════════════════════════════════════════════════════════════════════
   Omnyxar UI  ·  2.15.0 디자인 엔진 (사이트 프론트 전용)
   ───────────────────────────────────────────────────────────────────────────
   한 가지 디자인 언어. 기본 레이아웃(흰 캔버스, 1px 선, 둥근 10px, 1320px)에 맞춘다.
   - 어두운 면·그라디언트·그림자 없음. 주색은 검정, 색은 상태에만.
   - 글꼴 Noto Sans KR 하나, 굵기 700 상한.
   - 모든 omnyxar 숏코드 출력은 .ox-ui 로 감싸여 들어온다(display:contents).
   - 1부: 토큰·기본 부품(ox-*). 2부: 레거시 화면 조정(harmonizer) — 기존 클래스에 같은 토큰을 입힌다.
   - 특이도: 레거시 규칙을 이기기 위해 2부는 OX3 = .ox-ui.ox-ui.ox-ui 접두를 쓴다(!important 최소화).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 0. 토큰 ─────────────────────────────────────────────────────────────── */
.ox-ui{
  --ox-font:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Segoe UI",Roboto,sans-serif;
  --ox-mono:Consolas,Menlo,"Roboto Mono",monospace;
  --ox-ink:#111827;--ox-ink-2:#374151;--ox-mute:#6b7280;--ox-faint:#9ca3af;
  --ox-line:#e5e7eb;--ox-line-2:#d1d5db;--ox-fill:#f9fafb;--ox-fill-2:#f3f4f6;--ox-fill-3:#eceef2;
  --ox-black:#111111;--ox-black-2:#2a2a2e;--ox-white:#ffffff;
  --ox-blue:#2563eb;--ox-blue-soft:#eff4ff;--ox-blue-line:#c7d7fb;
  --ox-green:#16a34a;--ox-green-soft:#ecfdf3;--ox-green-line:#bbe7c9;
  --ox-amber:#d97706;--ox-amber-soft:#fff8e8;--ox-amber-line:#f5dfa3;
  --ox-red:#dc2626;--ox-red-soft:#fef2f2;--ox-red-line:#f8c6c6;
  --ox-pink:#e0218a;--ox-violet:#6d4ddb;
  --ox-r:10px;--ox-r-sm:8px;--ox-r-xs:6px;--ox-pill:999px;
  --ox-h:44px;--ox-h-sm:36px;--ox-h-xs:30px;
  --ox-pad:20px;--ox-gap:16px;--ox-sec:24px;
  --ox-fs:14px;--ox-fs-sm:12.5px;--ox-fs-xs:11.5px;
  display:contents;
}
/* 스코프 밖에서도 토큰을 쓰는 전역 요소(라이트박스·팝업 등) */
body{--ox-ink:#111827;--ox-fill-2:#f3f4f6;}

/* ── 1. 기본 타이포·리셋(스코프 안) ──────────────────────────────────────── */
.ox-ui.ox-ui>*{font-family:var(--ox-font);color:var(--ox-ink);font-size:var(--ox-fs);line-height:1.6;-webkit-font-smoothing:antialiased;box-sizing:border-box;max-width:100%}
.ox-ui.ox-ui *{box-sizing:border-box}
.ox-ui.ox-ui.ox-ui [class*="omnyxar"],.ox-ui.ox-ui.ox-ui [class*="ox"]{font-family:var(--ox-font)}
.ox-ui a{color:inherit;text-decoration:none}
.ox-ui a:hover{text-decoration:none}
.ox-ui.ox-ui :is(h1,h2,h3,h4){margin:0;color:var(--ox-ink);letter-spacing:-.01em;line-height:1.3}
.ox-ui.ox-ui :is(h1,h2,h3,h4,strong,b,th){font-weight:700}
.ox-ui.ox-ui :is(h1,h2,h3,h4,strong,b,th,em,.ox-stat-v,[class*="-title"],[class*="-head"] *,[class*="hero"] *){font-weight:700}
.ox-ui.ox-ui p{margin:0}
.ox-ui.ox-ui img{max-width:100%;height:auto}
.ox-ui.ox-ui.ox-ui :where(h1,h2,h3,h4,p,span,a,li,td,th,label,button,input,select,textarea,strong,b,em,i,div){font-family:var(--ox-font)}
.ox-ui.ox-ui.ox-ui :where(*){text-shadow:none!important;box-shadow:none!important}
.ox-ui.ox-ui.ox-ui :where(.oxbd-body,.omnyxar-detail-content,.oxqa-d-content,.oxrules-body,.omnyxar-qna-content-body) :where(*){font-family:inherit}
.ox-ui.ox-ui.ox-ui [style*="font-weight:800"],.ox-ui.ox-ui.ox-ui [style*="font-weight: 800"]{font-weight:700!important}
.ox-ui .ox-i{width:1em;height:1em;display:inline-block;vertical-align:-.15em;flex:0 0 auto}
.ox-ui .ox-art{width:100%;height:auto;display:block}

/* ── 2. 레이아웃 부품 ────────────────────────────────────────────────────── */
.ox-ui .ox-stack{display:flex;flex-direction:column;gap:var(--ox-sec)}
.ox-ui .ox-row{display:flex;align-items:center;gap:10px}
.ox-ui .ox-row--wrap{flex-wrap:wrap}
.ox-ui .ox-row+.ox-row{margin-top:12px}
.ox-ui .ox-grid{display:grid;gap:var(--ox-gap)}
.ox-ui .ox-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ox-ui .ox-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ox-ui .ox-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ox-ui .ox-ta-r{text-align:right}
.ox-ui .ox-ta-c{text-align:center}
.ox-ui .ox-muted{color:var(--ox-mute)}
.ox-ui .ox-plus{color:var(--ox-blue)}
.ox-ui .ox-minus{color:var(--ox-red)}
.ox-ui .ox-eyebrow{display:block;font-size:var(--ox-fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ox-mute);margin-bottom:8px}

/* 페이지 머리 */
.ox-ui .ox-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 0 14px;border-bottom:2px solid var(--ox-ink);margin-bottom:var(--ox-sec)}
.ox-ui .ox-page-head h1{font-size:26px;display:flex;align-items:center;gap:10px}
.ox-ui .ox-page-head h1 .ox-i{width:26px;height:26px;color:var(--ox-ink)}
.ox-ui .ox-page-head p{margin-top:6px;color:var(--ox-mute);font-size:13px}
.ox-ui .ox-page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* 히어로: 흰 카드, 왼쪽 글 / 오른쪽 아트·스탯 */
.ox-ui .ox-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;border:1px solid var(--ox-line);border-radius:var(--ox-r);background:#fff;margin-bottom:var(--ox-sec);overflow:hidden}
.ox-ui .ox-hero-text{min-width:0;flex:1 1 auto}
.ox-ui .ox-hero-title{font-size:30px;letter-spacing:-.02em;line-height:1.2}
.ox-ui .ox-hero-title em{font-style:normal;color:var(--ox-mute);font-weight:500}
.ox-ui .ox-hero-lead{margin-top:10px;color:var(--ox-mute);font-size:14px;max-width:620px}
.ox-ui .ox-hero-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.ox-ui .ox-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.ox-ui .ox-hero-side{display:flex;align-items:center;gap:24px;flex:0 0 auto}
.ox-ui .ox-hero-art{width:220px;flex:0 0 220px;color:var(--ox-ink)}
.ox-ui .ox-hero-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ox-ui .ox-hero-stat{display:flex;flex-direction:column;gap:2px;min-width:132px;padding:12px 16px;border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);background:var(--ox-fill)}
.ox-ui .ox-hero-stat-k{font-size:var(--ox-fs-xs);color:var(--ox-mute);font-weight:500}
.ox-ui .ox-hero-stat-v{font-size:22px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ox-ui .ox-hero-stat-v em{font-style:normal;font-size:12px;color:var(--ox-mute);margin-left:2px;font-weight:600}
.ox-ui .ox-hero-stat-s{font-size:var(--ox-fs-xs);color:var(--ox-mute)}
.ox-ui .ox-hero-aside{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.ox-ui .ox-hero--compact{padding:22px 26px}
.ox-ui .ox-hero--compact .ox-hero-title{font-size:24px}
.ox-ui .ox-hero--compact .ox-hero-art{width:150px;flex-basis:150px}

/* 카드 */
.ox-ui .ox-card{border:1px solid var(--ox-line);border-radius:var(--ox-r);background:#fff;margin-bottom:var(--ox-gap)}
.ox-ui .ox-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px var(--ox-pad);border-bottom:1px solid var(--ox-line)}
.ox-ui .ox-card-head h2{font-size:16px;display:flex;align-items:center;gap:8px}
.ox-ui .ox-card-head p{margin-top:4px;color:var(--ox-mute);font-size:var(--ox-fs-sm)}
.ox-ui .ox-card-aside{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ox-mute);font-size:var(--ox-fs-sm)}
.ox-ui .ox-card-body{padding:var(--ox-pad)}
.ox-ui .ox-card-body>.ox-field+.ox-field{margin-top:14px}
.ox-ui .ox-card--flush .ox-card-body{padding:0}

/* 스탯 타일 */
.ox-ui .ox-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:var(--ox-gap)}
.ox-ui .ox-stat{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--ox-line);border-radius:var(--ox-r);background:#fff;min-width:0}
.ox-ui .ox-stat-ico{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:var(--ox-r-sm);background:var(--ox-fill-2);color:var(--ox-ink);display:inline-flex;align-items:center;justify-content:center}
.ox-ui .ox-stat-ico .ox-i{width:17px;height:17px}
.ox-ui .ox-stat--blue .ox-stat-ico{background:var(--ox-blue-soft);color:var(--ox-blue)}
.ox-ui .ox-stat--green .ox-stat-ico{background:var(--ox-green-soft);color:var(--ox-green)}
.ox-ui .ox-stat--red .ox-stat-ico{background:var(--ox-red-soft);color:var(--ox-red)}
.ox-ui .ox-stat--amber .ox-stat-ico{background:var(--ox-amber-soft);color:var(--ox-amber)}
.ox-ui .ox-stat-k{font-size:var(--ox-fs-sm);color:var(--ox-mute);font-weight:500;padding-right:40px}
.ox-ui .ox-stat-v{font-size:24px;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ox-ui .ox-stat-v em{font-style:normal;font-size:13px;color:var(--ox-mute);margin-left:3px;font-weight:600}
.ox-ui .ox-stat-s{font-size:var(--ox-fs-xs);color:var(--ox-mute)}

/* ── 3. 버튼 ─────────────────────────────────────────────────────────────── */
.ox-ui .ox-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ox-h);padding:0 20px;border:1px solid var(--ox-black);border-radius:var(--ox-r-sm);background:var(--ox-black);color:#fff;font-size:14px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;font-family:var(--ox-font);transition:background .14s,border-color .14s,color .14s;-webkit-appearance:none;appearance:none}
.ox-ui .ox-btn .ox-i{width:16px;height:16px}
.ox-ui .ox-btn:hover{background:var(--ox-black-2);border-color:var(--ox-black-2);color:#fff}
.ox-ui .ox-btn--secondary{background:#fff;color:var(--ox-ink);border-color:var(--ox-line-2)}
.ox-ui .ox-btn--secondary:hover{background:var(--ox-fill);border-color:var(--ox-ink);color:var(--ox-ink)}
.ox-ui .ox-btn--soft{background:var(--ox-fill-2);color:var(--ox-ink);border-color:var(--ox-fill-2)}
.ox-ui .ox-btn--soft:hover{background:var(--ox-fill-3);border-color:var(--ox-fill-3);color:var(--ox-ink)}
.ox-ui .ox-btn--ghost{background:transparent;color:var(--ox-ink-2);border-color:transparent;padding:0 10px}
.ox-ui .ox-btn--ghost:hover{background:var(--ox-fill-2);border-color:transparent;color:var(--ox-ink)}
.ox-ui .ox-btn--danger{background:#fff;color:var(--ox-red);border-color:var(--ox-red-line)}
.ox-ui .ox-btn--danger:hover{background:var(--ox-red-soft);border-color:var(--ox-red);color:var(--ox-red)}
.ox-ui .ox-btn--blue{background:var(--ox-blue);border-color:var(--ox-blue);color:#fff}
.ox-ui .ox-btn--sm{height:var(--ox-h-sm);padding:0 14px;font-size:13px}
.ox-ui .ox-btn--xs{height:var(--ox-h-xs);padding:0 11px;font-size:12.5px;border-radius:var(--ox-r-xs)}
.ox-ui .ox-btn--lg{height:50px;padding:0 28px;font-size:15px}
.ox-ui .ox-btn--block{width:100%}
.ox-ui .ox-btn.is-locked{background:var(--ox-fill-2);color:var(--ox-faint);border-color:var(--ox-fill-2);cursor:pointer}
.ox-ui .ox-btn:focus-visible{outline:2px solid var(--ox-ink);outline-offset:2px}

/* ── 4. 폼 컨트롤 ────────────────────────────────────────────────────────── */
.ox-ui .ox-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ox-ui .ox-label{font-size:13px;font-weight:600;color:var(--ox-ink)}
.ox-ui .ox-req{color:var(--ox-red);font-style:normal;margin-left:3px}
.ox-ui .ox-hint{font-size:var(--ox-fs-xs);color:var(--ox-mute)}
.ox-ui .ox-input,.ox-ui .ox-select,.ox-ui .ox-textarea{width:100%;height:var(--ox-h);padding:0 14px;border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff;color:var(--ox-ink);font-size:14px;font-family:var(--ox-font);line-height:1.4;-webkit-appearance:none;appearance:none;outline:none;transition:border-color .14s}
.ox-ui .ox-input::placeholder,.ox-ui .ox-textarea::placeholder{color:var(--ox-faint)}
.ox-ui .ox-input:focus,.ox-ui .ox-select:focus,.ox-ui .ox-textarea:focus{border-color:var(--ox-ink)}
.ox-ui .ox-textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical;line-height:1.6}
.ox-ui .ox-select{padding-right:40px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}
.ox-ui .ox-input-group{display:flex;align-items:center;gap:0;height:var(--ox-h);border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff;overflow:hidden;padding:0 5px 0 0}
.ox-ui .ox-input-group:focus-within{border-color:var(--ox-ink)}
.ox-ui .ox-input-group .ox-input{border:0;height:100%;flex:1 1 auto;min-width:0;border-radius:0}
.ox-ui .ox-input-group .ox-input-ico{display:inline-flex;align-items:center;padding:0 0 0 12px;color:var(--ox-mute)}
.ox-ui .ox-input-group .ox-input-ico .ox-i{width:17px;height:17px}
.ox-ui .ox-input-group .ox-btn{height:32px;border-radius:var(--ox-r-xs)}
.ox-ui .ox-stepper{display:inline-flex;align-items:center;height:var(--ox-h);border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff;overflow:hidden}
.ox-ui .ox-stepper .ox-input{width:64px;height:100%;border:0;border-radius:0;text-align:center;padding:0;font-weight:600;-moz-appearance:textfield}
.ox-ui .ox-stepper .ox-input::-webkit-outer-spin-button,.ox-ui .ox-stepper .ox-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ox-ui .ox-stepper-btn{width:40px;height:100%;border:0;background:var(--ox-fill);color:var(--ox-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ox-ui .ox-stepper-btn:hover{background:var(--ox-fill-2)}

/* 체크·라디오·스위치 (엔진 컨트롤) */
.ox-ui :is(.ox-check,.ox-radio,.ox-switch){display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--ox-ink);user-select:none;font-weight:500}
.ox-ui :is(.ox-check,.ox-radio,.ox-switch) input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.ox-ui .ox-ctl{position:relative;display:inline-block;flex:0 0 auto;width:18px;height:18px;border:1.5px solid var(--ox-line-2);border-radius:5px;background:#fff;transition:background .12s,border-color .12s}
.ox-ui .ox-radio .ox-ctl{border-radius:50%}
.ox-ui .ox-ctl::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .12s}
.ox-ui .ox-check .ox-ctl::after{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12.5 4.5 4.5L19 7.5'/></svg>") center/13px no-repeat}
.ox-ui .ox-radio .ox-ctl::after{inset:4px;border-radius:50%;background:#fff}
.ox-ui :is(.ox-check,.ox-radio) input:checked+.ox-ctl{background:var(--ox-black);border-color:var(--ox-black)}
.ox-ui :is(.ox-check,.ox-radio) input:checked+.ox-ctl::after{opacity:1}
.ox-ui :is(.ox-check,.ox-radio,.ox-switch) input:focus-visible+.ox-ctl{outline:2px solid var(--ox-ink);outline-offset:2px}
.ox-ui .ox-switch .ox-ctl{width:38px;height:22px;border-radius:var(--ox-pill);background:var(--ox-line-2);border-color:var(--ox-line-2)}
.ox-ui .ox-switch .ox-ctl::after{opacity:1;inset:2px auto 2px 2px;width:16px;border-radius:50%;background:#fff;transition:transform .16s}
.ox-ui .ox-switch input:checked+.ox-ctl{background:var(--ox-black);border-color:var(--ox-black)}
.ox-ui .ox-switch input:checked+.ox-ctl::after{transform:translateX(16px)}

/* 네이티브 컨트롤(레거시 마크업)도 엔진 모양으로: 체크박스·라디오 */
.ox-ui.ox-ui.ox-ui input[type="checkbox"]:not(.ox-raw),.ox-ui.ox-ui.ox-ui input[type="radio"]:not(.ox-raw){-webkit-appearance:none;appearance:none;width:18px;height:18px;margin:0 6px 0 0;border:1.5px solid var(--ox-line-2);border-radius:5px;background:#fff;vertical-align:-4px;cursor:pointer;flex:0 0 auto;position:relative;display:inline-block;transition:background .12s,border-color .12s;outline:none}
.ox-ui.ox-ui.ox-ui input[type="radio"]:not(.ox-raw){border-radius:50%}
.ox-ui.ox-ui.ox-ui input[type="checkbox"]:not(.ox-raw):checked,.ox-ui.ox-ui.ox-ui input[type="radio"]:not(.ox-raw):checked{background:var(--ox-black);border-color:var(--ox-black)}
.ox-ui.ox-ui.ox-ui input[type="checkbox"]:not(.ox-raw):checked::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12.5 4.5 4.5L19 7.5'/></svg>") center/13px no-repeat}
.ox-ui.ox-ui.ox-ui input[type="radio"]:not(.ox-raw):checked::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
.ox-ui.ox-ui.ox-ui input[type="checkbox"]:not(.ox-raw):focus-visible,.ox-ui.ox-ui.ox-ui input[type="radio"]:not(.ox-raw):focus-visible{outline:2px solid var(--ox-ink);outline-offset:2px}
/* 스위치 역할을 하는 레거시 체크박스(.omnyxar-switch input) */
.ox-ui.ox-ui.ox-ui .omnyxar-switch input[type="checkbox"]{width:38px;height:22px;border-radius:var(--ox-pill);background:var(--ox-line-2);border-color:var(--ox-line-2)}
.ox-ui.ox-ui.ox-ui .omnyxar-switch input[type="checkbox"]::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .16s;inset:auto}
.ox-ui.ox-ui.ox-ui .omnyxar-switch input[type="checkbox"]:checked{background:var(--ox-black);border-color:var(--ox-black)}
.ox-ui.ox-ui.ox-ui .omnyxar-switch input[type="checkbox"]:checked::after{transform:translateX(16px);background:#fff;background-image:none}

/* 네이티브 텍스트 컨트롤(레거시 마크업) */
.ox-ui.ox-ui.ox-ui :is(input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="search"],input[type="url"],input[type="tel"],input[type="date"],input[type="datetime-local"]):not(.ox-raw){height:var(--ox-h);padding:0 14px;border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff;color:var(--ox-ink);font-size:14px;font-family:var(--ox-font);line-height:1.4;-webkit-appearance:none;appearance:none;outline:none;box-shadow:none;max-width:100%;transition:border-color .14s}
.ox-ui.ox-ui.ox-ui :is(input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="search"],input[type="url"],input[type="tel"],input[type="date"],input[type="datetime-local"]):not(.ox-raw):focus{border-color:var(--ox-ink);box-shadow:none;outline:none}
.ox-ui.ox-ui.ox-ui :is(input,textarea)::placeholder{color:var(--ox-faint);opacity:1}
.ox-ui.ox-ui.ox-ui textarea:not(.ox-raw){min-height:120px;padding:12px 14px;border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff;color:var(--ox-ink);font-size:14px;font-family:var(--ox-font);line-height:1.6;resize:vertical;outline:none;box-shadow:none;max-width:100%;transition:border-color .14s}
.ox-ui.ox-ui.ox-ui textarea:not(.ox-raw):focus{border-color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui select:not(.ox-raw){height:var(--ox-h);padding:0 40px 0 14px;border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 12px center/16px;color:var(--ox-ink);font-size:14px;font-family:var(--ox-font);-webkit-appearance:none;appearance:none;outline:none;box-shadow:none;cursor:pointer;max-width:100%;line-height:1.4}
.ox-ui.ox-ui.ox-ui select:not(.ox-raw):focus{border-color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui select:not(.ox-raw)[multiple]{height:auto;background-image:none;padding:8px}
.ox-ui.ox-ui.ox-ui input[type="file"]{font-family:var(--ox-font);font-size:13px;color:var(--ox-mute)}
.ox-ui.ox-ui.ox-ui input[type="file"]::file-selector-button{height:var(--ox-h-sm);padding:0 14px;margin-right:10px;border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff;color:var(--ox-ink);font-weight:600;font-family:var(--ox-font);cursor:pointer}
.ox-ui.ox-ui.ox-ui input[type="color"]{width:44px;height:44px;padding:4px;border:1px solid var(--ox-line-2);border-radius:var(--ox-r-sm);background:#fff}
.ox-ui.ox-ui.ox-ui input[type="range"]{accent-color:var(--ox-black)}

/* 네이티브 버튼(레거시 마크업). 제출 버튼·클래스 없는 버튼·btn 류만 검정. 트리거/탭/닫기/아이콘 버튼은 제외. */
.ox-ui.ox-ui.ox-ui :is(button:not([class]),button[type="submit"],button[class*="btn"],button[class*="button"],input[type="submit"],input[type="button"]):not(.ox-raw):not(.ox-btn):not([class*="trigger"]):not([class*="tab"]):not([class*="close"]):not([class*="toggle"]):not([class*="icon"]):not([class*="menu"]):not([class*="nav"]):not([class*="qty"]):not([class*="stepper"]):not([class*="react"]):not([class*="bookmark"]):not([class*="link"]):not([class*="chip"]):not([class*="pill"]):not([class*="oxe-"]):not(.oxe *){display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ox-h);padding:0 18px;border:1px solid var(--ox-black);border-radius:var(--ox-r-sm);background:var(--ox-black);color:#fff;font-size:14px;font-weight:600;font-family:var(--ox-font);line-height:1;cursor:pointer;white-space:nowrap;-webkit-appearance:none;appearance:none;box-shadow:none;text-shadow:none;transition:background .14s,border-color .14s,color .14s}
.ox-ui.ox-ui.ox-ui :is(button:not([class]),button[type="submit"],button[class*="btn"],button[class*="button"],input[type="submit"],input[type="button"]):not(.ox-raw):not(.ox-btn):not([class*="trigger"]):not([class*="tab"]):not([class*="close"]):not([class*="toggle"]):not([class*="icon"]):not([class*="menu"]):not([class*="nav"]):not([class*="qty"]):not([class*="stepper"]):not([class*="react"]):not([class*="bookmark"]):not([class*="link"]):not([class*="chip"]):not([class*="pill"]):hover{background:var(--ox-black-2);border-color:var(--ox-black-2);color:#fff}
.ox-ui.ox-ui.ox-ui :is(button,input[type="submit"],input[type="button"]):focus-visible{outline:2px solid var(--ox-ink);outline-offset:2px}
.ox-ui.ox-ui.ox-ui button{font-family:var(--ox-font)}

/* ── 5. 배지·칩·탭·페이저·표·알림·빈 상태 ──────────────────────────────── */
.ox-ui .ox-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--ox-r-xs);background:var(--ox-fill-2);color:var(--ox-ink-2);font-size:var(--ox-fs-xs);font-weight:600;line-height:1;white-space:nowrap;border:1px solid transparent;vertical-align:middle}
.ox-ui .ox-badge .ox-i{width:12px;height:12px}
.ox-ui .ox-badge--blue{background:var(--ox-blue-soft);color:var(--ox-blue)}
.ox-ui .ox-badge--green{background:var(--ox-green-soft);color:var(--ox-green)}
.ox-ui .ox-badge--amber{background:var(--ox-amber-soft);color:var(--ox-amber)}
.ox-ui .ox-badge--red{background:var(--ox-red-soft);color:var(--ox-red)}
.ox-ui .ox-badge--ink{background:var(--ox-black);color:#fff}
.ox-ui .ox-badge--outline{background:#fff;border-color:var(--ox-line-2);color:var(--ox-ink-2)}
.ox-ui .ox-pill-new{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--ox-pink);color:#fff;font-size:10px;font-weight:700;line-height:1;vertical-align:middle}
.ox-ui .ox-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--ox-pill);background:var(--ox-red);color:#fff;font-size:11px;font-weight:700;line-height:1;vertical-align:middle}
.ox-ui .ox-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 var(--ox-gap)}
.ox-ui .ox-chip{display:inline-flex;align-items:center;gap:6px;height:var(--ox-h-sm);padding:0 14px;border:1px solid var(--ox-line-2);border-radius:var(--ox-pill);background:#fff;color:var(--ox-ink-2);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.ox-ui .ox-chip .ox-i{width:14px;height:14px}
.ox-ui .ox-chip b{font-weight:600;color:var(--ox-mute);font-size:12px}
.ox-ui .ox-chip:hover{border-color:var(--ox-ink);color:var(--ox-ink)}
.ox-ui .ox-chip.is-active{background:var(--ox-black);border-color:var(--ox-black);color:#fff}
.ox-ui .ox-chip.is-active b{color:rgba(255,255,255,.7)}
.ox-ui .ox-tabs{display:flex;border-bottom:1px solid var(--ox-line);margin:0 0 var(--ox-gap);overflow-x:auto;scrollbar-width:none}
.ox-ui .ox-tabs::-webkit-scrollbar{display:none}
.ox-ui .ox-tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 16px;color:var(--ox-mute);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;flex:0 0 auto}
.ox-ui .ox-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}
.ox-ui .ox-tab:hover{color:var(--ox-ink)}
.ox-ui .ox-tab.is-active{color:var(--ox-ink);font-weight:700}
.ox-ui .ox-tab.is-active::after{background:var(--ox-ink)}
.ox-ui .ox-tab-n{font-size:11.5px;font-weight:600;color:var(--ox-mute);background:var(--ox-fill-2);border-radius:var(--ox-pill);padding:1px 7px;line-height:1.5}
.ox-ui .ox-tab.is-active .ox-tab-n{background:var(--ox-black);color:#fff}
.ox-ui .ox-tabs--equal .ox-tab{flex:1 1 0;justify-content:center}
.ox-ui .ox-pager{display:flex;justify-content:center;align-items:center;gap:4px;margin:var(--ox-gap) 0 0}
.ox-ui .ox-pager-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--ox-line);border-radius:var(--ox-r-xs);background:#fff;color:var(--ox-ink-2);font-size:13px;font-weight:500;cursor:pointer}
.ox-ui .ox-pager-btn .ox-i{width:15px;height:15px}
.ox-ui .ox-pager-btn:hover{border-color:var(--ox-ink);color:var(--ox-ink)}
.ox-ui .ox-pager-btn.is-active{background:var(--ox-black);border-color:var(--ox-black);color:#fff;font-weight:700}
.ox-ui .ox-pager-btn.is-disabled{color:var(--ox-faint);pointer-events:none}
.ox-ui .ox-table-wrap{width:100%;overflow-x:auto}
.ox-ui .ox-table{width:100%;border-collapse:collapse;font-size:14px}
.ox-ui .ox-table th{padding:10px 12px;border-bottom:1px solid var(--ox-line);background:var(--ox-fill);color:var(--ox-mute);font-size:var(--ox-fs-sm);font-weight:600;text-align:left;white-space:nowrap}
.ox-ui .ox-table td{padding:12px;border-bottom:1px solid var(--ox-line);vertical-align:middle}
.ox-ui .ox-table tbody tr:hover td{background:var(--ox-fill)}
.ox-ui .ox-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);background:var(--ox-fill);color:var(--ox-ink-2);font-size:13.5px;margin:0 0 12px}
.ox-ui .ox-alert .ox-i{width:18px;height:18px;flex:0 0 auto;margin-top:2px}
.ox-ui .ox-alert--info{background:var(--ox-blue-soft);border-color:var(--ox-blue-line);color:#1e3a8a}
.ox-ui .ox-alert--success{background:var(--ox-green-soft);border-color:var(--ox-green-line);color:#14532d}
.ox-ui .ox-alert--warn{background:var(--ox-amber-soft);border-color:var(--ox-amber-line);color:#7c4a03}
.ox-ui .ox-alert--error{background:var(--ox-red-soft);border-color:var(--ox-red-line);color:#991b1b}
.ox-ui .ox-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;border:1px dashed var(--ox-line-2);border-radius:var(--ox-r);background:var(--ox-fill);color:var(--ox-mute);text-align:center;font-size:14px}
.ox-ui .ox-empty-ico{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--ox-line);display:inline-flex;align-items:center;justify-content:center;color:var(--ox-ink)}
.ox-ui .ox-empty-ico .ox-i{width:20px;height:20px}
.ox-ui .ox-empty-act{margin-top:6px}

/* 디자인 가이드 전용 */
.ox-ui .ox-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.ox-ui .ox-icon-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);font-size:11px;color:var(--ox-mute)}
.ox-ui .ox-icon-cell .ox-i{width:22px;height:22px;color:var(--ox-ink)}
.ox-ui .ox-art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.ox-ui .ox-art-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);font-size:11px;color:var(--ox-mute);color:var(--ox-ink)}
.ox-ui .ox-art-cell span{color:var(--ox-mute)}

/* ── 6. 반응형(기본 부품) ────────────────────────────────────────────────── */
@media (max-width:900px){
  .ox-ui .ox-hero{padding:22px 20px;gap:18px;flex-direction:column;align-items:stretch}
  .ox-ui .ox-hero-side{justify-content:space-between;width:100%}
  .ox-ui .ox-hero-art{width:140px;flex-basis:140px;margin-left:auto}
  .ox-ui .ox-hero-title{font-size:24px}
  .ox-ui .ox-hero-stats{justify-content:flex-start}
  .ox-ui .ox-hero-stat{min-width:0;flex:1 1 120px}
  .ox-ui .ox-grid--3,.ox-ui .ox-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ox-ui .ox-grid--2,.ox-ui .ox-grid--3,.ox-ui .ox-grid--4{grid-template-columns:1fr}
  .ox-ui .ox-page-head h1{font-size:22px}
  .ox-ui .ox-card-head,.ox-ui .ox-card-body{padding-left:16px;padding-right:16px}
  .ox-ui .ox-hero-art{display:none}
  .ox-ui .ox-table thead{display:none}
  .ox-ui .ox-table tr{display:block;border-bottom:1px solid var(--ox-line);padding:10px 0}
  .ox-ui .ox-table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;text-align:right}
  .ox-ui .ox-table td::before{content:attr(data-label);color:var(--ox-mute);font-size:12px;font-weight:500;text-align:left;flex:0 0 auto}
  .ox-ui .ox-btn:not(.ox-btn--xs):not(.ox-btn--sm){min-height:44px}
}

/* ═══════════════════════════════════════════════════════════════════════════
   2부. 레거시 화면 조정 (harmonizer)
   기존 기능 클래스에 엔진 토큰을 입힌다. 기능·마크업 계약은 그대로.
   접두 OX3 = .ox-ui.ox-ui.ox-ui (특이도 0,3,0 + 대상).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── A. 공통: 둥글기·그림자·그라디언트·어두운 면 제거 ─────────────────────── */
.ox-ui.ox-ui.ox-ui :where([class*="omnyxar-"],[class*="ox"]){box-shadow:none}
.ox-ui.ox-ui.ox-ui :where([class*="omnyxar-"],[class*="ox"])::before,
.ox-ui.ox-ui.ox-ui :where([class*="omnyxar-"],[class*="ox"])::after{box-shadow:none}
/* 큰 라운드(14px 이상)는 카드 10px 로, 알약(980/999)은 유지 */
.ox-ui.ox-ui.ox-ui :where([style*="border-radius"]){border-radius:var(--ox-r)}

/* 히어로류: 어두운 배경 → 흰 카드. 장식 배경 SVG·글로우·별 숨김 */
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxyt-off-hero,.omnyxar-profile-hero,.omnyxar-account-hero,.oxev-hero,.oxalr-hero,.oxsb-hero){background:#fff;background-image:none;color:var(--ox-ink);border:1px solid var(--ox-line);border-radius:var(--ox-r);box-shadow:none}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero)::before,
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero)::after{display:none}
.ox-ui.ox-ui.ox-ui :is(.oxmk-hero-bg,.oxrk-hero-bg,.oxtr-hero-bg,.oxal-hero-bg,.oxgb-hero-glow,.oxgb-hero-stars,.oxpat-glow,.oxst-hero-art,.oxev-hero-bg){display:none}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) :is(h1,h2,h3,p,span,strong,em,b,.k,.s,a:not([class*="btn"]):not([class*="charge"])){color:var(--ox-ink)!important;text-shadow:none;background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) :is(p,.k,.s,[class*="eyebrow"],[class*="kicker"],[class*="-cap"],[class*="-sub"],[class*="note"]){color:var(--ox-mute)!important}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) :is(h1,h2) em{color:var(--ox-mute)!important;font-weight:500}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) :is([class*="btn"],[class*="charge"]) *{color:inherit!important}
/* 복권 히어로: 아트는 엔진 모노라인, 휠·글로우 제거 */
.ox-ui.ox-ui.ox-ui .oxlt-hero-art{width:220px;flex:0 0 220px;height:auto;color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui :is(.oxlt-wheel,.oxlt-art-svg,.oxlt-hero-art::before,.oxlt-hero-art::after){display:none}
.ox-ui.ox-ui.ox-ui .oxlt-hero-pool strong{color:var(--ox-ink)!important;font-size:34px}
/* 복권 본문: 보라/금 그라디언트 면 제거. 등수 색은 글자색으로만 */
.ox-ui.ox-ui.ox-ui .oxlt-btn-primary{color:#fff!important}
.ox-ui.ox-ui.ox-ui .oxlt-btn-primary *{color:#fff!important}
.ox-ui.ox-ui.ox-ui :is(.oxlt-points,.oxlt-buy-total,.oxlt-win-day span,.oxlt-closed,.oxlt-prize-note,.oxlt-me-chip){background:var(--ox-fill);background-image:none;border:1px solid var(--ox-line);color:var(--ox-ink);box-shadow:none}
.ox-ui.ox-ui.ox-ui :is(.oxlt-points-cap,.oxlt-buy-total>span,.oxlt-buy-total em,.oxlt-win-day span){color:var(--ox-mute)}
.ox-ui.ox-ui.ox-ui :is(.oxlt-points strong,.oxlt-buy-total strong){color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxlt-win-day.is-today span{background:var(--ox-black);border-color:var(--ox-black);color:#fff}
.ox-ui.ox-ui.ox-ui .oxlt-p-ico{background:var(--ox-black);background-image:none;color:#fff}
.ox-ui.ox-ui.ox-ui .oxlt-buy-art{background:var(--ox-fill-2);background-image:none;border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);color:var(--ox-ink);box-shadow:none}
.ox-ui.ox-ui.ox-ui .oxlt-buy-art::before,.ox-ui.ox-ui.ox-ui .oxlt-buy-art::after{display:none}
.ox-ui.ox-ui.ox-ui .oxlt-buy-art :is(span,b,strong,svg,path){color:var(--ox-ink)!important;fill:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxlt-buy-main{background:var(--ox-black);background-image:none;border-color:var(--ox-black);color:#fff;box-shadow:none;height:48px;font-size:14px}
.ox-ui.ox-ui.ox-ui .oxlt-buy-main:disabled,.ox-ui.ox-ui.ox-ui .oxlt-buy-main[disabled]{background:var(--ox-fill-2);border-color:var(--ox-fill-2);color:var(--ox-faint);cursor:not-allowed}
.ox-ui.ox-ui.ox-ui .oxlt-qty-btn:hover:not(:disabled){background:var(--ox-fill);border-color:var(--ox-ink);color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxlt-st-bar{background:var(--ox-fill-2)}
.ox-ui.ox-ui.ox-ui .oxlt-st-bar i,.ox-ui.ox-ui.ox-ui .oxlt-st-row[class*="is-r"] .oxlt-st-bar i{background:var(--ox-ink);background-image:none}
.ox-ui.ox-ui.ox-ui .oxlt-st-row.is-miss .oxlt-st-bar i{background:var(--ox-line-2)}
.ox-ui.ox-ui.ox-ui :is(.oxlt-rank-1,.oxlt-rank-2,.oxlt-rank-3,.oxlt-rank-4,.oxlt-rank-5,.oxlt-rank-miss){background:var(--ox-fill-2);background-image:none;box-shadow:none;color:var(--ox-ink-2)}
.ox-ui.ox-ui.ox-ui .oxlt-rank-1{background:var(--ox-black);color:#fff}
.ox-ui.ox-ui.ox-ui :is(.oxlt-pc,.oxlt-pc.is-top,.oxlt-prize-cards.is-lucky .oxlt-pc:not(.oxlt-pc-miss)){background:#fff;background-image:none;border:1px solid var(--ox-line);box-shadow:none;animation:none;border-radius:var(--ox-r)}
.ox-ui.ox-ui.ox-ui .oxlt-pc.is-top{border-color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxlt-pc-miss{background:var(--ox-fill)}
.ox-ui.ox-ui.ox-ui :is(.oxlt-sec-lucky,.oxlt-pc-boost){background:var(--ox-amber-soft);background-image:none;color:var(--ox-amber);border:1px solid var(--ox-amber-line);box-shadow:none}
.ox-ui.ox-ui.ox-ui .oxlt-more:hover{border-color:var(--ox-ink);color:var(--ox-ink);background:var(--ox-fill)}
.ox-ui.ox-ui.ox-ui .oxlt-charge{background:var(--ox-black)}
/* 랭킹 시상대: 남색 단 → 연회색 단, 금빛 글로우·그라디언트 링 제거 */
.ox-ui.ox-ui.ox-ui .oxrk-podium::before{display:none}
.ox-ui.ox-ui.ox-ui :is(.oxrk-pod-base,.oxrk-pod-stand,.oxrk-pod-block,.oxrk-pod-step){background:var(--ox-fill-2);background-image:none;border:1px solid var(--ox-line);border-radius:var(--ox-r-sm) var(--ox-r-sm) 0 0;color:var(--ox-ink);box-shadow:none}
.ox-ui.ox-ui.ox-ui :is(.oxrk-pod-base,.oxrk-pod-stand,.oxrk-pod-block,.oxrk-pod-step) :is(span,strong,b,em){color:var(--ox-ink)!important;text-shadow:none}
.ox-ui.ox-ui.ox-ui .oxrk-pod-1 :is(.oxrk-pod-base,.oxrk-pod-stand,.oxrk-pod-block,.oxrk-pod-step){background:var(--ox-black);border-color:var(--ox-black)}
.ox-ui.ox-ui.ox-ui .oxrk-pod-1 :is(.oxrk-pod-base,.oxrk-pod-stand,.oxrk-pod-block,.oxrk-pod-step) :is(span,strong,b,em,i){color:#fff!important}
.ox-ui.ox-ui.ox-ui :is(.oxrk-pod-1,.oxrk-pod-2,.oxrk-pod-3) .oxrk-pod-av{background:var(--ox-line-2);box-shadow:none;padding:3px}
.ox-ui.ox-ui.ox-ui .oxrk-pod-1 .oxrk-pod-av{background:var(--ox-black)}
.ox-ui.ox-ui.ox-ui :is(.oxrk-pod-laurel,.oxrk-pod-crown){color:var(--ox-ink);filter:none}
.ox-ui.ox-ui.ox-ui :is(.oxrk-pod-laurel,.oxrk-pod-crown) svg :is(path,circle,ellipse,rect,polygon){fill:var(--ox-fill-3);stroke:var(--ox-ink);stroke-width:1.2}
.ox-ui.ox-ui.ox-ui .oxrk-pod-base{display:flex;align-items:center;justify-content:center;width:100%;font-size:22px;font-weight:700}
.ox-ui.ox-ui.ox-ui .oxrk-pod-base i{font-style:normal;color:inherit!important;text-shadow:none}
.ox-ui.ox-ui.ox-ui .oxrk-pod-name em{background:var(--ox-fill-2);color:var(--ox-ink-2)}
/* 얼라이언스 히어로(어둠문 일러스트): 430px 높이·하단 그라디언트 제거 → 보통 히어로 높이 */
.ox-ui.ox-ui.ox-ui .omnyxar-alliance .oxal-hero{min-height:0;align-items:center;flex-wrap:wrap}
.ox-ui.ox-ui.ox-ui .omnyxar-alliance .oxal-hero-in{padding:28px 32px;background:none;margin:0}
.ox-ui.ox-ui.ox-ui .omnyxar-alliance .oxal-hero-vault{margin:0 32px 24px 0;background:var(--ox-fill);border-color:var(--ox-line)}
.ox-ui.ox-ui.ox-ui .omnyxar-alliance .oxal-hero-vault:first-of-type{margin-left:32px}
.ox-ui.ox-ui.ox-ui .omnyxar-alliance .oxal-hero-link{color:var(--ox-blue)!important;font-weight:500}
.ox-ui.ox-ui.ox-ui .oxrk-pod-pts{color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) :is(h1,h2){font-weight:700;letter-spacing:-.02em}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) [class*="eyebrow"],
.ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) [class*="kicker"]{font-size:var(--ox-fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ox-mute);background:none;border:0;padding:0}
/* 히어로 안의 통계 박스(반투명 흰) → 연회색 타일 */
.ox-ui.ox-ui.ox-ui :is(.oxmk-points,.oxrk-mecard,.oxal-hero-vault,.oxtr-index,.oxlt-points,.oxgb-timer,.oxpat-tier){background:var(--ox-fill);border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);color:var(--ox-ink);box-shadow:none;background-image:none}
.ox-ui.ox-ui.ox-ui :is(.oxmk-points,.oxrk-mecard,.oxal-hero-vault,.oxtr-index,.oxlt-points,.oxgb-timer) :is(strong,b){color:var(--ox-ink);font-weight:700}
.ox-ui.ox-ui.ox-ui :is(.oxmk-points,.oxrk-mecard,.oxal-hero-vault,.oxtr-index,.oxlt-points,.oxgb-timer) :is(span,em,.k,.s){color:var(--ox-mute)}
.ox-ui.ox-ui.ox-ui .oxrk-me-div{background:var(--ox-line)}

/* ── B. 버튼 계열: 주(검정) / 보조(흰 테두리) / 텍스트 ───────────────────── */
.ox-ui.ox-ui.ox-ui :is(.oxbd-btn,.oxqa-btn,.oxacc-btn,.oxlt-btn,.oxev-btn,.oxal-btn,.oxrp-btn,.oxdl-btn,.oxcc-btn,.oxnc-btn,.oxmk-me-btn,.omnyxar-btn,.omnyxar-primary-btn,.omnyxar-inline-btn,.omnyxar-coupon-btn,.omnyxar-profile-primary-button,.omnyxar-profile-file-button,.oxatt-checkin-btn,.oxyt-my-btn,.oxst-cta-btn,.oxrp-jury-cta-btn,.oxbd-write-btn,.oxbd-submit-btn,.oxbd-react-btn,.oxbd-bookmark-btn,.oxacc-owned-btn,.oxacc-reply-btn,.oxup-msg-btn,.oxup-alliance-btn,.oxev-writebtn,.oxgb-card-btn,.oxdl-help-btn,.oxal-apply-file-btn,.oxqa-back-btn,.omnyxar-market-buy,.omnyxar-market-equip,.oxmk-charge,.oxlt-charge,.oxmk-card-btn,.oxmk-buy,.oxmk-try,.oxmk-gift,.oxrc-btn,.omnyxar-login-button,.omnyxar-logout-button,.oxev-send,.oxatt-btn,.oxrk-btn,.oxtr-btn,.oxsb-btn,.oxrules-btn){display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ox-h);padding:0 20px;border:1px solid var(--ox-black);border-radius:var(--ox-r-sm);background:var(--ox-black);color:#fff;font-size:14px;font-weight:600;font-family:var(--ox-font);line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;box-shadow:none;text-shadow:none;background-image:none;transform:none;transition:background .14s,border-color .14s,color .14s}
.ox-ui.ox-ui.ox-ui :is(.oxbd-btn,.oxqa-btn,.oxacc-btn,.oxlt-btn,.oxev-btn,.oxal-btn,.oxrp-btn,.oxdl-btn,.oxcc-btn,.oxnc-btn,.oxmk-me-btn,.omnyxar-btn,.omnyxar-primary-btn,.omnyxar-inline-btn,.omnyxar-coupon-btn,.omnyxar-profile-primary-button,.omnyxar-profile-file-button,.oxatt-checkin-btn,.oxyt-my-btn,.oxst-cta-btn,.oxrp-jury-cta-btn,.oxbd-write-btn,.oxbd-submit-btn,.oxbd-react-btn,.oxbd-bookmark-btn,.oxacc-owned-btn,.oxacc-reply-btn,.oxup-msg-btn,.oxup-alliance-btn,.oxev-writebtn,.oxgb-card-btn,.oxdl-help-btn,.oxal-apply-file-btn,.oxqa-back-btn,.omnyxar-market-buy,.omnyxar-market-equip,.oxmk-charge,.oxlt-charge,.oxmk-card-btn,.oxmk-buy,.oxmk-try,.oxmk-gift,.oxrc-btn,.omnyxar-login-button,.omnyxar-logout-button,.oxev-send,.oxatt-btn,.oxrk-btn,.oxtr-btn,.oxsb-btn,.oxrules-btn):hover{background:var(--ox-black-2);border-color:var(--ox-black-2);color:#fff;transform:none;box-shadow:none}
/* 보조(흰 테두리) */
.ox-ui.ox-ui.ox-ui :is([class*="-btn-ghost"],[class*="-btn-outline"],[class*="-btn-soft"],[class*="btn-secondary"],.oxlt-btn-price,.oxbd-react-btn,.oxbd-bookmark-btn,.oxqa-back-btn,.omnyxar-inline-btn,.oxdl-help-btn,.oxacc-owned-btn,.oxmk-try,.oxmk-gift,.oxup-msg-btn,.oxup-alliance-btn,.oxrp-btn-note,.oxrp-btn-reject,.oxev-btn-ghost,.oxgb-card-btn.is-soft,.omnyxar-profile-file-button,.oxbd-btn-locked){background:#fff;color:var(--ox-ink);border-color:var(--ox-line-2)}
.ox-ui.ox-ui.ox-ui :is([class*="-btn-ghost"],[class*="-btn-outline"],[class*="-btn-soft"],[class*="btn-secondary"],.oxlt-btn-price,.oxbd-react-btn,.oxbd-bookmark-btn,.oxqa-back-btn,.omnyxar-inline-btn,.oxdl-help-btn,.oxacc-owned-btn,.oxmk-try,.oxmk-gift,.oxup-msg-btn,.oxup-alliance-btn,.oxrp-btn-note,.oxrp-btn-reject,.oxev-btn-ghost,.omnyxar-profile-file-button,.oxbd-btn-locked):hover{background:var(--ox-fill);border-color:var(--ox-ink);color:var(--ox-ink)}
/* 위험 */
.ox-ui.ox-ui.ox-ui :is([class*="-btn-danger"],.omnyxar-inline-btn-danger,.oxrp-btn-punish,.oxrp-btn-halt){background:#fff;color:var(--ox-red);border-color:var(--ox-red-line)}
.ox-ui.ox-ui.ox-ui :is([class*="-btn-danger"],.omnyxar-inline-btn-danger,.oxrp-btn-punish,.oxrp-btn-halt):hover{background:var(--ox-red-soft);border-color:var(--ox-red);color:var(--ox-red)}
/* 잠김(사유 안내) */
.ox-ui.ox-ui.ox-ui :is(.oxbd-btn-locked,.is-locked,[aria-disabled="true"]):is([class*="btn"]){background:var(--ox-fill-2);color:var(--ox-faint);border-color:var(--ox-fill-2)}
/* 작은 버튼 */
.ox-ui.ox-ui.ox-ui :is(.oxbd-react-btn,.oxbd-bookmark-btn,.oxacc-owned-btn,.oxacc-reply-btn,.omnyxar-inline-btn,.oxrp-btn,.oxup-msg-btn,.oxup-alliance-btn,.oxmk-me-btn,.oxcc-btn,.oxnc-btn,.oxdl-help-btn,[class*="btn-sm"],[class*="btn-xs"],.oxlt-qty-btn){height:var(--ox-h-sm);padding:0 14px;font-size:13px}
.ox-ui.ox-ui.ox-ui .oxlt-qty-btn{width:40px;padding:0}
/* 글쓰기 버튼(목록 하단)은 기존 계약: 검정 50×200 */
.ox-ui.ox-ui.ox-ui .oxbd-write-btn{height:50px;min-width:200px;border-radius:var(--ox-r-sm)}
/* 로그인 폼 버튼 */
.ox-ui.ox-ui.ox-ui :is(.omnyxar-login-shell,.oxrc) :is(button[type="submit"],.omnyxar-login-button){width:100%;height:48px}

/* ── C. 카드·면·구분선 ──────────────────────────────────────────────────── */
.ox-ui.ox-ui.ox-ui :is(.oxacc-card,.oxal-card,.oxtr-card,.oxrk-card,.oxlt-card,.oxatt-card,.oxyt-card,.oxsb-card,.oxup-card,.oxdl-card,.oxgb-card,.oxev-card,.oxmk-card,.omnyxar-market-card,.omnyxar-image-card,.omnyxar-qna-side-card,.oxqa-d-card,.omnyxar-profile-section,.oxacc-couponcard,.oxacc-clancard,.oxacc-owned-card,.omnyxar-market-owned-card,.omnyxar-email-status-card,.oxlt-buy-panel,.oxlt-stats,.oxlt-lucky,.oxlt-wins,.oxlt-note,.oxlt-prizerow,.oxatt-cal,.oxatt-side>*,.oxdl-item,.oxgb-stage,.oxrp-panel,.oxrp-jury,.oxbl-card,.oxcc-card,.oxnc-card,.oxst-card,.oxrules-card){background:#fff;border:1px solid var(--ox-line);border-radius:var(--ox-r);box-shadow:none;background-image:none}
.ox-ui.ox-ui.ox-ui :is(.oxacc-card-head,.oxal-card-head,.oxtr-card-head,.oxrk-card-head,.oxlt-card-head,.oxmk-sec-head,.oxgb-sec-head,.oxlt-sec-head,.oxsb-sec-h,.oxup-sec-h,.oxdl-sec-h,.oxrules-sec-h,.oxqa-answers-head,.oxbd-comments-head,.oxbd-attachments-head,.oxann-log-head,.oxatt-calhead,.oxatt-guide-head,.oxyt-head,.oxalr-head,.oxbl-head,.oxnc-head,.omnyxar-profile-panel-head,.omnyxar-qna-section-head,.omnyxar-tab-head) :is(h1,h2,h3,h4){font-size:16px;font-weight:700;color:var(--ox-ink);letter-spacing:-.01em}
.ox-ui.ox-ui.ox-ui :is(.oxacc-card-head,.oxal-card-head,.oxtr-card-head,.oxrk-card-head,.oxlt-card-head,.oxmk-sec-head,.oxgb-sec-head,.oxlt-sec-head) :is(span,p,a,small){color:var(--ox-mute);font-weight:500}

/* ── D. 탭·칩·배지 ─────────────────────────────────────────────────────── */
/* 알약 탭 계열(랭킹·마켓·복권·내 정보·프로필·얼라이언스 등) → 밑줄 탭 */
.ox-ui.ox-ui.ox-ui :is(.oxrk-tabs,.oxlt-tabs,.oxacc-tabs,.oxup-tabs,.oxrc-tabs,.oxacc-comms-tabs,.omnyxar-profile-tabs,.oxal-ltabs){display:flex;gap:0;border-bottom:1px solid var(--ox-line);background:none;padding:0;border-radius:0;margin-bottom:var(--ox-gap);overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
.ox-ui.ox-ui.ox-ui :is(.oxrk-tab,.oxlt-tab,.oxacc-tab,.oxup-tab,.oxrc-tab,.oxacc-comms-tab,.omnyxar-profile-tabs a,.omnyxar-profile-tabs button,.oxal-ltabs a,.oxal-ltabs button){position:relative;display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 16px;border:0;border-radius:0;background:none;color:var(--ox-mute);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;flex:0 0 auto;box-shadow:none;margin:0}
.ox-ui.ox-ui.ox-ui :is(.oxrk-tab,.oxlt-tab,.oxacc-tab,.oxup-tab,.oxrc-tab,.oxacc-comms-tab,.omnyxar-profile-tabs a,.omnyxar-profile-tabs button,.oxal-ltabs a,.oxal-ltabs button):hover{color:var(--ox-ink);background:none}
.ox-ui.ox-ui.ox-ui :is(.oxrk-tab,.oxlt-tab,.oxacc-tab,.oxup-tab,.oxrc-tab,.oxacc-comms-tab,.omnyxar-profile-tabs a,.omnyxar-profile-tabs button,.oxal-ltabs a,.oxal-ltabs button):is(.is-active,.active,[aria-selected="true"],.is-current){color:var(--ox-ink);font-weight:700;background:none;border:0}
.ox-ui.ox-ui.ox-ui :is(.oxrk-tab,.oxlt-tab,.oxacc-tab,.oxup-tab,.oxrc-tab,.oxacc-comms-tab,.omnyxar-profile-tabs a,.omnyxar-profile-tabs button,.oxal-ltabs a,.oxal-ltabs button):is(.is-active,.active,[aria-selected="true"],.is-current)::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui :is(.oxacc-tab-cnt,.oxup-tab-cnt){font-size:11.5px;font-weight:600;color:var(--ox-mute);background:var(--ox-fill-2);border-radius:var(--ox-pill);padding:1px 7px;line-height:1.5}
/* 마켓 대분류 탭(칩) / 필터 버튼 → 칩 */
.ox-ui.ox-ui.ox-ui :is(.oxmk-tab,.omnyxar-market-filter-btn,.oxmk-subtab,.oxtr-period a,.oxev-pill,.oxgb-pill,.oxqa-cat-pill,.omnyxar-category-pill,.oxmk-me-chip,.oxlt-me-chip,.oxatt-ms-chip,.oxatt-rankchip,.oxsb-chip,.oxst-chip,.oxpat-chip,.oxev-chip,.oxgb-chip){display:inline-flex;align-items:center;gap:6px;height:var(--ox-h-sm);padding:0 14px;border:1px solid var(--ox-line-2);border-radius:var(--ox-pill);background:#fff;color:var(--ox-ink-2);font-size:13px;font-weight:500;white-space:nowrap;box-shadow:none;background-image:none;text-decoration:none}
.ox-ui.ox-ui.ox-ui :is(.oxmk-tab,.omnyxar-market-filter-btn,.oxmk-subtab,.oxtr-period a):hover{border-color:var(--ox-ink);color:var(--ox-ink);background:#fff}
.ox-ui.ox-ui.ox-ui :is(.oxmk-tab,.omnyxar-market-filter-btn,.oxmk-subtab,.oxtr-period a):is(.is-active,.active,[aria-current]){background:var(--ox-black);border-color:var(--ox-black);color:#fff}
.ox-ui.ox-ui.ox-ui :is(.oxmk-tab,.omnyxar-market-filter-btn,.oxmk-subtab):is(.is-active,.active) :is(b,span,.oxmk-tab-n){color:rgba(255,255,255,.75)}
.ox-ui.ox-ui.ox-ui .oxmk-tab-n{font-size:12px;color:var(--ox-mute);font-weight:600}
.ox-ui.ox-ui.ox-ui :is(.oxmk-me-chip,.oxlt-me-chip,.oxatt-ms-chip,.oxatt-rankchip,.oxsb-chip,.oxst-chip,.oxpat-chip,.oxev-chip,.oxgb-chip){height:auto;min-height:28px;padding:3px 11px;font-size:12.5px;background:var(--ox-fill);border-color:var(--ox-line)}
/* 상태 pill: 진행중/종료 등은 상태색만 */
.ox-ui.ox-ui.ox-ui :is(.oxgb-pill,.oxev-pill){height:26px;padding:0 10px;font-size:12px;font-weight:600;background:var(--ox-fill);border-color:var(--ox-line);color:var(--ox-ink-2)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-pill,.oxev-pill):is(.is-live,.is-ok,.is-on){background:var(--ox-green-soft);border-color:var(--ox-green-line);color:var(--ox-green)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-pill,.oxev-pill):is(.is-soon,.is-upcoming){background:var(--ox-amber-soft);border-color:var(--ox-amber-line);color:var(--ox-amber)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-pill,.oxev-pill):is(.is-ended,.is-off){background:var(--ox-fill-2);border-color:var(--ox-fill-2);color:var(--ox-mute)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-pill,.oxev-pill) i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
/* 배지 계열: 소프트 톤 */
.ox-ui.ox-ui.ox-ui :is(.oxacc-badge,.oxup-badge,.oxal-badge,.oxpat-badge,.oxgl-badge,.oxmk-cat-badge,.oxmk-effect-badge,.oxbd-sig-badge,.oxsb-tag,.oxatt-tag,.oxdl-tag,.oxnp-tag,.oxbd-tag,.oxacc-notif-tag,.omnyxar-email-status-badge,.oxbd-pill,.oxrp-list-pill,.oxrp-voter-pill,.oxsb-pill){display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--ox-r-xs);background:var(--ox-fill-2);color:var(--ox-ink-2);font-size:var(--ox-fs-xs);font-weight:600;line-height:1;border:1px solid transparent;box-shadow:none;background-image:none;white-space:nowrap}
.ox-ui.ox-ui.ox-ui :is(.oxacc-badge-grade,.oxup-badge-grade,.omnyxar-grade-badge,.oxbd-sig-badge-grade){background:var(--ox-blue-soft);color:var(--ox-blue)}
.ox-ui.ox-ui.ox-ui :is(.oxacc-badge-patron,.oxpat-badge,.oxpat-ribbon){background:var(--ox-amber-soft);color:var(--ox-amber)}
.ox-ui.ox-ui.ox-ui :is(.omnyxar-admin-badge,.omnyxar-author-role-badge,.omnyxar-grade-badge-admin,.omnyxar-qna-role-badge){background:var(--ox-black);color:#fff}
.ox-ui.ox-ui.ox-ui :is(.oxmk-badge-new){background:var(--ox-amber-soft);color:var(--ox-amber)}
.ox-ui.ox-ui.ox-ui :is(.oxmk-badge-disc){background:var(--ox-red);color:#fff}

/* ── E. 표·페이저 ───────────────────────────────────────────────────────── */
.ox-ui.ox-ui.ox-ui :is(.oxacc-table,.oxal-table,.oxal-ranktable,.oxtr-table,.oxbl-table,.ox-gs-table,.omnyxar-access-table,.oxqa-table,.omnyxar-board-table,.oxgl-table,.oxsb-table,.oxnc-table,.oxcc-table) th{padding:10px 12px;border-bottom:1px solid var(--ox-line);background:var(--ox-fill);color:var(--ox-mute);font-size:var(--ox-fs-sm);font-weight:600;text-align:left;white-space:nowrap;border-top:0}
.ox-ui.ox-ui.ox-ui :is(.oxacc-table,.oxal-table,.oxal-ranktable,.oxtr-table,.oxbl-table,.ox-gs-table,.omnyxar-access-table,.oxgl-table,.oxsb-table,.oxnc-table,.oxcc-table) td{padding:12px;border-bottom:1px solid var(--ox-line);vertical-align:middle;font-size:14px}
.ox-ui.ox-ui.ox-ui :is(.ox-pagerbar,.ox-pager,.omnyxar-pagination,.oxbd-pager,.oxqa-pager,.oxmk-pager){display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:wrap}
.ox-ui.ox-ui.ox-ui :is(.ox-pager,.omnyxar-pagination,.oxbd-pager,.oxqa-pager,.oxmk-pager) :is(a,span,button){display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--ox-line);border-radius:var(--ox-r-xs);background:#fff;color:var(--ox-ink-2);font-size:13px;font-weight:500;text-decoration:none;box-shadow:none}
.ox-ui.ox-ui.ox-ui :is(.ox-pager,.omnyxar-pagination,.oxbd-pager,.oxqa-pager,.oxmk-pager) :is(a:hover){border-color:var(--ox-ink);color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui :is(.ox-pager,.omnyxar-pagination,.oxbd-pager,.oxqa-pager,.oxmk-pager) :is(.is-active,.current,.active,[aria-current="page"]){background:var(--ox-black);border-color:var(--ox-black);color:#fff;font-weight:700}
.ox-ui.ox-ui.ox-ui :is(.ox-pager,.omnyxar-pagination,.oxbd-pager,.oxqa-pager,.oxmk-pager) :is(.is-disabled,.disabled){color:var(--ox-faint);pointer-events:none}
.ox-ui.ox-ui.ox-ui .ox-pagerbar select{height:var(--ox-h-sm);padding:0 34px 0 12px;font-size:13px;background-position:right 10px center}

/* ── F. 알림·빈 상태·구분 ───────────────────────────────────────────────── */
.ox-ui.ox-ui.ox-ui :is(.omnyxar-market-notice,.oxal-notice,.oxacc-flash,.oxacc-msg-flash,.oxrc-msg,.oxlt-closed,.oxatt-note,.oxbd-notice,.oxev-notice,.oxpat-notice,.oxgb-notice,.oxmk-notice,.omnyxar-login-message,.oxqa-notice,.oxrp-notice,.oxcc-msg,.oxnc-msg,.oxdl-notice,.omnyxar-notice){display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);background:var(--ox-fill);color:var(--ox-ink-2);font-size:13.5px;font-weight:500;box-shadow:none;background-image:none}
.ox-ui.ox-ui.ox-ui :is(.omnyxar-market-notice,.oxal-notice,.oxacc-flash,.oxacc-msg-flash,.oxrc-msg,.oxbd-notice,.oxev-notice,.oxpat-notice,.oxgb-notice,.oxmk-notice,.omnyxar-login-message,.oxqa-notice,.oxrp-notice,.oxcc-msg,.oxnc-msg,.omnyxar-notice):is(.success,.ok,.is-ok,.is-success){background:var(--ox-green-soft);border-color:var(--ox-green-line);color:#14532d}
.ox-ui.ox-ui.ox-ui :is(.omnyxar-market-notice,.oxal-notice,.oxacc-flash,.oxacc-msg-flash,.oxrc-msg,.oxbd-notice,.oxev-notice,.oxpat-notice,.oxgb-notice,.oxmk-notice,.omnyxar-login-message,.oxqa-notice,.oxrp-notice,.oxcc-msg,.oxnc-msg,.omnyxar-notice):is(.error,.err,.is-error,.is-err,.danger){background:var(--ox-red-soft);border-color:var(--ox-red-line);color:#991b1b}
.ox-ui.ox-ui.ox-ui :is(.omnyxar-market-notice,.oxal-notice,.oxacc-flash,.oxbd-notice,.oxlt-closed,.oxatt-note,.oxev-notice,.oxpat-notice,.oxgb-notice,.oxmk-notice,.oxqa-notice,.oxrp-notice,.omnyxar-notice):is(.warn,.warning,.is-warn){background:var(--ox-amber-soft);border-color:var(--ox-amber-line);color:#7c4a03}
.ox-ui.ox-ui.ox-ui :is(.oxacc-empty,.oxrk-empty,.oxtr-empty,.oxal-empty,.omnyxar-market-empty,.oxlt-empty,.oxatt-empty,.oxgb-empty,.oxev-empty,.oxqa-empty,.oxbd-empty,.oxmk-empty,.oxdl-empty,.oxup-empty,.oxyt-empty,.oxsb-empty,.omnyxar-empty){padding:36px 20px;border:1px dashed var(--ox-line-2);border-radius:var(--ox-r);background:var(--ox-fill);color:var(--ox-mute);text-align:center;font-size:14px}

/* ── G. 폰트 통일(Pretendard/Cinzel/Arial 스택 제거) ──────────────────── */
.ox-ui.ox-ui.ox-ui :is(.omnyxar-lotto2,.omnyxar-rank2,.omnyxar-attendance2,.omnyxar-qna2,.omnyxar-treasury,.omnyxar-alliance,.omnyxar-mk,.oxgb,.omnyxar-dl,.oxacc,.oxup,.oxev,.oxrules,.omnyxar-board,.oxsb,.oxst,.oxrc){font-family:var(--ox-font)}
.ox-ui.ox-ui.ox-ui :is([class*="eyebrow"],[class*="kicker"],.oxtr-hero-eyebrow,.oxrk-hero-eyebrow,.oxmk-eyebrow,.oxal-hero-eyebrow){font-family:var(--ox-font);letter-spacing:.14em}

/* ── H. 링크 색: 파랑은 링크/정보에만 ─────────────────────────────────── */
.ox-ui.ox-ui.ox-ui :is(.oxacc-feed-title,.omnyxar-latest-post-title,.oxbd-title-link,.oxqa-title-link,.omnyxar-title-link){color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui :is(.oxacc-feed-title,.omnyxar-latest-post-title,.oxbd-title-link,.oxqa-title-link,.omnyxar-title-link):hover{color:var(--ox-blue)}

/* ── I-0. 강제 규칙(레거시 !important 상쇄): 주 버튼·활성 페이저는 검정 ─── */
.ox-ui.ox-ui.ox-ui :is([class*="btn-primary"],[class*="-primary-btn"],.oxev-writebtn,.oxlt-buy-main:not(:disabled),.oxatt-checkin-btn,.oxbd-write-btn,.oxbd-submit-btn,.omnyxar-market-buy,.oxmk-buy){background:var(--ox-black)!important;background-image:none!important;border-color:var(--ox-black)!important;color:#fff!important;box-shadow:none!important;border-radius:var(--ox-r-sm)!important}
.ox-ui.ox-ui.ox-ui :is([class*="btn-primary"],[class*="-primary-btn"],.oxev-writebtn,.oxatt-checkin-btn,.oxbd-write-btn,.oxbd-submit-btn) :is(span,b,i,svg){color:#fff!important}
.ox-ui.ox-ui.ox-ui :is(.ox-pager,.ox-pagerbar,.omnyxar-pagination,.oxbd-pager,.oxqa-pager,.oxmk-pager,.oxev-pager) :is(.is-active,.current,.is-current,.active,[aria-current="page"]){background:var(--ox-black)!important;border-color:var(--ox-black)!important;color:#fff!important}

/* ── I-1. 이벤트 게시판 스킨: 글별 컬러 배너 → 흰 카드(테마색은 쓰지 않음) ── */
.ox-ui.ox-ui.ox-ui .oxev-feat{background:#fff!important;background-image:none!important;border:1px solid var(--ox-line);border-radius:var(--ox-r);box-shadow:none;color:var(--ox-ink);padding:24px 28px;min-height:0}
.ox-ui.ox-ui.ox-ui .oxev-feat::before,.ox-ui.ox-ui.ox-ui .oxev-feat::after{display:none}
.ox-ui.ox-ui.ox-ui .oxev-feat:hover{transform:none;box-shadow:none;border-color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxev-feat-title{color:var(--ox-ink)!important;text-shadow:none;font-size:20px;font-weight:700}
.ox-ui.ox-ui.ox-ui :is(.oxev-feat-until,.oxev-feat-cap,.oxev-feat-rewards,.oxev-feat-rewards *){color:var(--ox-mute)!important;text-shadow:none;font-weight:500}
.ox-ui.ox-ui.ox-ui .oxev-feat-pills .oxev-pill{position:static;height:26px;padding:0 10px;font-size:12px;font-weight:600;background:var(--ox-fill);border:1px solid var(--ox-line);color:var(--ox-ink-2)!important;backdrop-filter:none;box-shadow:none}
.ox-ui.ox-ui.ox-ui .oxev-feat-pills .oxev-pill.is-live{background:var(--ox-green-soft);border-color:var(--ox-green-line);color:var(--ox-green)!important}
.ox-ui.ox-ui.ox-ui .oxev-feat-pills .oxev-pill.is-soon{background:var(--ox-amber-soft);border-color:var(--ox-amber-line);color:var(--ox-amber)!important}
.ox-ui.ox-ui.ox-ui .oxev-feat-pills .oxev-pill.is-soft{background:#fff;border-color:var(--ox-line-2);color:var(--ox-ink-2)!important}
.ox-ui.ox-ui.ox-ui .oxev-feat-pills .oxev-pill i{background:currentColor}
.ox-ui.ox-ui.ox-ui .oxev-feat-side{background:var(--ox-fill);border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);color:var(--ox-ink);box-shadow:none;backdrop-filter:none;padding:16px 20px}
.ox-ui.ox-ui.ox-ui .oxev-feat-side :is(span,small,.oxev-feat-cap){color:var(--ox-mute)!important}
.ox-ui.ox-ui.ox-ui .oxev-feat-timer,.ox-ui.ox-ui.ox-ui .oxev-feat-timer *{color:var(--ox-ink)!important;text-shadow:none}
.ox-ui.ox-ui.ox-ui .oxev-feat-cta{background:var(--ox-black)!important;color:#fff!important;border:1px solid var(--ox-black);border-radius:var(--ox-r-sm);height:var(--ox-h-sm);padding:0 16px;font-size:13px;font-weight:600;box-shadow:none}
.ox-ui.ox-ui.ox-ui .oxev-feat-art{color:var(--ox-line-2);opacity:1;filter:none}
.ox-ui.ox-ui.ox-ui .oxev-card{background:#fff;border:1px solid var(--ox-line);border-radius:var(--ox-r);box-shadow:none;overflow:hidden}
.ox-ui.ox-ui.ox-ui .oxev-card:hover{transform:none;box-shadow:none;border-color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxev-card-banner{background:var(--ox-fill-2)!important;background-image:none!important;height:84px}
.ox-ui.ox-ui.ox-ui .oxev-card-banner::after{display:none}
.ox-ui.ox-ui.ox-ui .oxev-card-art{color:var(--ox-line-2);opacity:1;filter:none}
.ox-ui.ox-ui.ox-ui .oxev-card-banner .oxev-pill{position:absolute;height:24px;padding:0 9px;font-size:11.5px;background:#fff;border:1px solid var(--ox-line);color:var(--ox-ink-2)!important;box-shadow:none}
.ox-ui.ox-ui.ox-ui .oxev-card-banner .oxev-pill.is-ended{color:var(--ox-mute)!important}
.ox-ui.ox-ui.ox-ui .oxev-card-title{color:var(--ox-ink);font-weight:700}
.ox-ui.ox-ui.ox-ui .oxev-writebtn{height:var(--ox-h);padding:0 20px}
.ox-ui.ox-ui.ox-ui .oxev-listbar-cnt{background:var(--ox-fill-2);color:var(--ox-ink-2);border:1px solid transparent}
.ox-ui.ox-ui.ox-ui .oxev-listbar-cnt.is-soon{background:var(--ox-amber-soft);color:var(--ox-amber)}
.ox-ui.ox-ui.ox-ui .oxev-chip.is-coupon{background:var(--ox-green-soft);color:var(--ox-green);border-color:var(--ox-green-line)}

/* ── I-2. 선물상자: 무대 보라 면 → 흰 면, 잠금 안내 중립색 ─────────────── */
.ox-ui.ox-ui.ox-ui :is(.oxgb-stage,.oxgb-stage-in,.oxgb-stage-box){background:#fff;background-image:none}
.ox-ui.ox-ui.ox-ui .oxgb-stage{border:1px solid var(--ox-line);border-radius:var(--ox-r)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-lock,.oxgb-stage-msg,.oxgb-card-msg){background:var(--ox-fill);border:1px solid var(--ox-line);color:var(--ox-ink-2);border-radius:var(--ox-r-sm)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-lock,.oxgb-stage-msg,.oxgb-card-msg) *{color:var(--ox-ink-2)}
.ox-ui.ox-ui.ox-ui .oxgb-box{filter:none}

/* ── I-3. 선물상자 본문: 보라 면·그라디언트·이모지 왕관 제거 ───────────── */
.ox-ui.ox-ui.ox-ui :is(.oxgb-show,.oxgb-show.is-ready){background:#fff;background-image:none;border:1px solid var(--ox-line);border-radius:var(--ox-r)}
.ox-ui.ox-ui.ox-ui .oxgb-show.is-ready .oxgb-show-head p{color:var(--ox-mute)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-box-ring,.oxgb-box-pedestal){background:var(--ox-fill-2);background-image:none;opacity:.7}
.ox-ui.ox-ui.ox-ui :is(.oxgb-card-title,.oxgb-prize em,.oxgb-log-day.is-today,.oxgb-more-n){color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-prize-rate,.oxgb-chip){background:var(--ox-fill-2);color:var(--ox-ink-2)}
.ox-ui.ox-ui.ox-ui :is(.oxgb-prize,.oxgb-prize.is-r1){background:#fff;background-image:none;border:1px solid var(--ox-line);box-shadow:none;border-radius:var(--ox-r-sm)}
.ox-ui.ox-ui.ox-ui .oxgb-prize.is-r1{border-color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxgb-prize.is-r1::after{content:none}
.ox-ui.ox-ui.ox-ui .oxgb-log-row.is-win{background:var(--ox-fill);background-image:none}
.ox-ui.ox-ui.ox-ui .oxgb-lock{background:var(--ox-fill);border:1px solid var(--ox-line);color:var(--ox-ink-2);border-radius:var(--ox-r-sm)}
.ox-ui.ox-ui.ox-ui .oxgb-lock .ox-i{width:16px;height:16px;margin-right:6px;vertical-align:-3px}

/* ── I-4. QnA: 파란 CTA·활성 페이저 → 검정 ────────────────────────────── */
.ox-ui.ox-ui.ox-ui :is(.oxqa-new,.oxqa-cta,.oxqa-cta a){background:var(--ox-black)!important;background-image:none!important;border-color:var(--ox-black)!important;color:#fff!important;box-shadow:none!important;border-radius:var(--ox-r-sm)!important}
.ox-ui.ox-ui.ox-ui :is(.oxqa-new,.oxqa-cta) *{color:#fff!important}
.ox-ui.ox-ui.ox-ui .ox-pager :is(.current,a.current,span.current){background:var(--ox-black)!important;border-color:var(--ox-black)!important;color:#fff!important}
.ox-ui.ox-ui.ox-ui .oxqa-head-shield{color:var(--ox-ink)}

/* ── I-5. 최신 글·티커: Arial 스택 → 엔진 글꼴, 목록 모양 ───────────────── */
.ox-ui.ox-ui.ox-ui :is(.omnyxar-latest-posts,.omnyxar-latest-ticker){font-family:var(--ox-font);font-size:14px;color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .omnyxar-latest-post-title{color:var(--ox-ink);font-weight:500}
.ox-ui.ox-ui.ox-ui .omnyxar-latest-post-title:hover{color:var(--ox-blue)}
.ox-ui.ox-ui.ox-ui .omnyxar-latest-post-meta{color:var(--ox-mute);font-size:12.5px}
.ox-ui.ox-ui.ox-ui .omnyxar-latest-post-item{border-bottom:1px solid var(--ox-line);padding:10px 0}

/* ── I-6. 모바일 목록의 이모지 접두(👁 ♥) → 엔진 아이콘 ─────────────────── */
.ox-ui.ox-ui.ox-ui .omnyxar-board-table td.omnyxar-board-col-views:before{content:""!important;width:14px;height:14px;display:inline-block!important;vertical-align:-2px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z'/><circle cx='12' cy='12' r='3'/></svg>") center/14px no-repeat}
.ox-ui.ox-ui.ox-ui .omnyxar-board-table td.omnyxar-board-col-likes:before{content:""!important;width:14px;height:14px;display:inline-block!important;vertical-align:-2px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0218a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.5A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z'/></svg>") center/14px no-repeat}

/* ── I-6b. 자체 에디터(.oxe)는 엔진 버튼 규칙에서 제외(툴바 글리프 버튼) ── */
.ox-ui.ox-ui.ox-ui .oxe button,.ox-ui.ox-ui.ox-ui .oxe .oxe-btn{height:auto;padding:0;border:0;background:transparent;color:inherit;border-radius:6px;font-size:inherit;font-weight:inherit}
.ox-ui.ox-ui.ox-ui .oxe button:hover{background:var(--ox-fill-2);color:inherit;border-color:transparent}
.ox-ui.ox-ui.ox-ui .oxe .oxe-select{height:34px;padding:0 28px 0 10px;font-size:13px;background-position:right 8px center}
.ox-ui.ox-ui.ox-ui .oxe .oxe-pop-btn{height:var(--ox-h-sm);padding:0 14px;border:1px solid var(--ox-black);background:var(--ox-black);color:#fff;font-size:13px;font-weight:600}
.ox-ui.ox-ui.ox-ui .oxe .oxe-pop-input{height:var(--ox-h-sm)}
/* 이벤트 상세 히어로: 떠다니는 이모지 제거, 타이머 타일 */
.ox-ui.ox-ui.ox-ui .oxev-float{display:none}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-timer{background:var(--ox-fill);border:1px solid var(--ox-line);border-radius:var(--ox-r-sm);color:var(--ox-ink);box-shadow:none;backdrop-filter:none}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-timer :is(.oxev-timer-cap,span){color:var(--ox-mute)!important}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-timer .oxev-timer-num{color:var(--ox-ink)!important}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-pills .oxev-pill{position:static;background:var(--ox-fill);border:1px solid var(--ox-line);color:var(--ox-ink-2)!important;backdrop-filter:none}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-pills .oxev-pill.is-live{background:var(--ox-green-soft);border-color:var(--ox-green-line);color:var(--ox-green)!important}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-pills .oxev-pill.is-soon{background:var(--ox-amber-soft);border-color:var(--ox-amber-line);color:var(--ox-amber)!important}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-pills .oxev-pill.is-ended{background:var(--ox-fill-2);color:var(--ox-mute)!important}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-ranks{background:var(--ox-fill);border:1px solid var(--ox-line);border-radius:var(--ox-r-sm)}
.ox-ui.ox-ui.ox-ui .oxev-hero .oxev-ranks *{color:var(--ox-ink)!important}
/* 이벤트 글쓰기 설정 패널 */
.ox-ui.ox-ui.ox-ui .oxbd-evwrite{background:var(--ox-fill);border:1px solid var(--ox-line);border-radius:var(--ox-r)}
.ox-ui.ox-ui.ox-ui .oxbd-evwrite-head{color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .oxbd-evwrite [class*="add"],.ox-ui.ox-ui.ox-ui .oxbd-evwrite button[type="button"]{background:#fff;color:var(--ox-ink);border:1px solid var(--ox-line-2);height:var(--ox-h-sm);padding:0 14px;font-size:13px;border-radius:var(--ox-r-sm)}
/* 선물상자 히어로: 글 블록은 세로 흐름, 아트는 오른쪽 */
.ox-ui.ox-ui.ox-ui .oxgb-hero-in{display:block;padding-right:260px}
.ox-ui.ox-ui.ox-ui :is(.oxgb-me,.oxgb-me-box,.oxgb-me-stat,.oxgb-stat.is-me){background:var(--ox-fill);background-image:none;border:1px solid var(--ox-line);color:var(--ox-ink)}

/* 댓글·인라인 보조 버튼(레거시 !important 상쇄): 흰 바탕 작은 보조 버튼 */
.ox-ui.ox-ui.ox-ui .omnyxar-inline-btn{background:#fff!important;color:var(--ox-ink)!important;border:1px solid var(--ox-line-2)!important;height:var(--ox-h-sm)!important;min-height:var(--ox-h-sm)!important;padding:0 14px!important;font-size:13px!important;font-weight:600!important;border-radius:var(--ox-r-sm)!important;box-shadow:none!important}
.ox-ui.ox-ui.ox-ui .omnyxar-inline-btn:hover{background:var(--ox-fill)!important;border-color:var(--ox-ink)!important;color:var(--ox-ink)!important}
.ox-ui.ox-ui.ox-ui .omnyxar-inline-btn-danger{color:var(--ox-red)!important;border-color:var(--ox-red-line)!important}
.ox-ui.ox-ui.ox-ui .omnyxar-inline-btn-danger:hover{background:var(--ox-red-soft)!important;border-color:var(--ox-red)!important}
/* 받은 쪽지 답장 링크 */
.ox-ui.ox-ui.ox-ui .oxacc-inbox-reply{color:var(--ox-blue);font-weight:600}
.ox-ui.ox-ui.ox-ui .oxacc-inbox-reply:hover{text-decoration:underline}

/* ── I-7. 레거시 히어로 안의 엔진 아트 ───────────────────────────────────── */
.ox-ui.ox-ui.ox-ui :is(.oxmk-head-in,.oxrk-hero-in,.oxtr-hero-in,.oxal-hero-in,.oxgb-hero-in,.oxdl-hero-in,.oxlt-hero){display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head-in,.oxrk-hero-in,.oxtr-hero-in,.oxal-hero-in,.oxgb-hero-in,.oxdl-hero-in) .ox-hero-art{width:190px;flex:0 0 190px;margin-left:auto;order:99;color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui :is(.oxmk-head-in,.oxrk-hero-in,.oxtr-hero-in,.oxal-hero-in,.oxgb-hero-in,.oxdl-hero-in) .ox-hero-art svg{width:100%;height:auto;display:block}
.ox-ui.ox-ui.ox-ui .oxgb-hero-in{position:relative}
.ox-ui.ox-ui.ox-ui .oxgb-hero-in .ox-hero-art{position:absolute;right:28px;top:50%;transform:translateY(-50%);margin:0}
.ox-ui.ox-ui.ox-ui .oxdl-hero-in{position:relative}
.ox-ui.ox-ui.ox-ui .oxdl-hero-in .ox-hero-art{position:absolute;right:32px;top:50%;transform:translateY(-50%);margin:0}
.ox-ui.ox-ui.ox-ui .oxmk-head-right{margin-left:auto;order:50}
.ox-ui.ox-ui.ox-ui .oxmk-head-in .ox-hero-art{margin-left:0}
.ox-ui.ox-ui.ox-ui :is(.oxrk-mecard){order:50;margin-left:auto}
.ox-ui.ox-ui.ox-ui .oxrk-hero-in .ox-hero-art{margin-left:0}
.ox-ui.ox-ui.ox-ui .oxtr-hero-in{justify-content:space-between}
.ox-ui.ox-ui.ox-ui .oxtr-hero-in .ox-hero-art{margin-left:0}
@media (max-width:900px){.ox-ui.ox-ui.ox-ui :is(.oxmk-head-in,.oxrk-hero-in,.oxtr-hero-in,.oxal-hero-in,.oxgb-hero-in,.oxdl-hero-in) .ox-hero-art{display:none}}

/* ═══ J. 이미지(갤러리) 스킨 목록 v2 (oximg) — 3열 카드, 오버레이 제목, NEW 리본 ═══ */
.ox-ui .oximg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:4px 0 0}
.ox-ui .oximg-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ox-line);border-radius:var(--ox-r);overflow:hidden;min-width:0;transition:border-color .14s}
.ox-ui .oximg-card:hover{border-color:var(--ox-ink)}
.ox-ui .oximg-thumb{position:relative;display:block;aspect-ratio:16/9;background:var(--ox-fill-2);overflow:hidden}
.ox-ui .oximg-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ox-ui .oximg-card:hover .oximg-thumb img{transform:scale(1.03)}
.ox-ui .oximg-noimg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ox-faint);font-size:12.5px}
.ox-ui .oximg-noimg .ox-i{width:28px;height:28px}
.ox-ui .oximg-cap{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:38px 16px 13px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.62) 100%);color:#fff}
.ox-ui .oximg-title{min-width:0;flex:1 1 auto;font-size:15px;font-weight:700;line-height:1.35;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ox-ui .oximg-title em{font-style:normal;font-weight:600;color:rgba(255,255,255,.85);margin-left:2px}
.ox-ui .oximg-date{flex:0 0 auto;font-size:12px;color:rgba(255,255,255,.8);font-weight:500}
.ox-ui .oximg-new{position:absolute;left:0;top:0;width:64px;height:64px;overflow:hidden;pointer-events:none}
.ox-ui .oximg-new b{position:absolute;left:-26px;top:12px;width:104px;transform:rotate(-45deg);background:var(--ox-pink);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-align:center;line-height:20px}
.ox-ui .oximg-check{position:absolute;right:10px;top:10px;z-index:2;background:rgba(255,255,255,.92);padding:5px;border-radius:var(--ox-r-xs)}
.ox-ui .oximg-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:60px}
.ox-ui .oximg-author{min-width:0;flex:1 1 auto;display:flex;align-items:center}
.ox-ui .oximg-author .omnyxar-author-ava{width:32px;height:32px}
.ox-ui .oximg-stats{display:flex;align-items:center;gap:14px;flex:0 0 auto;color:var(--ox-faint);font-size:13px;font-weight:500}
.ox-ui .oximg-stat{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}
.ox-ui .oximg-stat .ox-i{width:15px;height:15px}
.ox-ui .oximg-like.is-on{color:var(--ox-pink)}
.ox-ui .oximg-like.is-on .ox-i{fill:var(--ox-pink);stroke:var(--ox-pink)}
.ox-ui .oximg-bulk{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
@media (max-width:1024px){.ox-ui .oximg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:640px){.ox-ui .oximg-grid{grid-template-columns:1fr;gap:14px}.ox-ui .oximg-title{font-size:14px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}

/* ═══ K. 이미지 슬라이더 숏코드 — 같은 카드 언어 ═══ */
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider{padding:0 48px;border:0;background:none;overflow:visible}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-viewport{border-radius:var(--ox-r)}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slide-card{background:#fff;border:1px solid var(--ox-line);border-radius:var(--ox-r);overflow:hidden;box-shadow:none;transform:none}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slide-card:hover{transform:none;border-color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slide-thumb{display:block;position:relative;background:var(--ox-fill-2);overflow:hidden;border-radius:0}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slide-thumb img{width:100%;height:var(--ox-img-h,150px);object-fit:cover;display:block;border-radius:0}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slide-title{display:block;padding:10px 12px 2px;font-size:var(--ox-img-title-size,13px);font-weight:600;color:var(--ox-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slide-meta{display:block;padding:0 12px 10px;font-size:12px;color:var(--ox-mute)}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slide-card:not(:has(.omnyxar-image-slide-title)) .omnyxar-image-slide-thumb img{border-radius:var(--ox-r)}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;border:1px solid var(--ox-line-2);border-radius:50%;background:#fff;color:var(--ox-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:0;box-shadow:none;z-index:2}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-nav .ox-i{width:18px;height:18px}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-nav:hover{border-color:var(--ox-ink);background:#fff;color:var(--ox-ink)}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-prev{left:0}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-next{right:0}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-dots{display:flex;justify-content:center;gap:6px;margin-top:12px;position:static}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-dots :is(button,span,i){width:7px;height:7px;min-width:0;padding:0;border:0;border-radius:50%;background:var(--ox-line-2);box-shadow:none}
.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-dots :is(button,span,i):is(.is-active,.active,[aria-current]){background:var(--ox-black);width:18px;border-radius:var(--ox-pill)}
@media (max-width:640px){.ox-ui.ox-ui.ox-ui .omnyxar-image-slider{padding:0 36px}.ox-ui.ox-ui.ox-ui .omnyxar-image-slider-nav{width:32px;height:32px}}

/* ── I. 모바일(레거시) ─────────────────────────────────────────────────── */
@media (max-width:640px){
  .ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero){padding:20px 18px}
  .ox-ui.ox-ui.ox-ui :is(.oxmk-head,.oxlt-hero,.oxrk-hero,.oxtr-hero,.oxal-hero,.oxgb-hero,.oxdl-hero,.oxst-hero,.oxpat-hero,.oxev-hero) :is(h1,h2){font-size:22px}
  .ox-ui.ox-ui.ox-ui :is(.oxbd-btn,.oxqa-btn,.oxacc-btn,.oxlt-btn,.oxev-btn,.oxal-btn,.oxrp-btn,.oxdl-btn,.omnyxar-btn,.omnyxar-primary-btn,.oxbd-write-btn,.oxbd-submit-btn){min-height:44px}
  .ox-ui.ox-ui.ox-ui .oxbd-write-btn{min-width:0;width:100%}
}
