.container{max-width:800px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.page-header{background-color:#fff;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:1rem 0;text-align:center}.page-header h1{font-size:1.875rem;font-weight:700;color:#2e7d32}.page-header .sub-title{font-family:Inter,sans-serif;font-size:1.125rem;color:#4a5568;margin-top:.25rem}.page-header .race-info{font-size:1rem;color:#6b7280;margin-top:.5rem}.sticky-nav{position:sticky;top:48px;z-index:40;background-color:rgba(255,255,255,.8);backdrop-filter:blur(8px);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:.75rem .5rem}.sticky-nav .nav-list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;flex-wrap:wrap;gap:.25rem .5rem}.sticky-nav .nav-list:not(:first-child){margin-top:1.5rem;margin-bottom:.5rem}.nav-link{font-size:.75rem;font-weight:700;padding:.5rem .75rem;border-radius:9999px;text-decoration:none;transition:color .3s,background-color .3s}.nav-active{color:#fff!important;background-color:#2e7d32}.nav-inactive{color:#4a5568;background-color:#edf2f7}main.container{padding:2rem 1rem}section{margin-bottom:4rem;scroll-margin-top:6rem}.section-title{font-size:1.5rem;font-weight:700;margin-top:2rem;margin-bottom:.5rem}.section-title::before{content:'';display:inline-block;width:8px;height:28px;background-color:#2e7d32;margin-right:12px;vertical-align:middle}.intro-balloon-wrapper{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem;margin-top:2rem}.intro-balloon-icon{flex-shrink:0;width:5rem;height:5rem;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.intro-balloon{position:relative;background-color:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);flex:1;color:#374151}.intro-balloon::before{content:'';position:absolute;top:1.5rem;left:-.5rem;width:0;height:0;border-top:8px solid transparent;border-right:8px solid #fff;border-bottom:8px solid transparent}.grid{display:grid;gap:1.5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.card{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);overflow:hidden;transition:transform .2s ease-in-out;display:flex;flex-direction:column}.card:hover{transform:translateY(-.25rem)}.card-content{padding:1.25rem;flex-grow:1}.card-footer{padding:0 1.25rem 1.25rem;margin-top:auto}.card-tag{display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:9999px;text-transform:uppercase}.tag-green{color:#166534;background-color:#dcfce7}.tag-purple{color:#7e22ce;background-color:#f3e8ff}.tag-red{color:#b91c1c;background-color:#fee2e2}.tag-yellow{color:#b45309;background-color:#fef3c7}.tag-indigo{color:#4338ca;background-color:#e0e7ff}.card-title{font-size:1rem;font-weight:700;margin-top:.5rem;margin-bottom:.5rem}.card-text{color:#4b5563;font-size:.875rem}.card-button{display:block;text-align:center;background-color:#1f2937;color:#fff!important;font-weight:700;padding:.5rem 1rem;border-radius:.5rem;text-decoration:none;transition:background-color .2s}.card-button:hover{background-color:#374151}#horse-cards .card-header{display:flex;justify-content:space-between;align-items:center}#horse-cards .horse-name{font-size:1rem;font-weight:700;color:#2e7d32}#horse-cards .odds{font-family:Inter,sans-serif;font-weight:700;font-size:1.125rem;background-color:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:9999px}#horse-cards .jockey-info{color:#6b7280;font-size:.875rem;margin-top:.25rem}#horse-cards .comment{color:#374151;margin:1rem 0;font-size:1rem}#horse-cards .details-button{display:block;width:100%;text-align:center;background-color:#1f2937;color:#fff!important;font-weight:700;padding:.5rem 1rem;border-radius:.5rem;text-decoration:none;transition:background-color .2s;font-size:1rem}#horse-cards .details-button:hover{background-color:#374151}.chart-container{position:relative;width:100%;max-width:750px;margin-left:auto;margin-right:auto;height:320px;max-height:400px}.radar-chart-container{position:relative;margin:1rem auto;height:220px;width:100%;max-width:280px}#data .chart-grid{display:grid;gap:2rem;margin-bottom:3rem}#data .chart-box{background-color:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}#data .chart-box h3{font-weight:700;text-align:center;margin-bottom:.5rem}.table-wrapper{background-color:#fff;padding:.3rem;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.table-wrapper h3{font-size:1.25rem;font-weight:700;margin-bottom:1rem;text-align:center}.filter-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.filter-container p{font-size:.875rem;color:#4b5563}.filter-select{border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem;background-color:#f9fafb}.table-scroll-wrapper{overflow-x:auto}.table-scroll-wrapper p{font-size:.8rem;margin-top:.5rem}.data-table{width:100%;text-align:left;font-size:.875rem}.data-table thead{background-color:#f3f4f6}.data-table td,.data-table th{padding:.5rem}.data-table tbody tr{border-bottom:1px solid #e5e7eb}#past-results-table td,#training-table td{text-align:center}#past-results-table td:nth-child(1),#past-results-table td:nth-child(2),#past-results-table td:nth-child(3),#training-table td:nth-child(1),#training-table td:nth-child(2){text-align:left;font-size:.75rem}.training-comment-btn{background-color:#e5e7eb;color:#374151;font-weight:700;padding:.25rem .5rem;border:none;border-radius:9999px;font-size:.75rem;cursor:pointer}.training-comment-btn:hover{background-color:#d1d5db}.race-entry-table{margin:1rem auto;border:none;font-size:.8rem;width:100%;border-collapse:collapse;box-shadow:0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -2px rgba(0,0,0,.05)}.race-entry-table th{padding:1rem;vertical-align:middle;background-color:#cfcfcf;color:#000;text-align:center;border:1px solid #fff}.race-entry-table td{border-bottom:1px solid #ccc;text-align:center}.race-entry-table td:nth-child(2){text-align:left}.race-entry-table tr:nth-child(1){border-top:1px solid #ccc}.race-entry-table .horse-number{font-weight:700;font-size:1.1rem;width:40px;height:40px;line-height:40px;border-radius:50%;margin:.5rem auto;text-align:center}.waku1{background-color:#fff;color:#000;border:1px solid #000}.waku2{background-color:#000;color:#fff}.waku3{background-color:#c62927;color:#fff}.waku4{background-color:#1973cd;color:#fff}.waku5{background-color:#ffeb3b;color:#000}.waku6{background-color:#2f7d32;color:#fff}.waku7{background-color:#ffa727;color:#000}.waku8{background-color:#f8bbd0;color:#000}.hinba{color:#eb0000}.senba{color:#06c}#expert-picks-container{display:grid;gap:2rem}.expert-card{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);padding:1.5rem}.expert-card h3{font-size:1.25rem;font-weight:700;text-align:center;margin-bottom:1rem;color:#2e7d32}.expert-card h4{font-weight:700;margin-bottom:.75rem;border-bottom:2px solid #f3f4f6;padding-bottom:.5rem}.expert-card .betting-type{font-size:.875rem;font-weight:400;color:#4b5563}.expert-card .pick{margin-bottom:.5rem;font-size:1rem}.expert-card .pick .symbol{font-weight:700;display:inline-block;width:2rem}.expert-card .pick .symbol-honmei{color:#dc2626}.expert-card .pick .horse-info{font-weight:700}.expert-card .betting-combinations{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-top:.75rem}.expert-card .betting-chip{display:inline-block;background-color:#f3f4f6;border-radius:.375rem;padding:.25rem .75rem;font-size:1rem;font-weight:600;color:#1f2937;margin-right:.5rem;margin-bottom:.5rem}#course .course-layout-wrapper{background-color:#fff;padding:.25rem;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}#course .course-flex-container{display:flex;flex-direction:column}#course .course-column{width:100%}#course .course-column h3{font-weight:700;font-size:1.125rem;text-align:center;margin:.5rem 0}#course .course-column img{width:100%}#course .course-points{list-style:none;padding:0 1rem 1rem;color:#374151}#course .course-points li{margin-bottom:1rem}#course .course-points strong{color:#2e7d32}.related-card{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);overflow:hidden;transition:transform .2s ease-in-out;text-decoration:none}.related-card:hover{transform:translateY(-.25rem)}.related-card:hover .related-title{color:#2e7d32}.related-card .img-wrapper{background-color:#f3f4f6}.related-card .img-wrapper img{width:100%;object-fit:contain}.related-card .related-title-wrapper{padding:.25rem}.related-card .related-title{margin-top:.25rem;color:#1f2937;transition:color .2s}.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.5);padding:1rem;opacity:0;pointer-events:none;transition:opacity .3s ease}#modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:100%;max-width:42rem;max-height:80vh;overflow-y:auto;transform:scale(.95);transition:transform .3s ease}#modal-header{position:sticky;top:0;background-color:#fff;padding:1rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}#modal-title{font-size:1.25rem;font-weight:700}#modal-close{color:#6b7280;font-size:1.5rem;border:none;background:0 0;cursor:pointer}#modal-close:hover{color:#1f2937}#modal-body{padding:1.5rem}#modal-body strong{display:inline-block;margin-bottom:.25rem}#modal-body div:not(:last-child){margin-bottom:1rem}#modal-body .comment-wrapper{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}#modal-body .comment-wrapper h4{font-weight:700;margin-bottom:.5rem}@media (min-width:640px){.nav-link{padding:.5rem 1rem;font-size:.875rem}.sticky-nav{position:sticky;top:0;z-index:40;background-color:rgba(255,255,255,.8);backdrop-filter:blur(8px);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:.75rem .5rem}}@media (min-width:768px){.page-header h1{font-size:2.25rem}.grid-cols-md-2{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-container{height:400px}#course .course-flex-container{flex-direction:row}#course .course-column{width:50%}}@media (min-width:1024px){.grid-cols-lg-3{grid-template-columns:repeat(3,minmax(0,1fr))}}