*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#2d2d2d;line-height:1.6;background:#fff}.container{max-width:800px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4{line-height:1.3;margin-top:1.5rem;margin-bottom:0.5rem}h1{font-size:1.75rem}h2{font-size:1.4rem}h3{font-size:1.15rem}a{color:#2a5a8c;text-decoration:none}a:hover{text-decoration:underline}ul,ol{padding-left:1.5rem;margin-bottom:1rem}li{margin-bottom:0.25rem}p{margin-bottom:1rem}img{max-width:100%;height:auto}table{width:100%;border-collapse:collapse;margin-bottom:1rem}th,td{padding:0.5rem;text-align:left;border-bottom:1px solid #d1d5db}th{font-weight:600;background:#e8eef4}.site-header{background:#1b3a5c;color:#fff;padding:0.75rem 0}.site-header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.site-brand{display:flex;align-items:center;gap:0.75rem}.site-title{color:#fff;font-size:1.25rem;text-decoration:none}.site-title:hover{text-decoration:none;opacity:0.9}.social-icons{display:flex;gap:0.4rem}.social-link{color:rgba(255,255,255,0.7);display:flex;align-items:center;text-decoration:none}.social-link:hover{color:#fff;text-decoration:none}main.container{padding-top:1.5rem;padding-bottom:2rem}.page-content h2{border-bottom:2px solid #e8eef4;padding-bottom:0.25rem}.quick-ref{background:#e8eef4;border-left:4px solid #1b3a5c;border-radius:4px;padding:1rem;margin-bottom:1.5rem}.quick-ref h3{margin-top:0;margin-bottom:0.5rem;color:#1b3a5c}.quick-ref-table{width:100%;border-collapse:collapse;margin-bottom:0}.quick-ref-table th{text-align:left;padding:0.25rem 1rem 0.25rem 0;color:#6b7280;font-weight:600;white-space:nowrap;width:1%;background:none;border-bottom:none}.quick-ref-table td{padding:0.25rem 0;border-bottom:none}.rules-header{margin-bottom:1rem}.age-badge{display:inline-block;background:#1b3a5c;color:#fff;padding:0.2rem 0.75rem;border-radius:12px;font-size:0.85rem;font-weight:600}.print-only-hide{display:none}@media (min-width: 641px){.print-only-hide{display:block}}.print-btn{background:#2a5a8c;color:#fff;border:none;padding:0.5rem 1rem;border-radius:4px;cursor:pointer;font-size:0.9rem;margin-bottom:1rem}.print-btn:hover{background:#1b3a5c}.rules-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #d1d5db;font-size:0.9rem;color:#6b7280}.picker-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.5rem 0}@media (min-width: 480px){.picker-grid{grid-template-columns:1fr 1fr}}.picker-card{display:block;background:#e8eef4;border:2px solid #d1d5db;border-radius:8px;padding:1.25rem;text-align:center;text-decoration:none;color:#2d2d2d;font-weight:600;font-size:1.05rem;transition:border-color 0.15s}.picker-card:hover{border-color:#1b3a5c;text-decoration:none}.picker-card small{display:block;font-weight:400;color:#6b7280;margin-top:0.25rem;font-size:0.85rem}.sport-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:1rem;margin:1.5rem 0}.sport-card{display:block;background:#1b3a5c;color:#fff;border-radius:8px;padding:1.25rem;text-align:center;text-decoration:none;font-weight:600;font-size:1.05rem;transition:background 0.15s}.sport-card:hover{background:#2a5a8c;text-decoration:none}.site-footer{background:#1b3a5c;color:rgba(255,255,255,0.8);padding:1.5rem 0;margin-top:2rem;font-size:0.85rem;text-align:center}.site-footer a{color:#fff}.site-footer a:hover{opacity:0.8}.site-footer p{margin-bottom:0.25rem}.field-diagram{background:#4a8c3f;border:2px solid #3a6f32;border-radius:4px;padding:1rem;margin:1rem 0;position:relative;max-width:300px;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:0.85rem}.field-diagram .goal-top,.field-diagram .goal-bottom{position:absolute;left:50%;transform:translateX(-50%);background:rgba(255,255,255,0.3);padding:0.15rem 1rem;border-radius:2px;font-size:0.75rem}.field-diagram .goal-top{top:0}.field-diagram .goal-bottom{bottom:0}.field-diagram .positions{display:flex;flex-direction:column;gap:2rem;text-align:center;width:100%;padding:1.5rem 0.5rem}.field-diagram .pos{background:rgba(255,255,255,0.25);border-radius:50%;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;font-size:0.75rem;margin:0 auto}.field-row{display:flex;justify-content:space-around;width:100%}.site-photo{display:block;width:100%;max-width:560px;margin:1.25rem auto;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.18)}.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0.25rem}.site-nav .nav-list{display:flex;list-style:none;padding:0;margin:0;gap:0.25rem}.site-nav .nav-item{position:relative}.site-nav .nav-link{color:rgba(255,255,255,0.9);text-decoration:none;padding:0.5rem 0.75rem;display:block;font-size:0.9rem;cursor:pointer}.site-nav .nav-link:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,0.1);border-radius:4px}.site-nav .has-children:hover .nav-children,.site-nav .has-children:focus-within .nav-children{display:block}.site-nav .nav-children{display:none;position:absolute;top:100%;left:0;background:#1b3a5c;border:1px solid rgba(255,255,255,0.15);border-radius:4px;list-style:none;padding:0.25rem 0;margin:0;min-width:160px;z-index:100}.site-nav .nav-children .nav-link{padding:0.4rem 1rem}@media (max-width: 640px){.nav-toggle{display:block}.site-nav{display:none;width:100%;order:3}.site-nav.open{display:block}.site-nav .nav-list{flex-direction:column;padding-top:0.5rem}.site-nav .nav-children{position:static;border:none;padding-left:1rem;display:block}}@media print{.site-header,.site-footer,.print-only-hide,.nav-toggle{display:none !important}body{font-size:12pt;color:#000;background:#fff}.container{max-width:100%;padding:0}a{color:#000;text-decoration:underline}.quick-ref{background:none;border:1px solid #ccc}.age-badge{background:none;color:#000;border:1px solid #000}.picker-card,.sport-card{border:1px solid #ccc;background:none;color:#000}.field-diagram{border:2px solid #333;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
