* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #1d1d1f; background: #f5f5f7; padding: 2rem 1rem; -webkit-font-smoothing: antialiased; }
.container { max-width: 680px; margin: 0 auto; background: #fff; border-radius: 16px; padding: 3rem 2.5rem; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.brand { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; }
.brand img { width: 44px; height: 44px; border-radius: 10px; }
.brand a { color: #1d1d1f; font-weight: 600; text-decoration: none; }
h1 { font-size: 2rem; font-weight: 700; margin-bottom: 0.5rem; }
.subtitle { color: #86868b; font-size: 1.1rem; margin-bottom: 0.5rem; }
.effective { color: #86868b; font-size: 0.9rem; margin-bottom: 2rem; }
h2 { font-size: 1.25rem; font-weight: 600; margin-top: 2rem; margin-bottom: 0.75rem; }
h3 { font-size: 1.05rem; font-weight: 600; margin-top: 1.25rem; margin-bottom: 0.5rem; }
p { margin-bottom: 1rem; color: #424245; }
ul, ol { margin-bottom: 1rem; padding-left: 1.5rem; color: #424245; }
li { margin-bottom: 0.5rem; }
a { color: #0066cc; text-decoration: none; }
a:hover { text-decoration: underline; }
table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; font-size: 0.95rem; }
th, td { text-align: left; padding: 0.5rem 0.6rem; border-bottom: 1px solid #e5e5e5; vertical-align: top; color: #424245; }
th { color: #1d1d1f; font-weight: 600; }
.card { background: #f5f5f7; border-radius: 12px; padding: 1.5rem; margin: 1.5rem 0; }
.card p { margin-bottom: 0.5rem; } .card p:last-child { margin-bottom: 0; }
.nav { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #e5e5e5; font-size: 0.9rem; color: #86868b; }
.nav a { color: #86868b; } .nav a:hover { color: #0066cc; }
@media (max-width: 600px) { .container { padding: 2rem 1.25rem; } body { padding: 1rem 0.5rem; } }
