.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.popup-container{background:var(--color-white);border-radius:12px;max-width:480px;width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:popupFadeIn .25s ease-out}@keyframes popupFadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-image-wrapper{width:100%;cursor:pointer;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1;min-height:0}.popup-image-wrapper img{width:100%;height:auto;display:block}.popup-image-wrapper.no-link{cursor:default}.popup-text-content{padding:32px 28px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1;min-height:0}.popup-text-content .popup-title{font-size:18px;font-weight:700;color:var(--color-black);margin-bottom:16px;line-height:1.4}.popup-text-content .popup-body{font-size:14px;color:var(--color-text-gray);line-height:1.8;white-space:pre-line;word-break:break-all}.popup-text-content .popup-body.is-html{white-space:normal}.popup-text-content .popup-body.is-html h1,.popup-text-content .popup-body.is-html h2,.popup-text-content .popup-body.is-html h3{color:var(--color-black);line-height:1.4;margin:0 0 12px}.popup-text-content .popup-body.is-html h1{font-size:17px;font-weight:700}.popup-text-content .popup-body.is-html h2{font-size:16px;font-weight:700}.popup-text-content .popup-body.is-html h3{font-size:15px;font-weight:600}.popup-text-content .popup-body.is-html p{margin:0 0 8px}.popup-text-content .popup-body.is-html p:last-child{margin-bottom:0}.popup-text-content .popup-body.is-html ol,.popup-text-content .popup-body.is-html ul{margin:0 0 8px;padding-left:20px}.popup-text-content .popup-body.is-html img{max-width:100%;height:auto;border-radius:8px;margin:8px 0}.popup-text-content .popup-body.is-html a{color:var(--color-orange);text-decoration:underline}.popup-text-content .popup-body.is-html a:hover{opacity:.8}.popup-text-content .popup-body .popup-link{color:var(--color-orange);text-decoration:underline}.popup-text-content .popup-body .popup-link:hover{opacity:.8}.popup-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--color-border-gray);background:var(--color-bg-light);flex-shrink:0}.popup-hide-today{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--color-text-gray);-webkit-user-select:none;-moz-user-select:none;user-select:none}.popup-hide-today input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-orange)}.popup-close-btn{background:none;border:1px solid var(--color-border-gray);border-radius:6px;padding:6px 16px;font-size:13px;color:var(--color-text-gray);cursor:pointer;transition:all .15s}.popup-close-btn:hover{background:var(--color-border-gray);color:var(--color-black)}@media (max-width:576px){.popup-overlay{padding:16px}.popup-container{max-width:100%;max-height:calc(100vh - 32px);border-radius:10px}.popup-text-content{padding:24px 20px 20px}.popup-text-content .popup-title{font-size:16px}.popup-text-content .popup-body{font-size:13px}.popup-footer{padding:10px 16px}}.championship-detail-page{min-height:100vh;background:#fff}.championship-detail-main{padding-top:80px}.championship-loading{text-align:center;padding:100px 20px;color:#666;font-size:14px}.championship-hero{background:linear-gradient(135deg,#0a3d62,#1a5276 50%,#2e86ab);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.championship-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.championship-hero-content{position:relative;z-index:1;text-align:center;width:100%;display:flex;align-items:center;justify-content:center}.championship-hero-image{width:auto;max-width:100%;max-height:80vh;display:block;margin:0 auto;object-fit:contain}.championship-logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:80px 20px}.championship-logo-name{font-size:48px;font-weight:800;color:#fff;letter-spacing:2px}.championship-logo-subtitle{font-size:16px;font-weight:500;color:rgba(255,255,255,.9);letter-spacing:3px}.championship-logo-year{font-size:24px;font-weight:700;color:#4ecdc4}.championship-content{background:#fff}.championship-container{max-width:1500px;margin:0 auto;padding:40px 40px 60px}.championship-date-section{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:30px}.championship-date-left{flex:1 1}.championship-date{font-size:20px;font-weight:700;color:#000;margin:0 0 8px}.championship-date-note{font-size:11px;color:#888;line-height:1.5;margin:0}.championship-rating{display:flex;align-items:center;gap:4px}.rating-number{font-size:18px;font-weight:600;color:#333}.rating-star{font-size:20px;color:#f5a623}.championship-info-box{border:1px solid #000;border-radius:4px;padding:24px;margin-bottom:40px}.championship-description{font-size:12px;color:#000;line-height:1.7;margin:0 0 24px;padding-bottom:24px;border-bottom:1px solid #ddd;word-break:keep-all;overflow-wrap:break-word}.championship-description:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.championship-description p{min-height:1em}.championship-hotels{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #ddd}.championship-staff{margin-bottom:0}.info-section-title{font-size:13px;font-weight:700;color:#004581;margin:0 0 8px}.info-link{display:block;font-size:12px;color:#004581;text-decoration:none;margin-bottom:4px}.info-link:hover{text-decoration:underline}.staff-note{font-size:12px;color:#004581;margin:0}.info-link-inline{color:#004581;text-decoration:none;font-weight:600}.info-link-inline:hover{text-decoration:underline}.championship-bottom{display:grid;grid-template-columns:1fr 1.5fr 1fr;grid-gap:40px;gap:40px;padding-top:20px;padding-bottom:40px}.championship-section-title{font-size:20px;font-weight:700;color:#333;margin:0 0 16px}.location-venue{font-size:13px;font-weight:600;color:#333;margin:0 0 8px}.location-address{font-size:13px;color:#333;margin:0 0 4px}.price-label{font-size:13px;font-weight:600;color:#333;margin:0 0 8px}.price-deadline+.price-label,.price-item+.price-label,.price-note+.price-label{margin-top:20px}.price-label-border{padding-top:20px;border-top:1px solid #ddd}.price-item{font-size:13px;color:#333;margin:0 0 4px}.price-deadline{font-size:12px;color:#888;margin:4px 0 0}.price-tiers{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.price-tier{padding:14px 16px;border:1px solid #e6e6e6;border-radius:8px;background:#fafafa}.price-tier-title{margin:0 0 6px!important}.price-tier .price-deadline{margin-bottom:10px}.price-tier-rows{display:flex;flex-direction:column;gap:4px}.price-tier-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:#333}.price-tier-row-label{color:#666}.price-tier-row-value{font-weight:600}.price-bank-account{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:#fafafa;border:1px solid #e6e6e6;border-radius:6px;margin-bottom:8px}.price-bank-account-line{margin:0!important;line-height:1.6}.price-bank-account-line:first-child{font-weight:600;color:#111}.price-notices{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid #eee}.price-notice{padding:0}.price-notice-title{font-size:13px;font-weight:700;color:#333;margin:0 0 12px}.price-notice-text{font-size:12px;color:#666;line-height:1.6;margin:0 0 8px}.price-notice-text:last-child{margin-bottom:0}.price-note{font-size:13px;color:#666;margin:0 0 6px;line-height:1.5}.price-item+.price-note{margin-top:16px}.price-note:last-of-type{margin-bottom:16px}.championship-buttons{display:flex;flex-direction:column;gap:10px}.championship-btn{display:block;padding:12px 20px;font-size:12px;font-weight:600;color:#000;text-align:center;text-decoration:none;background:#fff;border:2px solid #000;border-radius:4px;letter-spacing:.5px;transition:all .2s ease}.championship-btn:hover{background:#000;color:#fff}.championship-register{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding-top:40px}.inquiry-btn{background:#000;color:#fff;min-width:180px;text-align:center}.inquiry-btn:hover{background:#fff;color:#000}.championship-register .register-btn{min-width:180px;text-align:center}.register-btn{display:inline-block;padding:14px 40px;font-size:13px;font-weight:700;color:#000;text-decoration:none;background:#fff;border:2px solid #000;border-radius:4px;letter-spacing:1px;transition:all .2s ease;cursor:pointer}.register-btn:hover{background:#000;color:#fff}.championship-relevant-dates{width:100%;padding:50px 0;background:#f5f7fa}.relevant-dates-inner{max-width:1500px;margin:0 auto;padding:0 40px}.relevant-dates-title{font-size:24px;font-weight:700;color:#000;margin:0 0 8px}.relevant-dates-note{font-size:16px;font-style:italic;color:#888;margin:0 0 30px}.relevant-dates-columns{display:flex;gap:60px}.relevant-dates-column{flex:1 1}.relevant-date-item{border-bottom:1px solid #ddd}.relevant-date-header{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer}.relevant-date-header:hover{background:rgba(0,69,129,.03)}.relevant-date-info{display:flex;flex-direction:column;gap:4px}.relevant-date-label{font-size:16px;font-weight:500;color:#333;margin:0}.relevant-date-value{font-size:16px;color:#555555;margin:0}.relevant-date-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:20px;font-weight:400;color:#fff;background:#000;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.relevant-date-toggle:hover{background:#003366}.relevant-date-content{max-height:0;overflow:hidden;transition:max-height .5s ease,padding .3s ease;padding:0}.relevant-date-item.open .relevant-date-content{max-height:3000px;padding:0 0 20px}.relevant-date-section{margin-bottom:16px}.relevant-date-section:last-child{margin-bottom:0}.relevant-date-section-title{font-size:14px;font-weight:700;color:#333;margin:0 0 8px}.relevant-date-content p{font-size:13px;color:#004581;line-height:1.7;margin:0 0 6px}.relevant-date-content p:last-child{margin-bottom:0}.championship-sponsors{gap:80px;padding:50px 0;border-top:1px solid #ddd}.championship-sponsors,.sponsor-item{display:flex;justify-content:center;align-items:center}.sponsor-name{font-size:24px;font-weight:700;color:#333;letter-spacing:1px}.championship-map{max-width:1500px;margin:60px auto 100px;padding:0 40px}.championship-map-title{font-size:24px;font-weight:700;color:#004581;margin:0 0 24px}.championship-map-address{display:flex;align-items:center;gap:12px;padding:24px 28px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;text-decoration:none;color:#222;transition:background .2s,border-color .2s}.championship-map-address:hover{background:#f0f0f0;border-color:#c8c8c8}.championship-map-address-icon{font-size:22px;flex-shrink:0}.championship-map-address-text{font-size:17px;font-weight:500;word-break:keep-all}.championship-map-address-hint{margin-left:auto;font-size:14px;color:#888;flex-shrink:0}.championship-belt-divisions{width:100%;padding:50px 0;margin-top:100px}.belt-divisions-inner{max-width:1500px;margin:0 auto;padding:0 40px}.belt-divisions-title{font-size:24px;font-weight:700;color:#004581;margin:0 0 24px}.belt-divisions-subtitle{font-size:16px;font-weight:600;color:#333;margin:0 0 16px}.belt-divisions-content{display:flex;gap:40px}.belt-table-wrapper{flex:1 1;max-width:900px}.belt-table{width:100%;border-collapse:collapse}.belt-table thead tr{background:#004581}.belt-table th{padding:12px 16px;font-size:14px;font-weight:600;color:#fff;text-align:left;border-right:1px solid rgba(255,255,255,.3)}.belt-table th:nth-child(2){background:#0a3d62}.belt-table th:last-child{border-right:none}.belt-table tbody tr{background:#f5f7fa}.belt-table td{padding:12px 16px;font-size:14px;color:#333;border-bottom:1px solid #fff;border-right:1px solid #fff}.belt-table td:nth-child(2){background:#e8ebef}.belt-table td:last-child{border-right:none}.belt-cards-wrapper{display:none}.belt-card{background:#004581;padding:16px;margin-bottom:8px}.belt-card-year{font-size:14px;color:#fff;margin:0 0 4px}.belt-card-division{font-size:16px;font-weight:700;color:#fff;margin:0 0 4px}.belt-card-belt{font-size:14px;font-style:italic;color:rgba(255,255,255,.8);margin:0}.belt-notes{flex:0 0 350px}.belt-note{font-family:Pretendard,sans-serif;font-size:14px;color:#666;line-height:1.6;margin:0 0 16px}.belt-register{display:flex;justify-content:center;margin-top:50px}.belt-desktop{display:block}.belt-mobile{display:none}.open-class-section{margin-top:50px}.open-class-title{font-size:24px;font-weight:700;color:#004581;margin:0 0 24px}.open-class-intro{font-weight:700;margin:0 0 16px}.open-class-intro,.open-class-text{font-size:14px;color:#333;line-height:1.6}.open-class-text{margin:0 0 12px}.open-class-subtitle{font-size:14px;font-weight:700;color:#333;margin:24px 0 12px}.important-info-section{margin-top:50px}.important-info-subtitle{font-size:14px;font-weight:700;color:#333;margin:24px 0 12px}.important-info-subtitle:first-of-type{margin-top:0}.important-info-text{font-size:14px;color:#333;line-height:1.6;margin:0 0 12px}.important-info-register{display:flex;justify-content:center;margin-top:60px}.championship-important-info{width:100%;padding:50px 0}.important-info-inner{max-width:1500px;margin:0 auto;padding:0 40px}.important-info-title{font-size:24px;font-weight:700;color:#004581;margin:0 0 24px}.important-info-content{font-family:Pretendard,sans-serif;font-size:14px;color:#333;line-height:1.8}.important-info-content h3,.important-info-content h4{font-size:16px;font-weight:700;color:#004581;margin:30px 0 16px}.important-info-content h3:first-child,.important-info-content h4:first-child{margin-top:0}.important-info-content p{margin:0 0 12px}.important-info-content ol,.important-info-content ul{margin:0 0 16px;padding-left:20px}.important-info-content li{margin-bottom:8px}.important-info-content strong{font-weight:700;color:#004581}.important-info-content a{color:#004581;text-decoration:underline}.important-info-content a:hover{color:#002d54}@media (max-width:992px){.championship-bottom{grid-template-columns:1fr 1fr}.championship-buttons{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.championship-btn{flex:1 1;min-width:calc(50% - 5px)}.championship-detail-main{padding-top:var(--header-height,180px)}.championship-hero-image{max-height:70vh}.championship-logo-name{font-size:32px}.price-notices{grid-template-columns:1fr}.championship-logo-subtitle{font-size:12px}.championship-logo-year{font-size:20px}.championship-container{padding:30px 20px 50px}.championship-date-section{flex-direction:column;gap:16px}.championship-rating{align-self:flex-start}.championship-info-box{padding:16px;margin-bottom:24px}.championship-description{font-size:11px}.championship-bottom{grid-template-columns:1fr;gap:30px}.championship-buttons{flex-direction:column}.championship-btn{min-width:100%}.championship-relevant-dates{padding:40px 0}.relevant-dates-inner{padding:0 20px}.relevant-dates-columns{flex-direction:column;gap:0}.championship-sponsors{flex-direction:column;gap:40px}.championship-map{margin-top:40px;padding:0 20px}.championship-map-address{flex-wrap:wrap;padding:18px 20px;gap:8px}.championship-map-address-text{font-size:15px}.championship-map-address-hint{width:100%;margin-left:34px;font-size:13px}.belt-divisions-inner{padding:0 20px}.belt-divisions-content{flex-direction:column}.belt-table-wrapper{max-width:100%}.belt-notes{flex:none}.belt-desktop{display:none}.belt-mobile{display:block}.important-info-inner{padding:0 20px}}@media (max-width:576px){.championship-hero-image{max-height:60vh;width:100%}.championship-logo-name{font-size:24px}.championship-logo-subtitle{font-size:10px;letter-spacing:2px}.championship-logo-year{font-size:18px}.championship-container{padding:24px 16px 40px}.championship-date{font-size:18px}.championship-date-note{font-size:10px}.championship-info-box{padding:12px;margin-bottom:20px}.championship-section-title{font-size:14px}.register-btn{padding:12px 32px;font-size:12px}.championship-relevant-dates{padding:30px 0}.belt-divisions-inner,.relevant-dates-inner{padding:0 16px}.belt-divisions-title{font-size:20px}.championship-map-title{font-size:20px;margin-bottom:16px}.open-class-title{font-size:20px}.important-info-subtitle,.important-info-text,.open-class-intro,.open-class-subtitle,.open-class-text{font-size:13px}.important-info-inner{padding:0 16px}.important-info-title{font-size:20px}.important-info-content{font-size:13px}.important-info-content h3,.important-info-content h4{font-size:14px}.championship-map{margin-top:30px;padding:0 16px}}@media (max-width:375px){.championship-container{padding:20px 12px 32px}.championship-date{font-size:15px;word-break:keep-all}.championship-info-box{padding:10px}.championship-description,.price-notice-text{font-size:11px}.relevant-dates-inner{padding:0 12px}.relevant-date-label,.relevant-date-value{font-size:14px}.belt-divisions-inner,.important-info-inner{padding:0 12px}}@media (min-width:993px){.championship-hero-image{max-height:80vh}}.attachment-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.attachment-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 32px rgba(0,0,0,.2)}.attachment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.attachment-modal-title{margin:0;font-size:18px;font-weight:700;color:#111}.attachment-modal-close{background:transparent;border:0;font-size:28px;line-height:1;cursor:pointer;color:#666;padding:0 4px}.attachment-modal-close:hover{color:#111}.attachment-modal-body{padding:16px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.attachment-modal-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e5e5e5;border-radius:8px;text-decoration:none;color:#111;background:#fafafa;transition:background .15s,border-color .15s}.attachment-modal-item:hover{background:#f1f3f5;border-color:#d0d3d7}.attachment-modal-icon{font-size:18px}.attachment-modal-info{flex:1 1;min-width:0}.attachment-modal-name{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-modal-action{font-size:13px;font-weight:600;color:#2563eb;flex-shrink:0}