/* Guide Pages Shared Styles */

/* Base Reset */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.7;
  padding: 20px;
  max-width: 800px;
  margin: 0 auto;
  color: #333;
  background: #fff;
}

/* Header */
header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}

header a {
  color: #0066cc;
  text-decoration: none;
  font-size: 14px;
}

header a:hover {
  text-decoration: underline;
}

/* Typography */
h1 {
  font-size: 28px;
  margin-bottom: 8px;
  color: #222;
}

h2 {
  font-size: 20px;
  margin: 32px 0 16px;
  color: #333;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
}

h3 {
  font-size: 16px;
  margin: 16px 0 8px;
  color: #444;
}

p {
  margin-bottom: 12px;
}

.intro {
  font-size: 18px;
  color: #555;
  margin-bottom: 24px;
  line-height: 1.6;
}

/* Links */
a {
  color: #0066cc;
}

a:hover {
  text-decoration: underline;
}

/* Lists */
ul, ol {
  margin-left: 24px;
  margin-bottom: 16px;
}

li {
  margin-bottom: 8px;
}

/* Guide Cards */
.guide-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
  margin: 24px 0;
}

.guide-card {
  display: block;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.1s;
  background: #fff;
}

.guide-card:hover {
  border-color: #0066cc;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  text-decoration: none;
}

.guide-card h2 {
  margin: 0 0 8px;
  font-size: 18px;
  border: none;
  padding: 0;
}

.guide-card p {
  margin: 0;
  color: #666;
  font-size: 14px;
}

.guide-card.highlight {
  background: #f0f7ff;
  border-color: #cce0ff;
}

.guide-card.highlight:hover {
  border-color: #0066cc;
}

/* FAQ / Details */
.faq {
  margin-top: 32px;
}

details {
  margin-bottom: 12px;
  padding: 12px 16px;
  background: #f9f9f9;
  border-radius: 6px;
  border: 1px solid #eee;
}

summary {
  cursor: pointer;
  font-weight: 600;
  color: #333;
}

summary:hover {
  color: #0066cc;
}

details[open] summary {
  margin-bottom: 12px;
}

details p,
details ul {
  color: #555;
}

/* Glossary */
.glossary-nav {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
  padding: 12px 16px;
  background: #f5f5f5;
  border-radius: 6px;
}

.glossary-nav a {
  font-weight: 500;
  text-decoration: none;
}

.glossary-nav a:hover {
  text-decoration: underline;
}

.glossary {
  margin: 0;
}

.glossary dt {
  font-weight: 600;
  margin-top: 20px;
  color: #0066cc;
  font-size: 15px;
}

.glossary dt:first-child {
  margin-top: 0;
}

.glossary dd {
  margin-left: 0;
  margin-top: 4px;
  padding-left: 16px;
  border-left: 3px solid #eee;
  color: #555;
}

/* App Comparison */
.app-comparison {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
  margin: 24px 0;
}

.app-card {
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
}

.app-card h2 {
  margin: 0 0 4px;
  border: none;
  padding: 0;
}

.app-card .platform {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
  font-weight: 500;
}

.app-card p {
  color: #555;
  margin-bottom: 0;
}

.app-card .button {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 16px;
  background: #0066cc;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
}

.app-card .button:hover {
  background: #0055aa;
  text-decoration: none;
}

/* Instructions */
.instructions {
  margin-top: 32px;
}

.step {
  margin-bottom: 24px;
  padding: 16px 20px;
  background: #f9f9f9;
  border-radius: 8px;
  border: 1px solid #eee;
}

.step h3 {
  margin-top: 0;
  color: #333;
}

.step ol,
.step ul {
  margin-bottom: 0;
}

/* Notices */
.notice {
  padding: 12px 16px;
  border-radius: 6px;
  margin-bottom: 24px;
}

.notice.warning {
  background: #fff8e6;
  border-left: 4px solid #ffcc00;
  color: #664d00;
}

.notice strong {
  color: #333;
}

/* Tips */
.tips ul {
  list-style: none;
  margin-left: 0;
}

.tips li {
  padding-left: 28px;
  position: relative;
  margin-bottom: 12px;
}

.tips li::before {
  content: "💡";
  position: absolute;
  left: 0;
}

.tip {
  background: #fff8e6;
  padding: 12px 16px;
  border-radius: 6px;
  margin: 16px 0;
  border-left: 4px solid #ffcc00;
}

.tip strong {
  color: #664d00;
}

/* Tagging Guide */
.tag-list {
  list-style: none;
  margin-left: 0;
}

.tag-list li {
  margin-bottom: 10px;
}

.tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  background: #eee;
  color: #555;
}

.tag.pvp {
  background: #cce0ff;
  color: #003366;
}

.tag.raid {
  background: #ffe6cc;
  color: #663300;
}

.tag.trade {
  background: #ccffcc;
  color: #006600;
}

/* How-To Boxes */
.how-to {
  background: #f0f7ff;
  padding: 16px 20px;
  border-radius: 8px;
  margin: 16px 0;
  border: 1px solid #cce0ff;
}

.how-to h3 {
  margin-top: 0;
  color: #003366;
}

.how-to ol,
.how-to ul {
  margin-bottom: 0;
}

/* Checklist Example */
.checklist-example {
  background: #f5f5f5;
  padding: 16px;
  border-radius: 6px;
  font-family: 'SF Mono', Monaco, 'Courier New', monospace;
  font-size: 12px;
  overflow-x: auto;
  white-space: pre;
  line-height: 1.5;
  border: 1px solid #ddd;
}

/* Search Table */
.search-table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
}

.search-table th,
.search-table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #ddd;
}

.search-table th {
  background: #f5f5f5;
  font-weight: 600;
  font-size: 13px;
}

.search-table code {
  background: #eee;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 13px;
  font-family: 'SF Mono', Monaco, 'Courier New', monospace;
}

/* Inline Code */
code {
  background: #f0f0f0;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 13px;
  font-family: 'SF Mono', Monaco, 'Courier New', monospace;
}

/* Footer */
footer {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #eee;
  font-size: 14px;
  color: #666;
}

footer a {
  color: #0066cc;
}

/* Responsive */
@media (max-width: 600px) {
  body {
    padding: 16px;
  }

  h1 {
    font-size: 24px;
  }

  h2 {
    font-size: 18px;
  }

  .guide-cards {
    grid-template-columns: 1fr;
  }

  .app-comparison {
    grid-template-columns: 1fr;
  }

  .glossary-nav {
    gap: 12px;
  }

  .search-table {
    font-size: 13px;
  }

  .search-table th,
  .search-table td {
    padding: 8px;
  }
}
