.yk-global-brand{display:flex;align-items:center;min-height:80px;padding:8px max(16px,env(safe-area-inset-left));background:#fff;box-sizing:border-box;position:relative;z-index:6;border-bottom:1px solid #e6e9e7}.yk-global-brand a{display:inline-flex;align-items:center;min-height:60px}.yk-global-brand img{width:72px;height:60px;object-fit:contain;display:block}.sidebar{top:80px;height:calc(100dvh - 80px)}
.yk-photo-brand{position:relative}.yk-photo-brand::before{content:'';position:absolute;top:6px;left:6px;width:clamp(24px,8%,64px);aspect-ratio:1378/1142;background:#fff url('/assets/yk-logo.jpeg') center/contain no-repeat;border-radius:3px;z-index:2;pointer-events:none;box-shadow:0 1px 4px #0002}
@media(max-width:600px){.yk-global-brand{min-height:64px;padding-top:6px;padding-bottom:6px}.yk-global-brand img{width:60px;height:50px}.yk-global-brand a{min-height:50px}}
@media print{.yk-global-brand{border:0}}
.brand>span:last-child{min-width:0;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.mobile-brand b{max-width:200px;white-space:normal;line-height:1.3}.panel-brand>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.mobile-brand b{font-size:14px;max-width:160px}.panel-brand{min-width:0;flex:1}}

/* Reference green palette; competition colors remain local to the scoreboard. */
:root{--judo-lime:#7bae38;--judo-green:#497510;--judo-green-dark:#36590b;--judo-green-soft:#eff6e5}
body :is(h1,h2,h3):not(.judo-scoreboard *):not(.score-correction-overlay *){color:var(--judo-green)}
.intro-hero h1 em{color:var(--judo-green)}
.yk-global-brand{border-bottom:3px solid var(--judo-lime)}
.nav.active,.tournament-menu-link.active,.tournament-menu-link[aria-current=page]{border-inline-start:4px solid var(--judo-lime);background:var(--judo-green-soft);color:var(--judo-green-dark)}
.intro-lesson-number,.intro-kicker{color:var(--judo-green)}
.intro-price-card,.tournament-home-card,.panel-card{border-color:#b4ce8b}
body :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--judo-lime);outline-offset:3px}

/* Compact, fluid panels. No viewport clipping: long content and zoom still scroll. */
@media screen {
 .yk-global-brand{min-height:52px;padding-block:4px}
 .yk-global-brand a{min-height:40px}.yk-global-brand img{width:48px;height:40px}
 .sidebar{top:52px;height:calc(100vh - 52px);height:calc(100dvh - 52px);overflow-y:auto;padding:18px 14px}
 .sidebar .navlabel{margin:18px 10px 8px}.sidebar .nav{margin-block:1px;padding-block:9px}
 .panel-top{padding:10px 20px;min-height:64px;gap:10px}.panel-brand{font-size:17px}.panel-brand small{margin-top:2px}
 .app-panel-page>.panel-return-link{margin:4px 16px;padding-block:8px;font-size:14px}
 .launcher-main{max-width:1080px;min-height:0;padding:20px 24px}
 .launcher-intro{margin-bottom:18px}.launcher-intro .eyebrow{margin:0 0 6px}
 .launcher-intro h1{font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.6px;margin:0 0 8px}
 .launcher-intro>p:last-child{font-size:15px;line-height:1.5;margin:0}
 .launcher-cards{gap:16px}.workspace-card{padding:20px;border-radius:14px;gap:10px}
 .workspace-icon{width:44px;height:44px;border-radius:12px;margin:0}.workspace-icon svg{width:28px;height:28px}
 .workspace-card .eyebrow{margin:0;font-size:10px;letter-spacing:.7px}
 .workspace-card h2{font-size:22px;margin:0;line-height:1.25}
 .workspace-card>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:0}
 .workspace-open{padding-top:10px;font-size:14px;min-height:44px}.workspace-open>span{font-size:20px}
 .launcher-note{margin:12px 0 0;line-height:1.4;font-size:12px}.app-panel-page .panel-footer{padding:10px;font-size:11px}
 .panel-return-nav{gap:6px;margin-bottom:8px}.panel-return-nav>.panel-return-link{flex:0 1 auto;width:auto}
 .panel-return-link,.tournament-topbar .panel-return-link{font-size:14px;padding:8px 10px;min-height:44px}
 .education-return-nav{gap:6px;padding:8px 16px}.education-return-nav>.secondary{flex:1 1 145px;font-size:13px;padding:8px;min-height:44px}
 .tournament-topbar{padding:10px 18px;min-height:64px;gap:8px}
 .tournament-panel-content{padding:18px 22px 24px;max-width:1600px}
 .tournament-welcome,.tournament-section-heading{margin-bottom:16px}
 .tournament-panel-content h1{font-size:clamp(23px,2.7vw,32px);margin:8px 0 10px}
 .tournament-welcome>p:last-child,.tournament-section-heading>p:last-child{font-size:14px;line-height:1.5;margin-bottom:12px}
 .tournament-home-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
 .tournament-home-card{padding:14px;gap:10px;min-height:0;border-radius:12px}
 .tournament-home-card strong{font-size:15px;margin:0 0 6px;line-height:1.4}
 .tournament-home-card small{font-size:13px;line-height:1.45}.panel-card-icon{width:32px;height:32px;font-size:20px;border-radius:9px}
 .tournament-panel-content>.tournament-home-grid:has(>a[href$="#hakem-girisi"]){grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
 .tournament-panel-content>.tournament-home-grid:has(>a[href$="#hakem-girisi"]) .tournament-home-card{flex-direction:row;min-height:0}
 .tournament-panel-content .club-panel,.learning-panel,.plan-panel{padding:18px}
 .club-fields,.plan-fields,.exam-fields{gap:12px}.club-panel h2,.learning-panel h2,.plan-panel h2{font-size:22px}
 .club-tabs,.learning-tabs,.learning-nav{gap:6px;flex-wrap:wrap}
 #library{padding:18px 24px}.main>header{padding:8px 20px;min-height:60px;gap:8px}
 #library .hero{min-height:0;padding:20px 24px}#library .hero h1{font-size:28px;margin-bottom:8px}
 #library .hero .eyebrow{margin-bottom:8px}#library .hero-meta{margin-top:12px}
 #library .hero-art{width:120px}#library .orbit{width:100px;height:100px}#library .kanji{font-size:42px}
 #library .section-top{margin:16px 0 10px}.categories{gap:8px}
 .category{padding:12px;gap:10px}.category strong{margin-bottom:4px}.cat-icon{width:34px;height:34px;font-size:21px}
 .belt-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-block:16px}
 .belt-home-heading{grid-column:1/-1}.belt-home-heading h2{font-size:20px}.belt-home-heading p{margin:5px 0}
 .belt-home-item{margin:0;min-width:0;align-self:start}.belt-home-item[open]{grid-column:1/-1}
 .belt-home-toggle{padding:10px;min-height:48px;gap:8px}.belt-home-toggle strong{font-size:14px}
 .intro-nav{padding:12px 20px;gap:12px}.intro-main{padding-inline:20px}
 .intro-hero{padding:28px 0;gap:24px}.intro-hero h1{font-size:clamp(28px,4vw,48px);margin-bottom:14px}
 .intro-lead{font-size:16px;line-height:1.5}.intro-kicker{margin-bottom:10px}
 .intro-hero-image>img{height:220px}.intro-hero-image figcaption{padding:12px 4px}
 .intro-section{padding:28px 0}.intro-section-head{margin-bottom:16px}.intro-actions{margin:16px 0 10px}
}
@media screen and (max-width:700px){
 .launcher-main{padding:12px 14px}.launcher-intro{margin-bottom:12px}.launcher-intro h1{font-size:24px}
 .launcher-cards{grid-template-columns:1fr;gap:10px}
 .workspace-card{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;row-gap:5px;padding:12px}
 .workspace-icon{grid-row:1/4;width:36px;height:36px;border-radius:9px}.workspace-icon svg{width:25px;height:25px}
 .workspace-card>.eyebrow,.workspace-card>h2,.workspace-card>p:not(.eyebrow){grid-column:2}
 .workspace-card h2{font-size:19px}.workspace-card>p:not(.eyebrow){font-size:13px;line-height:1.4}
 .workspace-open{grid-column:1/-1;font-size:13px;padding-top:5px;min-height:44px}
 .launcher-note{text-align:center}.panel-top{padding:8px 14px}.panel-top .panel-brand{flex:1 1 180px}
 .panel-top .brandmark{width:32px;height:36px}.panel-top .secondary{padding:8px;font-size:12px}
 .tournament-panel-content{padding:12px 12px 24px}.tournament-home-card{padding:12px}
 .tournament-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tournament-home-card{flex-wrap:wrap}.tournament-home-card>span:nth-child(2){flex-basis:100%}.panel-card-arrow{display:none}
 .education-return-nav{padding:6px 10px}.education-return-nav>.secondary{flex:1 1 100px;font-size:12px}
 #library{padding:12px 12px 90px}.main>header{padding:8px 12px}.header-actions{gap:6px}
 .categories{grid-template-columns:repeat(2,minmax(0,1fr))}.category{padding:10px;gap:7px;flex-wrap:wrap}
 .category .cat-icon{width:28px;height:28px;font-size:18px}.category strong{font-size:14px}
 .belt-home{grid-template-columns:repeat(2,minmax(0,1fr))}.belt-home-count{font-size:11px}.belt-home-toggle{flex-wrap:wrap}
 .intro-nav{display:flex;flex-wrap:wrap}.intro-nav>div{margin:0;gap:8px}.intro-nav .small{width:auto}
 .intro-hero{grid-template-columns:1fr;gap:16px;padding:20px 0}.intro-hero h1{font-size:30px;letter-spacing:-.8px}
 .intro-actions>*{width:auto;flex:1 1 140px}.intro-hero-image>img{height:170px}
 .intro-lessons img{height:90px}.intro-section h2{font-size:25px}
}
@media screen and (max-width:359px){
 .tournament-home-grid{grid-template-columns:1fr}.panel-brand small{font-size:10px}
 .workspace-card h2{font-size:18px}.education-return-nav>.secondary{flex-basis:100%}
}
@media screen and (orientation:landscape) and (max-height:600px){
 .launcher-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.launcher-main{padding-block:10px}
 .launcher-intro{margin-bottom:10px}.workspace-card{padding:12px}.launcher-note{margin-top:8px}
}

/* Catalogue request controls remain touch-friendly in nested groups. */
.education-content-choices{grid-column:1/-1;min-width:0;width:100%;box-sizing:border-box}
.education-choice-row{display:flex;align-items:center;gap:10px;padding:9px 4px;min-height:44px;font-size:15px;line-height:1.5}
.education-choice-row input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:#497510}
.education-content-choices .plan-family{padding:8px;margin:6px 0;min-width:0}
.education-content-choices summary{min-height:44px;cursor:pointer;padding:10px 4px;font-weight:700}
.education-content-choices fieldset{margin-top:14px}

.education-create-placement{display:flex;justify-content:flex-start;padding:10px 20px 0;background:#fff}
.education-create-placement>.secondary{font-weight:800;text-align:left;max-width:100%;white-space:normal;min-height:44px}
@media(max-width:700px){.education-create-placement{padding:8px 12px 0}}
@media print{.education-create-placement{display:none}}

/* Page branding sits beside the name/title, never in a separate logo strip.
   Background marks are decorative; heading text remains intact for readers/PDFs. */
.yk-global-brand{display:none}
.sidebar{top:0;height:100vh;height:100dvh}
:is(.intro-wordmark,.brand,.mobile-brand,.panel-brand,.member-brand){gap:12px;align-items:center;max-width:100%;min-width:0}
.intro-wordmark{display:inline-flex;max-width:340px}
:is(.intro-wordmark,.brand,.mobile-brand,.panel-brand,.member-brand)>span{min-width:0;overflow-wrap:anywhere}
:is(.brand,.mobile-brand,.panel-brand)>.brandmark,.member-brand>.member-mark{display:none}
:is(.intro-wordmark,.brand,.mobile-brand,.panel-brand,.member-brand)::after{
 content:'';display:block;flex:0 0 64px;width:64px;height:56px;
 background:#fff url('/assets/yk-logo.jpeg') center/contain no-repeat;border-radius:3px;
}
/* These pages already have a brand beside their main name. Other page titles,
   including asynchronously created panel/reader titles, receive the same mark. */
h1:not(.intro-hero h1):not(.launcher-intro h1):not(.member-intro h1):not(#library h1),
.judo-scoreboard>h2,#demo-reader-title{
 position:relative;box-sizing:border-box;width:fit-content;max-width:100%;
 min-height:56px;padding-inline-end:80px;
}
h1:not(.intro-hero h1):not(.launcher-intro h1):not(.member-intro h1):not(#library h1)::after,
.judo-scoreboard>h2::after,#demo-reader-title::after{
 content:'';position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);
 width:64px;height:56px;background:#fff url('/assets/yk-logo.jpeg') center/contain no-repeat;border-radius:3px;
}
@media(max-width:700px){
 :is(.intro-wordmark,.brand,.mobile-brand,.panel-brand,.member-brand){gap:10px}
 :is(.intro-wordmark,.brand,.mobile-brand,.panel-brand,.member-brand)::after{flex-basis:48px;width:48px;height:42px}
 h1:not(.intro-hero h1):not(.launcher-intro h1):not(.member-intro h1):not(#library h1),.judo-scoreboard>h2,#demo-reader-title{min-height:42px;padding-inline-end:60px}
 h1:not(.intro-hero h1):not(.launcher-intro h1):not(.member-intro h1):not(#library h1)::after,.judo-scoreboard>h2::after,#demo-reader-title::after{width:48px;height:42px}
}
@media print{h1::after,.judo-scoreboard>h2::after,#demo-reader-title::after{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.global-language-control{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 0;font-size:14px;font-weight:600}
.global-language-control select{font:inherit;font-size:16px;min-height:44px;min-width:0;max-width:180px;border:1px solid #b4ce8b;border-radius:8px;background:#fff;color:#36590b;padding:8px}
.global-language-control{margin-inline-end:12px}
@media print{.global-language-control{display:none!important}}

.intro-nav:has(.global-language-control),.panel-top:has(.global-language-control),.tournament-topbar:has(.global-language-control){flex-wrap:wrap}
@media(max-width:600px){.global-language-control{margin-top:8px;max-width:100%}}

/* Two-line belt headings: colour stays on one line; the noun is below it. */
.belt-label{display:inline-flex;flex-direction:column;align-items:flex-start;vertical-align:middle;line-height:1.3;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.belt-label>span,.belt-section summary .belt-label>span{display:block;margin:0;font:inherit;color:inherit;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.belt-home-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'name arrow' 'count swatch';column-gap:8px;row-gap:6px;align-items:center}
.belt-home-toggle>.belt-label{grid-area:name;min-width:max-content;font-size:14px}
.belt-home-toggle>.belt-home-arrow{grid-area:arrow;justify-self:end}
.belt-home-toggle>.belt-home-count{grid-area:count;font-size:11px}
.belt-home-toggle>.belt-home-swatch{grid-area:swatch;width:24px;height:10px;justify-self:end}
.belt-section summary>.belt-question-count{display:inline-block;margin:0 0 0 16px;vertical-align:middle}
.belt-choice-summary>.belt-label{margin-inline-start:4px}
@media screen and (max-width:359px){.belt-home{grid-template-columns:1fr}}

/* Gently tighten vertical whitespace while keeping text flow and touch targets. */
@media screen {
 .intro-kicker{margin-bottom:8px}
 .intro-hero h1{margin-bottom:11px}
 .intro-lead{margin-block:12px}
 .intro-actions{margin-block:12px 8px}
 .intro-section{padding-block:24px}
 .intro-section-head{margin-bottom:12px}
 .intro-tournament>h2{margin-bottom:22px}
 .intro-lessons>button{row-gap:9px}
 .intro-price-card h3{margin-block:16px}
 .intro-price-card ul,.intro-price{margin-block:20px}
 .launcher-intro{margin-bottom:14px}
 .launcher-intro h1{margin-bottom:6px}
 .workspace-card{row-gap:8px}
 .workspace-open{padding-top:8px}
 .tournament-welcome,.tournament-section-heading{margin-bottom:12px}
 .tournament-panel-content h1{margin-bottom:8px}
 .tournament-welcome>p:last-child,.tournament-section-heading>p:last-child{margin-bottom:9px}
 .tournament-home-card strong{margin-bottom:4px}
 #library .section-top{margin-block:13px 8px}
 .category strong{margin-bottom:3px}
 .card{min-height:160px}
 .card h3{margin-block:10px 14px}
 .belt-home{margin-block:13px;row-gap:6px}
 .belt-home-heading h2{margin-bottom:6px}
 .belt-home-heading p{margin-block:4px}
 .belt-home-toggle{padding-block:8px;row-gap:4px}
 .plan-heading h1,#learning-tools h1{margin-bottom:11px}
 .plan-panel>.muted{margin-block:9px 18px}
 .learning-panel,.club-panel{margin-block:20px}
 .belt-program{margin-block:20px 26px}
 .belt-section{margin-block:10px}
 .member-card h2{margin-bottom:9px}
 .member-card label{margin-bottom:15px}
 .article-prose p{margin-bottom:18px}
 .article-prose p:last-child{margin-bottom:0}
 .imported-section{margin-bottom:32px}
 .imported-section:last-child{margin-bottom:0}
 .imported-heading{margin-block:20px 14px}
 .section-gallery{row-gap:20px;margin-bottom:20px}
 .article-figure{margin-bottom:23px}
 #demo-reader-body h3{margin-block:24px 14px}
 #demo-reader-body p{margin-block:12px}
}
@media screen and (max-width:700px){
 .launcher-intro{margin-bottom:10px}
 .workspace-card{row-gap:4px}
 .workspace-open{padding-top:4px}
 .intro-section-head>p{margin-top:14px}
}
@media screen and (max-width:600px){
 .category{min-height:128px}
 .category .cat-icon{margin-bottom:9px}
 .card{min-height:104px}
 .card h3{margin-block:6px 9px}
 .imported-section{margin-bottom:26px}
 .section-gallery{row-gap:15px;margin-bottom:18px}
}

/* A drawn US flag remains visible in language controls on desktop and mobile. */
.us-flag-button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;margin-inline-start:4px;padding:5px;border:1px solid #c4d0bb;border-radius:7px;background:white;cursor:pointer;vertical-align:middle}.us-flag-button img{display:block;width:21px;height:auto}.global-language-control:has(.us-flag-button){display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px}
