
  :root{--bg:#0b0e14;--panel:#161b26;--line:#242c3a;--ink:#eef1f7;--sub:#9aa3b5;--gold:#f5c451;--green:#4ade80;--pink:#ff7eb6;--blue:#5b8cff;--red:#ff6b6b;}
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--bg);color:var(--ink);font-family:'Apple SD Gothic Neo','Pretendard',-apple-system,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
  /* nav */
  nav{position:sticky;top:0;z-index:50;background:rgba(11,14,20,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
  nav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;}
  nav .brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:19px;}
  nav .brand img{width:38px;height:38px;border-radius:10px;}
  nav .cta{background:linear-gradient(90deg,var(--gold),#ffde8a);color:#3a2c05;font-weight:800;padding:10px 20px;border-radius:999px;font-size:15px;}
  nav .nav-links{display:flex;align-items:center;gap:22px;}
  nav .nav-links a:not(.cta){font-weight:700;font-size:14.5px;color:var(--sub);}
  nav .nav-links a:not(.cta):hover{color:var(--ink);}
  /* 언어 단추 — 메뉴 낱말과 헷갈리지 않게 테두리를 준다(2026-09-21 영문판) */
  nav .nav-links a.lang{border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:800;}
  nav .nav-links a.lang:hover{border-color:rgba(245,196,81,.45);}
  /* hero */
  .hero{position:relative;overflow:hidden;padding:84px 0 66px;text-align:center;}
  .hero::before{content:'';position:absolute;inset:0;background:url('/landing/assets/game/title-hero.png') center/cover;opacity:.30;filter:saturate(1.15);}
  .hero::after{content:'';position:absolute;inset:0;background:radial-gradient(100% 70% at 50% 0,rgba(74,222,128,.14),transparent 55%),linear-gradient(180deg,rgba(11,14,20,.35) 0%,transparent 30%,var(--bg) 96%);}
  .hero .wrap{position:relative;z-index:2;}
  .hero .kick{display:inline-block;font-size:13.5px;font-weight:800;letter-spacing:3px;color:var(--gold);border:1px solid rgba(245,196,81,.5);border-radius:999px;padding:8px 20px;margin-bottom:26px;background:rgba(245,196,81,.08);}
  .hero h1{font-size:clamp(44px,8vw,88px);font-weight:900;letter-spacing:-2px;line-height:1.05;}
  .hero h1 .g{color:var(--gold);}
  .hero .tag{margin-top:22px;font-size:clamp(17px,2.4vw,23px);color:#c7cddb;font-weight:600;}
  .hero .tag b{color:var(--ink);}
  .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center;}
  .hero .btns{margin-top:38px;}
  .play-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;background:linear-gradient(135deg,#f7cf5e,#e0982c);color:#1a1200;border-radius:14px;font-weight:900;font-size:16px;line-height:1.15;box-shadow:0 12px 34px rgba(224,152,44,.34);transition:.15s;}
  .play-btn:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(224,152,44,.5);}
  .play-btn .ico{font-size:22px;line-height:1;flex-shrink:0;}
  .play-btn .lbl{display:flex;flex-direction:column;justify-content:center;text-align:left;line-height:1.2;}
  .play-btn small{display:block;font-size:10.5px;font-weight:700;opacity:.7;line-height:1.2;margin:0 0 1px;}
  /* 스토어 공식 배지 */
  .badge{position:relative;display:inline-flex;align-items:center;transition:.15s;}
  .badge img{height:52px;display:block;border-radius:9px;}
  .badge:hover{transform:translateY(-2px);}
  .badge .bsoon{position:absolute;top:-8px;right:-6px;background:var(--gold);color:#2a2005;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.4);}
  /* 출시 완료 배지 (App Store) */
  .badge .bnew{position:absolute;top:-8px;right:-6px;background:var(--green);color:#04240f;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;box-shadow:0 2px 10px rgba(61,220,132,.45);}
  .badge.live img{box-shadow:0 0 0 2px rgba(61,220,132,.55);}
  .badge.soon{opacity:.5;cursor:default;}
  .badge.soon:hover{transform:none;}
  .webnote{margin-top:16px;font-size:13.5px;color:var(--sub);}
  .webnote b{color:var(--green);}
  /* section */
  section{padding:76px 0;}
  .eyebrow{text-align:center;color:var(--green);font-weight:800;letter-spacing:2px;font-size:14px;}
  h2{text-align:center;font-size:clamp(29px,5vw,45px);font-weight:900;letter-spacing:-1px;margin-top:12px;}
  h2 .g{color:var(--gold);}
  .lead{text-align:center;color:var(--sub);font-size:18px;margin:18px auto 0;max-width:660px;}
  /* features — 실제 게임 이미지 사용 */
  .feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:52px;}
  .feat{background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.15s;}
  .feat:hover{border-color:rgba(245,196,81,.45);transform:translateY(-3px);}
  .feat .fimg{height:210px;overflow:hidden;position:relative;background:#0e1219;}
  .feat .fimg img{width:100%;height:100%;object-fit:cover;object-position:center 22%;}
  .feat .fimg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,var(--panel));}
  .feat .fbody{padding:22px 26px 28px;}
  .feat .tagline{font-size:12px;font-weight:800;letter-spacing:1px;color:var(--gold);}
  .feat h3{font-size:22px;font-weight:900;margin:8px 0 10px;}
  .feat h3 .hl{color:var(--gold);}
  .feat p{color:var(--sub);font-size:15.5px;}
  .feat p .pk{color:var(--pink);font-weight:700;}
  .feat p .rd{color:var(--red);font-weight:700;}
  /* screenshots */
  .shots{display:flex;gap:20px;overflow-x:auto;padding:52px 24px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .shots::-webkit-scrollbar{height:8px;}.shots::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;}
  .shots img{width:250px;flex:none;border-radius:24px;border:1px solid var(--line);scroll-snap-align:center;box-shadow:0 20px 50px rgba(0,0,0,.5);}
  /* how */
  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:52px;}
  .step{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:30px;position:relative;}
  .step .n{font-size:48px;font-weight:900;color:var(--gold);opacity:.5;line-height:1;}
  .step h3{font-size:20px;font-weight:900;margin:10px 0 8px;}
  .step p{color:var(--sub);font-size:15px;}
  /* cta band */
  .band{text-align:center;background:linear-gradient(135deg,#16321f,#101922);border:1px solid var(--line);border-radius:32px;padding:60px 28px;margin:40px 0;}
  .band h2{margin:0;}
  .band .tag{color:var(--sub);margin:16px 0 30px;font-size:18px;}
  /* footer */
  footer{border-top:1px solid var(--line);padding:44px 0;color:var(--sub);font-size:14px;}
  footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;}
  footer a{color:var(--sub);}footer a:hover{color:var(--ink);}
  .disc{max-width:720px;margin:22px auto 0;text-align:center;color:#6b7486;font-size:12.5px;line-height:1.6;}
  .flinks{display:flex;gap:22px;flex-wrap:wrap;align-items:center;}
  /* ── 아이템 도감 ── */
  .dex-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:38px;}
  .dex-tab{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--sub);font-weight:800;font-size:14px;cursor:pointer;transition:.15s;}
  .dex-tab:hover{color:var(--ink);}
  .dex-tab.on{color:#0b0e14;}
  .dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;margin-top:34px;}
  .dex-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.15s;}
  .dex-card:hover{transform:translateY(-3px);}
  .dex-card .di{aspect-ratio:1/1;background:radial-gradient(120% 120% at 50% 18%,#1a2030,#0c0f16);overflow:hidden;}
  .dex-card .di img{width:100%;height:100%;object-fit:contain;padding:10px;}
  .dex-card .db{padding:11px 13px 15px;}
  .dex-card .dn{font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  /* 영문은 아이템 이름이 길어 한 줄에 안 들어간다 — 두 줄까지 편다(2026-09-21) */
  html[lang="en"] .dex-card .dn{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;}
  .dex-card .do{font-size:11.5px;color:var(--sub);margin-top:5px;line-height:1.5;}
  .dex-card .dk{display:inline-block;margin-top:9px;font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:999px;}
  .dex-card .df{font-size:11.5px;color:#767e94;font-style:italic;margin-top:8px;line-height:1.45;word-break:keep-all;}
  .dex-more{text-align:center;color:var(--sub);font-size:13.5px;margin-top:26px;}
  /* ── 인물 도감 ── */
  .char-tabs{display:flex;gap:10px;justify-content:center;margin-top:36px;}
  .char-tab{padding:10px 24px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--sub);font-weight:800;font-size:15px;cursor:pointer;transition:.15s;}
  /* 영문 탭은 낱말이 길어 두 줄로 접혔다 — 한 줄로 두고 좁은 폭에서만 여백을 줄인다(2026-09-21) */
  html[lang="en"] .char-tab{white-space:nowrap;}
  /* 좁은 폭 — 탭이 셋이 되면서 글자가 두 줄로 접혔다(한국어 「해외 세입자 20」 포함) */
  @media (max-width:420px){ .char-tabs{gap:7px;} .char-tab{padding:10px 13px;font-size:13.5px;white-space:nowrap;} }
  .char-tab:hover{color:var(--ink);}
  .char-tab.on{background:var(--pink);border-color:var(--pink);color:#2a0a1a;}
  .char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:32px;}
  .char-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:.15s;}
  .char-card:hover{transform:translateY(-3px);border-color:rgba(255,126,182,.5);}
  .char-card .ci{aspect-ratio:3/4;overflow:hidden;background:#0e1219;position:relative;}
  .char-card .ci img{width:100%;height:100%;object-fit:cover;object-position:center 15%;}
  .char-card .ci .ct{position:absolute;top:8px;left:8px;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:rgba(8,10,15,.72);backdrop-filter:blur(4px);}
  .char-card .cb{padding:11px 13px 14px;}
  .char-card .cn{font-weight:800;font-size:15px;}
  .char-card .cl{font-size:11.5px;color:var(--sub);margin-top:4px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  /* 레이더 모달 */
  .char-modal{position:fixed;inset:0;z-index:200;background:rgba(6,8,12,.82);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px;}
  .char-modal.on{display:flex;}
  .cm-box{background:var(--panel);border:1px solid var(--line);border-radius:24px;max-width:440px;width:100%;max-height:92vh;overflow-y:auto;position:relative;}
  .cm-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(8,10,15,.6);border:1px solid var(--line);color:var(--ink);font-size:20px;cursor:pointer;line-height:1;}
  .cm-hero{aspect-ratio:1/1;overflow:hidden;border-radius:24px 24px 0 0;background:#0e1219;position:relative;}
  .cm-hero img{width:100%;height:100%;object-fit:cover;object-position:center 12%;}
  .cm-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,var(--panel));}
  .cm-body{padding:0 24px 26px;margin-top:-46px;position:relative;z-index:2;text-align:center;}
  .cm-tier{display:inline-block;font-size:12px;font-weight:800;padding:3px 12px;border-radius:999px;background:rgba(255,126,182,.16);color:var(--pink);}
  .cm-name{font-size:27px;font-weight:900;margin:9px 0 5px;letter-spacing:-.5px;}
  .cm-line{font-size:14px;color:var(--sub);font-style:italic;line-height:1.55;word-break:keep-all;}
  .cm-radar{display:flex;justify-content:center;margin:16px 0 4px;}
  .cm-stats{display:grid;gap:8px;margin-top:6px;text-align:left;}
  .cm-stat{display:flex;align-items:center;gap:10px;}
  .cm-stat .k{flex:0 0 auto;width:40px;font-size:13px;font-weight:800;color:#c7cddb;}
  .cm-stat .bar{flex:1;height:8px;background:#0e1420;border-radius:999px;overflow:hidden;}
  .cm-stat .bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff7eb6,#f5c451);}
  .cm-stat .v{flex:0 0 auto;width:30px;text-align:right;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--sub);}
  /* ── 모바일 정렬 ── */
  @media (max-width:640px){
    html,body{overflow-x:hidden;}
    .wrap{padding:0 18px;}
    nav .wrap{height:56px;}
    nav .brand{font-size:0;gap:0;}   /* 좁은 폭 — 로고만 남기고 브랜드 텍스트는 숨겨 메뉴 자리 확보 */
    nav .brand img{width:30px;height:30px;}
    nav .nav-links{gap:12px;}
    nav .nav-links a:not(.cta){font-size:12.5px;white-space:nowrap;}
    nav .cta{font-size:12.5px;padding:7px 13px;white-space:nowrap;}
    nav .nav-links a.lang{padding:4px 8px;font-size:11px;}
    .hero{padding:44px 0 38px;}
    .hero .kick{font-size:10.5px;letter-spacing:0;padding:7px 13px;margin-bottom:18px;line-height:1.55;word-break:keep-all;}
    .hero h1{font-size:44px;letter-spacing:-1.5px;line-height:1.1;}
    .hero .tag{font-size:15px;margin-top:16px;line-height:1.6;word-break:keep-all;}
    .hero .btns,.band .btns{flex-direction:column;align-items:stretch;gap:11px;margin-top:26px;}
    .play-btn{width:100%;height:auto;min-height:52px;padding:12px 18px;font-size:16px;border-radius:14px;}
    .badge{align-self:center;}
    .badge img{height:48px;}
    .webnote{font-size:12px;word-break:keep-all;line-height:1.5;}
    section{padding:52px 0;}
    h2{word-break:keep-all;}.lead{font-size:16px;word-break:keep-all;}
    .feats{gap:16px;margin-top:32px;}
    .feat .fbody{padding:20px 22px 24px;}
    .feat .fimg{height:186px;}
    .feat h3{font-size:20px;word-break:keep-all;}.feat p{word-break:keep-all;}
    .shots{padding:36px 18px 12px;}.shots img{width:210px;}
    .dex-grid{grid-template-columns:repeat(2,1fr);gap:11px;}
    .dex-card .db{padding:10px 11px 13px;}.dex-card .dn{font-size:13px;}
    .steps{margin-top:32px;}
    .band{padding:42px 18px;border-radius:24px;}
    .band .tag{word-break:keep-all;}
    footer .wrap{flex-direction:column;align-items:flex-start;gap:14px;}
  }

  /* ── 서브 페이지(도감) 헤더 ── */
  .pghead{padding:54px 0 6px;text-align:center;}
  .pghead h1{font-size:clamp(34px,6vw,54px);font-weight:900;letter-spacing:-1.5px;margin-top:10px;}
  .pghead h1 .g{color:var(--gold);}
  .pghead .lead{margin-top:16px;}
  .backhome{display:inline-flex;align-items:center;gap:7px;margin-top:30px;font-size:14px;font-weight:700;color:var(--sub);}
  .backhome:hover{color:var(--ink);}
  .pgnav{display:flex;gap:12px;justify-content:center;margin-top:26px;flex-wrap:wrap;}
  .pgnav a{padding:10px 22px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-weight:800;font-size:14.5px;color:var(--sub);transition:.15s;}
  .pgnav a:hover{color:var(--ink);border-color:rgba(245,196,81,.4);}
  .pgnav a.on{background:var(--gold);border-color:var(--gold);color:#3a2c05;}
  @media (max-width:640px){ .pghead{padding:38px 0 4px;} .pgnav a{font-size:13px;padding:9px 16px;} }

  /* ── 주인공 도감(8인) ── */
  .hx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;margin-top:32px;}
  .hx-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;transition:.15s;text-align:left;width:100%;font:inherit;color:inherit;padding:0;}
  .hx-card:hover{transform:translateY(-3px);border-color:rgba(245,196,81,.5);}
  .hx-card .hi{aspect-ratio:3/4;overflow:hidden;background:radial-gradient(120% 110% at 50% 15%,#1b2231,#0c1017);position:relative;}
  .hx-card .hi img{width:100%;height:100%;object-fit:contain;}
  .hx-card .hi img.cov{object-fit:cover;object-position:center 12%;}
  .hx-card .hi .tag{position:absolute;top:9px;left:9px;font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:999px;background:rgba(8,10,15,.74);backdrop-filter:blur(4px);}
  .hx-card .hi .cnt{position:absolute;right:9px;bottom:9px;font-size:10.5px;font-weight:800;color:var(--sub);padding:2px 8px;border-radius:999px;background:rgba(8,10,15,.66);}
  .hx-card .hb{padding:12px 14px 15px;}
  .hx-card .hn{font-weight:800;font-size:16px;}
  .hx-card .hl{font-size:11.5px;color:var(--sub);margin-top:4px;line-height:1.45;word-break:keep-all;}
  /* 상세 모달 — 인물 도감 모달(.char-modal/.cm-box)을 그대로 쓰되 갤러리 때문에 넓게 */
  .cm-box.wide{max-width:620px;}
  /* 정사각(1/1) 그대로 두면 넓은 모달에서 초상만 620px 로 화면을 다 먹는다 — 높이를 따로 준다 */
  .cm-box.wide .cm-hero{aspect-ratio:auto;height:min(46vh,330px);}
  .cm-hero.fitc{aspect-ratio:auto;height:min(40vh,300px);background:radial-gradient(120% 110% at 50% 12%,#1b2231,#0c1017);}
  .cm-hero.fitc img{object-fit:contain;object-position:center top;padding:16px 16px 0;}
  .hx-sub{display:inline-block;font-size:11.5px;font-weight:800;color:var(--gold);background:rgba(245,196,81,.13);padding:3px 11px;border-radius:999px;margin-top:9px;word-break:keep-all;line-height:1.5;}
  .hx-desc{font-size:13.5px;color:var(--sub);line-height:1.65;margin-top:12px;text-align:left;word-break:keep-all;}
  .hx-pf{margin-top:14px;text-align:left;display:grid;gap:7px;}
  .hx-pf div{display:flex;gap:10px;font-size:12.5px;line-height:1.55;}
  .hx-pf dt{flex:0 0 62px;color:#767e94;font-weight:700;}
  .hx-pf dd{flex:1;color:#c7cddb;word-break:keep-all;}
  .hx-pf em{font-style:normal;color:var(--gold);font-weight:800;}
  .hx-galh{display:flex;align-items:baseline;justify-content:space-between;margin:22px 0 10px;text-align:left;}
  .hx-galh b{font-size:14px;font-weight:800;}
  .hx-galh span{font-size:11.5px;color:#767e94;}
  .hx-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:7px;}
  .hx-shot{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:radial-gradient(120% 110% at 50% 15%,#1b2231,#0c1017);border:1px solid #202736;cursor:pointer;padding:0;}
  .hx-shot img{width:100%;height:100%;object-fit:contain;display:block;}
  .hx-shot img.cov{object-fit:cover;object-position:center 12%;}
  .hx-shot i{position:absolute;left:0;right:0;bottom:0;font-style:normal;font-size:10px;font-weight:800;text-align:center;padding:2px 0 3px;color:#dfe4ee;background:linear-gradient(180deg,transparent,rgba(6,8,12,.86));}
  .hx-shot:hover{border-color:rgba(245,196,81,.55);}
  /* 사진 크게 보기 */
  .hx-lb{position:fixed;inset:0;z-index:300;background:rgba(5,7,11,.93);display:none;align-items:center;justify-content:center;padding:18px;}
  .hx-lb.on{display:flex;}
  .hx-lb figure{max-width:520px;width:100%;text-align:center;}
  .hx-lb img{max-width:100%;max-height:74vh;object-fit:contain;}
  .hx-lb figcaption{margin-top:12px;font-size:14px;font-weight:800;color:#dfe4ee;}
  .hx-lb .lbn{margin-top:4px;font-size:12px;color:var(--sub);}
  .hx-lb .lbb{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(22,27,38,.9);border:1px solid var(--line);color:var(--ink);font-size:22px;cursor:pointer;line-height:1;}
  .hx-lb .lbb.p{left:14px;} .hx-lb .lbb.n{right:14px;}
  .hx-lb .lbx{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;background:rgba(22,27,38,.9);border:1px solid var(--line);color:var(--ink);font-size:21px;cursor:pointer;line-height:1;}
  @media (max-width:640px){
    .hx-grid{grid-template-columns:repeat(2,1fr);gap:11px;}
    .hx-card .hb{padding:10px 11px 13px;} .hx-card .hn{font-size:14.5px;}
    .hx-gal{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px;}
    .hx-lb .lbb{width:40px;height:40px;font-size:20px;}
    .hx-lb .lbb.p{left:6px;} .hx-lb .lbb.n{right:6px;}
    /* 메뉴가 4개가 되면서 375px 에서 한 줄에 안 들어간다 — 폰트·간격을 줄여 맞춘다 */
    nav .nav-links{gap:10px;}
    nav .nav-links a:not(.cta){font-size:12px;}
    nav .cta{font-size:12px;padding:7px 11px;}
    nav .nav-links a.lang{padding:3px 7px;font-size:10.5px;}
  }

  /* ── 아이템 도감 상세 모달 ── */
  .dex-card{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;padding:0;}
  .dex-card:hover{border-color:rgba(245,196,81,.45);}
  .im-opt{font-size:14px;font-weight:800;color:#dfe4ee;margin-top:12px;line-height:1.65;word-break:keep-all;}
  .im-skill{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:800;padding:4px 13px;border-radius:999px;}
  .im-flavor{font-size:13.5px;color:var(--sub);font-style:italic;margin-top:14px;line-height:1.6;word-break:keep-all;}
  .im-how{font-size:12px;color:#767e94;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);line-height:1.6;word-break:keep-all;}

  /* ── 인물 도감: 만나는 조건 ── */
  .char-card .ci .cq{position:absolute;right:8px;bottom:8px;font-size:10.5px;font-weight:800;color:#e8eaf0;padding:2px 8px;border-radius:999px;background:rgba(8,10,15,.72);backdrop-filter:blur(4px);}
  .cm-req{margin-top:18px;text-align:left;border-top:1px solid var(--line);padding-top:16px;}
  .cm-req .rqh{font-size:13.5px;font-weight:800;margin-bottom:9px;}
  .cm-req .rq{display:flex;align-items:baseline;gap:10px;font-size:13px;padding:4px 0;}
  .cm-req .rq span{flex:0 0 72px;color:#767e94;font-weight:700;}
  .cm-req .rq b{color:#e8eaf0;font-size:14.5px;font-variant-numeric:tabular-nums;}
  .cm-ways{margin-top:13px;font-size:12.5px;color:var(--sub);line-height:1.65;word-break:keep-all;}
  .cm-ways b{color:var(--pink);font-weight:800;}
  .cm-note{margin-top:9px;font-size:11.5px;color:#767e94;line-height:1.55;word-break:keep-all;}

  /* ── 언어 고르기(2026-09-26 일본어판) ── 한국어·English·日本語 를 한 칸짜리 펼침 메뉴로(dex.js langSwitch).
     폰 메뉴 줄은 이미 꽉 차 있어서(375px 에 남는 폭 11px) 단추를 늘리지 않는다 — 폰에선 지구본만 남긴다.
     ⚠️메뉴 링크가 nav .nav-links a:not(.cta) 규칙과 같은 무게라 이 묶음은 파일 맨 끝에 둔다(뒤에 오는 쪽이 이긴다). */
  nav .lang-sw{position:relative;}
  nav .lang-sw>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:800;color:var(--sub);-webkit-user-select:none;user-select:none;}
  nav .lang-sw>summary::-webkit-details-marker{display:none;}
  nav .lang-sw>summary::marker{content:'';}
  nav .lang-sw>summary:hover,nav .lang-sw[open]>summary{color:var(--ink);border-color:rgba(245,196,81,.45);}
  nav .lang-sw .gl{width:14px;height:14px;flex:none;}
  nav .nav-links .lang-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:136px;display:flex;flex-direction:column;gap:2px;padding:6px;background:#141925;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.5);z-index:60;}
  nav .nav-links .lang-menu a{display:block;padding:9px 12px;border-radius:9px;font-size:14px;font-weight:700;color:var(--sub);white-space:nowrap;}
  nav .nav-links .lang-menu a:hover{background:#1c2332;color:var(--ink);}
  nav .nav-links .lang-menu a[aria-current]{color:var(--gold);}
  @media (max-width:640px){
    nav .lang-sw>summary{padding:4px 7px;}
    nav .lang-sw>summary span{display:none;}
    nav .nav-links a .nx{display:none;}   /* 일본어 메뉴 꼬리(図鑑) — 폰에선 主人公·人物·アイテム 만 */
    footer .disc{padding:0 18px;}          /* 바닥 안내문이 .wrap 밖이라 폰에서 화면 끝에 붙어 있었다(세 언어 공통) */
  }

  /* ── 일본어판 글꼴·줄바꿈(2026-09-26) ──
     ⚠️한국어 글꼴(Apple SD Gothic Neo)이 맨 앞이면 가나·한자가 한국식 글자 모양으로 그려진다 → 일본어 글꼴을 먼저 둔다.
     ⚠️word-break:keep-all 은 띄어쓰기가 없는 일본어에서 줄을 못 바꿔 글이 옆으로 넘친다 → 일본어는 전부 normal.
       제목처럼 짧은 글은 크롬의 구절 단위 줄바꿈(auto-phrase)을 쓴다(사파리는 normal 그대로). */
  html[lang="ja"] body{font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP','Noto Sans CJK JP','Yu Gothic UI','Yu Gothic',Meiryo,-apple-system,sans-serif;word-break:normal;line-break:strict;}
  /* 모든 요소가 body 값을 물려받게(inherit) — normal 로 박으면 제목 안의 <span> 이 제목의 auto-phrase 를 못 받는다 */
  html[lang="ja"] body *{word-break:inherit!important;}
  @supports (word-break:auto-phrase){
    html[lang="ja"] :is(h1,h2,h3,.kick,.tagline,.hero .tag,.band .tag,.cm-name,.dx h1){word-break:auto-phrase!important;}
  }
  /* 사파리(auto-phrase 없음) — 제목의 강조 구절(.g/.hl)은 한 덩어리로 줄을 넘긴다(「人生は変わ / る」 방지) */
  html[lang="ja"] :is(h1,h2,h3) :is(.g,.hl){display:inline-block;}
  html[lang="ja"] .hero h1{letter-spacing:-1px;}
  /* 320~360px 폰 — 「全部ストップ高」(7자)가 44px 로는 한 줄에 안 들어간다 */
  @media (max-width:360px){ html[lang="ja"] .hero h1{font-size:38px;} }
  html[lang="ja"] .dex-card .dn{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;}
  html[lang="ja"] .char-tab{white-space:nowrap;}
  /* 인물 모달 「만나는 조건」 이름칸 — 月のデート代(6자)가 72px 에서 두 줄로 접혔다 */
  html[lang="ja"] .cm-req .rq span{flex-basis:92px;}
