@charset "UTF-8";

body { font-family: "Helvetica Neue", Arial, sans-serif; max-width: 1000px; margin: 0 auto; padding: 20px; color: #333; }
a { text-decoration: none; color: #007bff; }
.back-link { display: inline-block; margin-bottom: 20px; font-weight: bold; }

/* テーブル */
.table-wrapper { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 14px; white-space: nowrap; }

/* ヘッダー */
th { background-color: #444; color: white; padding: 10px; text-align: left; cursor: pointer; user-select: none; position: relative; }
th:hover { background-color: #666; }
th::after { content: "⇅"; position: absolute; right: 5px; opacity: 0.3; font-size: 0.8em; }

td { border-bottom: 1px solid #ddd; padding: 8px 10px; vertical-align: middle; }
tr:nth-child(even) { background-color: #f9f9f9; }

/* 文字色など */
.size-S { color: #2196F3; font-weight: bold; }
.size-M { color: #FF9800; font-weight: bold; }
.size-L { color: #f44336; font-weight: bold; font-size: 1.2em; }
.price { text-align: right; font-family: monospace; }
.entries { text-align: center; font-weight: bold; color: #d32f2f; }
.phase-info { font-size: 0.85em; color: #666; }
.updated { font-size: 0.8em; color: #888; }

/* カードデザイン */
.world-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 15px; }
.world-card { border: 1px solid #ddd; padding: 15px; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: all 0.2s; }
.world-card:hover { transform: translateY(-3px); box-shadow: 0 5px 10px rgba(0,0,0,0.1); }
.world-name { font-size: 1.2em; font-weight: bold; margin-bottom: 5px; }
.count-badge { background: #eee; padding: 3px 10px; border-radius: 12px; font-size: 0.9em; }
.count-badge.has-plots { background: #ffebee; color: #c62828; font-weight: bold; }