body{margin:0;font-family:Arial,'Malgun Gothic',sans-serif;background:#f4f6fb;color:#111827}.wrap{max-width:1100px;margin:0 auto;padding:38px 18px}.home{max-width:980px;margin:0 auto;padding:70px 18px}.hero{text-align:center;padding:34px 0}.logo{display:inline-block;background:#111827;color:white;padding:9px 16px;border-radius:999px;font-weight:bold;margin-bottom:18px}.hero h1{font-size:52px;margin:8px 0 12px}.hero p,.sub{color:#6b7280}.search{display:flex;gap:10px;margin:28px auto;max-width:680px}.search input{flex:1;font-size:20px;padding:17px;border:1px solid #d1d5db;border-radius:15px;background:white}.search button{font-size:18px;padding:0 28px;border:0;border-radius:15px;background:#111827;color:white;font-weight:bold}.quicklinks{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.quicklinks a,.cta{background:white;border:1px solid #e5e7eb;color:#111827;text-decoration:none;padding:11px 15px;border-radius:999px;font-weight:bold}.card{background:white;border-radius:22px;padding:24px;margin:20px 0;box-shadow:0 8px 22px rgba(0,0,0,.06)}h1{font-size:38px;margin:0 0 10px}small{color:#6b7280}.list{list-style:none;padding:0;margin:0}.list li{border-bottom:1px solid #eee}.list a{display:block;padding:14px 0;text-decoration:none;color:#111827;font-size:20px}.list span{color:#6b7280;margin-left:10px}.back{display:inline-block;margin-bottom:20px;color:#2563eb;text-decoration:none}.typebox{background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #e5e7eb;border-radius:20px;padding:24px;text-align:center;margin:10px 0 18px}.type-emoji{font-size:62px;margin-bottom:8px}.type-name{font-size:30px;font-weight:bold}.type-desc{font-size:17px;color:#4b5563;line-height:1.6;margin-top:8px}.dash3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.dash3 div{background:#f8fafc;border-radius:16px;padding:18px;text-align:center}.dash3 strong{display:block;font-size:30px;color:#dc2626}.dash3 span{display:block;color:#6b7280;margin-top:6px}.judge{font-size:21px;font-weight:bold;line-height:1.55}.tablebox{overflow:auto}table{border-collapse:collapse;min-width:900px;width:100%}th,td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left;font-weight:bold;position:sticky;left:0;background:white;z-index:1}th{background:#f8fafc;position:sticky;top:0;z-index:2}.up{color:#dc2626;font-weight:bold}.down{color:#2563eb;font-weight:bold}.same{color:#6b7280}.legend{margin-top:15px;font-size:14px;color:#6b7280;line-height:1.8}.notice{color:#6b7280;font-size:14px;margin-top:25px}.grade-s{color:#7c3aed!important}.grade-a{color:#dc2626!important}.grade-b{color:#2563eb!important}.grade-c{color:#059669!important}.grade-d{color:#6b7280!important}.rank-list{display:flex;flex-direction:column}.rank-row{display:grid;grid-template-columns:50px 54px 1fr 90px 70px;align-items:center;gap:10px;text-decoration:none;color:#111827;border-bottom:1px solid #eef2f7;padding:14px 4px}.rank-no{font-size:18px;font-weight:bold;color:#6b7280}.rank-emoji{font-size:34px}.rank-main strong{display:block;font-size:20px}.rank-main span,.rank-score span{display:block;color:#6b7280;font-size:13px;margin-top:4px}.rank-score{text-align:right}.rank-score b{font-size:20px}.rank-survival{text-align:right;font-weight:bold;color:#111827}.random-card{text-align:center}.random-card .cta{display:inline-block;margin-top:10px;background:#111827;color:white}@media(max-width:720px){.hero h1{font-size:38px}.search{flex-direction:column}.dash3{grid-template-columns:1fr}.rank-row{grid-template-columns:38px 42px 1fr 72px}.rank-survival{display:none}.rank-main strong{font-size:17px}.wrap{padding:24px 12px}.card{padding:18px}}
.actionlinks{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.actionlinks a{background:#111827;color:white;text-decoration:none;padding:11px 15px;border-radius:999px;font-weight:bold}.dash6{grid-template-columns:repeat(3,1fr)}.league-s{color:#7c3aed!important}.league-a{color:#dc2626!important}.league-b{color:#2563eb!important}.league-c{color:#059669!important}.league-d{color:#6b7280!important}.battle-form{display:grid;grid-template-columns:1fr auto 1fr auto;gap:12px;align-items:center}.battle-form input{font-size:18px;padding:15px;border:1px solid #d1d5db;border-radius:14px}.battle-form button{font-size:17px;border:0;border-radius:14px;background:#111827;color:white;font-weight:bold;padding:15px 20px}.battle-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fighter{text-align:center;text-decoration:none;color:#111827;background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:22px}.fighter h2{margin:8px 0}.power{font-size:42px;color:#dc2626;font-weight:bold;margin-top:10px}.mini-stats{margin-top:12px;color:#6b7280;font-weight:bold}.winner{text-align:center;font-size:30px;margin-top:24px;background:#111827;color:white;padding:18px;border-radius:20px}.chip-list{display:flex;gap:10px;flex-wrap:wrap}.chip-list a{text-decoration:none;color:#111827;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:10px 14px;font-weight:bold}.evolution{text-align:center}.evo-node{background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:22px;margin:10px auto;max-width:360px}.evo-node .year{font-size:22px;color:#6b7280;font-weight:bold}.evo-node strong{display:block;font-size:24px;margin:8px}.evo-node span{color:#dc2626;font-weight:bold}.evo-arrow{font-size:38px;color:#6b7280}.champion{text-align:center}.match-list{display:grid;gap:10px}.match{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:10px;align-items:center;background:#f8fafc;border-radius:14px;padding:12px}.match a{text-decoration:none;color:#111827;font-weight:bold}.match span{text-align:center;color:#6b7280}.match b{text-align:right;color:#dc2626}.compact .rank-row{grid-template-columns:50px 54px 1fr 110px 70px}@media(max-width:720px){.dash6{grid-template-columns:1fr}.battle-form{grid-template-columns:1fr}.battle-form strong{text-align:center}.battle-grid{grid-template-columns:1fr}.match{grid-template-columns:1fr;text-align:center}.match b{text-align:center}.power{font-size:34px}}
.quicklinks{
    display:grid !important;

    grid-template-columns:
    repeat(4, 1fr) !important;

    gap:12px !important;

    max-width:900px !important;

    margin:30px auto !important;
}

.quicklinks a{
    display:flex !important;

    justify-content:center !important;

    align-items:center !important;

    background:#111827 !important;

    color:#ffffff !important;

    text-decoration:none !important;

    border-radius:12px !important;

    font-weight:700 !important;

    height:52px !important;

    text-align:center !important;
}

@media(max-width:900px){

    .quicklinks{
        grid-template-columns:
        repeat(2, 1fr) !important;
    }

}
.quicklinks a{

    font-size:20px !important;

    font-weight:800 !important;

    width:220px !important;

    height:64px !important;

    background:#111827 !important;

    color:#ffffff !important;

    border-radius:16px !important;

}
.menu-health{
    background:#2563eb !important;
    color:white !important;
}

.menu-power{
    background:#dc2626 !important;
    color:white !important;
}

.menu-league{
    background:#7c3aed !important;
    color:white !important;
}

.menu-battle{
    background:#ea580c !important;
    color:white !important;
}

.menu-mbti{
    background:#0891b2 !important;
    color:white !important;
}

.menu-worldcup{
    background:#16a34a !important;
    color:white !important;
}

.menu-random{
    background:#f59e0b !important;
    color:white !important;
}

.menu-danger{
    background:#111827 !important;
    color:white !important;
}
.quicklinks a.menu-health{background:#2563eb !important;color:#fff !important}
.quicklinks a.menu-power{background:#dc2626 !important;color:#fff !important}
.quicklinks a.menu-league{background:#7c3aed !important;color:#fff !important}
.quicklinks a.menu-battle{background:#ea580c !important;color:#fff !important}
.quicklinks a.menu-mbti{background:#0891b2 !important;color:#fff !important}
.quicklinks a.menu-worldcup{background:#16a34a !important;color:#fff !important}
.quicklinks a.menu-random{background:#f59e0b !important;color:#fff !important}
.quicklinks a.menu-danger{background:#111827 !important;color:#fff !important}


/* V7 기업 진화도 + 추천 배틀 + 외부 정보 */
.evolution-preview{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    margin:22px 0;
}

.evo-mini-node{
    min-width:170px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
    text-align:center;
}

.evo-mini-node .year{
    font-size:18px;
    color:#6b7280;
    font-weight:800;
}

.evo-mini-node .emoji{
    font-size:44px;
    margin:8px 0;
}

.evo-mini-node strong{
    display:block;
    font-size:18px;
    margin-bottom:6px;
}

.evo-mini-node span{
    color:#dc2626;
    font-weight:900;
}

.evo-mini-arrow{
    font-size:34px;
    font-weight:900;
    color:#9ca3af;
}

.battle-reco-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:18px;
}

.battle-reco-grid a{
    display:block;
    background:#111827;
    color:white;
    text-decoration:none;
    border-radius:18px;
    padding:18px;
    transition:0.2s;
}

.battle-reco-grid a:hover{
    transform:translateY(-2px);
    background:#1f2937;
}

.battle-reco-grid .reco-vs{
    display:inline-block;
    background:#dc2626;
    color:white;
    border-radius:999px;
    padding:4px 9px;
    font-size:12px;
    font-weight:900;
    margin-bottom:10px;
}

.battle-reco-grid strong{
    display:block;
    font-size:20px;
    margin-bottom:8px;
}

.battle-reco-grid em{
    display:block;
    font-style:normal;
    color:#d1d5db;
    font-size:14px;
}

.external-links{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:18px;
}

.external-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    height:60px;
    border-radius:16px;
    color:white;
    text-decoration:none;
    font-weight:900;
    font-size:18px;
}

.external-naver{background:#16a34a}
.external-news{background:#2563eb}
.external-board{background:#7c3aed}
.external-dart{background:#111827}

@media(max-width:900px){
    .battle-reco-grid{
        grid-template-columns:1fr;
    }

    .external-links{
        grid-template-columns:repeat(2,1fr);
    }

    .evo-mini-arrow{
        transform:rotate(90deg);
    }
}



/* V8 기업 추천 엔진 */
.menu-undervalued{background:#db2777!important;color:#fff!important}
.menu-growth{background:#f97316!important;color:#fff!important}
.menu-dragon{background:#9333ea!important;color:#fff!important}
.menu-similar{background:#0d9488!important;color:#fff!important}
.menu-rivals{background:#b91c1c!important;color:#fff!important}
.quicklinks a.menu-undervalued{background:#db2777!important;color:#fff!important}
.quicklinks a.menu-growth{background:#f97316!important;color:#fff!important}
.quicklinks a.menu-dragon{background:#9333ea!important;color:#fff!important}
.quicklinks a.menu-similar{background:#0d9488!important;color:#fff!important}
.quicklinks a.menu-rivals{background:#b91c1c!important;color:#fff!important}

.relation-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:18px;
}

.relation-grid a{
    display:block;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
    color:#111827;
    text-decoration:none;
    transition:.2s;
}

.relation-grid a:hover{
    transform:translateY(-2px);
    background:#eef2ff;
}

.relation-grid strong{
    display:block;
    font-size:19px;
    margin-bottom:8px;
}

.relation-grid span{
    display:block;
    color:#6b7280;
    font-weight:700;
}

.powerbar{
    height:12px;
    background:#e5e7eb;
    border-radius:999px;
    overflow:hidden;
    margin:12px auto 0;
    max-width:260px;
}

.powerbar i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#f97316,#dc2626);
}

.versus-table{
    margin-top:22px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    overflow:hidden;
}

.versus-table > div{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:0;
    border-bottom:1px solid #e5e7eb;
}

.versus-table > div:last-child{
    border-bottom:0;
}

.versus-table span,
.versus-table strong,
.versus-table b{
    padding:14px;
    text-align:center;
}

.versus-table > div:first-child{
    background:#111827;
    color:white;
}

@media(max-width:900px){
    .relation-grid{
        grid-template-columns:1fr;
    }
}



/* V10 RPG UI */
body{
    background:
      radial-gradient(circle at top left, rgba(124,58,237,.14), transparent 32%),
      radial-gradient(circle at top right, rgba(220,38,38,.11), transparent 30%),
      #f4f6fb;
}

.rpg-logo{
    background:linear-gradient(135deg,#111827,#7c3aed)!important;
    box-shadow:0 10px 24px rgba(17,24,39,.2);
}

.hero h1{
    letter-spacing:-1px;
}

.rpg-hub{
    display:grid;
    grid-template-columns:repeat(5,minmax(170px,1fr));
    gap:14px;
    margin:28px auto 22px;
    max-width:1080px;
}

.rpg-today-card{
    height:180px;
    border-radius:24px;
    padding:18px;
    color:white;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    text-align:left;
    box-shadow:0 14px 26px rgba(0,0,0,.14);
    transition:.2s;
    overflow:hidden;
    position:relative;
}

.rpg-today-card:hover{
    transform:translateY(-4px);
}

.rpg-today-card span{
    font-size:15px;
    font-weight:900;
    opacity:.95;
}

.rpg-today-card strong{
    display:block;
    font-size:22px;
    line-height:1.2;
    font-weight:900;
    margin:8px 0;
    word-break:keep-all;
    letter-spacing:-0.5px;
}

.rpg-today-card em{
    display:block;
    font-style:normal;
    font-size:12px;
    opacity:.88;
    line-height:1.35;
    word-break:keep-all;
}

.today-main{background:linear-gradient(135deg,#111827,#334155)}
.today-gem{background:linear-gradient(135deg,#db2777,#9333ea)}
.today-growth{background:linear-gradient(135deg,#ea580c,#f59e0b)}
.today-dragon{background:linear-gradient(135deg,#7c3aed,#2563eb)}
.today-danger{background:linear-gradient(135deg,#111827,#b91c1c)}

.menu-dex{background:#4f46e5!important;color:#fff!important}
.quicklinks a.menu-dex{background:#4f46e5!important;color:#fff!important}

.rpg-profile-card{
    position:relative;
    overflow:hidden;
    border-radius:28px;
    padding:30px;
    text-align:center;
    background:
      radial-gradient(circle at top, rgba(255,255,255,.25), transparent 28%),
      linear-gradient(135deg,#111827,#312e81 48%,#7c2d12);
    color:white;
    margin-bottom:22px;
    box-shadow:0 18px 34px rgba(17,24,39,.25);
}

.rpg-rank-badge{
    position:absolute;
    top:18px;
    right:18px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.32);
    border-radius:999px;
    padding:8px 14px;
    font-weight:900;
    backdrop-filter:blur(8px);
}

.rpg-main-emoji{
    font-size:86px;
    line-height:1;
    margin:6px 0 8px;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.25));
}

.rpg-title strong{
    display:block;
    font-size:38px;
    letter-spacing:-1px;
}

.rpg-title span{
    display:block;
    font-size:20px;
    color:#e5e7eb;
    margin-top:6px;
    font-weight:800;
}

.rpg-level{
    display:inline-block;
    margin-top:18px;
    font-size:34px;
    font-weight:1000;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.25);
    padding:8px 22px;
    border-radius:999px;
}

.rpg-stars{
    margin:12px 0 20px;
    font-size:26px;
    color:#facc15;
    letter-spacing:2px;
    text-shadow:0 2px 10px rgba(250,204,21,.4);
}

.rpg-power-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.rpg-power-grid div{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    padding:16px 8px;
}

.rpg-power-grid b{
    display:block;
    color:white;
    font-size:24px;
}

.rpg-power-grid span{
    display:block;
    color:#d1d5db;
    font-weight:800;
    font-size:13px;
    margin-top:6px;
}

.hero-card .typebox{
    margin-top:20px;
}

@media(max-width:1000px){
    .rpg-hub{
        grid-template-columns:repeat(2,1fr);
        max-width:720px;
    }
    .rpg-today-card:first-child{
        grid-column:1 / -1;
    }
    .rpg-power-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:640px){
    .rpg-hub{
        grid-template-columns:1fr;
    }
    .rpg-title strong{
        font-size:30px;
    }
    .rpg-main-emoji{
        font-size:70px;
    }
    .rpg-level{
        font-size:28px;
    }
    .rpg-power-grid{
        grid-template-columns:1fr;
    }
}



/* V11 미래 블루칩 + 좀비성장 */
.menu-zombie-growth{background:#581c87!important;color:#fff!important}
.quicklinks a.menu-zombie-growth{background:#581c87!important;color:#fff!important}



/* V12 생존왕 + 캐릭터 도감 */
.menu-survival2035{background:#0f766e!important;color:#fff!important}
.menu-extinction2035{background:#7f1d1d!important;color:#fff!important}
.quicklinks a.menu-survival2035{background:#0f766e!important;color:#fff!important}
.quicklinks a.menu-extinction2035{background:#7f1d1d!important;color:#fff!important}

.codex-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:24px;
}

.codex-card{
    background:white;
    border-radius:26px;
    padding:26px;
    box-shadow:0 10px 26px rgba(0,0,0,.07);
    border:1px solid #e5e7eb;
}

.codex-emoji{
    font-size:72px;
    line-height:1;
    text-align:center;
    margin-bottom:12px;
}

.codex-card h2{
    text-align:center;
    margin:0 0 12px;
    font-size:28px;
}

.codex-meta{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.codex-meta b,
.codex-meta span{
    background:#f8fafc;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
}

.codex-card p{
    color:#4b5563;
    line-height:1.6;
    text-align:center;
}

.codex-list{
    display:grid;
    gap:8px;
    margin-top:18px;
}

.codex-list a{
    display:flex;
    justify-content:space-between;
    gap:10px;
    text-decoration:none;
    color:#111827;
    background:#f8fafc;
    border-radius:14px;
    padding:12px;
}

.codex-list span{
    color:#6b7280;
    font-weight:700;
    font-size:13px;
}

@media(max-width:900px){
    .codex-grid{
        grid-template-columns:1fr;
    }

    .codex-list a{
        flex-direction:column;
    }
}


/* V13 카드 종목명 중앙정렬 + 긴 이름 대응 */
.rpg-today-card{
    text-align:left !important;
}

.rpg-today-card span{
    width:100%;
    text-align:left;
}

.rpg-today-card strong.stock-name{
    width:100%;
    display:-webkit-box !important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;

    text-align:center !important;
    font-size:26px !important;
    line-height:1.16 !important;
    font-weight:900 !important;
    margin:8px 0 !important;
    letter-spacing:-0.7px;
    word-break:keep-all;
}

.rpg-today-card strong.stock-name.mid-name{
    font-size:23px !important;
    line-height:1.18 !important;
}

.rpg-today-card strong.stock-name.long-name{
    font-size:20px !important;
    line-height:1.2 !important;
}

.rpg-today-card em{
    width:100%;
    text-align:left;
}

@media(max-width:640px){
    .rpg-today-card strong.stock-name{
        font-size:24px !important;
    }

    .rpg-today-card strong.stock-name.mid-name{
        font-size:22px !important;
    }

    .rpg-today-card strong.stock-name.long-name{
        font-size:19px !important;
    }
}


/* V14 RPG 상세카드 */
.rpg-gauges{margin-top:20px}
.gauge-wrap{margin:12px 0}
.gauge-label{font-weight:900;margin-bottom:6px}
.gauge{height:14px;background:rgba(255,255,255,.15);border-radius:999px;overflow:hidden}
.gauge i{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444)}
.gauge.survival i{background:linear-gradient(90deg,#22c55e,#16a34a)}

.relation-grid a:hover,
.battle-reco-grid a:hover{
transform:translateY(-4px) scale(1.02);
}

.rpg-profile-card{
border:3px solid rgba(255,255,255,.12);
}



/* V15 전설기업관 + 시즌랭킹 + 오늘의배틀 */
.menu-legend{background:#b45309!important;color:#fff!important}
.menu-season{background:#1d4ed8!important;color:#fff!important}
.menu-today-battle{background:#be123c!important;color:#fff!important}
.quicklinks a.menu-legend{background:#b45309!important;color:#fff!important}
.quicklinks a.menu-season{background:#1d4ed8!important;color:#fff!important}
.quicklinks a.menu-today-battle{background:#be123c!important;color:#fff!important}

.today-battle-card{
    max-width:1080px;
    margin:18px auto 24px;
    padding:22px 24px;
    border-radius:26px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 28%),
        linear-gradient(135deg,#111827,#7f1d1d);
    color:white;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    text-align:left;
    box-shadow:0 18px 34px rgba(17,24,39,.20);
}

.today-battle-card span{
    display:block;
    font-weight:900;
    opacity:.9;
    margin-bottom:8px;
}

.today-battle-card strong{
    display:block;
    font-size:30px;
    line-height:1.25;
    letter-spacing:-0.8px;
}

.today-battle-card strong em{
    font-style:normal;
    color:#facc15;
    margin:0 8px;
}

.today-battle-card p{
    color:#e5e7eb;
    margin:8px 0 0;
    font-size:14px;
}

.today-battle-card a{
    flex:0 0 auto;
    background:white;
    color:#111827;
    text-decoration:none;
    font-weight:900;
    padding:14px 18px;
    border-radius:999px;
}

.rank-row:hover{
    background:#f8fafc;
    transform:translateX(4px);
}

@media(max-width:760px){
    .today-battle-card{
        flex-direction:column;
        text-align:center;
    }

    .today-battle-card strong{
        font-size:24px;
    }
}



/* V16 시장 데이터 카드 */
.market-card{
    border:1px solid #e5e7eb;
}

.market-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:18px;
}

.market-grid div{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px 12px;
    text-align:center;
}

.market-grid strong{
    display:block;
    font-size:24px;
    color:#111827;
    word-break:keep-all;
}

.market-grid span{
    display:block;
    color:#6b7280;
    font-weight:800;
    font-size:13px;
    margin-top:7px;
}

.market-empty{
    background:#f8fafc;
    border:1px dashed #cbd5e1;
    border-radius:18px;
    padding:22px;
    text-align:center;
    margin-top:18px;
}

.market-empty strong{
    display:block;
    font-size:22px;
    margin-bottom:8px;
}

.market-empty p{
    color:#6b7280;
    margin:0;
}

@media(max-width:900px){
    .market-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:560px){
    .market-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   V17 모바일 반응형 개선
   ========================================================= */
*{box-sizing:border-box}
body{overflow-x:hidden}
.wrap,.home{width:100%}
img,table{max-width:100%}
.search{width:100%}
.search input{min-width:0}

/* 메인 오늘의 카드 */
@media(max-width:1100px){
  .home{max-width:100%;padding:42px 16px}
  .rpg-hub{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:760px!important;gap:14px!important}
  .rpg-today-card:first-child{grid-column:1/-1}
}
@media(max-width:620px){
  .home{padding:28px 12px}
  .hero{padding:20px 0}
  .hero h1{font-size:34px!important;line-height:1.15;word-break:keep-all}
  .hero p{font-size:14px;line-height:1.55;word-break:keep-all}
  .rpg-hub{grid-template-columns:1fr!important;max-width:420px!important;margin:22px auto 18px!important}
  .rpg-today-card,.rpg-today-card:first-child{grid-column:auto!important;height:150px!important;padding:16px!important;border-radius:20px!important}
  .rpg-today-card span{font-size:13px!important}
  .rpg-today-card strong,.rpg-today-card strong.stock-name{font-size:24px!important;line-height:1.15!important}
  .rpg-today-card strong.stock-name.mid-name{font-size:22px!important}
  .rpg-today-card strong.stock-name.long-name{font-size:19px!important}
  .rpg-today-card em{font-size:12px!important}
}

/* 오늘의 배틀 */
@media(max-width:760px){
  .today-battle-card{margin:14px auto 18px!important;padding:20px 16px!important;border-radius:22px!important;flex-direction:column!important;text-align:center!important}
  .today-battle-card strong{font-size:22px!important;line-height:1.25;word-break:keep-all}
  .today-battle-card a{width:100%;text-align:center}
}

/* 메뉴 */
.quicklinks{width:100%!important;max-width:980px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;justify-items:stretch!important}
.quicklinks a{width:100%!important;min-width:0!important;padding:0 10px!important;line-height:1.2!important;white-space:normal!important;word-break:keep-all!important}
@media(max-width:980px){.quicklinks{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:680px){
  .quicklinks{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:22px auto!important}
  .quicklinks a{height:54px!important;font-size:15px!important;border-radius:14px!important}
}
@media(max-width:390px){.quicklinks a{font-size:14px!important}}

/* 상세 페이지 */
@media(max-width:720px){
  .wrap{padding:22px 12px!important}
  h1{font-size:28px!important;line-height:1.25;word-break:keep-all}
  .card{padding:18px!important;border-radius:18px!important;margin:14px 0!important}
  .rpg-profile-card{padding:22px 16px!important;border-radius:24px!important}
  .rpg-rank-badge{top:12px!important;right:12px!important;padding:6px 10px!important;font-size:13px}
  .rpg-main-emoji{font-size:64px!important}
  .rpg-title strong{font-size:30px!important;line-height:1.15;word-break:keep-all}
  .rpg-title span{font-size:16px!important}
  .rpg-level{font-size:26px!important;padding:7px 18px!important}
  .rpg-stars{font-size:21px!important;letter-spacing:1px!important}
  .rpg-power-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .rpg-power-grid div{padding:14px 6px!important}
  .rpg-power-grid b{font-size:19px!important;word-break:break-word}
  .dash3,.dash6{grid-template-columns:1fr!important}
  .dash3 strong{font-size:26px!important}
  .judge{font-size:18px!important}
  .actionlinks a{width:100%;text-align:center}
}

/* 시장 데이터 */
@media(max-width:720px){
  .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .market-grid strong{font-size:20px!important}
}
@media(max-width:430px){.market-grid{grid-template-columns:1fr!important}}

/* 표 */
.tablebox{-webkit-overflow-scrolling:touch}
@media(max-width:720px){
  table{min-width:760px!important;font-size:14px}
  th,td{padding:10px 8px!important}
}

/* 랭킹 */
@media(max-width:720px){
  .rank-row{grid-template-columns:34px 40px 1fr 68px!important;gap:8px!important;padding:12px 2px!important}
  .rank-no{font-size:15px!important}
  .rank-emoji{font-size:28px!important}
  .rank-main strong{font-size:16px!important;line-height:1.25;word-break:keep-all}
  .rank-main span{font-size:12px!important}
  .rank-score b{font-size:16px!important}
  .rank-score span{font-size:11px!important}
  .rank-survival{display:none!important}
}

/* 배틀 */
@media(max-width:760px){
  .battle-form{grid-template-columns:1fr!important}
  .battle-form strong{text-align:center}
  .battle-form input,.battle-form button{width:100%}
  .battle-grid{grid-template-columns:1fr!important}
  .fighter{padding:18px!important}
  .fighter h2{font-size:24px;word-break:keep-all}
  .power{font-size:34px!important}
  .versus-table{overflow-x:auto}
  .versus-table>div{min-width:560px}
}

/* 카드 그리드 */
@media(max-width:900px){
  .battle-reco-grid,.relation-grid{grid-template-columns:1fr!important}
  .external-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .codex-grid{grid-template-columns:1fr!important}
  .codex-card{padding:20px!important}
  .codex-list a{flex-direction:column!important}
}
@media(max-width:460px){.external-links{grid-template-columns:1fr!important}}

/* 월드컵 */
@media(max-width:720px){
  .match-list{gap:12px!important}
  .match{grid-template-columns:1fr!important;text-align:center!important;padding:14px!important}
  .match b{text-align:center!important}
  .champion{padding:18px!important}
}

.intro-wrap{
    text-align:center;
}

.intro{
    width:100%;
    text-align:center;
    margin:30px auto 15px;
    color:#666;
    font-size:14px;
    line-height:1.8;
}

@media (max-width:600px){
    .intro{
        max-width:320px;
        margin:30px auto 15px;
    }
}

footer{
    text-align:center;
    margin-top:20px;
    padding:20px;
    font-size:14px;
    color:#888;
    line-height:1.8;
}

footer a{
    color:#666;
    text-decoration:none;
}

@media (max-width:600px){
    .intro{
        font-size:13px;
        margin:30px auto 8px;
    }

    footer{
        font-size:13px;
        padding:16px 10px 24px;
    }
}



/* V18 배당왕 / 현금부자 메뉴 */
.menu-dividend-king{background:#ca8a04!important;color:#fff!important}
.menu-cash-king{background:#15803d!important;color:#fff!important}
.quicklinks a.menu-dividend-king{background:#ca8a04!important;color:#fff!important}
.quicklinks a.menu-cash-king{background:#15803d!important;color:#fff!important}


/* ===== stock_detail mobile clean overrides ===== */
.seo-landing-links{display:none!important;}
@media (max-width:600px){
  .wrap{padding-left:14px!important;padding-right:14px!important;}
  h1{font-size:28px;line-height:1.25;}
  .intro{text-align:left;line-height:1.7;}
  .seo-grid{grid-template-columns:repeat(2,1fr)!important;}
  .data-table{display:block;overflow-x:auto;white-space:nowrap;}
}


/* ===== FIX V2: stock detail basic-info mobile table ===== */
.basic-info-table{
    width:100%;
    min-width:0!important;
    border-collapse:collapse;
    table-layout:fixed;
}

.basic-info-table th,
.basic-info-table td{
    position:static!important;
    white-space:normal!important;
}

@media(max-width:720px){
    .basic-info-table{
        display:block!important;
        min-width:0!important;
        width:100%!important;
    }

    .basic-info-table tbody{
        display:block!important;
        width:100%!important;
    }

    .basic-info-table tr{
        display:grid!important;
        grid-template-columns:120px 1fr!important;
        align-items:center!important;
        width:100%!important;
        border-bottom:1px solid rgba(0,0,0,.07)!important;
    }

    .basic-info-table th{
        display:block!important;
        width:auto!important;
        min-width:0!important;
        text-align:left!important;
        padding:15px 14px!important;
        background:#fff!important;
        font-size:15px!important;
        font-weight:800!important;
        left:auto!important;
        top:auto!important;
        z-index:auto!important;
    }

    .basic-info-table td{
        display:block!important;
        width:auto!important;
        min-width:0!important;
        text-align:right!important;
        padding:15px 14px!important;
        background:#fff!important;
        font-size:15px!important;
        word-break:break-all!important;
        white-space:normal!important;
    }

    .data-table{
        display:block!important;
        overflow-x:auto!important;
        white-space:nowrap!important;
        min-width:760px!important;
    }

    .data-table tr{
        display:table-row!important;
    }

    .data-table th,
    .data-table td{
        display:table-cell!important;
        white-space:nowrap!important;
    }
}



/* =========================================================
   RESPONSIVE FIX V3 - stock_detail.html PC/Mobile
   - 기본정보 표 깨짐 수정
   - 모바일 큰 여백/오른쪽 밀림 수정
   - 실적 숫자 overflow 수정
   - 카드 반응형 정렬
   ========================================================= */

*{box-sizing:border-box;}

html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

.wrap{
    width:100%;
    max-width:1120px;
    margin:0 auto;
}

/* stock detail SEO sections */
.seo-section{
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.seo-section p,
.intro{
    word-break:keep-all;
    overflow-wrap:anywhere;
}

/* basic info table: PC + mobile stable */
.basic-info-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    display:table!important;
}

.basic-info-table th,
.basic-info-table td{
    position:static!important;
    left:auto!important;
    top:auto!important;
    z-index:auto!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
    background:rgba(255,255,255,.78)!important;
    min-width:0!important;
}

.basic-info-table th{
    width:34%!important;
    font-weight:800!important;
}

.basic-info-table td{
    width:66%!important;
    text-align:right!important;
}

/* summary cards */
.seo-grid{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
    gap:14px!important;
}

.seo-card{
    min-width:0!important;
    overflow:hidden!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
}

/* financial table wrapper for mobile scroll */
.data-table{
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:auto!important;
}

.data-table th,
.data-table td{
    white-space:nowrap!important;
    word-break:normal!important;
}

#earnings{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
}

#earnings .data-table{
    min-width:720px!important;
}

/* links */
.keyword-cloud,
.compare-links,
.rank-links,
.seo-landing-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}

.seo-landing-links{
    margin-top:18px;
    font-size:14px;
    opacity:.85;
}

.seo-landing-links a{
    display:inline-block;
    padding:8px 11px;
    border-radius:999px;
    background:rgba(17,24,39,.06);
    text-decoration:none;
}

/* mobile only */
@media (max-width:768px){

    body{
        background:#f6effa!important;
    }

    .wrap{
        padding:24px 18px 44px!important;
        max-width:100%!important;
    }

    .breadcrumb,
    .wrap > a{
        font-size:14px!important;
        line-height:1.5!important;
    }

    h1{
        font-size:38px!important;
        line-height:1.22!important;
        letter-spacing:-1.2px!important;
        margin:18px 0 22px!important;
        word-break:keep-all!important;
        overflow-wrap:anywhere!important;
    }

    h2{
        font-size:28px!important;
        line-height:1.28!important;
        letter-spacing:-.8px!important;
        margin:0 0 18px!important;
        word-break:keep-all!important;
    }

    h3{
        font-size:20px!important;
        line-height:1.35!important;
    }

    .intro,
    .sub,
    .seo-section p{
        font-size:17px!important;
        line-height:1.85!important;
    }

    .seo-section{
        margin:34px 0!important;
        padding:26px 20px!important;
        border-radius:24px!important;
        background:rgba(255,255,255,.34)!important;
        border:1px solid rgba(255,255,255,.5)!important;
    }

    .basic-info-table{
        display:table!important;
    }

    .basic-info-table th,
    .basic-info-table td{
        font-size:17px!important;
        padding:18px 16px!important;
        line-height:1.45!important;
    }

    .basic-info-table th{
        width:44%!important;
    }

    .basic-info-table td{
        width:56%!important;
        text-align:right!important;
    }

    .seo-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:14px!important;
    }

    .seo-card{
        padding:22px 20px!important;
        border-radius:20px!important;
        background:rgba(17,24,39,.18)!important;
    }

    .seo-card span{
        display:block!important;
        font-size:18px!important;
        line-height:1.35!important;
    }

    .seo-card strong{
        display:block!important;
        margin-top:10px!important;
        font-size:24px!important;
        line-height:1.2!important;
    }

    #earnings{
        padding-bottom:18px!important;
    }

    #earnings:after{
        content:"← 좌우로 밀어서 실적표 보기";
        display:block;
        margin-top:12px;
        font-size:13px;
        color:#6b7280;
    }

    .data-table th,
    .data-table td{
        font-size:15px!important;
        padding:12px 14px!important;
    }

    .keyword-cloud a,
    .compare-links a,
    .rank-links a,
    .seo-landing-links a{
        font-size:14px!important;
        line-height:1.3!important;
        padding:9px 12px!important;
    }
}

@media (max-width:420px){
    .wrap{
        padding:22px 16px 42px!important;
    }

    h1{
        font-size:34px!important;
    }

    h2{
        font-size:26px!important;
    }

    .seo-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .seo-card{
        padding:20px 16px!important;
    }

    .seo-card strong{
        font-size:22px!important;
    }

    .basic-info-table th,
    .basic-info-table td{
        font-size:16px!important;
        padding:16px 14px!important;
    }
}



/* =========================================================
   RESPONSIVE FIX V4 - mobile table/card final
   - 기본정보 th 세로글자 방지
   - 기본정보를 모바일에서 카드형 2열로 안정화
   - 랭킹/키워드 링크 간격 정돈
   ========================================================= */

@media (max-width:768px){

    .basic-info-table{
        display:block!important;
        width:100%!important;
        border-collapse:separate!important;
        border-spacing:0!important;
    }

    .basic-info-table tbody{
        display:block!important;
        width:100%!important;
    }

    .basic-info-table tr{
        display:grid!important;
        grid-template-columns:130px minmax(0,1fr)!important;
        align-items:center!important;
        width:100%!important;
        border-bottom:1px solid rgba(17,24,39,.08)!important;
        background:rgba(255,255,255,.72)!important;
    }

    .basic-info-table tr:last-child{
        border-bottom:0!important;
    }

    .basic-info-table th,
    .basic-info-table td{
        display:block!important;
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        background:transparent!important;
        white-space:nowrap!important;
        word-break:keep-all!important;
        overflow-wrap:normal!important;
        text-align:left!important;
        writing-mode:horizontal-tb!important;
        padding:18px 16px!important;
        line-height:1.35!important;
        vertical-align:middle!important;
    }

    .basic-info-table th{
        font-weight:900!important;
        letter-spacing:-.5px!important;
    }

    .basic-info-table td{
        text-align:right!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    .rank-links,
    .keyword-cloud,
    .compare-links{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:16px 18px!important;
    }

    .rank-links a,
    .keyword-cloud a,
    .compare-links a{
        display:block!important;
        margin:0!important;
        padding:12px 8px!important;
        line-height:1.35!important;
        word-break:keep-all!important;
        overflow-wrap:anywhere!important;
        background:transparent!important;
    }
}

@media (max-width:420px){
    .basic-info-table tr{
        grid-template-columns:112px minmax(0,1fr)!important;
    }

    .basic-info-table th,
    .basic-info-table td{
        font-size:16px!important;
        padding:16px 12px!important;
    }
}



/* =========================
   V19 상단 SEO 헤더 정렬 최적화
========================= */

h1{
    font-size:52px;
    line-height:1.18;
    letter-spacing:-1.5px;
    margin:10px 0 22px;
    text-align:left;
    word-break:keep-all;
}

.intro{
    width:100%;
    max-width:860px;
    margin:0;
    font-size:20px;
    line-height:1.9;
    color:#6b7280;
    text-align:left;
    word-break:keep-all;
}

.breadcrumb{
    font-size:15px;
    margin-bottom:18px;
    color:#6b7280;
}

.back{
    display:inline-block;
    margin:18px 0 12px;
    font-size:18px;
}

@media (max-width:768px){
    h1{
        font-size:56px !important;
        line-height:1.14 !important;
        margin:12px 0 24px !important;
        letter-spacing:-2px !important;
    }

    .intro{
        font-size:22px !important;
        line-height:1.85 !important;
        margin-bottom:24px !important;
    }

    .breadcrumb{
        font-size:14px !important;
        line-height:1.5 !important;
    }

    .back{
        font-size:17px !important;
        margin:14px 0 12px !important;
    }
}

@media (max-width:430px){
    h1{
        font-size:48px !important;
    }

    .intro{
        font-size:19px !important;
        line-height:1.8 !important;
    }
}



/* SEO hidden UX cleanup V2 - force hide noisy keyword/link sections */
.seo-hidden-block{
    display:none!important;
}

/* fallback for browsers supporting :has */
section.seo-section:has(h2){
}

/* 모바일/PC 공통: 사용자가 보기 싫은 SEO 링크 블록 숨김 */
section.seo-section:has(h2){
}

/* class가 붙은 섹션은 완전 숨김 */
section.seo-hidden-block,
.seo-hidden-block .keyword-cloud,
.seo-hidden-block .compare-links,
.seo-hidden-block .rank-links{
    display:none!important;
}

/* 이전 버전 CSS 무력화 */
@media (min-width:1200px){
    .seo-hidden-block{
        display:none!important;
    }
}



/* V20 company_snapshot 기본정보 표시 최종 */
.basic-info-table{
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
}

.basic-info-table th,
.basic-info-table td{
    position:static!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
}

@media(max-width:768px){
    .basic-info-table{
        display:block!important;
        width:100%!important;
    }

    .basic-info-table tbody{
        display:block!important;
        width:100%!important;
    }

    .basic-info-table tr{
        display:grid!important;
        grid-template-columns:118px minmax(0,1fr)!important;
        width:100%!important;
        align-items:center!important;
        border-bottom:1px solid rgba(17,24,39,.08)!important;
        background:rgba(255,255,255,.72)!important;
    }

    .basic-info-table th,
    .basic-info-table td{
        display:block!important;
        width:auto!important;
        min-width:0!important;
        background:transparent!important;
        padding:16px 12px!important;
        font-size:16px!important;
        line-height:1.35!important;
        writing-mode:horizontal-tb!important;
        white-space:nowrap!important;
    }

    .basic-info-table th{
        text-align:left!important;
        font-weight:900!important;
    }

    .basic-info-table td{
        text-align:right!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }
}

.hero-title{
    text-align:center;
    line-height:1.35;
    font-size:34px;
    font-weight:800;
}

/* 상단 문구 */
.hero-sub{
    max-width:760px;
    margin:18px auto 30px;
    text-align:center;
    font-size:18px;
    line-height:1.9;
    color:#666;
    word-break:keep-all;
}

/* 메뉴 간격 */
.menu-grid{
    gap:18px;
}

/* 하단 문구 */
.intro-wrap{
    display:block;
    width:100%;
    text-align:center;
    margin-top:55px;
    clear:both;
}

.intro{
    display:block;
    max-width:760px;
    margin:0 auto 20px;
    text-align:center;
    font-size:18px;
    line-height:1.9;
    color:#555;
    word-break:keep-all;
}

footer{
    display:block;
    width:100%;
    text-align:center;
    margin:0 auto 30px;
    padding:10px 20px 24px;
    clear:both;
}

.copyright{
    margin-bottom:12px;
    font-size:13px;
    color:#999;
    line-height:1.8;
}

/* ===== PC 중간 반응형 추가 ===== */

/* 일반 노트북 */
@media(max-width:1400px){

    .menu-grid{
        gap:14px;
    }

    .hero-title{
        font-size:54px;
    }

    .hero-sub{
        font-size:16px;
    }

    .intro{
        max-width:680px;
        font-size:16px;
    }
}

/* 작은 노트북 / 태블릿 */
@media(max-width:900px){

    .menu-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .hero-title{
        font-size:40px;
    }

    .search-box{
        width:100%;
    }

    .intro{
        max-width:90%;
        font-size:15px;
    }
}

/* 모바일 */
@media(max-width:600px){

    .hero-title{
        font-size:24px;
        line-height:1.4;
    }

    .hero-sub{
        max-width:320px;
        font-size:14px;
        line-height:1.8;
    }

    .intro-wrap{
        width:100%;
        margin:28px auto 10px;
        padding:0;
        text-align:center;
    }

    .intro{
        display:block;
        width:90%;
        max-width:360px;
        margin:0 auto 20px;
        padding:0;
        text-align:center;
        font-size:14px;
        line-height:1.9;
        box-sizing:border-box;
    }

    footer{
        font-size:13px;
        line-height:1.8;
    }

    .copyright{
        font-size:12px;
        line-height:1.7;
    }
}