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

body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #fff; color: #333; line-height: 1.6; }

.site-nav { background: #f5f5f5; border-bottom: 1px solid #e0e0e0; padding: 0.75rem 1rem; text-align: center; }

.site-nav a { color: #363636; text-decoration: none; font-weight: 500; margin: 0 0.75rem; font-size: 1rem; }

.site-nav a:hover { color: #1a3a8a; }

.content { max-width: 900px; margin: 2rem auto; padding: 1.5rem 2rem; }

h1 { font-size: 1.75rem; margin: 1rem 0 0.5rem; font-weight: 600; }

.home-title { text-align: center; }

h2 { font-size: 1.35rem; margin: 1.5rem 0 0.5rem; font-weight: 600; }

h3 { font-size: 1.1rem; margin: 1rem 0 0.3rem; font-weight: 600; }

a { color: #1a3a8a; }

a:hover { color: #c33; }

ul, ol { margin: 0.3rem 0 0.8rem 1.5rem; }

p { margin: 0.6rem 0; }

.banner { text-align: center; margin-bottom: 1.5rem; }

.banner-img { max-width: 100%; height: auto; border-radius: 4px; }

.contact { margin: 0.5rem 0; border-collapse: collapse; }

.contact td { padding: 0.2rem 1rem 0.2rem 0; vertical-align: top; }

.photo-bottom { text-align: center; margin: 2rem 0; }

.bottom-img { max-width: 100%; height: auto; border-radius: 4px; }

.caption { font-size: 0.8rem; color: #777; }

.pub-section p { margin: 0.6rem 0; padding: 0.5rem 0.75rem; border-left: 3px solid #1a3a8a; background: #fafafa; border-radius: 0 4px 4px 0; }

.knot-grid { border-collapse: separate; border-spacing: 6px; margin: 0.5rem auto; }

.knot-grid td { text-align: center; padding: 8px; border: 1px solid #ddd; border-radius: 6px; background: #fafafa; font-size: 0.85rem; }

.knot-grid td:hover { background: #eef; }

.knot-grid img { vertical-align: middle; border-radius: 3px; }

.knot-viewer-cell { display: inline-block; width: 310px; text-align: center; vertical-align: top; margin: 0.5rem; }

.viewer { width: 300px; height: 300px; border: 1px solid #ddd; border-radius: 6px; overflow: hidden; background: #fff; }

.viewer-label { font-weight: 600; margin-top: 0.4rem; font-size: 0.95rem; }

.viewer-links { font-size: 0.85rem; margin-top: 0.2rem; }

@media (max-width: 700px) { .site-nav a { display: inline-block; margin: 0.3rem 0.5rem; font-size: 0.9rem; } .content { margin: 0.5rem; padding: 0.75rem; } h1 { font-size: 1.4rem; } h2 { font-size: 1.15rem; } .knot-viewer-cell { width: 100%; margin: 0.5rem 0; } .viewer { width: 100%; height: 260px; } .contact td { display: block; padding: 0.1rem 0; } .contact td:first-child { font-weight: 600; } .pub-section p { padding: 0.4rem 0.5rem; } .knot-grid { display: block; } .knot-grid tr { display: flex; flex-wrap: wrap; justify-content: center; } .knot-grid td { margin: 3px; } }

/*# sourceMappingURL=style.css.map */