*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;min-height:100vh}.container{max-width:1100px;margin:0 auto;padding:20px}.header{background-color:#003f7f;color:white;padding:40px 20px;margin-bottom:40px;box-shadow:0 4px 6px rgba(0,0,0,.1)}.header h1{text-align:center;font-size:2.5rem;font-weight:700;color:white;margin-bottom:10px}.nav{display:flex;gap:20px;margin-bottom:30px;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.nav-item{padding:10px 20px;background-color:#e8f4f8;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.nav-item:hover{background-color:#d1e7dd}.nav-item.active{background-color:#003f7f;color:white}.card{background:white;padding:30px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.1);border:1px solid #e2e8f0}.card h2{color:#1a202c;font-size:1.75rem;font-weight:700;margin-bottom:16px;padding-bottom:12px;border-bottom:3px solid #003f7f}.card h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin-top:24px}.card h3,.card p{margin-bottom:12px}.card p{color:#4a5568;line-height:1.7}.card ul{margin-left:20px;margin-top:8px;margin-bottom:8px}.card li{color:#4a5568;line-height:1.5;margin-bottom:4px}.card li strong{color:#2d3748;font-weight:600}.card pre{background:#2d3748;color:#e2e8f0;padding:20px;border-radius:8px;overflow-x:auto;margin:16px 0;font-size:.9rem;line-height:1.6;border:1px solid #4a5568}.card code{background:#edf2f7;color:#003f7f;padding:2px 6px;border-radius:4px;font-size:.9em;font-family:Consolas,Monaco,Courier New,monospace}.card pre code{background:transparent;color:#e2e8f0;padding:0}.route-card{border-left:4px solid}.route-card.yellow{border-color:#ffff33}.route-card.orange{border-color:#ff9933}.route-card.green{border-color:#339933}.route-card.red{border-color:#ff0000}.route-card.blue{border-color:#0099cc}.grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.loading{text-align:center;padding:40px;color:#666}.footer{background-color:transparent;color:#666;padding:20px 0;margin-top:40px;border-top:1px solid #e2e8f0}