/* Outer UI only: homepage, catalogues and learning overview. */
.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:none;pointer-events:none}a>.ui-icon:last-child{margin-left:auto}.primary .ui-icon{width:17px;height:17px}.site-nav summary>.ui-icon{width:14px;height:14px}.site-header .learning-entry{display:flex;align-items:center;gap:7px;font-size:12px;min-height:44px;white-space:nowrap;color:var(--muted);padding:6px;border-radius:8px}.learning-entry:hover,.learning-entry.active{background:var(--blue-soft);color:var(--blue)}.twin-home .site-header{gap:20px}.twin-home .site-header .jk-identity{gap:14px}.site-header .nav-actions{gap:8px}.twin-home .site-nav{gap:4px}.site-header .site-nav button{display:flex;align-items:center;gap:7px;padding:8px 10px;min-height:44px;background:transparent;border:0;font-size:12px;color:var(--muted)}.site-header .site-nav button small{font-size:10px}.site-header .site-nav button.active{background:var(--soft);color:var(--accent)}.site-header .site-nav .ui-icon{width:17px;height:17px}
.resource h3 .card-destination{display:flex;align-items:baseline;gap:13px}.card-destination::after{content:'';position:absolute;inset:0;z-index:1;border-radius:12px}.card-destination:focus-visible{outline:none}.card-destination:focus-visible::after{outline:2px solid var(--accent);outline-offset:4px}.resource-links,.writing-links{position:relative;z-index:2}.resource{cursor:pointer}.resource:focus-within{border-color:var(--accent)}.resource .subject-art{width:44px;height:44px;display:grid;place-items:center}.resource .subject-art .ui-icon{width:34px;height:34px}.sheet .book-label{display:flex;align-items:center;gap:5px}.book-label .ui-icon,.writing-note>span .ui-icon{width:13px;height:13px}.twin-home .audio-icon{border:0;padding:0;display:grid;place-items:center}.audio-icon .ui-icon{width:27px;height:27px}.writing-note>span{display:flex;gap:5px;align-items:center}.sheet-link .ui-icon{width:13px;height:13px}.resource-links .ui-icon,.writing-links .ui-icon,.text-link .ui-icon{width:16px;height:16px}.primary>span{display:flex}.index-line p{white-space:normal}
.navigation-candidate .sidebar{top:112px;padding-top:26px}.navigation-candidate main{margin-left:160px;padding:10px 32px 28px}.navigation-candidate .site-header{max-width:none}.navigation-candidate .heading h1{font:400 36px/1.15 var(--font-editorial);letter-spacing:-.025em;margin:0 0 8px}.navigation-candidate .heading .caption{margin:0 0 12px}.navigation-candidate .heading{padding:26px 0}.navigation-candidate #subject-icon{display:grid;place-items:center;color:var(--accent);width:64px;height:64px;border-radius:16px;background:var(--soft)}#subject-icon>.ui-icon{width:34px;height:34px}.navigation-candidate .filters{flex-wrap:wrap;align-items:center}.navigation-candidate .search{flex:1 1 270px}.filters [hidden]{display:none!important}.frequency-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;border:1px solid transparent}.frequency-badge .ui-icon{width:13px;height:13px}.frequency-badge.high{color:#a5392c;background:#fff0e9;border-color:#e9b5a7}.frequency-badge.medium{color:#805519;background:#fff6df;border-color:#e6d3a1}.frequency-badge.low{color:#496479;background:#eef3f7;border-color:#cdd9e2}.frequency-badge.unset{color:var(--muted);background:var(--bg);border-color:var(--line)}html[data-theme=dark] .frequency-badge.high{color:#ffc1ab;background:#4a2b25;border-color:#805248}html[data-theme=dark] .frequency-badge.medium{color:#edcc8d;background:#3e3526;border-color:#6c5a35}html[data-theme=dark] .frequency-badge.low{color:#b7cadd;background:#293846;border-color:#455d71}.overline{flex-wrap:wrap;gap:8px!important;align-items:center}.bookmark[aria-pressed=true]{background:var(--soft);color:var(--accent)}.bookmark[aria-pressed=true] .ui-icon{fill:var(--soft)}.buttons .primary{gap:10px}.labmark{display:none}.baseline-link{font-size:11px;line-height:1.7}.learning-invite{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;padding:40px;margin-top:64px;background:var(--blue-soft);border:1px solid var(--line);border-radius:16px}.learning-invite h2{font-size:36px}.learning-invite p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8}.learning-invite-links a{display:flex;align-items:center;gap:16px;min-height:70px;font-size:14px;border-bottom:1px solid var(--line)}.learning-invite-links a:last-child{border:0}.learning-invite-links a>.ui-icon:first-child{width:25px;height:25px;color:var(--blue)}.learning-invite-links small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.profile-main{max-width:1120px;margin:0 auto!important;padding:48px 32px!important}.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:30px}.profile-heading h1{font:400 48px/1.1 var(--font-editorial);margin:15px 0}.profile-heading p{color:var(--muted);font-size:13px}.profile-heading>.ui-icon{width:50px;height:50px;color:var(--blue)}.profile-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.profile-metrics article{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.profile-metrics span{color:var(--muted);font-size:12px}.profile-metrics strong{display:block;font:400 36px/1.4 var(--font-editorial);margin:12px 0}.profile-metrics small{font-size:11px;color:var(--muted)}.profile-tabs{display:flex;border-bottom:1px solid var(--line);gap:26px;margin-bottom:22px}.profile-tabs a{display:flex;align-items:center;gap:8px;padding:14px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.profile-tabs a[aria-current=page]{color:var(--blue);border-color:var(--blue)}.profile-filter{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.profile-filter button{font-size:12px;min-height:40px;background:var(--panel);border:1px solid var(--line);padding:8px 16px;color:var(--muted)}.profile-filter button[aria-pressed=true]{color:var(--blue);background:var(--blue-soft);border-color:var(--blue)}.profile-empty{background:var(--panel);border:1px solid var(--line);border-radius:12px;text-align:center;padding:58px 24px}.profile-empty>.ui-icon{width:36px;height:36px;color:var(--muted)}.profile-empty h2{font-size:27px}.profile-empty p{font-size:12px;color:var(--muted);line-height:1.8}.profile-empty .primary{margin-top:16px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.achievement{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:24px}.achievement-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);background:var(--bg);border-radius:50%;color:var(--muted);margin-bottom:20px}.achievement h3{font:500 15px/1.6 var(--font-ui);margin:10px 0}.achievement small,.achievement p{color:var(--muted);font-size:11px;line-height:1.8}.achievement .badge-subject{letter-spacing:.12em;font-size:9px;color:var(--blue)}.achievement[data-skill=listening] .badge-subject{color:var(--green)}.achievement-status{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;font-size:11px;color:var(--muted)}.profile-note{font-size:11px;color:var(--muted);margin:20px 0;line-height:1.8}.profile-panel[hidden]{display:none}
@media(max-width:1100px){.site-header .site-nav button small{display:none}.site-header .jk-byline{font-size:7px}.navigation-candidate main{margin-left:148px;padding-inline:24px}.site-header .site-nav button{padding-inline:8px}.twin-home .site-header{gap:12px}}
@media(max-width:760px){.twin-home .site-header{padding:12px 14px 7px;gap:7px 10px}.site-header .jk-identity{gap:5px!important}.site-header .learning-entry span{display:none}.site-header .learning-entry{width:34px;justify-content:center}.site-header .nav-actions{gap:3px}.site-header .nav-cta{padding:9px 10px;font-size:11px;gap:6px}.site-header .nav-cta .ui-icon{width:15px}.site-header .site-nav{justify-content:center;width:100%}.site-header .site-nav button{justify-content:center;flex:1;gap:6px;font-size:12px}.site-header .site-nav button .ui-icon{width:16px}.learning-invite{grid-template-columns:1fr;padding:26px;gap:16px;margin-top:40px}.learning-invite h2{font-size:31px}.navigation-candidate .sidebar{position:static;width:auto;display:block;padding:20px;border-right:0;border-bottom:1px solid var(--line)}.navigation-candidate .sidebar .source{flex-direction:row}.navigation-candidate .sidebar .rail-label,.navigation-candidate .sidebar .source>span,.navigation-candidate .baseline-link{display:none}.navigation-candidate main{margin:0;padding:0 20px 24px}.navigation-candidate .source button{padding:10px}.navigation-candidate .source button strong{font-size:12px}.navigation-candidate .source button small{font-size:10px}.navigation-candidate .heading h1{font-size:31px}.navigation-candidate #subject-icon{width:48px;height:48px}.navigation-candidate #subject-icon .ui-icon{width:27px;height:27px}.navigation-candidate .filters label:not(.search){display:flex;align-items:center;gap:7px}.navigation-candidate .filters .search{flex-basis:100%}.profile-main{padding:30px 20px!important}.profile-heading{gap:16px}.profile-heading h1{font-size:38px}.profile-heading p{font-size:12px}.profile-heading>.ui-icon{display:none}.profile-metrics{gap:8px}.profile-metrics article{padding:14px 10px}.profile-metrics span{font-size:10px}.profile-metrics small{font-size:9px}.profile-metrics strong{font-size:28px}.achievement-grid{grid-template-columns:1fr 1fr;gap:10px}.achievement{padding:18px}.profile-empty{padding:36px 20px}}
@media(max-width:359px){.twin-home .site-header{padding-inline:10px;gap:6px}.site-header .jk-wordmark{font-size:21px}.site-header .nav-actions{gap:0}.site-header .learning-entry{width:30px}.twin-home .site-header #theme{min-width:30px;width:30px}.site-header .nav-cta{padding-inline:8px}.site-header .nav-cta .ui-icon{display:none}.achievement-grid{grid-template-columns:1fr}.profile-heading h1{font-size:34px}}
.site-header .nav-actions{display:flex;align-items:center;flex-shrink:0}.site-header .jk-identity{display:flex}.site-header nav{margin-left:auto}.achievement[hidden]{display:none}.profile-main .profile-tabs{margin-left:0}
.navigation-candidate .primary{background:var(--accent);border-color:var(--accent);color:var(--panel)}
.navigation-candidate #subject-icon .ui-icon{width:34px;height:34px}
.profile-heading>span[data-icon]{color:var(--blue)}.profile-heading>span[data-icon] .ui-icon{width:42px;height:42px}
/* Catalog legacy header rules must not constrain the shared two-row mobile nav. */
.twin-home .site-header{height:auto}
html[data-theme=dark] .navigation-candidate .primary{background:var(--accent);border-color:var(--accent);color:var(--panel)}

/* Integration shell: peripheral pages opt in; no exam document imports this layer. */
.study-shell .site-header{display:flex;height:auto;justify-content:initial;color:var(--ink)}
.study-shell .site-header .site-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.study-shell .site-header .site-nav>a{display:flex;align-items:center;gap:7px;padding:8px 10px;min-height:44px;font-size:12px}
.study-shell .site-header .site-nav>a.active{background:var(--soft);color:var(--accent)}
.study-shell .site-header .site-nav>a small{font-size:10px}
.study-shell .sidebar{top:112px}
.study-shell .heading h1{font:400 36px/1.15 var(--font-editorial);letter-spacing:-.025em}
.study-shell #subject-icon{display:grid;place-items:center;color:var(--accent);width:64px;height:64px;border-radius:16px;background:var(--soft);opacity:1;padding:0}
.study-shell #subject-icon>.ui-icon{width:34px;height:34px}
.study-shell .primary{background:var(--accent);border-color:var(--accent);color:var(--panel)}
.study-shell .site-header .jk-identity{gap:14px}
.site-header #theme{display:grid;place-items:center;color:var(--ink)}
.site-header a:focus-visible,.site-header summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1100px){.study-shell .site-header .site-nav small{display:none}}
@media(max-width:760px){
 .study-shell .site-header .site-nav{order:3;width:100%;justify-content:center;margin-left:0;flex:auto}
 .study-shell .site-header .site-nav>a{flex:1;justify-content:center;font-size:12px;padding-inline:4px;gap:5px}
 .study-shell .site-header .site-nav>a span{font-size:12px}
 .study-shell .sidebar{position:static;width:auto;display:block;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line)}
 .study-shell .source{flex-direction:row;gap:8px}
 .study-shell .source :is(a,button){flex:1;min-width:0;text-align:left}
 .study-shell .rail-label,.study-shell .library-home{display:none}
 .study-shell main{margin-left:0;padding-inline:20px}
 .study-shell .heading h1{font-size:31px}
 .study-shell #subject-icon{width:48px;height:48px}
}
/* Tablet touch controls keep their visible labels and do not depend on hover. */
@media(pointer:coarse){
 .twin-home .site-header #theme{width:44px;min-width:44px;height:44px;min-height:44px}
 .study-shell :is(button,select),.profile-main button{min-height:44px}
 .study-shell :is(.workspace-tabs,.view-nav,.private-tools) a{min-height:44px;display:inline-flex;align-items:center}
}

