body { background-color: #121212; color: #fff; font-family: sans-serif; margin: 0; padding: 0; }
.container { max-width: 900px; margin: 0 auto; padding: 15px; }

/* ナビゲーション */
.main-nav { display: flex; margin-bottom: 20px; border: 1px solid #444; border-radius: 8px; overflow: hidden; }
.nav-btn { flex: 1; padding: 15px; border: none; background: #222; color: #888; cursor: pointer; font-weight: bold; font-size: 0.9rem; }
.nav-btn.active { background: #007bff; color: #fff; }

.page { display: none; }
.page.active { display: block; }

/* 設定エリア */
.deployment-settings { background: #1e1e1e; padding: 15px; border-radius: 8px; border: 1px solid #333; display: flex; gap: 20px; align-items: stretch; }
.config-left { display: flex; flex-direction: column; gap: 15px; min-width: 160px; border-right: 1px solid #444; padding-right: 20px; }
.section-label { display: block; font-size: 0.75rem; color: #888; margin-bottom: 8px; text-align: left; }
.huge-input { width: 60px; height: 45px; font-size: 1.5rem; text-align: center; background: #000; color: #00ffcc; border: 2px solid #007bff; border-radius: 6px; }
.options-config { text-align: left; font-size: 0.85rem; }
.rarity-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; margin-bottom: 8px; }
.rarity-checks label { display: flex; align-items: center; gap: 4px; cursor: pointer; }

/* 職種指定 (横4×縦2) */
.class-config { flex: 1; }
.class-input-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.input-item { display: flex; flex-direction: column; align-items: center; background: #2a2a2a; padding: 6px; border-radius: 4px; font-size: 0.8rem; }
.class-input { width: 35px; margin-top: 4px; text-align: center; background: #000; color: #fff; border: 1px solid #555; }

/* ボタン・結果表示 */
.status-options { margin-top: 15px; display: flex; justify-content: center; }
.main-generate-btn { padding: 12px 50px; background: #007bff; color: #fff; border: none; border-radius: 4px; font-weight: bold; cursor: pointer; }
.results-layout { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 20px; padding: 15px; background-color: #121212; border-radius: 8px; }
.operator-card { background: #1a1a1a; border: 1px solid #333; padding: 6px; border-left: 4px solid #333; border-radius: 4px; }
.icon-container img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.name { font-size: 0.8rem; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 4px; }

.rarity-6 { border-left-color: #ffcf00; }
.rarity-5 { border-left-color: #e0e0e0; }
.rarity-4 { border-left-color: #c288ff; }
.rarity-3 { border-left-color: #00b0ff; }

/* 共有・管理画面 */
.share-actions { margin-top: 20px; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.action-btn { padding: 12px 20px; border: none; border-radius: 6px; font-weight: bold; cursor: pointer; flex: 1; min-width: 120px; color: white; }
.action-btn.dl { background-color: #444; }
.action-btn.x { background-color: #000; border: 1px solid #333; }
.action-btn.bsky { background-color: #0085ff; }
.manage-controls { background: #1e1e1e; padding: 15px; border-radius: 8px; margin-bottom: 15px; }
.sub-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; justify-content: center; }
.sub-tab-btn, .class-tab { background: #333; color: #ccc; border: none; padding: 6px 12px; border-radius: 4px; cursor: pointer; font-size: 0.8rem; }
.sub-tab-btn.active, .class-tab.active { background: #007bff; color: #fff; }
.manage-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 8px; margin-top: 15px; }
.manage-grid .operator-card { filter: grayscale(1); opacity: 0.4; cursor: pointer; padding: 4px; }
.manage-grid .operator-card.owned { filter: grayscale(0); opacity: 1; border: 1px solid #007bff; }
.manage-grid .name { font-size: 0.7rem; }

/* ガイドページ */
.guide-content { text-align: left; max-width: 700px; margin: 0 auto; }
.guide-section { background: #1e1e1e; padding: 15px; border-radius: 8px; margin-bottom: 15px; border-left: 4px solid #007bff; }
.guide-section h2 { margin-top: 0; font-size: 1.1rem; color: #007bff; }

/* フッター */
.footer-contact { margin-top: 50px; padding: 20px; border-top: 1px solid #333; font-size: 0.85rem; color: #888; text-align: center; }
.footer-links { display: flex; justify-content: center; gap: 20px; margin-top: 10px; }
.footer-links a { color: #007bff; text-decoration: none; }

@media (max-width: 768px) {
    .deployment-settings { flex-direction: column; }
    .config-left { border-right: none; border-bottom: 1px solid #444; padding-right: 0; padding-bottom: 15px; min-width: 100%; }
    .class-input-grid { grid-template-columns: repeat(4, 1fr); }
    .results-layout { grid-template-columns: repeat(4, 1fr); }
    .footer-links { flex-direction: column; gap: 12px; }
}
@media (max-width: 480px) { .class-input-grid { grid-template-columns: repeat(2, 1fr); } }