/* Shared brand/menu/action tracks follow the approved JK twin-site header. */
.twin-home .site-header.twin-nav{display:grid;grid-template-columns:300px minmax(0,1fr) auto;align-items:center;gap:24px;padding:16px 24px}
.twin-home .site-header .jk-identity{grid-column:1;grid-row:1;gap:16px;flex-direction:row;align-items:center}
.twin-home .site-header .jk-byline{font:600 10px/1.5 var(--font-ui);letter-spacing:.22em;margin:0;padding:4px 12px;border-radius:99px;background:#ffffffc7;color:var(--muted)}
.twin-home .site-header .site-nav{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-start;gap:4px;width:100%;min-width:0;margin:0;padding:0;flex-wrap:nowrap}
.twin-home .site-header .site-nav>a,.twin-home .site-header .nav-actions>.learning-entry,.twin-home .site-header .practice-menu summary{font-family:var(--font-ui);font-size:13px;font-weight:400;line-height:19.5px;letter-spacing:normal;padding:8px 10px;min-height:44px;border-radius:99px;flex:none;width:auto;white-space:nowrap}
.twin-home .site-header .site-nav .learning-entry{color:var(--muted)}
.twin-home .site-header .site-nav .learning-entry:is(:hover,.active){color:var(--blue);background:var(--blue-soft)}
.twin-home .site-header .nav-actions{grid-column:3;grid-row:1;justify-self:end;margin:0;gap:8px}
.twin-home .site-header .nav-cta{font-size:13px;font-weight:400;line-height:19.5px;letter-spacing:normal;padding:10px 16px;min-height:44px}
html[data-theme=dark] .twin-home .site-header .jk-byline{background:#ffffff0d}
@media(max-width:1200px){
 .twin-home .site-header.twin-nav{grid-template-columns:minmax(0,1fr) auto;gap:10px 20px}
 .twin-home .site-header .site-nav{grid-column:1/-1;grid-row:2;padding-top:4px;overflow-x:auto;scrollbar-width:thin}
 .twin-home .site-header .nav-actions{grid-column:2}
 .twin-home .site-header .jk-byline{padding-inline:8px;letter-spacing:.12em}
 .study-shell .sidebar{top:164px}
}
@media(max-width:760px){
 .twin-home .site-header.twin-nav{padding:16px 14px;gap:10px 12px}
 .twin-home .site-header .jk-identity{flex-direction:column;gap:5px;align-items:flex-start}
 .twin-home .site-header .jk-byline{font-size:7px;letter-spacing:.12em;padding:0;margin-left:34px;background:none}
 .twin-home .site-header .site-nav{border-top:0}
 .twin-home .site-header .site-nav>a,.twin-home .site-header .nav-actions>.learning-entry,.twin-home .site-header .practice-menu summary{font-size:12px;line-height:18px}
}
